CM_Get_Sibling function (cfgmgr32.h)

The CM_Get_Sibling function obtains a device instance handle to the next sibling node of a specified device node (devnode) in the local machine's device tree.

Note

In Windows Vista and later versions of Windows, the unified device property model uses the DEVPKEY_Device_Siblings property key to represent device siblings. See Retrieving Device Relations for details.

Syntax

CMAPI CONFIGRET CM_Get_Sibling(
  [out] PDEVINST pdnDevInst,
  [in]  DEVINST  dnDevInst,
  [in]  ULONG    ulFlags
);

Parameters

[out] pdnDevInst

Caller-supplied pointer to the device instance handle to the sibling node that this function retrieves. The retrieved handle is bound to the local machine.

[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

To enumerate all children of a devnode in the local machine's device tree, first call CM_Get_Child to obtain a handle to the first child node, then call CM_Get_Sibling to obtain handles for the rest of the children.

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_Sibling_Ex