CM_Open_Device_Interface_Key_ExW function (cfgmgr32.h)

[Beginning with Windows 8 and Windows Server 2012, this function has been deprecated. Please use CM_Open_Device_Interface_Key instead.]

The CM_Open_Device_Interface_Key_ExW function opens the registry subkey that is used by applications and drivers to store information that is specific to a device interface.


CMAPI CONFIGRET CM_Open_Device_Interface_Key_ExW(
  [in]           LPCWSTR        pszDeviceInterface,
  [in]           REGSAM         samDesired,
  [in]           REGDISPOSITION Disposition,
  [out]          PHKEY          phkDeviceInterface,
  [in]           ULONG          ulFlags,
  [in, optional] HMACHINE       hMachine


[in] pszDeviceInterface

Pointer to a string that identifies the device interface instance to open the registry subkey for.

[in] samDesired

The requested registry security access to the registry subkey.

[in] Disposition

Specifies how the registry key is to be opened. May be one of the following values:


Open the key if it exists. Otherwise, create the key.


Open the key only if it exists.

[out] phkDeviceInterface

Pointer to an HKEY that will receive the opened key upon success.

[in] ulFlags

Reserved. Must be set to zero.

[in, optional] hMachine

Caller-supplied machine handle, obtained from a previous call to CM_Connect_Machine.

Note  Using this function to access remote machines is not supported beginning with Windows 8 and Windows Server 2012, as this functionality has been removed.

Return value

If the operation succeeds, the function returns CR_SUCCESS. Otherwise, it returns one of the CR_-prefixed error codes defined in Cfgmgr32.h.


Close the handle returned from this function by calling RegCloseKey.


The cfgmgr32.h header defines CM_Open_Device_Interface_Key_Ex as an alias which automatically selects the ANSI or Unicode version of this function based on the definition of the UNICODE preprocessor constant. Mixing usage of the encoding-neutral alias with code that not encoding-neutral can lead to mismatches that result in compilation or runtime errors. For more information, see Conventions for Function Prototypes.


Minimum supported client Available in Microsoft Windows 10 and later versions of Windows.
Target Platform Desktop
Header cfgmgr32.h (include Cfgmgr32.h)
Library Cfgmgr32.lib

See also