IoUpdateLinkShareAccess 関数 (wdm.h)

IoUpdateLinkShareAccess ルーチンは、指定されたファイル オブジェクトの共有アクセスを更新します(通常はファイルが開かれている場合)。

構文

void IoUpdateLinkShareAccess(
  [in]                PFILE_OBJECT       FileObject,
  [in, out]           PSHARE_ACCESS      ShareAccess,
  [in, out, optional] PLINK_SHARE_ACCESS LinkShareAccess
);

パラメーター

[in] FileObject

現在のスレッドによって通常閉じられているファイル オブジェクトへのポインター。

[in, out] ShareAccess

FileObject に関連付けられている共通の共有アクセス データ構造へのポインター。 ドライバーは、この構造体を不透明として扱う必要があります。

[in, out, optional] LinkShareAccess

FileObject に関連付けられている共通リンク共有アクセス データ構造 (LINK_SHARE_ACCESS) へのポインター。 ドライバーは、この構造体を不透明として扱う必要があります。

戻り値

なし

解説

IoUpdateLinkShareAccess はアトミック操作ではありません。 したがって、このルーチンを呼び出すドライバーは、共有アクセス数の破損を防ぐために、ミューテックスやリソース ロックなどの何らかのロックによって IoUpdateLinkShareAccess に渡される共有ファイル オブジェクトを保護する必要があります。

IoUpdateLinkShareAccess を呼び出す前に、呼び出し元は Update が False に設定された IoCheckLinkShareAccess を正常に呼び出す必要があります。 このような IoCheckLinkShareAccess の呼び出しは、要求された共有アクセスが、他のオブジェクトが現在アクセスしている方法と互換性があるかどうかを判断しますが、SHARE_ACCESS構造は更新されません。 IoUpdateLinkShareAccess は 、ファイル オブジェクトに関連付けられている SHARE_ACCESS 構造を実際に更新します。

要件

要件
サポートされている最小のクライアント Windows 10 バージョン 1709
サポートされている最小のサーバー Windows Server 2016
対象プラットフォーム ユニバーサル
Header wdm.h
Library NtosKrnl.lib
[DLL] NtosKrnl.exe
IRQL PASSIVE_LEVEL

こちらもご覧ください

IoCheckLinkShareAccess

IoRemoveLinkShareAccess

IoSetLinkShareAccess