112 AMOVIESETUP_MEDIATYPE, * PAMOVIESETUP_MEDIATYPE, * FAR LPAMOVIESETUP_MEDIATYPE;
114 typedef REGFILTERPINS
115 AMOVIESETUP_PIN, * PAMOVIESETUP_PIN, * FAR LPAMOVIESETUP_PIN;
120 const WCHAR * strName;
123 const AMOVIESETUP_PIN * lpPin;
129 extern HINSTANCE g_hInst;
133 extern DWORD g_amPlatform;
134 extern OSVERSIONINFO g_osInfo;
139 #ifndef INONDELEGATINGUNKNOWN_DEFINED 140 DECLARE_INTERFACE(INonDelegatingUnknown)
142 STDMETHOD(NonDelegatingQueryInterface) (THIS_ REFIID, LPVOID *) PURE;
143 STDMETHOD_(ULONG, NonDelegatingAddRef)(THIS) PURE;
144 STDMETHOD_(ULONG, NonDelegatingRelease)(THIS) PURE;
146 #define INONDELEGATINGUNKNOWN_DEFINED 149 typedef INonDelegatingUnknown *PNDUNKNOWN;
171 static LONG m_cObjects;
191 static LONG ObjectsActive() {
201 class AM_NOVTABLE
CUnknown :
public INonDelegatingUnknown,
205 const LPUNKNOWN m_pUnknown;
208 volatile LONG m_cRef;
212 CUnknown(
const TCHAR *pName, LPUNKNOWN pUnk);
217 CUnknown(TCHAR *pName, LPUNKNOWN pUnk,HRESULT *phr);
219 CUnknown(
const char *pName, LPUNKNOWN pUnk);
220 CUnknown(
char *pName, LPUNKNOWN pUnk,HRESULT *phr);
225 LPUNKNOWN GetOwner()
const {
236 STDMETHODIMP NonDelegatingQueryInterface(REFIID,
void **);
237 STDMETHODIMP_(ULONG) NonDelegatingAddRef();
238 STDMETHODIMP_(ULONG) NonDelegatingRelease();
241 #if (_MSC_VER <= 1200) 242 #pragma warning(disable:4211) 245 static inline LONG WINAPI InterlockedIncrement(
volatile LONG * plong )
246 {
return InterlockedIncrement( const_cast<LONG*>( plong ) ); }
248 static inline LONG WINAPI InterlockedDecrement(
volatile LONG * plong )
249 {
return InterlockedDecrement( const_cast<LONG*>( plong ) ); }
251 #pragma warning(default:4211) 258 STDAPI GetInterface(LPUNKNOWN pUnk,
void **ppv);
262 typedef CUnknown *(CALLBACK *LPFNNewCOMObject)(LPUNKNOWN pUnkOuter, HRESULT *phr);
270 typedef void (CALLBACK *LPFNInitRoutine)(BOOL bLoading,
const CLSID *rclsid);
279 const WCHAR * m_Name;
280 const CLSID * m_ClsID;
281 LPFNNewCOMObject m_lpfnNew;
282 LPFNInitRoutine m_lpfnInit;
285 BOOL IsClassID(REFCLSID rclsid)
const {
286 return (IsEqualCLSID(*m_ClsID,rclsid));
289 CUnknown *CreateInstance(LPUNKNOWN pUnk, HRESULT *phr)
const {
290 CheckPointer(phr,NULL);
291 return m_lpfnNew(pUnk, phr);
300 #define DECLARE_IUNKNOWN \ 301 STDMETHODIMP QueryInterface(REFIID riid, void **ppv) { \ 302 return GetOwner()->QueryInterface(riid,ppv); \ 304 STDMETHODIMP_(ULONG) AddRef() { \ 305 return GetOwner()->AddRef(); \ 307 STDMETHODIMP_(ULONG) Release() { \ 308 return GetOwner()->Release(); \ 313 HINSTANCE LoadOLEAut32();
Definition: combase.h:201
Definition: combase.h:159
Definition: combase.h:117
Definition: combase.h:275