The
GetMultiStringValue method returns the data value for a named value whose data type is REG_MULTI_SZ.
This topic uses Managed Object Format (MOF) syntax. For more information about using this method, see
Calling a Method.
Syntax
uint32 GetMultiStringValue(
[in, optional] uint32 hDefKey = 2147483650,
string sSubKeyName,
string sValueName,
string sValue[]
);
Parameters
- hDefKey [in, optional]
-
A registry tree, also known as a hive, that contains the sSubKeyName path. The default value is HKEY_LOCAL_MACHINE.
Note that HKEY_DYN_DATA is a valid tree for computers running Windows 95 and Windows 98 only.
The following trees are defined in Winreg.h.
| Name | Value |
HKEY_CLASSES_ROOT | 2147483648 (0x80000000) |
HKEY_CURRENT_USER | 2147483649 (0x80000001) |
HKEY_LOCAL_MACHINE | 2147483650 (0x80000002) |
HKEY_USERS | 2147483651 (0x80000003) |
HKEY_CURRENT_CONFIG | 2147483653 (0x80000005) |
HKEY_DYN_DATA | 2147483654 (0x80000006) |
- sSubKeyName
-
[in] A path that contains the named values.
- sValueName
-
[in] A named value whose data value you are retrieving.
- sValue
-
[out] An array of string data values for the named value.
Return Value
In C++, the method returns a uint32 value that is 0 (zero) if successful.
If the function fails, the return value is a nonzero error code that is defined in Winerror.h. In C++, use the FormatMessage function with the FORMAT_MESSAGE_FROM_SYSTEM flag to get a generic description of the error.
You can also look up return values under the WMI Error Constants.
In scripting or Visual Basic, the method returns an integer value that is 0 (zero) if successful. If the function fails, the return value is a nonzero error code that you can look up in WbemErrorEnum.
Examples
For script code examples, see WMI Tasks for Scripts and Applications and the TechNet ScriptCenter Script Repository. Other examples are in books and articles listed in Further Information.
For C++ code examples, see WMI C++ Application Examples.
The following VBScript code example shows how to read the value of type REG_MULTI_SZ located in the registry key HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\System\Sources and print the list to the screen. You can save the script as a file with a .vbs extension and send the output to a file by executing the command line in the folder that contains the script:
cscript Filename.vbs > output.txt
const HKEY_LOCAL_MACHINE = &H80000002
strComputer = "."
Set objReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\"&_
strComputer & "\root\default:StdRegProv")
strKeyPath = "SYSTEM\CurrentControlSet\Services\Eventlog\System"
strValueName = "Sources"
Return = objReg.GetMultiStringValue(HKEY_LOCAL_MACHINE,strKeyPath,_
strValueName,arrValues)
If (Return = 0) And (Err.Number = 0) Then
' Treat the multistring value as a collection of strings
' separated by spaces and output
For Each strValue In arrValues
WScript.Echo strValue
Next
Else
Wscript.Echo "GetMultiStringValue failed. Error = " & Err.Number
End If
Requirements
| Minimum supported client | Windows 2000 Professional |
| Minimum supported server | Windows 2000 Server |
| MOF | Regevent.mof |
| DLL | Stdprov.dll |
| Namespace | \root\default |
See Also
- StdRegProv
- Modifying the System Registry
- WMI Tasks: Registry
Send comments about this topic to Microsoft
Build date: 11/3/2009