前のトピック: RegQueryValue - テキスト文字列の取得次のトピック: RegSetValue - レジストリ キーとテキスト文字列の関連付け


RegQueryVariable - 変数のタイプおよび値の取得

Windows 上で有効

RegQueryVariable 関数は、指定されたレジストリ キーに対して指定された変数のタイプおよび値を取得します。

このレジストリ操作関数の形式は、以下のとおりです。

形式 1

RegQueryVariable(hKey as Integer, name as String, strvalue as String, intvalue as Integer) as Integer
hKey

現在開いているキーまたは事前定義されたキーを指定します。 hKey パラメータには、以下のいずれかの事前定義された値を指定できます。

HKEY_CLASSES_ROOT
HKEY_CURRENT_USER
HKEY_LOCAL_MACHINE
HKEY_USERS
name

要求された変数の名前を指定します。

strvalue

要求された変数の文字列値を持つ出力パラメータを指定します。

intvalue

要求された変数の整数値を持つ出力パラメータを指定します。

この関数が正常に完了すると、以下の値のいずれかが返されます。

REG_NODATA

変数が見つかりませんでした。 これはハンドルが無効であることを示します。

REG_INTEGER

整数タイプの変数が見つかりませんでした。値は intvalue 型の変数で保存されます。

REG_STRING

文字列タイプの変数が見つかりませんでした。値は strvalue 型の変数で保存されます。

REG_UNSUPPORTED

サポートされない変数タイプが見つかりました。値は void 型になります。

形式 2

RegQueryVariable(hkey as integer, name as string, dummy as string, bufsize as integer, buffer as void) as integer.
hKey

現在開いているキーまたは事前定義されたキーを指定します。 hKey パラメータには、以下のいずれかの事前定義された値を指定できます。

HKEY_CLASSES_ROOT
HKEY_CURRENT_USER
HKEY_LOCAL_MACHINE
HKEY_USERS
name

要求された変数の名前を指定します。

dummy

予約済み。

bufsize

バッファのタイプが string である場合は、受信側のバッファのサイズが chars 単位で指定されます。それ以外の場合は、バイト数が指定されます。 変数である必要があります。 正常に返された場合、取得したバイト数も含まれます。

buffer

取得された変数値を受信するためのバッファ。

レジストリ エントリのタイプが Microsoft の表記法で返されました。

REG_NONE
値: 0
REG_SZ

値: 1

REG_EXPAND_SZ

値: 2

REG_BINARY

値: 3

REG_DWORD

値: 4

REG_DWORD_LITTLE_ENDIAN

値: 5

REG_DWORD_BIG_ENDIAN

値: 6

REG_LINK

値: 7

REG_MULTI_SZ

値: 8

例: RegQueryVariable 関数

以下の例を開始する前に、RegOpenKey の例を実行してください。

Dim value as string
Dim hkey1 as integer
Dim name, str, dummy as string
Dim i, i1, rtr, int as integer
Dim bBuf[100] as Byte
Dim cBuf[100] as char

ClrScr()

hkey1 = RegOpenKey(HKEY_LOCAL_MACHINE, "SOFTWARE¥CA¥4 test only")
if hkey1 = 0 then
	Print("RegOpenKey failed.")
	exit
endif

rtr = RegQueryVariable(hkey1, "var_2", str, int)
Print(Str(rtr) + ": var_2 = " + str)
int = 100
str = ""
rtr = RegQueryVariable(hkey1, "var_2", dummy, int, str)
Print(Str(rtr) + ": var_2(" + Str(int) + ") = " + str)
int = 100
str = ""
rtr = RegQueryVariable(hkey1, "var_2", dummy, int, cBuf)
for i1 = 0 to int - 1
	str = str + cBuf[i1]
next i1
Print(Str(rtr) + ": var_2(" + Str(int) + ") = " + str)
int = 100
str = "| "
rtr = RegQueryVariable(hkey1, "var_2", dummy, int, bBuf)
for i1 = 0 to int - 1
	str = str + Str(bBuf[i1]) + " | "
next i1
Print(Str(rtr) + ": var_2(" + Str(int) + ") = " + str)

RegCloseKey(hkey1)