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を返します。 それ以外の場合、メソッドは次のいずれかの値を返す可能性があります。
リターン コード | 説明 |
---|---|
|
IRQL = PASSIVE_LEVEL で WdfRegistryQueryString が呼び出されませんでした。 |
|
無効なパラメーターが指定されました。 |
|
操作を完了するためのメモリが不足していました。 |
|
ドライバーは、KEY_QUERY_VALUE、KEY_READ、またはKEY_ALL_ACCESSアクセスでレジストリ キーを開けませんでした。 |
|
ValueName パラメーターが指定したレジストリ値のデータ型がREG_SZされませんでした。 |
|
レジストリ値が使用できませんでした。 |
|
レジストリ値は、指定したキーの下に存在しますが、空です。 |
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) |