Codecs.h
上传用户:dzyhzl
上传日期:2019-04-29
资源大小:56270k
文件大小:4k
- //****************************************************************************
- // File: CODECS.H
- // Content:
- //
- //
- // Copyright (c) Microsoft Corporation 1999
- // 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 */