AudRecordLib
IAudRecordInterface.h
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 
 All Classes Files Functions Variables Typedefs