Función WdfDeviceInitSetFileObjectConfig (wdfdevice.h)
[Se aplica a KMDF y UMDF]
El método WdfDeviceInitSetFileObjectConfig registra funciones de devolución de llamada de eventos y establece información de configuración para los objetos de archivo de marco del controlador.
Sintaxis
void WdfDeviceInitSetFileObjectConfig(
[in] PWDFDEVICE_INIT DeviceInit,
[in] PWDF_FILEOBJECT_CONFIG FileObjectConfig,
[in, optional] PWDF_OBJECT_ATTRIBUTES FileObjectAttributes
);
Parámetros
[in] DeviceInit
Puntero a una estructura de WDFDEVICE_INIT.
[in] FileObjectConfig
Puntero a una estructura de WDF_FILEOBJECT_CONFIG asignada por el autor de la llamada.
[in, optional] FileObjectAttributes
Puntero a una estructura de WDF_OBJECT_ATTRIBUTES asignada por el autor de la llamada que contiene atributos de objeto proporcionados por el controlador para los objetos de archivo de marco del controlador. Este parámetro es opcional y se puede WDF_NO_OBJECT_ATTRIBUTES.
Valor devuelto
Ninguno
Observaciones
Si un controlador llama a WdfDeviceInitSetFileObjectConfig, debe hacerlo antes de llamar a WdfDeviceCreate.
De forma predeterminada, cada objeto de archivo de marco hereda su ámbito de sincronización y el nivel de ejecución de su objeto de dispositivo primario. Si el ámbito de sincronización y el nivel de ejecución del objeto de dispositivo primario no WdfSynchronizationScopeNone y WdfExecutionLevelPassive, el controlador debe establecer el WdfSynchronizationScopeNone y valores de WdfExecutionLevelPassive en la estructura WDF_OBJECT_ATTRIBUTES que especifica el parámetro FileObjectAttributes . De lo contrario, WdfDeviceCreate devolverá un código de estado de error. Para obtener más información sobre el ámbito de sincronización y el nivel de ejecución, consulte Using Automatic Synchronization.
Para obtener más información sobre cómo llamar a WdfDeviceCreate, vea Creating a Framework Device Object.
Para obtener más información sobre los objetos de archivo de marco, vea Framework File Objects
Ejemplos
En el ejemplo de código siguiente se inicializa una estructura de WDF_OBJECT_ATTRIBUTES y una estructura de WDF_FILEOBJECT_CONFIG y, a continuación, se llama a 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
);
Requisitos
Requisito | Valor |
---|---|
de la plataforma de destino de | Universal |
versión mínima de KMDF | 1.0 |
versión mínima de UMDF | 2.0 |
encabezado de | wdfdevice.h (incluya Wdf.h) |
biblioteca de | Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF) |
irQL | <= DISPATCH_LEVEL |
reglas de cumplimiento de DDI | ChildDeviceInitAPI(kmdf), ControlDeviceInitAPI(kmdf), DeviceInitAPI(kmdf), DriverCreate(kmdf), FileObjectConfigured(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf), PdoDeviceInitAPI(kmdf) |