WdfDriverRetrieveVersionString 函式 (wdfdriver.h)

[適用於 KMDF 和 UMDF]

WdfDriverRetrieveVersionString 方法會擷取 Unicode 字串,識別驅動程式執行所在的 Kernel-Mode Driver Framework 版本。

語法

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

參數

[in] Driver

驅動程式架構驅動程序物件的句柄,該驅動程式是從先前呼叫 WdfDriverCreateWdfGetDriver 取得的。

[in] String

驅動程式從先前呼叫 WdfStringCreate 取得的架構字串物件的句柄。 架構會將版本字串指派給字串物件。

傳回值

如果作業成功,WdfDriverRetrieveVersionString 會傳回STATUS_SUCCESS。 否則,這個方法可能會傳回下列其中一個值:

傳回碼 Description
STATUS_INSUFFICIENT_RESOURCES
架構無法為 Unicode 字串配置緩衝區。
 

這個方法也可能傳回其他 NTSTATUS值

如果 驅動程式 句柄無效,就會發生系統錯誤檢查。

備註

如果您想要顯示識別架構連結庫版本的字串,驅動程式可以呼叫 WdfDriverRetrieveVersionString 。 字串的格式可能會從某個版本變更為另一個版本,因此驅動程式不得嘗試解譯字串的格式或內容。

如需連結庫版本的詳細資訊,請參閱 Framework 連結庫版本設定

範例

下列程式代碼範例會建立字串物件、將版本字串指派給 物件,並在調試程式執行時顯示字串。

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);
}

規格需求

需求
目標平台 Universal
最低 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