다음을 통해 공유


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