Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
[Применимо только к KMDF]
Метод WdfPdoInitAssignInstanceID обновляет идентификатор экземпляра для дочернего устройства.
Синтаксис
NTSTATUS WdfPdoInitAssignInstanceID(
[in] PWDFDEVICE_INIT DeviceInit,
[in] PCUNICODE_STRING InstanceID
);
Параметры
[in] DeviceInit
Указатель на структуру WDFDEVICE_INIT.
[in] InstanceID
Указатель на структуру UNICODE_STRING, содержащую идентификатор экземпляра строку. Драйвер может выделить буфер строки из пула страниц.
Возвращаемое значение
Если операция выполнена успешно, метод возвращает STATUS_SUCCESS. К дополнительным возвращаемым значениям относятся:
| Код возврата | Описание |
|---|---|
|
Драйвер инициализирует FDO вместо PDO. |
|
Драйвер не мог выделить место для хранения строки идентификатора экземпляра. |
Метод также может возвращать другие значения NTSTATUS.
Замечания
Дополнительные сведения об идентификаторах экземпляров см. в строках идентификации устройств.
Драйвер должен вызывать WdfPdoInitAssignInstanceID перед вызовом WdfDeviceCreate. Дополнительные сведения о вызове WdfDeviceCreateсм. в создании объекта устройства Framework.
Примеры
Следующий пример кода преобразует серийный номер устройства в строку Юникода, а затем регистрирует строку Юникода в качестве идентификатора экземпляра устройства.
DECLARE_UNICODE_STRING_SIZE(instanceID, INSTANCEID_LENGTH);
status = RtlIntegerToUnicodeString(
SerialNo,
BASE_DEC,
&instanceID
);
status = WdfPdoInitAssignInstanceID(
pDeviceInit,
&instanceID
);
Требования
| Требование | Ценность |
|---|---|
| целевая платформа | универсальный |
| минимальная версия 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) |