Source code of Windows XP (NT5)
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.

61 lines
1.7 KiB

  1. /****************************************************************************
  2. thunks.h
  3. Contains definitions for thunking msvideo.dll (16bit) to the 32bit
  4. msvfw32.dll running on NT.
  5. Copyright (c) Microsoft Corporation 1994. All rights reserved
  6. ****************************************************************************/
  7. //
  8. // NOTE - 32bit handles have 0x8000 'or'ed in - this makes a BIG ASSUMPTION
  9. // about how handles are generated on the 32-bit side. We ASSUME here
  10. // that :
  11. //
  12. // msvfw32.dll always uses OpenDriver to create handles
  13. //
  14. // The OpenDriver returns indices into its table (ie small positive
  15. // numbers).
  16. //
  17. #define Is32bitHandle(h) (((h) & 0x8000) != 0)
  18. #define Make32bitHandle(h) ((h) | 0x8000)
  19. #define Map32bitHandle(h) ((h) & 0x7FFF)
  20. //
  21. // Functions to link and unlink to 32-bit side
  22. BOOL _loadds FAR InitThunks(void);
  23. //
  24. // The following functions generate calls to the 32-bit side
  25. //
  26. #ifdef _INC_MSVIDEO
  27. //
  28. // The prototypes for setting up thunks for the video api set (in AVICAP32)
  29. //
  30. DWORD FAR PASCAL videoMessage32(HVIDEO hVideo, UINT msg, DWORD dwP1, DWORD dwP2);
  31. DWORD FAR PASCAL videoGetNumDevs32(void);
  32. DWORD FAR PASCAL videoClose32(HVIDEO hVideo);
  33. DWORD FAR PASCAL videoOpen32(LPHVIDEO lphVideo, DWORD dwDeviceID, DWORD dwFlags);
  34. #endif // _INC_MSVIDEO
  35. #ifdef _INC_COMPMAN
  36. //
  37. // The prototypes for setting up thunks for the ICM_ api set (in MSVFW32)
  38. //
  39. BOOL FAR PASCAL ICInfo32(DWORD fccType, DWORD fccHandler, ICINFO FAR * lpicInfo);
  40. LRESULT FAR PASCAL ICSendMessage32(DWORD hic, UINT msg, DWORD dwP1, DWORD dwP2);
  41. DWORD FAR PASCAL ICOpen32(DWORD fccType, DWORD fccHandler, UINT wMode);
  42. LRESULT FAR PASCAL ICClose32(DWORD hic);
  43. #endif // _INC_COMPMAN