Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

76 lines
2.5 KiB

  1. ////////////////////////////////////////////////////////////////////////////
  2. //
  3. // stuff needed for MCIAVI to run-time-link to AVIFile for playback.
  4. // because most everything from AVIFILE.DLL is a OLE interface, we dont need
  5. // to RTL to many functions.
  6. //
  7. ////////////////////////////////////////////////////////////////////////////
  8. #define USEAVIFILE //!!! hey lets use AVIFile.
  9. #ifdef USEAVIFILE
  10. //#define _INC_AVIFMT 100 /* version number * 100 + revision */
  11. #include <vfw.h>
  12. UINT uAVIFILE;
  13. HMODULE hdllAVIFILE;
  14. #ifdef USE_ISVALIDINTERFACE
  15. HMODULE hdllCOMPOBJ;
  16. #endif
  17. //
  18. // RTL to AVIFile...
  19. //
  20. void (STDAPICALLTYPE *XAVIFileInit)(void);
  21. void (STDAPICALLTYPE *XAVIFileExit)(void);
  22. HRESULT (STDAPICALLTYPE *XAVIFileOpen)(PAVIFILE FAR * ppfile,LPCTSTR szFile,UINT uMode,LPCLSID lpHandler);
  23. HRESULT (STDAPICALLTYPE *XAVIMakeFileFromStreams)(PAVIFILE FAR *,int,PAVISTREAM FAR *);
  24. HRESULT (STDAPICALLTYPE *XAVIStreamBeginStreaming)(PAVISTREAM pavi,
  25. LONG lStart,
  26. LONG lEnd,
  27. LONG lRate);
  28. HRESULT (STDAPICALLTYPE *XAVIStreamEndStreaming)(PAVISTREAM pavi);
  29. #undef AVIFileInit
  30. #undef AVIFileExit
  31. #undef AVIFileOpen
  32. #undef AVIFileInfo
  33. #define AVIFileInit XAVIFileInit
  34. #define AVIFileExit XAVIFileExit
  35. #define AVIFileOpen XAVIFileOpen
  36. #define AVIMakeFileFromStreams XAVIMakeFileFromStreams
  37. #define AVIStreamBeginStreaming XAVIStreamBeginStreaming
  38. #define AVIStreamEndStreaming XAVIStreamEndStreaming
  39. #undef AVIFileClose
  40. #define AVIFileClose(p) (p)->lpVtbl->Release(p)
  41. #define AVIFileInfo(p,a,b) (p)->lpVtbl->Info(p, a, b)
  42. #define AVIFileGetStream(p,a,b,c) (p)->lpVtbl->GetStream(p,a,b,c)
  43. #undef AVIStreamClose
  44. #define AVIStreamClose(p) (p)->lpVtbl->Release(p)
  45. #undef AVIStreamInfo
  46. #define AVIStreamInfo(p,a,b) (p)->lpVtbl->Info(p, a, b)
  47. #define AVIStreamReadFormat(p,a,b,c) (p)->lpVtbl->ReadFormat(p, a, b, c)
  48. #define AVIStreamReadData(p,a,b,c) (p)->lpVtbl->ReadData(p, a, b, c)
  49. #define AVIStreamFindSample(p,a,b) (p)->lpVtbl->FindSample(p, a, b)
  50. #define AVIStreamRead(p,a,b,c,d,e,f) (p)->lpVtbl->Read(p,a,b,c,d,e,f)
  51. // no IsValidInterface in nt 1.1 yet
  52. #ifdef USE_ISVALIDINTERFACE
  53. // RTL to COMPOBJ
  54. EXTERN_C BOOL STDAPICALLTYPE IsValidInterface(LPVOID pv);
  55. BOOL (STDAPICALLTYPE *XIsValidInterface)(LPVOID pv);
  56. #define IsValidInterface XIsValidInterface
  57. #endif
  58. #endif // USEAVIFILE