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.

210 lines
7.2 KiB

  1. /****************************************************************************/
  2. /* */
  3. /* THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY */
  4. /* KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE */
  5. /* IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR */
  6. /* PURPOSE. */
  7. /* MSVIDEO.H - Include file for Video APIs */
  8. /* */
  9. /* Note: You must include WINDOWS.H before including this file. */
  10. /* */
  11. /* Copyright (c) 1990-1993, Microsoft Corp. All rights reserved. */
  12. /* */
  13. /****************************************************************************/
  14. #ifndef _INC_IVIDEO32
  15. #define _INC_IVIDEO32 50 /* version number */
  16. #ifdef __cplusplus
  17. extern "C" { /* Assume C declarations for C++ */
  18. #endif /* __cplusplus */
  19. #include <vfw.h>
  20. #define LOADDS
  21. #define EXPORT
  22. #if defined(_WIN32) && defined(UNICODE)
  23. // unicode conversions
  24. int Iwcstombs(LPSTR lpstr, LPCWSTR lpwstr, int len);
  25. int Imbstowcs(LPWSTR lpwstr, LPCSTR lpstr, int len);
  26. #endif
  27. //#ifndef _RCINVOKED
  28. ///* video data types */
  29. //DECLARE_HANDLE(HVIDEO); // generic handle
  30. //typedef HVIDEO FAR * LPHVIDEO;
  31. //#endif // ifndef RCINVOKED
  32. /****************************************************************************
  33. video APIs
  34. ****************************************************************************/
  35. #if defined _WIN32
  36. #if defined DAYTONA
  37. void videoInitHandleList(void);
  38. void videoDeleteHandleList(void);
  39. #endif
  40. #if defined CHICAGO
  41. typedef struct _thk_videohdr {
  42. VIDEOHDR vh;
  43. LPBYTE p32Buff;
  44. DWORD p16Alloc;
  45. DWORD dwMemHandle;
  46. DWORD dwReserved;
  47. } THKVIDEOHDR, FAR *LPTHKVIDEOHDR;
  48. WORD FAR PASCAL _loadds capxGetDriverDescription (WORD wDriverIndex,
  49. LPSTR lpszName, WORD cbName,
  50. LPSTR lpszVer, WORD cbVer);
  51. DWORD WINAPI vidxAllocHeaders(
  52. HVIDEO hVideo,
  53. UINT nHeaders,
  54. LPTHKVIDEOHDR * lpHdrs);
  55. DWORD WINAPI vidxFreeHeaders(
  56. HVIDEO hv);
  57. DWORD WINAPI vidxAllocBuffer (
  58. HVIDEO hv,
  59. UINT iHdr,
  60. LPTHKVIDEOHDR * pp32Hdr,
  61. DWORD dwSize);
  62. DWORD vidxFreeBuffer (
  63. HVIDEO hv,
  64. DWORD p32Hdr);
  65. DWORD WINAPI vidxSetRect (
  66. HVIDEO hv,
  67. UINT wMsg,
  68. int left,
  69. int top,
  70. int right,
  71. int bottom);
  72. DWORD WINAPI vidxFrame (
  73. HVIDEO hVideo,
  74. LPVIDEOHDR lpVHdr);
  75. #define videoSetRect(h,msg,rc) vidxSetRect (h, msg, rc.left, rc.top, rc.right, rc.bottom)
  76. DWORD WINAPI vidxAddBuffer (
  77. HVIDEO hVideo,
  78. LPVIDEOHDR lpVHdr,
  79. DWORD cbData);
  80. DWORD WINAPI vidxAllocPreviewBuffer (
  81. HVIDEO hVideo,
  82. LPVOID *lpBits,
  83. DWORD cbData);
  84. DWORD WINAPI vidxFreePreviewBuffer (
  85. HVIDEO hVideo,
  86. LPVOID lpBits);
  87. DWORD WINAPI videoOpen (LPHVIDEO lphVideo,
  88. DWORD dwDevice, DWORD dwFlags);
  89. DWORD WINAPI videoClose (HVIDEO hVideo);
  90. DWORD WINAPI videoDialog(HVIDEO hVideo, HWND hWndParent, DWORD dwFlags);
  91. DWORD WINAPI videoGetChannelCaps(HVIDEO hVideo, LPCHANNEL_CAPS lpChannelCaps,
  92. DWORD dwSize);
  93. DWORD WINAPI videoUpdate (HVIDEO hVideo, HWND hWnd, HDC hDC);
  94. DWORD WINAPI videoConfigure (HVIDEO hVideo, UINT msg, DWORD dwFlags,
  95. LPDWORD lpdwReturn, LPVOID lpData1, DWORD dwSize1,
  96. LPVOID lpData2, DWORD dwSize2);
  97. DWORD WINAPI videoFrame(HVIDEO hVideo, LPVIDEOHDR lpVHdr);
  98. DWORD WINAPI videoGetErrorText(HVIDEO hVideo, UINT wError,
  99. LPSTR lpText, UINT wSize);
  100. DWORD WINAPI videoStreamInit(HVIDEO hVideo,
  101. DWORD dwMicroSecPerFrame, DWORD_PTR dwCallback,
  102. DWORD_PTR dwCallbackInst, DWORD dwFlags);
  103. DWORD WINAPI videoStreamFini(HVIDEO hVideo);
  104. //DWORD WINAPI videoStreamPrepareHeader(HVIDEO hVideo,
  105. // LPVIDEOHDR lpVHdr, DWORD dwSize);
  106. //DWORD WINAPI videoStreamAddBuffer(HVIDEO hVideo,
  107. // LPVIDEOHDR lpVHdr, DWORD dwSize);
  108. DWORD WINAPI videoStreamReset(HVIDEO hVideo);
  109. DWORD WINAPI videoStreamStart(HVIDEO hVideo);
  110. DWORD WINAPI videoStreamStop(HVIDEO hVideo);
  111. DWORD WINAPI videoStreamUnprepareHeader(HVIDEO hVideo,
  112. LPVIDEOHDR lpVHdr, DWORD dwSize);
  113. #else
  114. #define videoSetRect(h,msg,rc) videoMessage (h, msg, (DWORD_PTR)(LPVOID)&rc, VIDEO_CONFIGURE_SET)
  115. DWORD WINAPI videoGetNumDevs(void);
  116. DWORD WINAPI videoOpen (LPHVIDEO lphVideo,
  117. DWORD dwDevice, DWORD dwFlags);
  118. DWORD WINAPI videoClose (HVIDEO hVideo);
  119. DWORD WINAPI videoDialog(HVIDEO hVideo, HWND hWndParent, DWORD dwFlags);
  120. DWORD WINAPI videoGetChannelCaps(HVIDEO hVideo, LPCHANNEL_CAPS lpChannelCaps,
  121. DWORD dwSize);
  122. DWORD WINAPI videoUpdate (HVIDEO hVideo, HWND hWnd, HDC hDC);
  123. DWORD WINAPI videoConfigure (HVIDEO hVideo, UINT msg, DWORD dwFlags,
  124. LPDWORD lpdwReturn, LPVOID lpData1, DWORD dwSize1,
  125. LPVOID lpData2, DWORD dwSize2);
  126. DWORD WINAPI videoConfigureStorage (HVIDEO hVideo,
  127. LPTSTR lpstrIdent, DWORD dwFlags);
  128. DWORD WINAPI videoFrame(HVIDEO hVideo, LPVIDEOHDR lpVHdr);
  129. LRESULT WINAPI videoMessage(HVIDEO hVideo, UINT msg, LPARAM dwP1, LPARAM dwP2);
  130. /* streaming APIs */
  131. DWORD WINAPI videoStreamAddBuffer(HVIDEO hVideo,
  132. LPVIDEOHDR lpVHdr, DWORD dwSize);
  133. DWORD WINAPI videoStreamGetError(HVIDEO hVideo, LPDWORD lpdwErrorFirst,
  134. LPDWORD lpdwErrorLast);
  135. DWORD WINAPI videoGetErrorTextA(HVIDEO hVideo, UINT wError,
  136. LPSTR lpText, UINT wSize);
  137. DWORD WINAPI videoGetErrorTextW(HVIDEO hVideo, UINT wError,
  138. LPWSTR lpText, UINT wSize);
  139. #ifdef UNICODE
  140. #define videoGetErrorText videoGetErrorTextW
  141. #else
  142. #define videoGetErrorText videoGetErrorTextA
  143. #endif // !UNICODE
  144. DWORD WINAPI videoStreamGetPosition(HVIDEO hVideo, MMTIME FAR* lpInfo,
  145. DWORD dwSize);
  146. DWORD WINAPI videoStreamInit(HVIDEO hVideo,
  147. DWORD dwMicroSecPerFrame, DWORD_PTR dwCallback,
  148. DWORD_PTR dwCallbackInst, DWORD dwFlags);
  149. DWORD WINAPI videoStreamFini(HVIDEO hVideo);
  150. DWORD WINAPI videoStreamPrepareHeader(HVIDEO hVideo,
  151. LPVIDEOHDR lpVHdr, DWORD dwSize);
  152. DWORD WINAPI videoStreamReset(HVIDEO hVideo);
  153. DWORD WINAPI videoStreamStart(HVIDEO hVideo);
  154. DWORD WINAPI videoStreamStop(HVIDEO hVideo);
  155. DWORD WINAPI videoStreamUnprepareHeader(HVIDEO hVideo,
  156. LPVIDEOHDR lpVHdr, DWORD dwSize);
  157. // Added for Win95 & NT PPC
  158. //
  159. DWORD WINAPI videoStreamAllocBuffer(HVIDEO hVideo,
  160. LPVOID FAR * plpBuffer, DWORD dwSize);
  161. DWORD WINAPI videoStreamFreeBuffer(HVIDEO hVideo,
  162. LPVOID lpBuffer);
  163. #endif // CHICAGO
  164. #endif // _WIN32
  165. #ifdef __cplusplus
  166. } /* End of extern "C" { */
  167. #endif /* __cplusplus */
  168. #endif /* _INC_MSVIDEO */