GetBitmapFormatSize function
[The feature associated with this page, DirectShow, is a legacy feature. It has been superseded by MediaPlayer, IMFMediaEngine, and Audio/Video Capture in Media Foundation. Those features have been optimized for Windows 10 and Windows 11. Microsoft strongly recommends that new code use MediaPlayer, IMFMediaEngine and Audio/Video Capture in Media Foundation instead of DirectShow, when possible. Microsoft suggests that existing code that uses the legacy APIs be rewritten to use the new APIs if possible.]
The GetBitmapFormatSize
function calculates the size needed for a VIDEOINFO structure that can hold a specified BITMAPINFOHEADER structure.
Syntax
LONG GetBitmapFormatSize(
const BITMAPINFOHEADER *pHeader
);
Parameters
-
pHeader
-
Pointer to a BITMAPINFOHEADER structure.
Return value
Returns the size, in bytes.
Remarks
A BITMAPINFOHEADER structure might be followed by color masks or palette entries, so it can be difficult to determine the number of bytes required to construct a VIDEOINFO structure from an existing BITMAPINFOHEADER structure.
To copy a BITMAPINFOHEADER structure into a VIDEOINFO structure, use the HEADER macro, which calculates the correct offset.
Examples
LONG size = GetBitmapFormatSize(&bmi);
VIDEOINFO *pVi = static_cast<VIDEOINFO*>(CoTaskMemAlloc(size));
if (pVi != NULL)
{
CopyMemory(HEADER(pVi), &bmi, sizeof(BITMAPINFOHEADER));
}
Requirements
Requirement | Value |
---|---|
Header |
|
Library |
|