pub unsafe fn D3D11CreateDeviceAndSwapChain<P0, P1>(
    padapter: P0,
    drivertype: D3D_DRIVER_TYPE,
    software: P1,
    flags: D3D11_CREATE_DEVICE_FLAG,
    pfeaturelevels: Option<&[D3D_FEATURE_LEVEL]>,
    sdkversion: u32,
    pswapchaindesc: Option<*const DXGI_SWAP_CHAIN_DESC>,
    ppswapchain: Option<*mut Option<IDXGISwapChain>>,
    ppdevice: Option<*mut Option<ID3D11Device>>,
    pfeaturelevel: Option<*mut D3D_FEATURE_LEVEL>,
    ppimmediatecontext: Option<*mut Option<ID3D11DeviceContext>>,
) -> Result<()>
where P0: Param<IDXGIAdapter>, P1: Param<HMODULE>,