Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
[Применимо только к KMDF]
Метод WdfPdoInitAddDeviceText добавляет описание устройства и расположение устройства на устройство для указанного языкового стандарта.
Синтаксис
NTSTATUS WdfPdoInitAddDeviceText(
[in] PWDFDEVICE_INIT DeviceInit,
[in] PCUNICODE_STRING DeviceDescription,
[in] PCUNICODE_STRING DeviceLocation,
[in] LCID LocaleId
);
Параметры
[in] DeviceInit
Указатель на структуру WDFDEVICE_INIT.
[in] DeviceDescription
Указатель на структуру UNICODE_STRING, содержащую описание устройства, отформатированный для заданного языкового стандарта. Драйвер может выделить буфер строки из пула страниц.
[in] DeviceLocation
Указатель на структуру UNICODE_STRING, содержащую описание расположения на шине, где родительское устройство обнаружило дочернее. Драйвер может выделить буфер строки из пула страниц.
[in] LocaleId
Идентификатор языкового стандарта (LCID), представляющий языковой стандарт строк Юникода. Дополнительные сведения см. в разделе Идентификаторы языкового стандарта.
Возвращаемое значение
Если операция выполнена успешно, метод возвращает STATUS_SUCCESS. К дополнительным возвращаемым значениям относятся:
| Код возврата | Описание |
|---|---|
|
Драйвер инициализирует FDO вместо PDO. |
|
Драйвер не мог выделить место для хранения строк. |
Метод также может возвращать другие значения NTSTATUS.
Замечания
Платформа сохраняет указанный текст устройства и передает его диспетчеру PnP в ответ на запрос IRP_MN_QUERY_DEVICE_TEXT. Текст, который вы предоставляете, должен помочь пользователю определить устройство. Диспетчер PnP иногда отображает текст при попытке установить дополнительные драйверы для устройства.
Вы можете вызывать WdfPdoInitAddDeviceText несколько раз, добавив текст устройства для нескольких языковых стандартов. При отображении текста система выбирает текст, соответствующий текущему языковому стандарту, если он доступен. В противном случае он будет использовать строку для языкового стандарта по умолчанию. Драйвер может указать языковой стандарт по умолчанию драйвера, вызвав WdfPdoInitSetDefaultLocale.
Драйвер должен вызывать WdfPdoInitAddDeviceText перед вызовом WdfDeviceCreate. Дополнительные сведения о вызове WdfDeviceCreateсм. в создании объекта устройства Framework.
Примеры
В следующем примере кода приведены строки Юникода для расположения и описания устройства. Описание содержит номер экземпляра. Полный пример использования WdfPdoInitAddDeviceTextсм. в примере драйвера KbFiltr.
DECLARE_CONST_UNICODE_STRING(deviceLocation,L"Keyboard Filter\0" );
DECLARE_UNICODE_STRING_SIZE(buffer, MAX_ID_LEN);
status = RtlUnicodeStringPrintf(
&buffer,
L"Keyboard_Filter_%02d",
InstanceNo
);
if (!NT_SUCCESS(status)) {
goto Cleanup;
}
status = WdfPdoInitAddDeviceText(
pDeviceInit,
&buffer,
&deviceLocation,
0x409
);
if (!NT_SUCCESS(status)) {
goto Cleanup;
}
Требования
| Требование | Ценность |
|---|---|
| целевая платформа | универсальный |
| минимальная версия KMDF | 1.0 |
| Заголовок | wdfpdo.h (включая Wdf.h) |
| Библиотека | Wdf01000.sys (см. управление версиями библиотеки Платформы).) |
| IRQL | PASSIVE_LEVEL |
| правил соответствия DDI | ChildDeviceInitAPI(kmdf), DriverCreate(kmdf), InitFreeDeviceCallback(kmdf), InitFreeDeviceCreate(kmdf), InitFreeNull(kmdf), KmdfIrql (kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf), PdoDeviceInitAPI(kmdf), PdoInitFreeDeviceCallback(kmdf), PdoInitFreeDeviceCreate(kmdf) |