WdfDeviceInitSetFileObjectConfig 函数 (wdfdevice.h)

[适用于 KMDF 和 UMDF]

WdfDeviceInitSetFileObjectConfig 方法注册事件回调函数并设置驱动程序框架文件对象的配置信息。

语法

void WdfDeviceInitSetFileObjectConfig(
  [in]           PWDFDEVICE_INIT        DeviceInit,
  [in]           PWDF_FILEOBJECT_CONFIG FileObjectConfig,
  [in, optional] PWDF_OBJECT_ATTRIBUTES FileObjectAttributes
);

参数

[in] DeviceInit

指向 WDFDEVICE_INIT 结构的指针。

[in] FileObjectConfig

指向调用方分配 的WDF_FILEOBJECT_CONFIG 结构的指针。

[in, optional] FileObjectAttributes

指向调用方分配 的WDF_OBJECT_ATTRIBUTES 结构的指针,该结构包含驱动程序为驱动程序的框架文件对象提供的对象属性。 此参数是可选的,可以WDF_NO_OBJECT_ATTRIBUTES。

返回值

备注

如果驱动程序调用 WdfDeviceInitSetFileObjectConfig,则必须在调用 WdfDeviceCreate 之前执行此操作。

默认情况下,每个框架文件对象都从其父设备对象继承其同步范围和执行级别。 如果父设备对象的同步范围和执行级别不是 WdfSynchronizationScopeNoneWdfExecutionLevelPassive,则驱动程序必须在 FileObjectAttributes 参数指定的WDF_OBJECT_ATTRIBUTES结构中设置 WdfSynchronizationScopeNoneWdfExecutionLevelPassive 值。 否则, WdfDeviceCreate 将返回错误状态代码。 有关同步范围和执行级别的详细信息,请参阅 使用自动同步

有关调用 WdfDeviceCreate 的详细信息,请参阅 创建框架设备对象

有关框架文件对象的详细信息,请参阅 框架文件对象

示例

下面的代码示例初始化 WDF_OBJECT_ATTRIBUTES 结构和 WDF_FILEOBJECT_CONFIG 结构,然后调用 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
                                 );

要求

要求
目标平台 通用
最低 KMDF 版本 1.0
最低 UMDF 版本 2.0
标头 wdfdevice.h (包括 Wdf.h)
Library Wdf01000.sys (KMDF) ;WUDFx02000.dll (UMDF)
IRQL <= DISPATCH_LEVEL
DDI 符合性规则 ChildDeviceInitAPI (kmdf) ControlDeviceInitAPI (kmdf) DeviceInitAPI (kmdf) DriverCreate (kmdf) FileObjectConfigured (kmdf) KmdfIrql (kmdf) KmdfIrql2 (kmdf) 、 KmdfIrqlExplicit (kmdf) , PdoDeviceInitAPI (kmdf)

另请参阅

WDF_FILEOBJECT_CONFIG_INIT

WDF_OBJECT_ATTRIBUTES_INIT

WdfFdoInitSetEventCallbacks

WdfPdoInitSetEventCallbacks