pub unsafe fn DirectSoundFullDuplexCreate<P0, P1>(
    pcguidcapturedevice: Option<*const GUID>,
    pcguidrenderdevice: Option<*const GUID>,
    pcdscbufferdesc: *const DSCBUFFERDESC,
    pcdsbufferdesc: *const DSBUFFERDESC,
    hwnd: P0,
    dwlevel: u32,
    ppdsfd: *mut Option<IDirectSoundFullDuplex>,
    ppdscbuffer8: *mut Option<IDirectSoundCaptureBuffer8>,
    ppdsbuffer8: *mut Option<IDirectSoundBuffer8>,
    punkouter: P1,
) -> Result<()>
where P0: Param<HWND>, P1: Param<IUnknown>,