Поделиться через


Функция 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.

Возвращаемое значение

None

Remarks

Если драйвер вызывает WdfDeviceInitSetFileObjectConfig, он должен сделать это перед вызовом WdfDeviceCreate.

По умолчанию каждый объект файла платформы наследует область синхронизации и уровень выполнения от родительского объекта устройства. Если область синхронизации родительского объекта устройства и уровень выполнения не являются WdfSynchronizationScopeNone и WdfExecutionLevelPassive, драйвер должен задать значения WdfSynchronizationScopeNone и WdfExecutionLevelPassive в структуре WDF_OBJECT_ATTRIBUTES, заданной параметром FileObjectAttributes. В противном случае 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)
Библиотека 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