Поделиться через


Функция WdfDriverRetrieveVersionString (wdfdriver.h)

[Применимо к KMDF и UMDF]

Метод WdfDriverRetrieveVersionString извлекает строку Юникода, которая определяет версию платформы драйвера Kernel-Mode, с помощью которого выполняется драйвер.

Синтаксис

NTSTATUS WdfDriverRetrieveVersionString(
  [in] WDFDRIVER Driver,
  [in] WDFSTRING String
);

Параметры

[in] Driver

Дескриптор объекта драйвера платформы драйвера, который драйвер получил при предыдущем вызове WdfDriverCreate или WdfGetDriver.

[in] String

Дескриптор для объекта строки платформы, полученного драйвером при предыдущем вызове WdfStringCreate. Платформа назначает строку версии строкового объекта.

Возвращаемое значение

WdfDriverRetrieveVersionString возвращает STATUS_SUCCESS, если операция выполнена успешно. В противном случае этот метод может возвращать одно из следующих значений:

Код возврата Описание
STATUS_INSUFFICIENT_RESOURCES
Платформе не удалось выделить буфер для строки Юникода.
 

Этот метод также может возвращать другие значения NTSTATUS.

Системная ошибка проверка возникает, если дескриптор драйвера недопустим.

Комментарии

Драйвер может вызвать WdfDriverRetrieveVersionString , если вы хотите отобразить строку, определяющую версию библиотеки платформы. Формат строки может меняться от одной версии к другой, поэтому драйвер не должен пытаться интерпретировать формат или содержимое строки.

Дополнительные сведения о версиях библиотек см. в разделе Управление версиями библиотеки платформы.

Примеры

В следующем примере кода создается строковый объект, присваивается объекту строка версии и отображается строка, если выполняется отладчик.

WDFSTRING string;
UNICODE_STRING us;

status = WdfStringCreate(
                         NULL,
                         WDF_NO_OBJECT_ATTRIBUTES,
                         &string
                         );
if (NT_SUCCESS(status)) {
    status = WdfDriverRetrieveVersionString(
                                            driver,
                                            string
                                            );
    if (NT_SUCCESS(status)) {
        WdfStringGetUnicodeString(
                                  string,
                                  &us
                                  );
        DbgPrint(
                 "WDF Version string:  %wZ\n",
                 &us
                 );
    }
    WdfObjectDelete(string);
}

Требования

Требование Значение
Целевая платформа Универсальное
Минимальная версия KMDF 1,0
Минимальная версия UMDF 2,0
Верхняя часть wdfdriver.h (включая Wdf.h)
Библиотека Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF)
IRQL PASSIVE_LEVEL
Правила соответствия DDI DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf)

См. также раздел

WdfDriverCreate

WdfDriverIsVersionAvailable

WdfGetDriver

WdfObjectDelete

WdfStringCreate

WdfStringGetUnicodeString