The class value corresponds to the value you'll see in the "Type" column when you run RegEdit. The commonly used types are REG_SZ, REG_DWORD, and REG_BINARY. The full list (from WinNT.h) are:
[ul][li]REG_NONE - no value type[/li]
[li]REG_SZ - null-terminated Unicode string[/li]
[li]REG_EXPAND_SZ - null-terminated Unicode string with embedded enviromental variables[/li]
[li]REG_BINARY - free form binary value[/li]
[li]REG_DWORD - 32-bit number[/li]
[li]REG_DWORD_LITTLE_ENDIAN - 32-bit number for Intel CPUs[/li]
[li]REG_DWORD_BIG_ENDIAN - 32-bit number for non-Intel CPUs[/li]
[li]REG_LINK - Symbolic link (Unicode)[/li]
[li]REG_MULTI_SZ - Multiple null-terminated Unicode strings, terminated with a double-null[/li]
[li]REG_RESOURCE_LIST - resource list in the resource map[/li]
[li]REG_FULL_RESOURCE_DESCRIPTOR - resource list in the hardware description[/li]
[li]REG_RESOURCE_REQUIREMENTS_LIST - no clue[/li]
[li]REG_QWORD - 64-bit number[/li]
[li]REG_QWORD_LITTLE_ENDIAN - 64-bit number for Intel CPUs[/li][/ul]
In order to use some of the less-common types, you'll either need to use the RegCreateKeyEx API, or use RegEdt32, which will allow you to type an arbitrary class name.
99.9% of the VB programmers (and nearly the same percentage of C/C++ developers) don't need anything more than REG_SZ, which is the default type when calling the API.
Chip H.
If you want to get the best response to a question, please check out FAQ222-2244 first