ObQueryNameString-Funktion (ntifs.h)
Die ObQueryNameString- Routine stellt den Namen eines bestimmten Objekts bereit, auf das der Aufrufer einen Zeiger hat.
Syntax
NTSTATUS ObQueryNameString(
[in] PVOID Object,
[out, optional] POBJECT_NAME_INFORMATION ObjectNameInfo,
[in] ULONG Length,
[out] PULONG ReturnLength
);
Parameter
[in] Object
Ein Zeiger auf das Objekt, für das der Name angefordert wird. Dieser Parameter ist erforderlich und kann nicht NULL-werden.
[out, optional] ObjectNameInfo
Ein Zeiger auf einen vom Aufrufer zugewiesenen Puffer vom folgenden Typ, der die Objektnameninformationen empfängt:
typedef struct _OBJECT_NAME_INFORMATION {
UNICODE_STRING Name;
} OBJECT_NAME_INFORMATION, *POBJECT_NAME_INFORMATION;
Dieser Parameter ist optional und kann NULL-werden. Wenn ObjectNameInfo-NULL-ist, muss Length null sein.
[in] Length
Die Größe des Puffers in Bytes, auf den ObjectNameInfoverweist. Dieser Parameter ist optional und kann null sein. Wenn Length null ist, empfängt ReturnLength die Größe des Puffers, der zum Halten der Objektnameninformationen benötigt wird. Eine angemessene Größe für den Puffer für die meisten Objektnamen beträgt 1024 Byte. Wenn Length null ist, kann ObjectNameInfo-NULL-sein.
[out] ReturnLength
Ein Zeiger auf eine vom Aufrufer zugewiesene Variable, die die Größe der zurückgegebenen Objektnameninformationen in Byte empfängt. Der Objektname (wenn vorhanden) enthält einen NULL-Terminator und alle Pfadtrennzeichen "\" im Namen. Wenn ObQueryNameStringSTATUS_INFO_LENGTH_MISMATCHzurückgibt, wird dieser Parameter auf die erforderliche Pufferlänge festgelegt.
Rückgabewert
ObQueryNameString- gibt STATUS_SUCCESS oder einen NTSTATUS-Wert wie den folgenden zurück:
Rückgabecode | Beschreibung |
---|---|
|
Der Puffer, auf den ObjectNameInfo verweist ist zu klein, um die angeforderten Objektnameninformationen aufzunehmen. ReturnLength verweist auf die erforderliche Puffergröße. In diesem Fall werden keine Objektnameninformationen zurückgegeben. Dies ist ein Fehlercode. Beachten Sie, dass STATUS_INFO_LENGTH_MISMATCH zurückgegeben wird, wenn Length auf Null festgelegt ist. |
Bemerkungen
Wenn das angegebene Objekt benannt und der Objektname erfolgreich abgerufen wurde, ist die zurückgegebene Zeichenfolge der Name des angegebenen Objekts, einschließlich des vollständigen Pfads des Objekts. In diesem Fall legt ObQueryNameStringName.Buffer- auf die Adresse des NULL-beendeten Namens des angegebenen Objekts fest. Der Wert Name.MaximumLength- ist die Länge des Objektnamens einschließlich der NULL Beendigung. Der Wert Name.Length ist die Länge des einzigen Objektnamens.
Wenn das angegebene Objekt unbenannt ist oder der Objektname nicht erfolgreich abgerufen wurde, legt ObQueryNameStringName.Buffer- auf null NULL- fest und legt Name.Length und Name.MaximumLeng th auf Null fest.
Der Speicher für ObjectNameInfo- kann aus seitenseitigem oder nicht seitengebundenen Pool zugewiesen werden.
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Windows 2000 |
Zielplattform- | Universal |
Header- | ntifs.h (include FltKernel.h, Ntifs.h) |
Library | NtosKrnl.lib |
DLL- | NtosKrnl.exe |
IRQL- | < DISPATCH_LEVEL |