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)

Consulte también

WDF_FILEOBJECT_CONFIG_INIT

WDF_OBJECT_ATTRIBUTES_INIT

WdfFdoInitSetEventCallbacks

WdfPdoInitSetEventCallbacks