Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
La rutina ObQueryNameString proporciona el nombre, si hay uno, de un objeto determinado al que el autor de la llamada tiene un puntero.
Sintaxis
NTSTATUS ObQueryNameString(
[in] PVOID Object,
[out, optional] POBJECT_NAME_INFORMATION ObjectNameInfo,
[in] ULONG Length,
[out] PULONG ReturnLength
);
Parámetros
[in] Object
Puntero al objeto para el que se solicita el nombre. Este parámetro es necesario y no se puede null.
[out, optional] ObjectNameInfo
Puntero a un búfer asignado por el autor de la llamada, del tipo siguiente, que recibe la información del nombre del objeto:
typedef struct _OBJECT_NAME_INFORMATION {
UNICODE_STRING Name;
} OBJECT_NAME_INFORMATION, *POBJECT_NAME_INFORMATION;
Este parámetro es opcional y se puede NULL. Si ObjectNameInfo es null, de longitud debe ser cero.
[in] Length
Tamaño, en bytes, del búfer al que apunta ObjectNameInfo. Este parámetro es opcional y puede ser cero. Si longitud es cero, ReturnLength recibe el tamaño, en bytes, del búfer necesario para contener la información del nombre del objeto. Un tamaño razonable para que el búfer admita la mayoría de los nombres de objeto es de 1024 bytes. Si longitud es cero, objectNameInfo puede ser NULL.
[out] ReturnLength
Puntero a una variable asignada por el autor de la llamada que recibe el tamaño, en bytes, de la información de nombre de objeto devuelta. El nombre de objeto (cuando está presente) incluye un terminador NULL y todos los separadores de ruta de acceso "\" en el nombre. Si obQueryNameString devuelve STATUS_INFO_LENGTH_MISMATCH, establece este parámetro en la longitud del búfer necesaria.
Valor devuelto
obQueryNameString devuelve STATUS_SUCCESS o un valor NTSTATUS, como el siguiente:
Código devuelto | Descripción |
---|---|
|
El búfer al que apunta ObjectNameInfo es demasiado pequeño para contener la información de nombre de objeto solicitada. returnLength apunta al tamaño de búfer necesario. En este caso, no se devuelve información de nombre de objeto. Se trata de un código de error. Tenga en cuenta que si longitud está establecido en cero, se devuelve STATUS_INFO_LENGTH_MISMATCH. |
Observaciones
Si el objeto especificado se denomina y el nombre del objeto se adquirió correctamente, la cadena devuelta es el nombre del objeto especificado, incluida la mayor parte de la ruta de acceso completa del objeto como sea posible. En este caso, ObQueryNameString establece Name.Buffer en la dirección del nombre terminado en NULL del objeto especificado. El valor de Name.MaximumLength es la longitud del nombre de objeto, incluida la terminación NULL NULL. El valor de Name.Length es la longitud del único nombre del objeto.
Si el objeto especificado no tiene nombre o si el nombre del objeto no se adquirió correctamente, ObQueryNameString establece Name.Buffer en null y establece Name.Length y Name.MaximumLength en cero.
El almacenamiento de ObjectNameInfo se puede asignar desde un grupo paginado o no paginado.
Requisitos
Requisito | Valor |
---|---|
cliente mínimo admitido | Windows 2000 |
de la plataforma de destino de | Universal |
encabezado de | ntifs.h (include FltKernel.h, Ntifs.h) |
biblioteca de | NtosKrnl.lib |
DLL de | NtosKrnl.exe |
irQL | < DISPATCH_LEVEL |