Функция WdfDeviceInitSetCharacteristics (wdfdevice.h)
[Применимо только к KMDF]
Метод WdfDeviceInitSetCharacteristics задает характеристики устройства для указанного устройства.
Синтаксис
void WdfDeviceInitSetCharacteristics(
[in] PWDFDEVICE_INIT DeviceInit,
[in] ULONG DeviceCharacteristics,
[in] BOOLEAN OrInValues
);
Параметры
[in] DeviceInit
Указатель на структуру WDFDEVICE_INIT.
[in] DeviceCharacteristics
Значение, состоящее из системных констант ORed, представляющих характеристики устройства. Дополнительные сведения см. в разделе Характеристики члена структуры DEVICE_OBJECT.
[in] OrInValues
Логическое значение. Если это значение равно TRUE, значение DeviceCharacteristics — ORed с существующими характеристиками устройства. Если значение равно FALSE, значение DeviceCharacteristics заменяет существующие характеристики устройства.
Возвращаемое значение
Никакой
Замечания
Чтобы задать характеристики устройства, вызовите функцию обратного вызова WdfDeviceInitSetCharacteristics в EvtDriverDeviceAdd перед вызовом WdfDeviceCreate. Если драйвер не может определить характеристики устройства до тех пор, пока функция обратного вызова EvtDriverDeviceAdd возвращается, вызовите WdfDeviceSetCharacteristics.
Дополнительные сведения о вызове WdfDeviceCreateсм. в создании объекта устройства Framework.
Платформа всегда задает FILE_DEVICE_SECURE_OPEN характеристику, поэтому драйверу не нужно задавать эту характеристику.
Каждый вызов WdfDeviceInitSetCharacteristics перезаписывает параметры любого предыдущего вызова.
Примеры
В следующем примере кода указывается, что устройство является диском floppy.
WdfDeviceInitSetCharacteristics(
DeviceInit,
FILE_FLOPPY_DISKETTE,
FALSE
);
Требования
Требование | Ценность |
---|---|
целевая платформа | Всеобщий |
минимальная версия KMDF | 1.0 |
заголовка | wdfdevice.h (include Wdf.h) |
библиотеки | Wdf01000.sys (см. управление версиями библиотеки Платформы).) |
IRQL | <= DISPATCH_LEVEL |
правил соответствия DDI | ChildDeviceInitAPI(kmdf), ControlDeviceInitAPI(kmdf), DeviceInitAPI(kmdf), DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf), PdoDeviceInitAPI(kmdf) |