NtOpenDirectoryObject 関数
[この関数は、今後変更または使用できない可能性があります。]
既存のディレクトリ オブジェクトを開きます。
構文
NTSTATUS WINAPI NtOpenDirectoryObject(
_Out_ PHANDLE DirectoryHandle,
_In_ ACCESS_MASK DesiredAccess,
_In_ POBJECT_ATTRIBUTES ObjectAttributes
);
パラメーター
-
DirectoryHandle [out]
-
新しく開かれたディレクトリ オブジェクトへのハンドル。
-
DesiredAccess [in]
-
ディレクトリ オブジェクトへの要求されたアクセスを指定する ACCESS_MASK 。 このパラメーターには、次の 1 つ以上の値を指定できます。
値 説明 - DIRECTORY_QUERY
- 0x0001
ディレクトリ オブジェクトへのアクセスを照会します。 - DIRECTORY_TRAVERSE
- 0x0002
ディレクトリ オブジェクトへの名前参照アクセス。 - DIRECTORY_CREATE_OBJECT
- 0x0004
ディレクトリ オブジェクトへの名前作成アクセス。 - DIRECTORY_CREATE_SUBDIRECTORY
- 0x0008
ディレクトリ オブジェクトへのサブディレクトリ作成アクセス。 - DIRECTORY_ALL_ACCESS
- STANDARD_RIGHTS_REQUIRED |0xF
上記のすべての権限と STANDARD_RIGHTS_REQUIRED。 -
ObjectAttributes [in]
-
ディレクトリ オブジェクトの属性。 OBJECT_ATTRIBUTES構造体を初期化するには、InitializeObjectAttributes マクロを使用します。 詳細については、WDK のドキュメントのこれらの項目のドキュメントを参照してください。
戻り値
関数は、STATUS_SUCCESSまたはエラー状態を返します。 使用可能な状態コードは次のとおりです。
リターン コード | 説明 |
---|---|
|
この関数に必要な一時バッファーを割り当てませんでした。 |
|
指定された ObjectAttributes パラメーターは NULL ポインターであり、 OBJECT_ATTRIBUTES 構造体への有効なポインターではありません。または、 OBJECT_ATTRIBUTES 構造体で指定されたメンバーの一部が無効でした。 |
|
ObjectAttributes パラメーターには、OBJECT_NAME_PATH_SEPARATOR文字の後に空の文字列が見つかったため無効な objectName メンバーがOBJECT_ATTRIBUTES構造体に含まれていました。 |
|
ObjectAttributes パラメーターには、見つからなかった ObjectName メンバーがOBJECT_ATTRIBUTES構造体に含まれていました。 |
|
ObjectAttributes パラメーターには、見つからなかったオブジェクト パスを持つ objectName メンバーがOBJECT_ATTRIBUTES構造体に含まれていました。 |
|
ObjectAttributes パラメーターに RootDirectory メンバーが含まれていませんでしたが、OBJECT_ATTRIBUTES構造体の ObjectName メンバーが空の文字列であるか、OBJECT_NAME_PATH_SEPARATOR文字が含まれていませんでした。 これは、オブジェクト パスの正しくない構文を示します。 |
解説
この関数には、インポート ライブラリまたはヘッダー ファイルが関連付けされません。 LoadLibrary 関数と GetProcAddress 関数を使用して呼び出す必要があります。
必要条件
要件 | 値 |
---|---|
[DLL] |
|
関連項目