次の方法で共有


IoRemoveLinkShareAccess 関数 (wdm.h)

IoRemoveLinkShareAccess ルーチンは、ファイル オブジェクトの特定の開いているインスタンスのアクセスおよびリンク共有アクセス情報を削除します。

構文

void IoRemoveLinkShareAccess(
  [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 に対する逆数です。

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

IoRemoveLinkShareAccess の呼び出し元は、IRQL = PASSIVE_LEVELで、FileObject を閉じる要求したスレッドのコンテキストで実行されている必要があります。

要件

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

こちらもご覧ください

IoCheckLinkShareAccess

IoSetLinkShareAccess

IoUpdateLinkShareAccess