74 lines
1.8 KiB
Plaintext
74 lines
1.8 KiB
Plaintext
|
// DIBSTRMS.IDL
|
||
|
// Multi media streaming interface extensions for DIB types
|
||
|
|
||
|
import "mmstream.idl";
|
||
|
|
||
|
cpp_quote("#if 0")
|
||
|
typedef struct tagBITMAPINFOHEADER{
|
||
|
DWORD biSize;
|
||
|
LONG biWidth;
|
||
|
LONG biHeight;
|
||
|
WORD biPlanes;
|
||
|
WORD biBitCount;
|
||
|
DWORD biCompression;
|
||
|
DWORD biSizeImage;
|
||
|
LONG biXPelsPerMeter;
|
||
|
LONG biYPelsPerMeter;
|
||
|
DWORD biClrUsed;
|
||
|
DWORD biClrImportant;
|
||
|
} BITMAPINFOHEADER;
|
||
|
typedef BITMAPINFOHEADER *LPBITMAPINFOHEADER;
|
||
|
cpp_quote("#endif")
|
||
|
|
||
|
[
|
||
|
object,
|
||
|
local,
|
||
|
uuid(F12780AF-5C60-11d1-BC46-00AA00A13C86),
|
||
|
pointer_default(unique)
|
||
|
]
|
||
|
interface IDIBMediaStream : IMediaStream
|
||
|
{
|
||
|
HRESULT GetDIBFormatSize([out] DWORD *pdwSize);
|
||
|
HRESULT GetDIBFormat([in, out] LPBITMAPINFOHEADER pbih);
|
||
|
HRESULT SetDIBFormat([in] LPBITMAPINFOHEADER pbih);
|
||
|
};
|
||
|
|
||
|
[
|
||
|
object,
|
||
|
local,
|
||
|
uuid(F12780AE-5C60-11d1-BC46-00AA00A13C86),
|
||
|
pointer_default(unique)
|
||
|
]
|
||
|
interface IDIBStreamSample : IStreamSample
|
||
|
{
|
||
|
[helpstring("method LockSample")] HRESULT LockSample([out] BYTE **ppbits);
|
||
|
[helpstring("method UnlockSample")] HRESULT UnlockSample(void);
|
||
|
};
|
||
|
|
||
|
|
||
|
[
|
||
|
object,
|
||
|
local,
|
||
|
uuid(9777AD62-7575-11d1-BC47-00AA00A13C86),
|
||
|
pointer_default(unique)
|
||
|
]
|
||
|
interface IDIBProducer : IUnknown
|
||
|
{
|
||
|
HRESULT AllocBuffer([out] HANDLE *phBuffer);
|
||
|
HRESULT FreeBuffer([in] HANDLE hBuffer);
|
||
|
HRESULT GetBufferSize([out] DWORD *pdwSize);
|
||
|
HRESULT LockBuffer([in] HANDLE hBuffer, [out] LPVOID *ppbits);
|
||
|
HRESULT UnlockBuffer([in] HANDLE hBuffer);
|
||
|
HRESULT Update(
|
||
|
[in] HANDLE hBuffer,
|
||
|
[in] DWORD dwFlags,
|
||
|
[in] [optional] HANDLE hEvent,
|
||
|
[in] [optional] PAPCFUNC pfnAPC,
|
||
|
[in] [optional] DWORD dwAPCData);
|
||
|
HRESULT CompletionStatus(
|
||
|
[in] DWORD dwFlags,
|
||
|
[in] [optional] DWORD dwMilliseconds);
|
||
|
};
|
||
|
|
||
|
|