EVT_WDF_IO_ALLOCATE_REQUEST_RESOURCES funzione di callback (wdfio.h)
[Si applica solo a KMDF]
La funzione di callback EvtIoAllocateRequestResources di un driver alloca risorse specifiche della richiesta che il driver richiede di elaborare la richiesta specificata.
Sintassi
EVT_WDF_IO_ALLOCATE_REQUEST_RESOURCES EvtWdfIoAllocateRequestResources;
NTSTATUS EvtWdfIoAllocateRequestResources(
[in] WDFQUEUE Queue,
[in] WDFREQUEST Request
)
{...}
Parametri
[in] Queue
Handle per un oggetto coda di I/O.
[in] Request
Handle a un oggetto request creato dal framework. Il framework non ha ancora aggiunto l'oggetto request alla coda di I/O specificata dall'handle del parametro Queue .
Valore restituito
La funzione di callback EvtIoAllocateRequestResources deve restituire STATUS_SUCCESS o un altro valore di stato per il quale NT_SUCCESS(stato) è uguale a TRUE se la funzione non rileva errori. In caso contrario, questa funzione deve restituire un valore di stato per il quale NT_SUCCESS(stato) è uguale a FALSE.
Commenti
Un driver può registrare una funzione di callback EvtIoAllocateRequestResources quando chiama WdfIoQueueAssignForwardProgressPolicy.
Se il driver registra una funzione di callback EvtIoAllocateRequestResources , il framework chiama la funzione immediatamente dopo la creazione di un oggetto request per un pacchetto di richiesta I/O (IRP) inviato al driver.
La funzione di callback può allocare risorse necessarie al driver per elaborare la richiesta in un secondo momento, dopo che il driver ha ottenuto l'oggetto richiesta dalla coda di I/O specificata dall'handle del parametro Queue .
Se la funzione di callback alloca correttamente le risorse e restituisce STATUS_SUCCESS, il framework distribuirà infine l'oggetto richiesta al driver.
Se si verifica un errore di allocazione delle risorse, ad esempio una situazione di memoria ridotta, la funzione di callback deve restituire un valore di stato di errore. In questo caso, il framework segue i criteri di avanzamento del driver, che il driver specificato in precedenza con un valore WDF_IO_FORWARD_PROGRESS_RESERVED_POLICY quando ha chiamato WdfIoQueueAssignForwardProgressPolicy.
Per altre informazioni sulla funzione di callback EvtIoAllocateRequestResources , vedere Garanzia dello stato di avanzamento delle operazioni di I/O.
Questa funzione di callback può essere chiamata in IRQL <= DISPATCH_LEVEL. Se IRQL è PASSIVE_LEVEL, il framework chiama la funzione di callback all'interno di un'area critica.
Requisiti
Requisito | Valore |
---|---|
Piattaforma di destinazione | Universale |
Versione KMDF minima | 1,9 |
Intestazione | wdfio.h (includere Wdf.h) |
IRQL | <=DISPATCH_LEVEL (vedere sezione Osservazioni) |