123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131 |
- //****************************************************************************
- // File: CODECS.H
- // Content:
- //
- //
- // Copyright (c) Microsoft Corporation 1999-2002. All Rights Reserved
- //
- // THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
- // ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
- // THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
- // PARTICULAR PURPOSE.
- //****************************************************************************
- #include <pshpack8.h> /* Assume 8 byte packing throughout */
- #include "appavcap.h"
- /*
- * Constants
- */
- // hresult codes, facility IC = 0x301
- #define IC_E_CAPS_INSTANTIATION_FAILURE 0x83010001 // could not instantiate a required caps object
- #define IC_E_CAPS_INITIALIZATION_FAILURE 0x83010002 // could not initialize a required bject
- #define IC_E_NO_FORMATS 0x83010003 // no formats available
- #define IC_E_NO_SUCH_FORMAT 0x83010005 // no matching AC</VCM format was found
- #define IC_E_INTERNAL_ERROR 0x83010006 // the Network Audio/Video Controller
- // reported a system error
- /*
- * Macros
- */
- /*
- * Data Structures
- */
- /*
- * Functions
- */
- /*
- * Interfaces
- */
- #ifndef DECLARE_INTERFACE_PTR
- #ifdef __cplusplus
- #define DECLARE_INTERFACE_PTR(iface, piface) \
- interface iface; typedef iface FAR * piface
- #else
- #define DECLARE_INTERFACE_PTR(iface, piface) \
- typedef interface iface iface, FAR * piface
- #endif
- #endif /* DECLARE_INTERFACE_PTR */
- #define IUNKNOWN_METHODS(IPURE) \
- STDMETHOD (QueryInterface) \
- (THIS_ REFIID riid, LPVOID FAR * ppvObj) IPURE; \
- STDMETHOD_(ULONG,AddRef) (THIS) IPURE; \
- STDMETHOD_(ULONG,Release) (THIS) IPURE; \
- #define IINSTALLAUDIOCODECS_METHODS(IPURE) \
- STDMETHOD(AddACMFormat) \
- (THIS_ LPWAVEFORMATEX lpwfx, PAUDCAP_INFO pAudCapInfo) IPURE; \
- STDMETHOD (RemoveACMFormat) \
- (THIS_ LPWAVEFORMATEX lpwfx) IPURE; \
- STDMETHOD (ReorderFormats) \
- (THIS_ PAUDCAP_INFO_LIST pAudCapInfoList) IPURE; \
- STDMETHOD (EnumFormats) \
- (THIS_ PAUDCAP_INFO_LIST *ppAudCapInfoList) IPURE; \
- STDMETHOD (FreeBuffer) (THIS_ LPVOID lpBuffer) IPURE; \
- #define IINSTALLVIDEOCODECS_METHODS(IPURE) \
- STDMETHOD(AddVCMFormat) \
- (THIS_ PVIDCAP_INFO pVidCapInfo) IPURE; \
- STDMETHOD (RemoveVCMFormat) \
- (THIS_ PVIDCAP_INFO pVidCapInfo) IPURE; \
- STDMETHOD (ReorderFormats) \
- (THIS_ PVIDCAP_INFO_LIST pVidCapInfoList) IPURE; \
- STDMETHOD (EnumFormats) \
- (THIS_ PVIDCAP_INFO_LIST *ppVidCapInfoList) IPURE; \
- STDMETHOD (FreeBuffer) (THIS_ LPVOID lpBuffer) IPURE; \
- // IInstallAudioCodecs
- #undef INTERFACE
- #define INTERFACE IInstallAudioCodecs
- DECLARE_INTERFACE_(IInstallAudioCodecs, IUnknown)
- {
- IUNKNOWN_METHODS(PURE)
- IINSTALLAUDIOCODECS_METHODS(PURE)
- };
- DECLARE_INTERFACE_PTR(IInstallAudioCodecs, LPINSTALLAUDIOCODECS);
- // IInstallVideooCodecs
- #undef INTERFACE
- #define INTERFACE IInstallVideoCodecs
- DECLARE_INTERFACE_(IInstallVideoCodecs, IUnknown)
- {
- IUNKNOWN_METHODS(PURE)
- IINSTALLVIDEOCODECS_METHODS(PURE)
- };
- DECLARE_INTERFACE_PTR(IInstallVideoCodecs, LPINSTALLVIDEOCODECS);
- // IInstallAudioCodecs
- #undef INTERFACE
- #define INTERFACE IInstallCodecs
- DECLARE_INTERFACE_(IInstallCodecs, IUnknown)
- {
- IUNKNOWN_METHODS(PURE)
- };
- DECLARE_INTERFACE_PTR(IInstallCodecs, LPINSTALLCODECS);
- EXTERN_C HRESULT WINAPI CreateInstallCodecs (
- IUnknown *punkOuter,
- REFIID riid,
- void **ppv);
- typedef HRESULT (WINAPI *PFNCREATEINSTALLCODECS)
- (IUnknown *punkOuter, REFIID riid, void **ppv);
- // {8ED14CC0-7A1F-11d0-92F6-00A0C922E6B2}
- DEFINE_GUID(CLSID_InstallCodecs, 0x8ed14cc0, 0x7a1f, 0x11d0, 0x92, 0xf6, 0x0, 0xa0, 0xc9, 0x22, 0xe6, 0xb2);
- // {8ED14CC1-7A1F-11d0-92F6-00A0C922E6B2}
- DEFINE_GUID(IID_IInstallCodecs, 0x8ed14cc1, 0x7a1f, 0x11d0, 0x92, 0xf6, 0x0, 0xa0, 0xc9, 0x22, 0xe6, 0xb2);
- // {8ED14CC2-7A1F-11d0-92F6-00A0C922E6B2}
- DEFINE_GUID(IID_IInstallAudioCodecs, 0x8ed14cc2, 0x7a1f, 0x11d0, 0x92, 0xf6, 0x0, 0xa0, 0xc9, 0x22, 0xe6, 0xb2);
- // {8ED14CC3-7A1F-11d0-92F6-00A0C922E6B2}
- DEFINE_GUID(IID_IInstallVideoCodecs, 0x8ed14cc3, 0x7a1f, 0x11d0, 0x92, 0xf6, 0x0, 0xa0, 0xc9, 0x22, 0xe6, 0xb2);
- #include <poppack.h> /* End byte packing */
|