Funzione NtQueryObject (winternl.h)
[Questa funzione può essere modificata o rimossa da Windows senza ulteriore preavviso.]
Recupera vari tipi di informazioni sugli oggetti.
Sintassi
__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
);
Parametri
[in, optional] Handle
Handle dell'oggetto su cui vengono eseguite query le informazioni.
[in] ObjectInformationClass
Uno dei valori seguenti, come enumerato in OBJECT_INFORMATION_CLASS, che indica il tipo di informazioni sull'oggetto da recuperare.
[out, optional] ObjectInformation
Puntatore facoltativo a un buffer in cui devono essere restituite le informazioni richieste. Le dimensioni e la struttura di queste informazioni variano a seconda del valore del parametro ObjectInformationClass .
[in] ObjectInformationLength
Dimensioni del buffer a cui punta il parametro ObjectInformation , in byte.
[out, optional] ReturnLength
Puntatore facoltativo in una posizione in cui la funzione scrive le dimensioni effettive delle informazioni richieste. Se tale dimensione è minore o uguale al parametro ObjectInformationLength , la funzione copia le informazioni nel buffer ObjectInformation ; in caso contrario, restituisce un codice di errore NTSTATUS e restituisce in ReturnLength le dimensioni del buffer necessarie per ricevere le informazioni richieste.
Valore restituito
Restituisce un codice NTSTATUS o di errore.
Le forme e il significato dei codici di errore NTSTATUS sono elencati nel file di intestazione Ntstatus.h disponibile in WDK e sono descritti nella documentazione di WDK.
Commenti
Questa funzione non ha un file di intestazione o una libreria di importazione associata. È necessario usare la funzione LoadLibrary o GetProcAddress per collegarsi dinamicamente a Ntdll.dll.
Se il parametro ObjectInformationClass è ObjectBasicInformation, le informazioni sono contenute nella struttura seguente.
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;
I membri disponibili per questa struttura includono gli attributi dell'oggetto per l'handle (Attributi), l'accesso concesso per l'handle (GrantedAccess), il numero di handle aperti per l'oggetto (HandleCount) e il numero di riferimenti del kernel all'oggetto (PointerCount).
Se il parametro ObjectInformationClass è ObjectTypeInformation, le informazioni sono contenute nella struttura seguente.
typedef struct __PUBLIC_OBJECT_TYPE_INFORMATION {
UNICODE_STRING TypeName;
ULONG Reserved [22]; // reserved for internal use
} PUBLIC_OBJECT_TYPE_INFORMATION, *PPUBLIC_OBJECT_TYPE_INFORMATION;
L'unico membro disponibile di questa struttura è la stringa del nome di tipo oggetto (TypeName).
Requisiti
Requisito | Valore |
---|---|
Piattaforma di destinazione | Windows |
Intestazione | winternl.h |
Libreria | ntdll.lib |
DLL | ntdll.dll |