WdfRegistryQueryString 関数 (wdfregistry.h)

[KMDF と UMDF に適用]

WdfRegistryQueryString メソッドは、指定されたレジストリ文字列値に現在割り当てられている文字列データを取得し、指定したフレームワーク文字列オブジェクトに文字列を割り当てます。

構文

NTSTATUS WdfRegistryQueryString(
  [in] WDFKEY           Key,
  [in] PCUNICODE_STRING ValueName,
  [in] WDFSTRING        String
);

パラメーター

[in] Key

開かれたレジストリ キーを表すレジストリ キー オブジェクトへのハンドル。

[in] ValueName

レジストリ値の名前を含む UNICODE_STRING 構造体へのポインター。

[in] String

フレームワーク文字列オブジェクトへのハンドル。 フレームワークは、レジストリ値の文字列データをこのオブジェクトに割り当てます。

戻り値

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

リターン コード 説明
STATUS_INVALID_DEVICE_REQUEST

IRQL = PASSIVE_LEVEL で WdfRegistryQueryString が呼び出されませんでした。

STATUS_INVALID_PARAMETER
無効なパラメーターが指定されました。
STATUS_INSUFFICIENT_RESOURCES
操作を完了するためのメモリが不足していました。
STATUS_ACCESS_DENIED
ドライバーは、KEY_QUERY_VALUE、KEY_READ、またはKEY_ALL_ACCESSアクセスでレジストリ キーを開けませんでした。
STATUS_OBJECT_TYPE_MISMATCH
ValueName パラメーターが指定したレジストリ値のデータ型がREG_SZされませんでした。
STATUS_OBJECT_NAME_NOT_FOUND
レジストリ値が使用できませんでした。
STATUS_RESOURCE_DATA_NOT_FOUND
レジストリ値は、指定したキーの下に存在しますが、空です。
 

WdfRegistryQueryString メソッドが返す可能性があるその他の戻り値の一覧については、「Framework オブジェクト作成エラー」を参照してください。

このメソッドは、他の NTSTATUS 値を返す場合もあります。

ドライバーが無効なオブジェクト ハンドルを提供すると、バグ チェックが発生します。

注釈

文字列オブジェクトから文字列を取得するために、ドライバーは WdfStringGetUnicodeString を呼び出すことができます。

レジストリ キー オブジェクトの詳細については、「 Framework-Based ドライバーでのレジストリの使用」を参照してください。

次のコード例では、文字列オブジェクトを作成し、レジストリ キーから文字列データを取得し、文字列オブジェクトから文字列データを取得します。

UNICODE_STRING str;
WDFSTRING string;
NTSTATUS status;
DECLARE_CONST_UNICODE_STRING(valueName, STRING_VALUE_NAME);

status = WdfStringCreate(
                         NULL,
                         WDF_NO_OBJECT_ATTRIBUTES,
                         &string
                         );
if (NT_SUCCESS(status)) {
    status = WdfRegistryQueryString(
                                    Key, 
                                    &valueName,
                                    string
                                    );
    if (NT_SUCCESS(status)) {
        WdfStringGetUnicodeString(
                                  string,
                                  &str
                                  );
    }
}

要件

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

こちらもご覧ください

UNICODE_STRING

WdfRegistryQueryMemory

WdfRegistryQueryMultiString

WdfRegistryQueryULong

WdfRegistryQueryUnicodeString

WdfRegistryQueryValue

WdfStringCreate

WdfStringGetUnicodeString