pub unsafe fn RegCreateKeyTransactedW<P0, P1, P2, P3>(
    hkey: P0,
    lpsubkey: P1,
    reserved: u32,
    lpclass: P2,
    dwoptions: REG_OPEN_CREATE_OPTIONS,
    samdesired: REG_SAM_FLAGS,
    lpsecurityattributes: Option<*const SECURITY_ATTRIBUTES>,
    phkresult: *mut HKEY,
    lpdwdisposition: Option<*mut REG_CREATE_KEY_DISPOSITION>,
    htransaction: P3,
    pextendedparemeter: Option<*const c_void>
) -> WIN32_ERROR
where P0: IntoParam<HKEY>, P1: IntoParam<PCWSTR>, P2: IntoParam<PCWSTR>, P3: IntoParam<HANDLE>,