Condividi tramite


Funzione IoGetRequestorProcess (ntifs.h)

La routine IoGetRequestorProcess restituisce un puntatore di processo per il thread che ha originariamente richiesto una determinata operazione di I/O.

Sintassi

PEPROCESS IoGetRequestorProcess(
  [in] PIRP Irp
);

Parametri

[in] Irp

Puntatore al pacchetto di richiesta I/O (IRP) per l'operazione di I/O.

Valore restituito

IoGetRequestorProcess restituisce un puntatore al processo per il thread che ha richiesto l'operazione di I/O. Se l'IRP non è associato ad alcun thread, IoGetRequestorProcess restituisce NULL.

Commenti

Staring con Windows Vista. IoGetRequestorProcess restituisce un puntatore al processo a cui è attualmente collegato il thread. Per i runtime di integrazione accodati per gli oggetti file, ad esempio per l'I/O della porta di completamento, IoGetRequestorProcess restituisce un puntatore al processo di emissione. Se non è collegato alcun thread, IoGetRequestorProcess restituisce un puntatore al processo che ha creato il thread.

In Windows XP IoGetRequestorProcess restituisce un puntatore al processo a cui è attualmente collegato il thread.

Nota In Windows XP, nei casi in cui un IRP contiene un thread non NULL ma non ha thread collegati, IoGetRequestorProcess tenterà di accedere alle informazioni sul processo per un thread non definito. In questo modo viene presentata una possibile condizione di controllo dei bug se IoGetRequestorProcess viene chiamato senza gestione delle eccezioni o con un numero eccessivo di irQL.

 

Prima di Windows XP, IoGetRequestorProcess restituisce un puntatore al processo che ha creato il thread.

Un IRP viene associato automaticamente a un thread se viene rilasciato da I/O Manager o ottenuto chiamando IoBuildAsynchronousFsdRequest, IoBuildSynchronousFsdRequest o IoBuildDeviceIoControlRequest.

Per altre informazioni sull'uso dei thread di sistema e sulla gestione della sincronizzazione all'interno di un contesto di thread non arbiverso, vedere Thread driver, oggetti dispatcher e risorse.

Requisiti

Requisito Valore
Piattaforma di destinazione Universale
Intestazione ntifs.h (include Ntifs.h)
Libreria NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= DISPATCH_LEVEL

Vedi anche

IoBuildAsynchronousFsdRequest

IoBuildDeviceIoControlRequest

IoBuildSynchronousFsdRequest

IoGetRequestorProcessId