IoCheckLinkShareAccess 関数 (wdm.h)
IoCheckLinkShareAccess ルーチンは、ファイル システム ドライバー (FSD) またはその他の最上位レベルのドライバーによって呼び出され、ファイル オブジェクトへのリンク共有アクセスが許可されるかどうかをチェックします。
構文
NTSTATUS IoCheckLinkShareAccess(
[in] ACCESS_MASK DesiredAccess,
[in] ULONG DesiredShareAccess,
[in, out, optional] PFILE_OBJECT FileObject,
[in, out, optional] PSHARE_ACCESS ShareAccess,
[in, out, optional] PLINK_SHARE_ACCESS LinkShareAccess,
[in] ULONG IoShareAccessFlags
);
パラメーター
[in] DesiredAccess
指定 したファイル オブジェクトへのアクセスの目的の種類を示すACCESS_MASK値を指定します。
[in] DesiredShareAccess
現在開いている要求のファイル オブジェクトへの共有アクセスの目的の種類を指定します。 通常、このパラメーターの値は、開いている要求が行われたときに I/O マネージャーによってファイル システムまたは最上位ドライバーに渡される ShareAccess パラメーターと同じです。 この値には、0 または次の任意の組み合わせを指定できます。
FILE_SHARE_READ
FILE_SHARE_WRITE
FILE_SHARE_DELETE
[in, out, optional] FileObject
現在開いている要求のアクセスをチェックするファイル オブジェクトへのポインター。
[in, out, optional] ShareAccess
FileObject に関連付けられている共通の共有アクセス データ構造へのポインター。 ドライバーは、この構造体を不透明として扱う必要があります。
[in, out, optional] LinkShareAccess
FileObject に関連付けられている共通リンク共有アクセス データ構造 (LINK_SHARE_ACCESS) へのポインター。 ドライバーは、この構造体を不透明として扱う必要があります。
[in] IoShareAccessFlags
これらのフラグのビットマスク:
IO_SHARE_ACCESS_NO_WRITE_PERMISSION (0x80000000) は、ユーザーにファイルの書き込みアクセス許可がないことを指定します。 このフラグは、ユーザーが適切なアクセス許可を持っていない場合に、排他読み取りアクセス用にファイルを開かないようにするために使用されます。
IO_SHARE_ACCESS_NON_PRIMARY_STREAM (0x00000080) は、ストリームがプライマリ データ ストリームでもディレクトリ ストリームでもないことを指定します。
IO_CHECK_SHARE_ACCESS_UPDATE_SHARE_ACCESS (0x00000001) は、 SHARE_ACCESS 構造体が更新されるかどうかを示します。
IO_CHECK_SHARE_ACCESS_DONT_UPDATE_FILE_OBJECT (0x00000002) は、 構造体FILE_OBJECT 更新しないことを示します。
IO_CHECK_SHARE_ACCESS_DONT_CHECK_READ (0x00000004) は、読み取り共有アクセスをチェックしないことを示します。
IO_CHECK_SHARE_ACCESS_DONT_CHECK_WRITE (0x00000008) は、書き込み共有アクセスをチェックしないことを示します。
IO_CHECK_SHARE_ACCESS_DONT_CHECK_DELETE (0x00000010) は、共有アクセスを削除チェックしないことを示します。
IO_CHECK_SHARE_ACCESS_FORCE_CHECK (0x00000020) は、要求が読み取り/書き込み/削除アクセスでない場合でも、チェック共有アクセスを強制することを示します。
IO_CHECK_SHARE_ACCESS_FORCE_USING_SCB (0x00000040) は、LinkShareAccess が存在するかどうかに関係なく、ShareAccess を使用チェック共有アクセスを強制的に削除することを示します。
戻り値
IoCheckLinkShareAccess ルーチンは、要求者のファイル オブジェクトへのアクセスが現在開いている方法と互換性がある場合、STATUS_SUCCESSを返します。 共有違反が原因で要求が拒否された場合は、STATUS_SHARING_VIOLATIONが返されます。
注釈
ShareAccess パラメーターは、このルーチンの実行中に他のスレッドからの他のアクセスに対してロックする必要があります。 それ以外の場合は、カウントを同期できます。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 10 バージョン 1709 |
サポートされている最小のサーバー | Windows Server 2016 |
対象プラットフォーム | ユニバーサル |
Header | wdm.h |
Library | Ntoskrnl.lib |