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