public static int D2D1CreateFactory <Factory>(D2D1_FACTORY_TYPE factoryType, [NativeTypeName("const D2D1_FACTORY_OPTIONS *")] D2D1_FACTORY_OPTIONS *pFactoryOptions, [NativeTypeName("void **")] void **factory) where Factory : unmanaged { var iid = typeof(Factory).GUID; return(D2D1CreateFactory(factoryType, &iid, pFactoryOptions, factory)); }
public static extern int D2D1CreateFactory(D2D1_FACTORY_TYPE factoryType, [NativeTypeName("const IID &")] Guid *riid, [NativeTypeName("const D2D1_FACTORY_OPTIONS *")] D2D1_FACTORY_OPTIONS *pFactoryOptions, void **ppIFactory);
public static HRESULT D2D1CreateFactory <TFactory>(D2D1_FACTORY_TYPE factoryType, [NativeTypeName("const D2D1_FACTORY_OPTIONS *")] D2D1_FACTORY_OPTIONS *pFactoryOptions, void **factory) where TFactory : unmanaged, IUnknown.Interface { return(D2D1CreateFactory(factoryType, __uuidof <TFactory>(), pFactoryOptions, factory)); }