SetupDiCreateDevRegKey
HKEY
SetupDiCreateDevRegKey(
IN HDEVINFO DeviceInfoSet,
IN PSP_DEVINFO_DATA DeviceInfoData,
IN DWORD Scope,
IN DWORD HwProfile,
IN DWORD KeyType,
IN HINF InfHandle, /* optional */
IN PCTSTR InfSectionName /* optional */
);
SetupDiCreateDevRegKey creates a registry storage key for
device-specific configuration information and returns a handle to the key.
Parameters
-
DeviceInfoSet
-
Supplies a handle to the device information set containing information about
the device instance whose registry configuration storage key is to be created.
-
DeviceInfoData
-
Supplies a pointer to an SP_DEVINFO_DATA structure indicating the device
instance for which to create the registry key.
-
Scope
-
Specifies the scope of the registry key to be created. The scope determines
where the information is stored. The key created can be global or hardware
profile-specific. Can be one of the following values:
-
DICS_FLAG_GLOBAL
-
Create a key to store global configuration information. On Windows NT this
opens the key associated with the device instance that has the form:
HKLM\SYSTEM\CurrentControlSet\Control\Class\ClassGUID\InstanceID.
where classGUID is the GUID representing the device’s class and InstanceID
is a base-10, four-digit ordinal representing this device instance within the
list of device instances for this class.
On Windows 95 the key has the following form:
HKLM\SYSTEM\CurrentControlSet\Services\Class\ClassName\InstanceID.
where ClassName is the name representing the device’s class and InstanceID
is a base-10, four-digit ordinal representing this device instance within the
list of device instances for this class.
-
DICS_FLAG_CONFIGSPECIFIC
-
Create a key to store hardware profile-specific configuration information.
This key has a path identical to the one created when SPDICS_FLAG_GLOBAL is
set, except that it is rooted at one of the hardware-profile specific
branches, instead of HKEY_LOCAL_MACHINE.
-
HwProfile
-
Specifies the hardware profile for which to create a key if HwProfileFlags
is set to SPDICS_FLAG_CONFIGSPECIFIC. If HwProfile is 0, the key for
the current hardware profile is created. If HwProfileFlags is
SPDICS_FLAG_GLOBAL, HwProfile is ignored.
-
KeyType
-
Specifies the type of registry storage key to create. Can be one of the
following values:
-
DIREG_DEV
-
Create a hardware registry key for the device. This is the key for storage of
driver-independent configuration information. This key is in the Device
Instance key of the Enum branch.
-
DIREG_DRV
-
Create a software, or driver, registry key for the device. This key is located
in the Class branch.
-
InfHandle
-
Supplies the handle of an open INF file that contains an Install
section to be executed for the newly-created key. If this parameter is
specified, InfSectionName must be specified as well.
-
InfSectionName
-
Supplies the name of an Install section in the INF file specified by InfHandle.
This section is executed for the newly created key. If this parameter is
specified, InfHandle must be specified as well.
Return Value
If the function is successful, it returns a handle to the newly-created
registry key where private configuration data pertaining to this device
instance can be stored/retrieved. If the function fails, it returns
INVALID_HANDLE_VALUE. Call GetLastError to get extended error
information.
Comments
Close the handle returned from this function by calling RegCloseKey.
The specified device instance must be registered before calling this function.
After creating the device instance with SetupDiCreateDeviceInfo, call SetupDiRegisterDeviceInfo
to register it.
See Also
SetupDiCreateDeviceInfo, SetupDiGetHwProfileList,
SetupDiOpenDevRegKey, SetupDiRegisterDeviceInfo