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 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 WDF_OBJECT_ATTRIBUTES allocata dal chiamante che contiene gli attributi oggetto forniti 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 i valori WdfSynchronizationScopeNone e 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 a WdfDeviceCreate, vedere Creazione di un oggetto dispositivo framework.

Per altre informazioni sugli oggetti file framework, vedere Framework File Objects

Esempio

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
                                 );

Requisiti

Requisito Valore
Piattaforma di destinazione Universale
Versione KMDF minima 1.0
Versione UMDF minima 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)

Vedi anche

WDF_FILEOBJECT_CONFIG_INIT

WDF_OBJECT_ATTRIBUTES_INIT

WdfFdoInitSetEventCallbacks

WdfPdoInitSetEventCallbacks