Anfordern einer opportunistischen Sperre

Clientanwendungen fordern opportunistische Sperren nur direkt an, wenn die Sperre für eine Datei auf dem lokalen Server vorgesehen ist. Beim Zugriff auf Dateien auf Remoteservern fordert der Netzwerkumleitungsgeber und nicht die Clientanwendung die opportunistische Sperre vom Remoteserver an.

Opportunistische 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 opportunistische Sperren angefordert werden, müssen für einen überlappenden (asynchronen) Vorgang 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 opportunistische Sperre anzufordern. Eine Liste der opportunistischen Sperrvorgänge finden Sie unter Opportunistische Sperrvorgänge.

Anwendungen werden benachrichtigt, dass eine opportunistische Sperre unterbrochen wird, indem sie das hEvent-Element der der Datei zugeordneten OVERLAPPED-Struktur verwenden. Anwendungen können auch Funktionen wie GetOverlappedResult und HasOverlappedIoCompleted verwenden. Die Anwendung ist dafür verantwortlich, die richtige Datei der fehlerhaften opportunistischen Sperre zuzuordnen.

Weitere Informationen zur Benachrichtigung finden Sie unter Synchronisierung.