IoRemoveShareAccess 関数 (wdm.h)
IoRemoveShareAccess ルーチンは、ファイル オブジェクトの特定の開いているインスタンスのアクセス情報と共有アクセス情報を削除します。
構文
void IoRemoveShareAccess(
[in] PFILE_OBJECT FileObject,
[in, out] PSHARE_ACCESS ShareAccess
);
パラメーター
[in] FileObject
現在のスレッドによって通常閉じられているファイル オブジェクトへのポインター。
[in, out] ShareAccess
開いているファイル オブジェクトへの現在のアクセス方法を記述する共有アクセス構造へのポインター。
戻り値
なし
解説
このルーチンは、 IoUpdateShareAccess との相互変換です。
IoRemoveShareAccess はアトミック操作ではありません。 そのため、このルーチンを呼び出すドライバーは、共有アクセス数の破損を防ぐために、ミューテックスやリソース ロックなどの何らかの種類のロックを使用して、 IoRemoveShareAccess に渡される共有ファイル オブジェクトを保護する必要があります。
IoRemoveShareAccess の呼び出し元は、IRQL = PASSIVE_LEVELで、FileObject を閉じる要求したスレッドのコンテキストで実行されている必要があります。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 2000 以降で使用できます。 |
対象プラットフォーム | ユニバーサル |
Header | wdm.h (Wdm.h、Ntddk.h、Ntifs.h を含む) |
Library | NtosKrnl.lib |
[DLL] | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL (「解説」セクションを参照) |
DDI コンプライアンス規則 | HwStorPortProhibitedDDIs(storport), IrqlIoPassive5(wdm), PowerIrpDDis(wdm) |