WDF_FILEOBJECT_CONFIG struttura (wdfdevice.h)
[Si applica a KMDF e UMDF]
La struttura WDF_FILEOBJECT_CONFIG contiene informazioni di configurazione degli oggetti file framework di un driver.
Sintassi
typedef struct _WDF_FILEOBJECT_CONFIG {
ULONG Size;
PFN_WDF_DEVICE_FILE_CREATE EvtDeviceFileCreate;
PFN_WDF_FILE_CLOSE EvtFileClose;
PFN_WDF_FILE_CLEANUP EvtFileCleanup;
WDF_TRI_STATE AutoForwardCleanupClose;
WDF_FILEOBJECT_CLASS FileObjectClass;
} WDF_FILEOBJECT_CONFIG, *PWDF_FILEOBJECT_CONFIG;
Members
Size
Dimensione, in byte, della struttura.
EvtDeviceFileCreate
Puntatore alla funzione evtDeviceFileCreate callback o NULL del driver.
EvtFileClose
Puntatore alla funzione di callback EvtFileClose del driver o NULL.
EvtFileCleanup
Puntatore alla funzione di callback EvtFileCleanup del driver o NULL.
AutoForwardCleanupClose
Valore WDF_TRI_STATE tipizzato. Per altre informazioni su questo membro, vedere la sezione Commenti seguente.
FileObjectClass
Valore WDF_FILEOBJECT_CLASS tipizzato che identifica se il driver richiede un oggetto file framework per rappresentare ogni file creato o aperto da un'applicazione o un altro driver. Inoltre, questo valore specifica dove il framework può archiviare l'handle dell'oggetto.
Commenti
La struttura WDF_FILEOBJECT_CONFIG viene usata come input per il metodo WdfDeviceInitSetFileObjectConfig .
WDF_FILEOBJECT_CONFIG deve essere inizializzato chiamando WDF_FILEOBJECT_CONFIG_INIT.
Comportamento del framework per AutoForwardCleanupClose
Se AutoForwardCleanupClose è impostato su WdfTrue, il framework esegue le operazioni seguenti:- Il framework inoltra le richieste di creazione di file al driver inferiore successivo se il driver non fornisce una funzione di callback EvtDeviceFileCreate callback e non ha chiamato WdfDeviceConfigureRequestDispatching per impostare una coda di I/O per ricevere le richieste di creazione di file. Il framework non inoltra le richieste di creazione di file se il driver fornisce una funzione di callback o una coda per gestire le richieste, pertanto il driver deve inoltrare, completare o annullare le richieste.
- Il framework invia la pulizia dei file e chiude le richieste al driver inferiore successivo dopo aver chiamato le funzioni di callback EvtFileCleanup e EvtFileClose .
Se AutoForwardCleanupClose è impostato su WdfUseDefault, il framework usa il comportamento WdfTrue per i driver di filtro e il comportamento WdfFalse per i driver di funzione.
Comportamento del driver per AutoForwardCleanupClose
La destinazione di I/O locale del driver deve sempre ricevere un numero uguale di richieste di I/O con tipi di richiesta WdfRequestTypeCreate, WdfRequestTypeCleanup e WdfRequestTypeClose. Pertanto, se il driver fornisce una funzione di callback EvtDeviceFileCreate o una coda di I/O che riceve le richieste di creazione di file, è necessario usare le regole seguenti:- Se il driver imposta AutoForwardCleanupClose su WdfTrue, il driver deve inoltrare tutte le richieste di creazione di file alla destinazione I/O locale. È necessario seguire questa regola perché il framework inoltra tutte le richieste di pulizia e chiusura alla destinazione locale, indipendentemente dal fatto che il driver fornisca le funzioni di callback EvtFileCleanup e EvtFileClose .
- Se il driver imposta AutoForwardCleanupClose su WdfFalse, il driver non deve inoltrare le richieste di creazione di file alla destinazione di I/O locale. È necessario seguire questa regola perché il framework non inoltra la pulizia e chiude le richieste alla destinazione locale, indipendentemente dal fatto che il driver fornisca funzioni di callback EvtFileCleanup e EvtFileClose.
- Se il driver imposta AutoForwardCleanupClose su WdfDefault, il driver deve seguire la regola per WdfTrue se è un driver di filtro. Il driver deve seguire la regola per WdfFalse se è un driver di funzione.
Requisiti
Requisito | Valore |
---|---|
Versione KMDF minima | 1.0 |
Versione UMDF minima | 2,0 |
Intestazione | wdfdevice.h (includere Wdf.h) |