pub unsafe fn SetupDiCreateDeviceInfoA<P0, P1, P2, P3>(
    deviceinfoset: P0,
    devicename: P1,
    classguid: *const GUID,
    devicedescription: P2,
    hwndparent: P3,
    creationflags: SETUP_DI_DEVICE_CREATION_FLAGS,
    deviceinfodata: Option<*mut SP_DEVINFO_DATA>,
) -> Result<()>
where P0: Param<HDEVINFO>, P1: Param<PCSTR>, P2: Param<PCSTR>, P3: Param<HWND>,