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.

73 lines
1.8 KiB

  1. // DIBSTRMS.IDL
  2. // Multi media streaming interface extensions for DIB types
  3. import "mmstream.idl";
  4. cpp_quote("#if 0")
  5. typedef struct tagBITMAPINFOHEADER{
  6. DWORD biSize;
  7. LONG biWidth;
  8. LONG biHeight;
  9. WORD biPlanes;
  10. WORD biBitCount;
  11. DWORD biCompression;
  12. DWORD biSizeImage;
  13. LONG biXPelsPerMeter;
  14. LONG biYPelsPerMeter;
  15. DWORD biClrUsed;
  16. DWORD biClrImportant;
  17. } BITMAPINFOHEADER;
  18. typedef BITMAPINFOHEADER *LPBITMAPINFOHEADER;
  19. cpp_quote("#endif")
  20. [
  21. object,
  22. local,
  23. uuid(F12780AF-5C60-11d1-BC46-00AA00A13C86),
  24. pointer_default(unique)
  25. ]
  26. interface IDIBMediaStream : IMediaStream
  27. {
  28. HRESULT GetDIBFormatSize([out] DWORD *pdwSize);
  29. HRESULT GetDIBFormat([in, out] LPBITMAPINFOHEADER pbih);
  30. HRESULT SetDIBFormat([in] LPBITMAPINFOHEADER pbih);
  31. };
  32. [
  33. object,
  34. local,
  35. uuid(F12780AE-5C60-11d1-BC46-00AA00A13C86),
  36. pointer_default(unique)
  37. ]
  38. interface IDIBStreamSample : IStreamSample
  39. {
  40. [helpstring("method LockSample")] HRESULT LockSample([out] BYTE **ppbits);
  41. [helpstring("method UnlockSample")] HRESULT UnlockSample(void);
  42. };
  43. [
  44. object,
  45. local,
  46. uuid(9777AD62-7575-11d1-BC47-00AA00A13C86),
  47. pointer_default(unique)
  48. ]
  49. interface IDIBProducer : IUnknown
  50. {
  51. HRESULT AllocBuffer([out] HANDLE *phBuffer);
  52. HRESULT FreeBuffer([in] HANDLE hBuffer);
  53. HRESULT GetBufferSize([out] DWORD *pdwSize);
  54. HRESULT LockBuffer([in] HANDLE hBuffer, [out] LPVOID *ppbits);
  55. HRESULT UnlockBuffer([in] HANDLE hBuffer);
  56. HRESULT Update(
  57. [in] HANDLE hBuffer,
  58. [in] DWORD dwFlags,
  59. [in] [optional] HANDLE hEvent,
  60. [in] [optional] PAPCFUNC pfnAPC,
  61. [in] [optional] DWORD dwAPCData);
  62. HRESULT CompletionStatus(
  63. [in] DWORD dwFlags,
  64. [in] [optional] DWORD dwMilliseconds);
  65. };