pub unsafe fn RegisterWaitForSingleObject<P0>(
    phnewwaitobject: *mut HANDLE,
    hobject: P0,
    callback: WAITORTIMERCALLBACK,
    context: Option<*const c_void>,
    dwmilliseconds: u32,
    dwflags: WORKER_THREAD_FLAGS
) -> Result<()>
where P0: IntoParam<HANDLE>,