Функция 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
Значение типа Boolean. Если это значение равно TRUE, значение DeviceCharacteristics — ORed с существующими характеристиками устройства. Если значение равно FALSE, значение DeviceCharacteristics заменяет существующие характеристики устройства.
Возвращаемое значение
None
Remarks
Чтобы задать характеристики устройства, вызовите метод WdfDeviceInitSetCharacteristics в функции обратного вызова EvtDriverDeviceAdd перед вызовом WdfDeviceCreate. Если драйвер не может определить характеристики устройства до тех пор, пока не будет возвращена функция обратного вызова EvtDriverDeviceAdd , вызовите WdfDeviceSetCharacteristics.
Дополнительные сведения о вызове WdfDeviceCreate см. в разделе Создание объекта устройства платформы.
Платформа всегда задает FILE_DEVICE_SECURE_OPEN характеристику, поэтому драйверу не нужно задавать эту характеристику.
Каждый вызов WdfDeviceInitSetCharacteristics перезаписывает параметры любого предыдущего вызова.
Примеры
В следующем примере кода показано, что устройство является гибким диском.
WdfDeviceInitSetCharacteristics(
DeviceInit,
FILE_FLOPPY_DISKETTE,
FALSE
);
Требования
Требование | Значение |
---|---|
Целевая платформа | Универсальное |
Минимальная версия KMDF | 1,0 |
Верхняя часть | wdfdevice.h (включая Wdf.h) |
Библиотека | Wdf01000.sys (см. раздел Управление версиями библиотеки платформы). |
IRQL | <= DISPATCH_LEVEL |
Правила соответствия DDI | ChildDeviceInitAPI(kmdf), ControlDeviceInitAPI(kmdf), DeviceInitAPI(kmdf), DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf), PdoDeviceInitAPI(kmdf) |