Funzione WdfRequestGetFileObject (wdfrequest.h)
[Si applica a KMDF e UMDF]
Il metodo WdfRequestGetFileObject recupera l'oggetto file framework associato a una richiesta di I/O specificata.
Sintassi
WDFFILEOBJECT WdfRequestGetFileObject(
[in] WDFREQUEST Request
);
Parametri
[in] Request
Handle per un oggetto richiesta framework.
Valore restituito
WdfRequestGetFileObject restituisce un handle all'oggetto file framework, se il framework ha creato un oggetto file per la richiesta specificata. In caso contrario, questo metodo restituisce NULL. Un driver verifica in genere un valore restituito NULL solo se imposta il flag bit WdfFileObjectCanBeOptional nella struttura WDF_FILEOBJECT_CONFIG .
Un controllo di bug si verifica se il driver fornisce un handle di oggetti non valido.
Commenti
Il metodo WdfRequestGetFileObject restituisce NULL se:
- Il driver non ha chiamato WdfDeviceInitSetFileObjectConfig e specificato un valore WDF_FILEOBJECT_CLASS che causa la creazione di oggetti file del framework.
- Un altro driver ha inviato una richiesta di controllo di lettura, scrittura o I/O al driver senza prima inviare un tipo di richiesta di WdfRequestTypeCreate.
Esempio
Nell'esempio di codice seguente viene ottenuto un oggetto file della richiesta di I/O e quindi viene chiamata una routine definita dal driver che ottiene un puntatore allo spazio di contesto dell'oggetto file.
VOID
MyEvtIoWrite(
IN WDFQUEUE Queue,
IN WDFREQUEST Request,
IN size_t Length
)
{
WDFFILEOBJECT fileObject;
PFILE_OPEN_CONTEXT pOpenContext;
fileObject = WdfRequestGetFileObject(Request);
pOpenContext = GetFileObjectContext(fileObject)->OpenContext;
}
Requisiti
Requisito | Valore |
---|---|
Piattaforma di destinazione | Universale |
Versione KMDF minima | 1.0 |
Versione UMDF minima | 2,0 |
Intestazione | wdfrequest.h (include Wdf.h) |
Libreria | Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF) |
IRQL | <=DISPATCH_LEVEL |
Regole di conformità DDI | DriverCreate(kmdf), FileObjectConfigured(kmdf), InvalidReqAccess(kmdf), InvalidReqAccessLocal(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf) |