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.

52 lines
1.6 KiB

  1. // VIDEOCAP.IDL
  2. // Multi media stream based video capture IDL
  3. import "mmstream.idl";
  4. #define MAX_PATH 260
  5. #define MAX_CAPDEV_NAME MAX_PATH
  6. #define MAX_CAPDEV_DESCRIPTION MAX_PATH
  7. #define MAX_CAPDEV_VERSION 80
  8. cpp_quote("#ifndef _DCAP_H")
  9. cpp_quote("#ifndef _FINDCAPTUREDEVICE_struct")
  10. cpp_quote("#define _FINDCAPTUREDEVICE_struct")
  11. typedef struct _FINDCAPTUREDEVICE
  12. {
  13. DWORD dwSize;
  14. int nDeviceIndex;
  15. char szDeviceName[MAX_CAPDEV_NAME];
  16. char szDeviceDescription[MAX_CAPDEV_DESCRIPTION];
  17. char szDeviceVersion[MAX_CAPDEV_VERSION];
  18. } FINDCAPTUREDEVICE;
  19. cpp_quote("#endif //#ifndef _FINDCAPTUREDEVICE_struct")
  20. cpp_quote("#endif //#ifndef _DCAP_H")
  21. [
  22. object,
  23. local,
  24. uuid(09D9467A-1366-11D1-BC3A-00AA00A13C86),
  25. pointer_default(unique)
  26. ]
  27. interface IVideoCapture : IMediaStream
  28. {
  29. [propget, helpstring("property FrameRate (frames/100 seconds)")] HRESULT FrameRate([out, retval] long *pVal);
  30. [propput, helpstring("property FrameRate (frames/100 seconds)")] HRESULT FrameRate([in] long newVal);
  31. };
  32. [
  33. object,
  34. local,
  35. uuid(244C959E-1370-11d1-BC3A-00AA00A13C86),
  36. pointer_default(unique)
  37. ]
  38. interface IVideoCaptureEnum : IUnknown
  39. {
  40. HRESULT GetNumCaptureDevices([out] int *pDevices);
  41. HRESULT FindFirstCaptureDevice([in, out] FINDCAPTUREDEVICE* lpfcd, LPCSTR szDeviceDescription);
  42. HRESULT FindFirstCaptureDeviceByIndex([in, out] FINDCAPTUREDEVICE* lpfcd, int nDeviceIndex);
  43. HRESULT FindNextCaptureDevice([in, out] FINDCAPTUREDEVICE* lpfcd);
  44. HRESULT OpenCaptureDevice([in] int nDeviceNumber, [out] IVideoCapture** ppCapture);
  45. };