#ifndef WINE_DSHOW_DEVENUM_H #define WINE_DSHOW_DEVENUM_H /* implements CLSID_SystemDeviceEnum. - At least, the following interfaces should be implemented: IUnknown + ICreateDevEnum */ #include "iunk.h" typedef struct SDE_ICreateDevEnumImpl { ICOM_VFIELD(ICreateDevEnum); } SDE_ICreateDevEnumImpl; typedef struct CSysDevEnum { QUARTZ_IUnkImpl unk; SDE_ICreateDevEnumImpl createdevenum; } CSysDevEnum; #define CSysDevEnum_THIS(iface,member) CSysDevEnum* This = ((CSysDevEnum*)(((char*)iface)-offsetof(CSysDevEnum,member))) HRESULT QUARTZ_CreateSystemDeviceEnum(IUnknown* punkOuter,void** ppobj); HRESULT CSysDevEnum_InitICreateDevEnum( CSysDevEnum* psde ); void CSysDevEnum_UninitICreateDevEnum( CSysDevEnum* psde ); #endif /* WINE_DSHOW_DEVENUM_H */