日和見ロックを要求する方法
クライアント アプリケーションは、ロックがローカル サーバー上のファイルを対象としている場合にのみ、日和見ロックを直接要求します。 リモート サーバー上のファイルにアクセスする場合、リモート サーバーから日和見ロックを要求するのは、クライアント アプリケーションではなくネットワーク リダイレクターです。
日和見ロックは、まず、ファイルを開くアプリケーションに適したアクセス許可とフラグを持つファイルを開くことで要求されます。 日和見ロックが要求されるすべてのファイルは、重複 (非同期) 操作のために開く必要があります。 重複する操作のためにファイルを開いた後、適切な制御コードと共に DeviceIoControl 関数を使用して、日和見ロックを要求します。 日和見ロック操作の一覧については、「日和見ロック 操作」を参照してください。
アプリケーションには、ファイルに関連付けられている OVERLAPPED 構造体の hEvent メンバーを使用して、日和見ロックが解除されていることが通知されます。 アプリケーションでは、 GetOverlappedResult や HasOverlappedIoCompleted などの関数を使用することもできます。 アプリケーションは、正しいファイルを壊れた日和見ロックに関連付けます。
通知の詳細については、「 同期」を参照してください。