Condividi tramite


Funzione NtQueryInformationThread (winternl.h)

[NtQueryInformationThread può essere modificato o non disponibile nelle versioni future di Windows. Le applicazioni devono usare le funzioni alternative elencate in questo argomento.

Recupera informazioni sul thread specificato.

Sintassi

__kernel_entry NTSTATUS NtQueryInformationThread(
  [in]            HANDLE          ThreadHandle,
  [in]            THREADINFOCLASS ThreadInformationClass,
  [in, out]       PVOID           ThreadInformation,
  [in]            ULONG           ThreadInformationLength,
  [out, optional] PULONG          ReturnLength
);

Parametri

[in] ThreadHandle

Handle per il thread su cui vengono richieste informazioni.

[in] ThreadInformationClass

Se questo parametro è il valore ThreadIsIoPending dell'enumerazione THREADINFOCLASS , la funzione determina se il thread ha operazioni di I/O in sospeso.

Usare invece la funzione pubblica GetThreadIOPendingFlag per ottenere queste informazioni.

Se questo parametro è il valore ThreadQuerySetWin32StartAddress dell'enumerazione THREADINFOCLASS , la funzione restituisce l'indirizzo iniziale del thread. Si noti che nelle versioni di Windows precedenti a Windows Vista l'indirizzo iniziale restituito è affidabile solo prima dell'avvio del thread.

Se questo parametro è il valore ThreadSubsystemInformation dell'enumerazione THREADINFOCLASS , la funzione recupera un valore SUBSYSTEM_INFORMATION_TYPE che indica il tipo di sottosistema del thread. Il buffer a cui punta il parametro ThreadInformation deve essere sufficiente per contenere una singola enumerazione SUBSYSTEM_INFORMATION_TYPE .

[in, out] ThreadInformation

Puntatore a un buffer in cui la funzione scrive le informazioni richieste. Se ThreadIsIoPending viene specificato per il parametro ThreadInformationClass , questo buffer deve essere sufficiente per contenere un valore ULONG , che indica se il thread specificato ha richieste di I/O in sospeso. Se questo valore è uguale a zero, non sono presenti operazioni di I/O in sospeso; in caso contrario, se il valore è diverso da zero, il thread ha operazioni di I/O in sospeso.

Usare invece la funzione pubblica GetThreadIOPendingFlag per ottenere queste informazioni.

Se threadQuerySetWin32StartAddress viene specificato per il parametro ThreadInformationClass , questo buffer deve essere sufficientemente grande per contenere un valore PVOID, ovvero l'indirizzo iniziale del thread.

[in] ThreadInformationLength

Dimensioni del buffer a cui punta il parametro ThreadInformation , in byte.

[out, optional] ReturnLength

Puntatore a una variabile in cui la funzione restituisce le dimensioni delle informazioni richieste. Se la funzione ha avuto esito positivo, questa è la dimensione delle informazioni scritte nel buffer a cui punta il parametro ThreadInformation , ma se il buffer era troppo piccolo, questa è la dimensione minima del buffer necessaria per ricevere correttamente le informazioni.

Valore restituito

Restituisce un codice NTSTATUS riuscito o di errore.

I moduli e il significato dei codici di errore NTSTATUS sono elencati nel file di intestazione Ntstatus.h disponibile nel DDK e sono descritti nella documentazione DDK in Kernel-Mode L'architettura del driver / Guida alla progettazione / Tecniche di programmazione del driver / Errori di registrazione.

Commenti

La funzione NtQueryInformationThread è interna al sistema operativo e soggetta a modifiche da una versione di Windows a un'altra. Per mantenere la compatibilità dell'applicazione, è preferibile usare invece la funzione pubblica menzionata in precedenza.

Se si usa NtQueryInformationThread, accedere alla funzione tramite il collegamento dinamico di runtime. Ciò consente al codice di rispondere in modo normale se la funzione è stata modificata o rimossa dal sistema operativo. Le modifiche alla firma, tuttavia, potrebbero non essere rilevabili.

Questa funzione non ha alcuna libreria di importazione associata. È necessario usare le funzioni LoadLibrary e GetProcAddress per collegare dinamicamente a Ntdll.dll.

Requisiti

Requisito Valore
Piattaforma di destinazione Windows
Intestazione winternl.h
Libreria ntdll.lib
DLL ntdll.dll

Vedi anche

GetThreadIOPendingFlag