次の方法で共有


WdfDriverRetrieveVersionString 関数 (wdfdriver.h)

[KMDF と UMDF に適用]

WdfDriverRetrieveVersionString メソッドは、ドライバーが実行されている Kernel-Mode Driver Framework のバージョンを識別する Unicode 文字列を取得します。

構文

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

パラメーター

[in] Driver

以前の WdfDriverCreate または WdfGetDriver の呼び出しからドライバーが取得したドライバーのフレームワーク ドライバー オブジェクトへのハンドル。

[in] String

ドライバーが WdfStringCreate の以前の呼び出しから取得したフレームワーク文字列オブジェクトへのハンドル。 フレームワークは、バージョン文字列を文字列オブジェクトに割り当てます。

戻り値

操作が成功した場合、WdfDriverRetrieveVersionString はSTATUS_SUCCESSを返します。 それ以外の場合、このメソッドは次のいずれかの値を返す可能性があります。

リターン コード 説明
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);
}

要件

要件
対象プラットフォーム ユニバーサル
最小 KMDF バージョン 1.0
最小 UMDF バージョン 2.0
Header wdfdriver.h (Wdf.h を含む)
Library Wdf01000.sys (KMDF);WUDFx02000.dll (UMDF)
IRQL PASSIVE_LEVEL
DDI コンプライアンス規則 DriverCreate(kmdf)KmdfIrql(kmdf)KmdfIrql2(kmdf)、KmdfIrqlExplicit(kmdf)

こちらもご覧ください

WdfDriverCreate

WdfDriverIsVersionAvailable

WdfGetDriver

WdfObjectDelete

WdfStringCreate

WdfStringGetUnicodeString