RegQueryValueEx |
Declare Function Api_RegQueryValueEx& Lib "advapi32" Alias "RegQueryValueExA" (ByVal hKey&, ByVal lpvName$, ByVal lpReserved&, ByVal lpType&, ByVal lpData$, lpcbData&) |
Declare Function RegQueryValueEx Lib "advapi32" Alias "RegQueryValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal lpReserved As Long, lpType As Long, lpData As Any, lpcbData As Long) As Long |
|
指定されたレジストリキーに所属している、指定されたレジストリエントリのデータ型とデータを取得する。 |
|
パラメータ
代わりに、あらかじめ定義されている次の予約済みハンドルのいずれかを指定することもできる。 Name>、日本語版では <名前なし>)、または「(標準)」のレジストリエントリのデータ型とデータを取得する(これらのレジストリエント
リが存在する場合に限る)。 タを保持していない。レジストリエディタでは、「(値の設定なし)」と表示されている。Windows 95 では、既定のデータ型は必ず REG_SZ になっている。Windows 98 では、キー内の既定のレジストリエントリのデータ型は、最初は REG_SZ であるが、RegSetValueEx
関数を使うと、既定のレジストリエントリに他のデータ型を割り当てるよう指定することもできる。
のデータ型を割り当てることができる。
データ型が不要な場合、NULL を指定する。
この情報が不要な場合、NULL を指定する。
この変数に、lpData バッファへコピーされたデータのサイズが格納される。 lpcbData パラメータが指す変数に、必要なサイズがバイト単位で格納される。この場合、lpData パラメータが指すバッファの内容は未定義
である。 lpcbData パラメータが指す変数にデータのサイズが格納される。この結果、アプリケーションはレジストリエントリのデータを格納するために最
適なバッファのサイズを取得できる。 合、RegQueryValueEx 関数は ERROR_MORE_DATA を返するが、lpcbData パラメータが指す変数には、必要なバッファのサイズが格 納されない。これは、パフォーマンスデータのサイズが、最初にこの関数を呼び出したときと、次にこの関数を呼び出すときとで変化している 可能性があるからである。この場合、バッファのサイズを増やし、更新後のサイズを lpcbData パラメータで指定して、もう一度 RegQueryValueEx 関数を呼び出さなければならない。最適なサイズを事前に把握することはできないので、関数が成功するまで、この 手順を繰り返す。バッファのサイズを記録するために、もう 1 個変数を用意する必要がある。lpcbData パラメータが指す変数に格納される
値は、予測できないからである。 FORMAT_MESSAGE_FROM_SYSTEM フラグを指定して FormatMessage 関数を呼び出すと、エラーの一般的な説明を取得できる。 |