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

// 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);
};