pub unsafe fn SetupDiGetClassDevsExW<P0, P1, P2, P3>(
    classguid: Option<*const GUID>,
    enumerator: P0,
    hwndparent: P1,
    flags: SETUP_DI_GET_CLASS_DEVS_FLAGS,
    deviceinfoset: P2,
    machinename: P3,
    reserved: Option<*const c_void>,
) -> Result<HDEVINFO>
where P0: Param<PCWSTR>, P1: Param<HWND>, P2: Param<HDEVINFO>, P3: Param<PCWSTR>,