IoCheckShareAccessEx 関数 (wdm.h)
IoCheckShareAccessEx ルーチンは、ファイル オブジェクトへの共有アクセスが許可されているかどうかをチェックするために、ファイル システム ドライバー (FSD) またはその他の最上位レベルのドライバーによって呼び出されます。
構文
NTSTATUS IoCheckShareAccessEx(
[in] ACCESS_MASK DesiredAccess,
[in] ULONG DesiredShareAccess,
[in, out] PFILE_OBJECT FileObject,
[in, out] PSHARE_ACCESS ShareAccess,
[in] BOOLEAN Update,
[in] PBOOLEAN WritePermission
);
パラメーター
[in] DesiredAccess
指定 したファイル オブジェクトへのアクセスの目的の種類を示すACCESS_MASK値を指定します。
[in] DesiredShareAccess
現在開いている要求のファイル オブジェクトへの共有アクセスの目的の種類を指定します。 通常、このパラメーターの値は、開いている要求が行われたときに I/O マネージャーによってファイル システムまたは最上位ドライバーに渡される ShareAccess パラメーターと同じです。 この値には、0 または次の任意の組み合わせを指定できます。
FILE_SHARE_READ
FILE_SHARE_WRITE
FILE_SHARE_DELETE
[in, out] FileObject
現在開いている要求のアクセスをチェックするファイル オブジェクトへのポインター。
[in, out] ShareAccess
FileObject に関連付けられている共通の共有アクセス データ構造へのポインター。 ドライバーは、この構造体を不透明として扱う必要があります。
[in] Update
FileObject の共有アクセス状態を更新するかどうかを指定します。 ブール値 TRUE は、開いている要求が許可されている場合、このルーチンによってファイル オブジェクトの共有アクセス情報が更新されることを意味します。
[in] WritePermission
共有アクセスに書き込みアクセス許可があるかどうかを指定します。 共有に書き込みアクセス許可がある場合、この値は TRUE です。それ以外の場合は FALSE。 値が FALSE で、共有アクセスに書き込みアクセス許可があり、呼び出し元が排他的読み取りアクセスを取得しようとすると、書き込みアクセス許可はFILE_SHARE_READにダウングレードされます。 共有アクセスに対して書き込みアクセス許可チェックが実行されていない場合、この値は NULL です。
戻り値
IoCheckShareAccessEx ルーチンは、要求者のファイル オブジェクトへのアクセスが現在開いている方法と互換性がある場合、STATUS_SUCCESSを返します。 共有違反が原因で要求が拒否された場合は、STATUS_SHARING_VIOLATIONが返されます。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 7 以降のバージョンの Windows で使用できます。 |
対象プラットフォーム | ユニバーサル |
Header | wdm.h |
Library | Ntoskrnl.lib |