Anfordern einer deterministischen Sperre

Clientanwendungen fordern nur dann direkt an, wenn die Sperre für eine Datei auf dem lokalen Server vorgesehen ist. Beim Zugriff auf Dateien auf Remoteservern fordert nicht die Clientanwendung, sondern der Netzwerkumleitungs-Benutzer die Sperre vom Remoteserver an.

Die verwendungsistischen Sperren werden angefordert, indem zuerst eine Datei mit Berechtigungen und Flags geöffnet wird, die für die Anwendung geeignet sind, die die Datei öffnet. Alle Dateien, für die die sperrbaren Sperren angefordert werden, müssen für überlappende (asynchrone) Vorgänge geöffnet werden. Nachdem die Dateien für den überlappenden Vorgang geöffnet wurden, verwenden Sie die DeviceIoControl-Funktion mit dem entsprechenden Steuerungscode, um eine deterministische Sperre an fordern. Eine Liste der vorgänge für die deterministische Sperre finden Sie unter Deterministische Sperrvorgänge.

Anwendungen werden mithilfe des hEvent-Members der OVERLAPPED-Struktur, die der Datei zugeordnet ist, darüber benachrichtigt, dass eine nicht-bare Sperre unterbrochen wird. Anwendungen können auch Funktionen wie GetOverlappedResult und HasOverlappedIoCompleted verwenden. Die Anwendung ist dafür verantwortlich, die richtige Datei mit der fehlerhaften, deterministischen Sperre zu verknüpfen.

Weitere Informationen zur Benachrichtigung finden Sie unter Synchronisierung.