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 puede ser WDF_NO_OBJECT_ATTRIBUTES.
Valor devuelto
None
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 son WdfSynchronizationScopeNone y WdfExecutionLevelPassive, el controlador debe establecer los valores WdfSynchronizationScopeNone y 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 Uso de la sincronización automática.
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 Objetos de archivo de marco.
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 | Value |
---|---|
Plataforma de destino | Universal |
Versión mínima de KMDF | 1.0 |
Versión mínima de UMDF | 2.0 |
Encabezado | wdfdevice.h (incluir Wdf.h) |
Library | 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) |