pub unsafe fn CryptXmlCreateReference<P0, P1, P2>(
    hcryptxml: *const c_void,
    dwflags: u32,
    wszid: P0,
    wszuri: P1,
    wsztype: P2,
    pdigestmethod: *const CRYPT_XML_ALGORITHM,
    rgtransform: Option<&[CRYPT_XML_ALGORITHM]>,
    phreference: *mut *mut c_void,
) -> Result<()>
where P0: Param<PCWSTR>, P1: Param<PCWSTR>, P2: Param<PCWSTR>,