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 NULL restituito solo se imposta il flag di bit WdfFileObjectCanBeOptional nella struttura WDF_FILEOBJECT_CONFIG.
Se il driver fornisce un handle di oggetto non valido, si verifica un controllo di bug.
Osservazioni
Il metodo WdfRequestGetFileObject restituisce NULL se:
- Il driver non ha chiamato WdfDeviceInitSetFileObjectConfig e ha specificato un valore WDF_FILEOBJECT_CLASS che fa sì che il framework crei oggetti file.
- 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.
Esempi
Nell'esempio di codice seguente viene ottenuto l'oggetto file di una 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;
}
Fabbisogno
Requisito | Valore |
---|---|
piattaforma di destinazione | Universale |
versione minima di KMDF | 1.0 |
versione minima di UMDF | 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) |