28 ULONG WidthBits, WidthBytes;
31 WidthBytes = ((WidthBits + 31) & ~ 31) >> 3;
54 PBITMAPV5HEADER pbV5h = (PBITMAPV5HEADER)&bmi.bmiHeader;
77 cjHeader = bmi.bmiHeader.biSize +
cEntries * 4 + 8;
264 cjHeader = bmi.bmiHeader.biSize +
cEntries * 4 + 20;
273 cjHeader = bmi.bmiHeader.biSize +
cEntries * 4 + 8;
301 cjHeader = bmi.bmiHeader.biSize +
cEntries * 4 + 8;
377 pbV4h->bV4Height = 3;
378 pbV4h->bV4Planes = 1;
379 pbV4h->bV4BitCount = 1;
380 pbV4h->bV4V4Compression =
BI_RGB;
381 pbV4h->bV4SizeImage = 0;
382 pbV4h->bV4XPelsPerMeter = 100;
383 pbV4h->bV4YPelsPerMeter = 100;
384 pbV4h->bV4ClrUsed = 0;
385 pbV4h->bV4ClrImportant = 0;
386 pbV4h->bV4RedMask = 0;
387 pbV4h->bV4GreenMask = 0;
388 pbV4h->bV4BlueMask = 0;
389 pbV4h->bV4AlphaMask = 0;
390 pbV4h->bV4CSType = 0;
392 pbV4h->bV4GammaRed = 0;
393 pbV4h->bV4GammaGreen = 0;
394 pbV4h->bV4GammaBlue = 0;
397 cjHeader = bmi.bmiHeader.biSize +
cEntries * 4 + 8;
411 pbV5h->bV5Size =
sizeof(BITMAPV5HEADER);
413 pbV5h->bV5Height = 3;
414 pbV5h->bV5Planes = 1;
415 pbV5h->bV5BitCount = 1;
416 pbV5h->bV5Compression =
BI_RGB;
417 pbV5h->bV5SizeImage = 0;
418 pbV5h->bV5XPelsPerMeter = 100;
419 pbV5h->bV5YPelsPerMeter = 100;
420 pbV5h->bV5ClrUsed = 2;
421 pbV5h->bV5ClrImportant = 2;
422 pbV5h->bV5RedMask = 0;
423 pbV5h->bV5GreenMask = 0;
424 pbV5h->bV5BlueMask = 0;
425 pbV5h->bV5AlphaMask = 0;
426 pbV5h->bV5CSType = 0;
428 pbV5h->bV5GammaRed = 0;
429 pbV5h->bV5GammaGreen = 0;
430 pbV5h->bV5GammaBlue = 0;
431 pbV5h->bV5Intent = 0;
432 pbV5h->bV5ProfileData = 0;
433 pbV5h->bV5ProfileSize = 0;
434 pbV5h->bV5Reserved = 0;
437 cjHeader = pbV5h->bV5Size +
cEntries * 4 + 8;
449 pbV5h->bV5Size =
sizeof(BITMAPV5HEADER) + 64;
450 cjHeader = pbV5h->bV5Size +
cEntries * 4 + 8;
NTSTATUS NTAPI NtCreateSection(OUT PHANDLE SectionHandle, IN ACCESS_MASK DesiredAccess, IN POBJECT_ATTRIBUTES ObjectAttributes OPTIONAL, IN PLARGE_INTEGER MaximumSize OPTIONAL, IN ULONG SectionPageProtection OPTIONAL, IN ULONG AllocationAttributes, IN HANDLE FileHandle OPTIONAL)
ULONG GetBitmapSize(BITMAPINFOHEADER *pbih)
#define ok_hex(expression, result)
#define NT_SUCCESS(StatCode)
#define ERROR_INVALID_PARAMETER
struct tagBITMAPINFOHEADER * PBITMAPINFOHEADER
_In_ ACCESS_MASK _In_opt_ POBJECT_ATTRIBUTES _In_opt_ PLARGE_INTEGER MaximumSize
#define SECTION_ALL_ACCESS
__kernel_entry W32KAPI HBITMAP APIENTRY NtGdiCreateDIBSection(_In_ HDC hdc, _In_opt_ HANDLE hSectionApp, _In_ DWORD dwOffset, _In_reads_bytes_opt_(cjHeader) LPBITMAPINFO pbmi, _In_ DWORD iUsage, _In_ UINT cjHeader, _In_ FLONG fl, _In_ ULONG_PTR dwColorSpace, _Outptr_ PVOID *ppvBits)
_In_ HBITMAP _In_ UINT _In_ UINT _Inout_ LPBITMAPINFO pbmi
BITMAPINFOHEADER bmiHeader
DWORD WINAPI GetLastError(void)
_In_ const BITMAPINFO _In_ UINT _In_opt_ HANDLE hSection
_In_ UINT _In_ UINT cEntries
struct tagBITMAPINFO * PBITMAPINFO
HDC WINAPI GetDC(_In_opt_ HWND)