CM_Get_Device_ID_Size function (cfgmgr32.h)

The CM_Get_Device_ID_Size function retrieves the buffer size required to hold a device instance ID for a device instance on the local machine.

Note

In Windows Vista and later versions of Windows, the unified device property model uses the DEVPKEY_Device_InstanceId property key to represent the device instance identifier. See Retrieving a Device Instance Identifier for details.

Syntax

CMAPI CONFIGRET CM_Get_Device_ID_Size(
  [out] PULONG  pulLen,
  [in]  DEVINST dnDevInst,
  [in]  ULONG   ulFlags
);

Parameters

[out] pulLen

Receives a value representing the required buffer size, in characters.

[in] dnDevInst

Caller-supplied device instance handle that is bound to the local machine.

[in] ulFlags

Not used, must be zero.

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.

Remarks

The CM_Get_Device_ID_Size function should be called to determine the buffer size required by CM_Get_Device_ID.

The size value supplied in the location pointed to by pulLen is less than MAX_DEVICE_ID_LEN, and does not include the identifier string's terminating NULL. If the specified device instance does not exist, the function supplies a size value of zero.

For information about device instance IDs, see Device Identification Strings.

For information about using device instance handles that are bound to the local machine, see CM_Get_Child.

Requirements

Requirement Value
Minimum supported client Available in Microsoft Windows 2000 and later versions of Windows.
Target Platform Universal
Header cfgmgr32.h (include Cfgmgr32.h)
Library Cfgmgr32.lib; OneCoreUAP.lib on Windows 10
DLL CfgMgr32.dll

See also

CM_Get_Child

CM_Get_Device_ID

CM_Get_Device_ID_Size_Ex