AudRecordLib
|
00001 00002 00003 /* this ALWAYS GENERATED file contains the definitions for the interfaces */ 00004 00005 00006 /* File created by MIDL compiler version 7.00.0555 */ 00007 /* at Sat Aug 27 22:26:17 2011 00008 */ 00009 /* Compiler settings for .\IAudRecord.idl: 00010 Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 7.00.0555 00011 protocol : dce , ms_ext, c_ext, robust 00012 error checks: allocation ref bounds_check enum stub_data 00013 VC __declspec() decoration level: 00014 __declspec(uuid()), __declspec(selectany), __declspec(novtable) 00015 DECLSPEC_UUID(), MIDL_INTERFACE() 00016 */ 00017 /* @@MIDL_FILE_HEADING( ) */ 00018 00019 #pragma warning( disable: 4049 ) /* more than 64k source lines */ 00020 00021 00022 /* verify that the <rpcndr.h> version is high enough to compile this file*/ 00023 #ifndef __REQUIRED_RPCNDR_H_VERSION__ 00024 #define __REQUIRED_RPCNDR_H_VERSION__ 475 00025 #endif 00026 00027 #include "rpc.h" 00028 #include "rpcndr.h" 00029 00030 #ifndef __RPCNDR_H_VERSION__ 00031 #error this stub requires an updated version of <rpcndr.h> 00032 #endif // __RPCNDR_H_VERSION__ 00033 00034 #ifndef COM_NO_WINDOWS_H 00035 #include "windows.h" 00036 #include "ole2.h" 00037 #endif /*COM_NO_WINDOWS_H*/ 00038 00039 #ifndef __IAudRecordInterface_h__ 00040 #define __IAudRecordInterface_h__ 00041 00042 #if defined(_MSC_VER) && (_MSC_VER >= 1020) 00043 #pragma once 00044 #endif 00045 00046 /* Forward Declarations */ 00047 00048 #ifndef __IAudRecord_FWD_DEFINED__ 00049 #define __IAudRecord_FWD_DEFINED__ 00050 typedef interface IAudRecord IAudRecord; 00051 #endif /* __IAudRecord_FWD_DEFINED__ */ 00052 00053 00054 /* header files for imported files */ 00055 #include "unknwn.h" 00056 00057 #ifdef __cplusplus 00058 extern "C"{ 00059 #endif 00060 00061 00062 /* interface __MIDL_itf_IAudRecord_0000_0000 */ 00063 /* [local] */ 00064 00065 struct Endpoint; 00066 struct IWMWriterSink; 00067 struct CodecConfiguration; 00068 00069 00070 00071 00072 typedef struct _AudRecordStats 00073 { 00074 ULONGLONG qwSampleCount; 00075 ULONGLONG qwByteCount; 00076 ULONGLONG qwDroppedSampleCount; 00077 ULONGLONG qwDroppedByteCount; 00078 DWORD dwCurrentBitrate; 00079 DWORD dwAverageBitrate; 00080 DWORD dwExpectedBitrate; 00081 DWORD dwCurrentSampleRate; 00082 DWORD dwAverageSampleRate; 00083 DWORD dwExpectedSampleRate; 00084 } AudRecordStats; 00085 00086 00087 00088 extern RPC_IF_HANDLE __MIDL_itf_IAudRecord_0000_0000_v0_0_c_ifspec; 00089 extern RPC_IF_HANDLE __MIDL_itf_IAudRecord_0000_0000_v0_0_s_ifspec; 00090 00091 #ifndef __IAudRecord_INTERFACE_DEFINED__ 00092 #define __IAudRecord_INTERFACE_DEFINED__ 00093 00094 /* interface IAudRecord */ 00095 /* [local][uuid][object] */ 00096 00097 00098 EXTERN_C const IID IID_IAudRecord; 00099 00100 #if defined(__cplusplus) && !defined(CINTERFACE) 00101 00102 MIDL_INTERFACE("57C2DFCA-7A3A-4362-8C3A-A174F4045582") 00103 IAudRecord : public IUnknown 00104 { 00105 public: 00106 virtual HRESULT STDMETHODCALLTYPE Record( 00107 /* [in] */ Endpoint *pDevice) = 0; 00108 00109 virtual HRESULT STDMETHODCALLTYPE ChangeCodec( 00110 /* [in] */ CodecConfiguration *pNewCodec) = 0; 00111 00112 virtual HRESULT STDMETHODCALLTYPE TogglePause( 00113 /* [out] */ BOOL *pState) = 0; 00114 00115 virtual HRESULT STDMETHODCALLTYPE QueryPause( 00116 /* [out] */ BOOL *pState) = 0; 00117 00118 virtual HRESULT STDMETHODCALLTYPE Stop( void) = 0; 00119 00120 virtual HRESULT STDMETHODCALLTYPE AddFileTarget( 00121 /* [in] */ LPCWSTR pwszFileName, 00122 /* [out] */ PVOID *ppCookie) = 0; 00123 00124 virtual HRESULT STDMETHODCALLTYPE AddNetworkBroadcastTarget( 00125 /* [out][in] */ DWORD *pPort, 00126 /* [in] */ DWORD maxConnectors, 00127 /* [out] */ LPWSTR *ppwszUrl, 00128 /* [out] */ PVOID *ppCookie) = 0; 00129 00130 virtual HRESULT STDMETHODCALLTYPE AddCustomTarget( 00131 /* [in] */ IWMWriterSink *pTarget, 00132 /* [out] */ PVOID *ppCookie) = 0; 00133 00134 virtual HRESULT STDMETHODCALLTYPE RemoveTarget( 00135 /* [in] */ PVOID pTargetCookie) = 0; 00136 00137 virtual HRESULT STDMETHODCALLTYPE GetStatistics( 00138 /* [out] */ AudRecordStats *pStats) = 0; 00139 00140 }; 00141 00142 #else /* C style interface */ 00143 00144 typedef struct IAudRecordVtbl 00145 { 00146 BEGIN_INTERFACE 00147 00148 HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 00149 IAudRecord * This, 00150 /* [in] */ REFIID riid, 00151 /* [annotation][iid_is][out] */ 00152 __RPC__deref_out void **ppvObject); 00153 00154 ULONG ( STDMETHODCALLTYPE *AddRef )( 00155 IAudRecord * This); 00156 00157 ULONG ( STDMETHODCALLTYPE *Release )( 00158 IAudRecord * This); 00159 00160 HRESULT ( STDMETHODCALLTYPE *Record )( 00161 IAudRecord * This, 00162 /* [in] */ Endpoint *pDevice); 00163 00164 HRESULT ( STDMETHODCALLTYPE *ChangeCodec )( 00165 IAudRecord * This, 00166 /* [in] */ CodecConfiguration *pNewCodec); 00167 00168 HRESULT ( STDMETHODCALLTYPE *TogglePause )( 00169 IAudRecord * This, 00170 /* [out] */ BOOL *pState); 00171 00172 HRESULT ( STDMETHODCALLTYPE *QueryPause )( 00173 IAudRecord * This, 00174 /* [out] */ BOOL *pState); 00175 00176 HRESULT ( STDMETHODCALLTYPE *Stop )( 00177 IAudRecord * This); 00178 00179 HRESULT ( STDMETHODCALLTYPE *AddFileTarget )( 00180 IAudRecord * This, 00181 /* [in] */ LPCWSTR pwszFileName, 00182 /* [out] */ PVOID *ppCookie); 00183 00184 HRESULT ( STDMETHODCALLTYPE *AddNetworkBroadcastTarget )( 00185 IAudRecord * This, 00186 /* [out][in] */ DWORD *pPort, 00187 /* [in] */ DWORD maxConnectors, 00188 /* [out] */ LPWSTR *ppwszUrl, 00189 /* [out] */ PVOID *ppCookie); 00190 00191 HRESULT ( STDMETHODCALLTYPE *AddCustomTarget )( 00192 IAudRecord * This, 00193 /* [in] */ IWMWriterSink *pTarget, 00194 /* [out] */ PVOID *ppCookie); 00195 00196 HRESULT ( STDMETHODCALLTYPE *RemoveTarget )( 00197 IAudRecord * This, 00198 /* [in] */ PVOID pTargetCookie); 00199 00200 HRESULT ( STDMETHODCALLTYPE *GetStatistics )( 00201 IAudRecord * This, 00202 /* [out] */ AudRecordStats *pStats); 00203 00204 END_INTERFACE 00205 } IAudRecordVtbl; 00206 00207 interface IAudRecord 00208 { 00209 CONST_VTBL struct IAudRecordVtbl *lpVtbl; 00210 }; 00211 00212 00213 00214 #ifdef COBJMACROS 00215 00216 00217 #define IAudRecord_QueryInterface(This,riid,ppvObject) \ 00218 ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 00219 00220 #define IAudRecord_AddRef(This) \ 00221 ( (This)->lpVtbl -> AddRef(This) ) 00222 00223 #define IAudRecord_Release(This) \ 00224 ( (This)->lpVtbl -> Release(This) ) 00225 00226 00227 #define IAudRecord_Record(This,pDevice) \ 00228 ( (This)->lpVtbl -> Record(This,pDevice) ) 00229 00230 #define IAudRecord_ChangeCodec(This,pNewCodec) \ 00231 ( (This)->lpVtbl -> ChangeCodec(This,pNewCodec) ) 00232 00233 #define IAudRecord_TogglePause(This,pState) \ 00234 ( (This)->lpVtbl -> TogglePause(This,pState) ) 00235 00236 #define IAudRecord_QueryPause(This,pState) \ 00237 ( (This)->lpVtbl -> QueryPause(This,pState) ) 00238 00239 #define IAudRecord_Stop(This) \ 00240 ( (This)->lpVtbl -> Stop(This) ) 00241 00242 #define IAudRecord_AddFileTarget(This,pwszFileName,ppCookie) \ 00243 ( (This)->lpVtbl -> AddFileTarget(This,pwszFileName,ppCookie) ) 00244 00245 #define IAudRecord_AddNetworkBroadcastTarget(This,pPort,maxConnectors,ppwszUrl,ppCookie) \ 00246 ( (This)->lpVtbl -> AddNetworkBroadcastTarget(This,pPort,maxConnectors,ppwszUrl,ppCookie) ) 00247 00248 #define IAudRecord_AddCustomTarget(This,pTarget,ppCookie) \ 00249 ( (This)->lpVtbl -> AddCustomTarget(This,pTarget,ppCookie) ) 00250 00251 #define IAudRecord_RemoveTarget(This,pTargetCookie) \ 00252 ( (This)->lpVtbl -> RemoveTarget(This,pTargetCookie) ) 00253 00254 #define IAudRecord_GetStatistics(This,pStats) \ 00255 ( (This)->lpVtbl -> GetStatistics(This,pStats) ) 00256 00257 #endif /* COBJMACROS */ 00258 00259 00260 #endif /* C style interface */ 00261 00262 00263 00264 00265 #endif /* __IAudRecord_INTERFACE_DEFINED__ */ 00266 00267 00268 /* Additional Prototypes for ALL interfaces */ 00269 00270 /* end of Additional Prototypes */ 00271 00272 #ifdef __cplusplus 00273 } 00274 #endif 00275 00276 #endif 00277 00278