FltOplockFsctrl 関数 (fltkernel.h)
FltOplockFsctrl
構文
FLT_PREOP_CALLBACK_STATUS FLTAPI FltOplockFsctrl(
[in] POPLOCK Oplock,
[in] PFLT_CALLBACK_DATA CallbackData,
[in] ULONG OpenCount
);
パラメーター
[in] Oplock
ファイルの不透明な oplock ポインター。 このポインターは、FltInitializeOplockを
[in] CallbackData
I/O 操作の FLT_CALLBACK_DATA 構造体へのポインター。 このパラメーターは必須であり、NULL
[in] OpenCount
排他 oplock が要求されている場合の、ファイルのユーザー ハンドルの数。 レベル 2、R、または RH oplock 要求に 0 以外の値を設定すると、ファイルにバイト範囲ロックがあることを示します。 oplock 型の詳細については、「Oplock Overview」を参照してください。
戻り値
FltOplockFsctrl
備考
ミニフィルター ドライバーは、FltOplockFsctrl
CallbackData パラメーターが指す FLT_CALLBACK_DATA 構造体は、IRP ベースの IRP_MJ_FILE_SYSTEM_CONTROL または IRP_MJ_CREATE 操作を表す必要があります。
操作がIRP_MJ_FILE_SYSTEM_CONTROL操作である場合、FltOplockFsctrl
- FSCTL_OPBATCH_ACK_CLOSE_PENDING
- FSCTL_OPLOCK_BREAK_ACK_NO_2
- FSCTL_OPLOCK_BREAK_ACKNOWLEDGE
- FSCTL_OPLOCK_BREAK_NOTIFY
- FSCTL_REQUEST_BATCH_OPLOCK
- FSCTL_REQUEST_FILTER_OPLOCK
- FSCTL_REQUEST_OPLOCK_LEVEL_1
- FSCTL_REQUEST_OPLOCK_LEVEL_2
FSCTL コードは、操作の FLT_PARAMETERS 構造体の FsControlCode メンバーで設定されます。 FsControlCode およびその他のIRP_MJ_FILE_SYSTEM_CONTROL パラメーター
日和見ロックの詳細については、Microsoft Windows SDK のドキュメントを参照してください。
操作が
- OpenCount パラメーターの値は 1 である必要があります。
- IRP_MJ_CREATE要求の DesiredAccess パラメーターの値がFILE_READ_ATTRIBUTES。 このパラメーターは、操作のFLT_PARAMETERS構造体の SecurityContext メンバーで設定されます。 詳細については、IRP_MJ_CREATEの
FLT_PARAMETERS を参照してください。 - IRP_MJ_CREATE操作の ShareAccess パラメーターの値は、FILE_SHARE_READ、FILE_SHARE_WRITE、またはFILE_SHARE_DELETEです。 このパラメーターは、操作のFLT_PARAMETERS構造体の ShareAccess メンバーで設定されます。 詳細については、IRP_MJ_CREATEの
FLT_PARAMETERS を参照してください。
この関数を呼び出すフィルターとファイル システムは、システム提供の oplock パッケージに呼び出しを同期する必要があります。 詳細については、oplock 同期 の
必要条件
要件 | 価値 |
---|---|
ターゲット プラットフォーム の |
万国 |
ヘッダー | fltkernel.h (Fltkernel.h を含む) |
ライブラリ | FltMgr.lib |
DLL | Fltmgr.sys |
IRQL | <= APC_LEVEL |
関連項目
IRP_MJ_CREATEの
IRP_MJ_FILE_SYSTEM_CONTROLの
FSCTL_OPBATCH_ACK_CLOSE_PENDING
FSCTL_OPLOCK_BREAK_ACKNOWLEDGE
FltCheckOplock を
FltCurrentBatchOplock の
FltInitializeOplock の
FltOplockIsFastIoPossible の
FltUninitializeOplock の