An SP_DEVINFO_DATA structure defines a device instance that is a member of a device information set.
typedef struct _SP_DEVINFO_DATA {
DWORD cbSize;
GUID ClassGuid;
DWORD DevInst;
ULONG_PTR Reserved;
} SP_DEVINFO_DATA, *PSP_DEVINFO_DATA;
Some functions, such as SetupDiXxx functions, take the whole SP_DEVINFO_DATA structure as input to identify a device in a device information set. Other functions, such as CM_Xxx functions like CM_Get_DevNode_Status, take this DevInst handle as input.
An SP_DEVINFO_DATA structure identifies a device in a device information set. For example, when Setup sends a DIF_INSTALLDEVICE request to a class installer and co-installers, it includes a handle to a device information set and a pointer to an SP_DEVINFO_DATA that specifies the particular device. Besides DIF requests, this structure is also used in some SetupDiXxx functions.