EnumKey method of the StdRegProv Class
Applies to: desktop apps only
The EnumKey method enumerates the subkeys for a path. See Obtaining Registry Data for general information on accessing the registry through WMI.
This topic uses Managed Object Format (MOF) syntax. For more information about using this method, see Calling a Method.
Syntax
uint32 EnumKey( [in, optional] uint32 hDefKey = HKEY_LOCAL_MACHINE, [in] string sSubKeyName, [out] string sNames[] );
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 Windows 95 and Windows 98 computers only.
The following trees are defined in Winreg.h.
- 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 subkeys to be enumerated.
- sNames [out]
-
An array of subkey strings.
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: Registry 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 use the EnumKey method to enumerate the services listed as subkeys in the registry key:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services
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" objReg.EnumKey HKEY_LOCAL_MACHINE, strKeyPath, arrSubKeys WScript.Echo "Subkeys under " _ & "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services" For Each subkey In arrSubKeys WScript.Echo subkey Next
Requirements
|
Minimum supported client | Windows 2000 Professional |
|---|---|
|
Minimum supported server | Windows 2000 Server |
|
Namespace |
\root\default |
|
MOF |
|
|
DLL |
|
See also
Send comments about this topic to Microsoft
Build date: 3/9/2012
- 12/29/2011
- HeadScratcher4
- 12/29/2011
- HeadScratcher4