次の方法で共有


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またはエラー状態を返します。 使用可能な状態コードは次のとおりです。

リターン コード 説明
STATUS_INSUFFICIENT_RESOURCES
この関数に必要な一時バッファーを割り当てませんでした。
STATUS_INVALID_PARAMETER
指定された ObjectAttributes パラメーターは NULL ポインターであり、 OBJECT_ATTRIBUTES 構造体への有効なポインターではありません。または、 OBJECT_ATTRIBUTES 構造体で指定されたメンバーの一部が無効でした。
STATUS_OBJECT_NAME_INVALID
ObjectAttributes パラメーターには、OBJECT_NAME_PATH_SEPARATOR文字の後に空の文字列が見つかったため無効な objectName メンバーがOBJECT_ATTRIBUTES構造体に含まれていました。
STATUS_OBJECT_NAME_NOT_FOUND
ObjectAttributes パラメーターには、見つからなかった ObjectName メンバーがOBJECT_ATTRIBUTES構造体に含まれていました。
STATUS_OBJECT_PATH_NOT_FOUND
ObjectAttributes パラメーターには、見つからなかったオブジェクト パスを持つ objectName メンバーがOBJECT_ATTRIBUTES構造体に含まれていました。
STATUS_OBJECT_PATH_SYNTAX_BAD
ObjectAttributes パラメーターに RootDirectory メンバーが含まれていませんでしたが、OBJECT_ATTRIBUTES構造体の ObjectName メンバーが空の文字列であるか、OBJECT_NAME_PATH_SEPARATOR文字が含まれていませんでした。 これは、オブジェクト パスの正しくない構文を示します。

 

解説

この関数には、インポート ライブラリまたはヘッダー ファイルが関連付けされません。 LoadLibrary 関数と GetProcAddress 関数を使用して呼び出す必要があります。

必要条件

要件
[DLL]
Ntdll.dll

関連項目

NtQueryDirectoryObject