Acquisizione di informazioni su una richiesta di I/O
Prima di elaborare una richiesta di I/O, un driver deve determinare il tipo di richiesta. Quando un driver basato su framework crea code di I/O per un dispositivo, in genere configura le code di I/O e i gestori di richieste in modo che ogni gestore di coda o richiesta riceva le richieste di un particolare tipo (controllo di I/O di lettura, scrittura o dispositivo).
Dopo aver determinato il tipo di richiesta, il driver deve ottenere i buffer di input e output della richiesta, se necessari. Per informazioni su come ottenere i buffer di una richiesta, vedere Accesso ai buffer dei dati in Framework-Based driver.
Per fornire informazioni aggiuntive su una richiesta di I/O ricevuta da un driver, l'oggetto richiesta framework definisce i metodi seguenti:
WdfRequestGetIoQueue, che restituisce un handle alla coda di I/O da cui è stata recapitata la richiesta di I/O.
WdfRequestGetRequestorMode, che restituisce la modalità di accesso al processore (utente o kernel) dell'originatore della richiesta.
WdfRequestGetFileObject, che restituisce un handle all'oggetto file framework associato alla richiesta.
WdfRequestWdmGetIrp, che restituisce la struttura IRP WDM associata alla richiesta.
WdfRequestGetParameters, che recupera i parametri di richiesta non IRP in formato WDM.
Dopo che un driver ha completato una richiesta di I/O, altri driver nello stack di driver possono chiamare metodi di oggetto richiesta aggiuntivi per ottenere informazioni di completamento della richiesta. Per altre informazioni su questi metodi aggiuntivi, vedere Completamento delle richieste di I/O.