次の方法で共有


ObQueryNameString 関数 (ntifs.h)

ObQueryNameString ルーチンは、呼び出し元がポインターを持つ特定のオブジェクトの名前 (存在する場合) を提供します。

構文

NTSTATUS ObQueryNameString(
  [in]            PVOID                    Object,
  [out, optional] POBJECT_NAME_INFORMATION ObjectNameInfo,
  [in]            ULONG                    Length,
  [out]           PULONG                   ReturnLength
);

パラメーター

[in] Object

名前が要求されるオブジェクトへのポインター。 このパラメーターは必須であり、NULL することはできません。

[out, optional] ObjectNameInfo

オブジェクト名情報を受け取る、次の型の呼び出し元によって割り当てられたバッファーへのポインター。

typedef struct _OBJECT_NAME_INFORMATION {
  UNICODE_STRING Name;
} OBJECT_NAME_INFORMATION, *POBJECT_NAME_INFORMATION;

このパラメーターは省略可能であり、NULL できます。 ObjectNameInfo が NULL 場合、 は 0 にする必要があります。

[in] Length

ObjectNameInfoによって指されるバッファーのサイズ (バイト単位)。 このパラメーターは省略可能で、0 にすることができます。 Length が 0 の場合、ReturnLength は、オブジェクト名情報を保持するために必要なバッファーのサイズ (バイト単位) を受け取ります。 バッファーがほとんどのオブジェクト名を格納するのに適したサイズは 1024 バイトです。 Length が 0 の場合、ObjectNameInfo NULL できます。

[out] ReturnLength

返されたオブジェクト名情報のサイズ (バイト単位) を受け取る呼び出し元によって割り当てられた変数へのポインター。 オブジェクト名 (存在する場合) には、NULL ターミネータとすべてのパス区切り記号 "\" が名前に含まれます。 ObQueryNameString STATUS_INFO_LENGTH_MISMATCHを返す場合は、このパラメーターを必要なバッファー長に設定します。

戻り値

ObQueryNameString は、次のようなSTATUS_SUCCESSまたは NTSTATUS 値を返します。

リターン コード 形容
STATUS_INFO_LENGTH_MISMATCH
ObjectNameInfo が指すバッファーが小さすぎて、要求されたオブジェクト名情報を保持できません。 ReturnLength は、必要なバッファー サイズを指します。 この場合、オブジェクト名の情報は返されません。 これはエラー コードです。 Length が 0 に設定されている場合は、STATUS_INFO_LENGTH_MISMATCH が返されます。

備考

指定されたオブジェクトに名前が付けられ、オブジェクト名が正常に取得された場合、返される文字列は、可能な限り多くのオブジェクトの完全なパスを含む、指定されたオブジェクトの名前です。 この場合、ObQueryNameString は、Name.Buffer を、指定したオブジェクトの NULL で終わる名前のアドレスに設定します。 Name.MaximumLength の値は、NULL 終了を含むオブジェクト名の長さです。 Name.Length の値は、オブジェクト名の長さだけです。

指定したオブジェクトが名前を持たない場合、またはオブジェクト名が正常に取得されなかった場合、ObQueryNameString は、Name.Buffer を NULL に設定し、Name.Length と Name.MaximumLength を 0 に設定します。

ObjectNameInfo のストレージは、ページ プールまたは非ページ プールから割り当てられます。

必要条件

要件 価値
サポートされる最小クライアント Windows 2000
ターゲット プラットフォーム 万国
ヘッダー ntifs.h (FltKernel.h、Ntifs.h を含む)
ライブラリ NtosKrnl.lib
DLL NtosKrnl.exe
IRQL < DISPATCH_LEVEL

関連項目

UNICODE_STRING