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

こちらもご覧ください

I/O マネージャー ルーチン