Función NtQueryObject (winternl.h)

[Esta función se puede cambiar o quitar de Windows sin previo aviso.]

Recupera varios tipos de información de objeto.

Sintaxis

__kernel_entry NTSYSCALLAPI NTSTATUS NtQueryObject(
  [in, optional]  HANDLE                   Handle,
  [in]            OBJECT_INFORMATION_CLASS ObjectInformationClass,
  [out, optional] PVOID                    ObjectInformation,
  [in]            ULONG                    ObjectInformationLength,
  [out, optional] PULONG                   ReturnLength
);

Parámetros

[in, optional] Handle

Identificador del objeto para el que se consulta información.

[in] ObjectInformationClass

Uno de los siguientes valores, como se enumera en OBJECT_INFORMATION_CLASS, que indica el tipo de información de objeto que se va a recuperar.

Término Descripción
ObjectBasicInformation Devuelve una estructura de PUBLIC_OBJECT_BASIC_INFORMATION como se muestra en la sección Comentarios siguiente.
ObjectTypeInformation Devuelve una estructura de PUBLIC_OBJECT_TYPE_INFORMATION como se muestra en la sección Comentarios siguiente.

[out, optional] ObjectInformation

Puntero opcional a un búfer donde se va a devolver la información solicitada. El tamaño y la estructura de esta información varían en función del valor del parámetro ObjectInformationClass .

[in] ObjectInformationLength

Tamaño del búfer al que apunta el parámetro ObjectInformation , en bytes.

[out, optional] ReturnLength

Puntero opcional a una ubicación donde la función escribe el tamaño real de la información solicitada. Si ese tamaño es menor o igual que el parámetro ObjectInformationLength , la función copia la información en el búfer ObjectInformation ; de lo contrario, devuelve un código de error NTSTATUS y devuelve en ReturnLength el tamaño del búfer necesario para recibir la información solicitada.

Valor devuelto

Devuelve un NTSTATUS o un código de error.

Los formularios y la importancia de los códigos de error NTSTATUS se enumeran en el archivo de encabezado Ntstatus.h disponible en WDK y se describen en la documentación de WDK.

Comentarios

Esta función no tiene ningún archivo de encabezado asociado ni biblioteca de importación. Debe usar la función LoadLibrary o GetProcAddress para vincular dinámicamente a Ntdll.dll.

Si el parámetro ObjectInformationClass es ObjectBasicInformation, la información se incluye en la estructura siguiente.

typedef struct _PUBLIC_OBJECT_BASIC_INFORMATION {
    ULONG Attributes;
    ACCESS_MASK GrantedAccess;
    ULONG HandleCount;
    ULONG PointerCount;
    ULONG Reserved[10];    // reserved for internal use
 } PUBLIC_OBJECT_BASIC_INFORMATION, *PPUBLIC_OBJECT_BASIC_INFORMATION;

Los miembros disponibles para esta estructura incluyen atributos de objeto para el identificador (Atributos), el acceso concedido para el identificador (GrantedAccess), el número de identificadores abiertos al objeto (HandleCount) y el número de referencias de kernel al objeto (PointerCount).

Si el parámetro ObjectInformationClass es ObjectTypeInformation, la información se incluye en la siguiente estructura.

typedef struct __PUBLIC_OBJECT_TYPE_INFORMATION {
    UNICODE_STRING TypeName;
    ULONG Reserved [22];    // reserved for internal use
} PUBLIC_OBJECT_TYPE_INFORMATION, *PPUBLIC_OBJECT_TYPE_INFORMATION;

El único miembro disponible de esta estructura es la cadena de nombre de tipo de objeto (TypeName).

Requisitos

Requisito Value
Plataforma de destino Windows
Encabezado winternl.h
Library ntdll.lib
Archivo DLL ntdll.dll