CM_Get_Device_Interface_List_SizeA function (cfgmgr32.h)

The CM_Get_Device_Interface_List_Size function retrieves the buffer size that must be passed to the CM_Get_Device_Interface_List function.

Syntax

CMAPI CONFIGRET CM_Get_Device_Interface_List_SizeA(
  [out]          PULONG      pulLen,
  [in]           LPGUID      InterfaceClassGuid,
  [in, optional] DEVINSTID_A pDeviceID,
  [in]           ULONG       ulFlags
);

Parameters

[out] pulLen

Caller-supplied pointer to a location that receives the required length, in characters, of a buffer to hold the multiple Unicode strings that will be returned by CM_Get_Device_Interface_List.

[in] InterfaceClassGuid

Supplies a GUID that identifies a device interface class.

[in, optional] pDeviceID

Caller-supplied pointer to a NULL-terminated string that represents a device instance ID. If specified, the function retrieves the length of symbolic link names for the device interfaces that are supported by the device, for the specified class. If this value is NULL, or if it points to a zero-length string, the function retrieves the length of symbolic link names for all interfaces that belong to the specified class.

[in] ulFlags

Contains one of the following caller-supplied flags:

Value Meaning
CM_GET_DEVICE_INTERFACE_LIST_ALL_DEVICES
The function provides the size of a list that contains device interfaces associated with all devices that match the specified GUID and device instance ID, if any.
CM_GET_DEVICE_INTERFACE_LIST_PRESENT
The function provides the size of a list containing device interfaces associated with devices that are currently active, and which match the specified GUID and device instance ID, if any.

Return value

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

Remarks

Note

The cfgmgr32.h header defines CM_Get_Device_Interface_List_Size 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.

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
DLL CfgMgr32.dll

See also

CM_Get_Device_Interface_List