Funzione WdfDeviceInitSetFileObjectConfig (wdfdevice.h)
[Si applica a KMDF e UMDF]
Il metodo WdfDeviceInitSetFileObjectConfig registra le funzioni di callback degli eventi e imposta le informazioni di configurazione per gli oggetti file del framework del driver.
Sintassi
void WdfDeviceInitSetFileObjectConfig(
[in] PWDFDEVICE_INIT DeviceInit,
[in] PWDF_FILEOBJECT_CONFIG FileObjectConfig,
[in, optional] PWDF_OBJECT_ATTRIBUTES FileObjectAttributes
);
Parametri
[in] DeviceInit
Puntatore a una struttura WDFDEVICE_INIT.
[in] FileObjectConfig
Puntatore a una struttura di WDF_FILEOBJECT_CONFIG allocata dal chiamante.
[in, optional] FileObjectAttributes
Puntatore a una struttura di WDF_OBJECT_ATTRIBUTES allocata dal chiamante che contiene gli attributi dell'oggetto fornito dal driver per gli oggetti file framework del driver. Questo parametro è facoltativo e può essere WDF_NO_OBJECT_ATTRIBUTES.
Valore restituito
Nessuno
Osservazioni
Se un driver chiama WdfDeviceInitSetFileObjectConfig, deve farlo prima di chiamare WdfDeviceCreate.
Per impostazione predefinita, ogni oggetto file framework eredita l'ambito di sincronizzazione e il livello di esecuzione dall'oggetto dispositivo padre. Se l'ambito di sincronizzazione e il livello di esecuzione dell'oggetto dispositivo padre non sono WdfSynchronizationScopeNone e WdfExecutionLevelPassive, il driver deve impostare il WdfSynchronizationScopeNone e valori di WdfExecutionLevelPassive nella struttura WDF_OBJECT_ATTRIBUTES specificata dal parametro FileObjectAttributes. In caso contrario, WdfDeviceCreate restituirà un codice di stato di errore. Per altre informazioni sull'ambito di sincronizzazione e sul livello di esecuzione, vedere Uso della sincronizzazione automatica.
Per altre informazioni sulla chiamata di WdfDeviceCreate, vedere Creating a Framework Device Object.
Per altre informazioni sugli oggetti file del framework, vedere Framework File Objects
Esempi
L'esempio di codice seguente inizializza una struttura WDF_OBJECT_ATTRIBUTES e una struttura WDF_FILEOBJECT_CONFIG e quindi chiama WdfDeviceInitSetFileObjectConfig.
WDF_OBJECT_ATTRIBUTES attributes;
WDF_OBJECT_ATTRIBUTES_INIT(&attributes);
attributes.SynchronizationScope = WdfSynchronizationScopeNone;
WDF_FILEOBJECT_CONFIG_INIT(
&deviceConfig,
MyEvtDeviceFileCreate,
MyEvtFileClose,
WDF_NO_EVENT_CALLBACK // No cleanup callback function
);
WdfDeviceInitSetFileObjectConfig(
DeviceInit,
&deviceConfig,
&attributes
);
Fabbisogno
Requisito | Valore |
---|---|
piattaforma di destinazione | Universale |
versione minima di KMDF | 1.0 |
versione minima di UMDF | 2.0 |
intestazione | wdfdevice.h (include Wdf.h) |
libreria | Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF) |
IRQL | <= DISPATCH_LEVEL |
regole di conformità DDI | ChildDeviceInitAPI(kmdf), ControlDeviceInitAPI(kmdf), DeviceInitAPI(kmdf), DriverCreate(kmdf), FileObjectConfigured(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf), PdoDeviceInitAPI(kmdf) |