Condividi tramite


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)

Vedere anche

WDF_FILEOBJECT_CONFIG_INIT

WDF_OBJECT_ATTRIBUTES_INIT

WdfFdoInitSetEventCallbacks

WdfPdoInitSetEventCallbacks