ZwOpenDirectoryObject 関数 (ntifs.h)
ZwOpenDirectoryObject ルーチンは、既存のディレクトリ オブジェクトを開きます。
構文
NTSYSAPI NTSTATUS ZwOpenDirectoryObject(
[out] PHANDLE DirectoryHandle,
[in] ACCESS_MASK DesiredAccess,
[in] POBJECT_ATTRIBUTES ObjectAttributes
);
パラメーター
[out] DirectoryHandle
新しく開かれたディレクトリ オブジェクトのハンドル。
[in] DesiredAccess
このディレクトリ オブジェクトに対して要求されるアクセスの要求された種類を指定する ACCESS_MASK 構造体。 呼び出し元は、次の 1 つまたは組み合わせを指定できます。
DesiredAccess フラグの |
意味 |
---|---|
DIRECTORY_QUERY | ディレクトリ オブジェクトへのクエリ アクセス |
DIRECTORY_TRAVERSE | ディレクトリ オブジェクトへの名前参照アクセス |
DIRECTORY_CREATE_OBJECT | ディレクトリ オブジェクトへの名前作成アクセス |
DIRECTORY_CREATE_SUBDIRECTORY | ディレクトリ オブジェクトへのサブディレクトリ作成アクセス |
DIRECTORY_ALL_ACCESS | 上記のすべての権利とSTANDARD_RIGHTS_REQUIRED。 |
これらの要求されたアクセスの種類は、オブジェクトの随意アクセス制御リスト (DACL) と比較して、許可または拒否されるアクセスを決定します。
[in] ObjectAttributes
呼び出し元によって提供されるディレクトリ オブジェクトの指定された属性。 このパラメーターは、InitializeObjectAttributes マクロを呼び出すことによって初期化されます。
戻り値
ZwOpenDirectoryObject は、STATUS_SUCCESSまたは適切なエラー状態を返します。 最も一般的なエラー状態コードは次のとおりです。
リターン コード | 形容 |
---|---|
|
このルーチンに必要な一時バッファーを割り当てませんでした。 |
|
指定した ObjectAttributes パラメーターが、OBJECT_ATTRIBUTES 構造体への有効なポインターではなく、NULL ポインターであったか、OBJECT_ATTRIBUTES構造体で指定されたフィールドの一部が無効でした。 |
|
ObjectAttributes パラメーターには、OBJECT_ATTRIBUTES 構造体に ObjectName フィールドが含まれていました。これは、OBJECT_NAME_PATH_SEPARATOR文字の後に空の文字列が見つかったため無効でした。 |
|
ObjectAttributes パラメーターには、見つからなかった OBJECT_ATTRIBUTES 構造体に ObjectName フィールドが含まれていました。 |
|
ObjectAttributes パラメーターには、オブジェクト パスが見つからない ObjectName フィールドが OBJECT_ATTRIBUTES 構造体に含まれていました。 |
|
ObjectAttributes パラメーターには、RootDirectory フィールドが含まれていませんでしたが、OBJECT_ATTRIBUTES 構造体の ObjectName フィールドが空の文字列であるか、OBJECT_NAME_PATH_SEPARATOR文字が含まれていませんでした。 これは、オブジェクト パスの構文が正しく示されていません。 |
ZwOpenDirectoryObject ルーチンは、DirectoryHandle パラメーターが無効なポインターである場合に例外をスローします。
備考
ZwOpenDirectoryObject は、既存のディレクトリ オブジェクトを開き、オブジェクトへのハンドルを返します。
ZwOpenDirectoryObject ルーチンは、InitializeObjectAttributes マクロを使用して、開くオブジェクトの OBJECT_ATTRIBUTES 構造体の特定の属性を初期化した後に呼び出されます。
ディレクトリ オブジェクトは、
セキュリティとアクセス制御の詳細については、ドライバー開発者向けの Windows セキュリティ モデルの と、Windows SDK のこれらのトピックに関するドキュメントを参照してください。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | Windows XP |
ターゲット プラットフォーム の |
万国 |
ヘッダー | ntifs.h (Ntdef.h、Ntifs.h、Fltkernel.h を含む) |
ライブラリ | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL |
DDI コンプライアンス規則 を |
HwStorPortProhibitedDDIs(storport), PowerIrpDDis(wdm) |
関連項目
InitializeObjectAttributes の