38{
45
46 struct
47 {
50 } bmi;
54 PBITMAPV5HEADER pbV5h = (PBITMAPV5HEADER)&bmi.bmiHeader;
55
59
72
74
77 cjHeader = bmi.bmiHeader.biSize +
cEntries * 4 + 8;
78
79
81 pvBits = 0;
85
93
94
95
97 pvBits = 0;
103
104
106 pvBits = 0;
112
113
121
122
130
131
139
140
146
147
153
154
160
161
167
168
176
177
182
187
193
198
203
204
238
240
241
243
244
249 ok(
hbmp !=
NULL,
"NtGdiCreateDIBSection failed\n");
254
255
257 pvBits = 0;
258
274 cjHeader = bmi.bmiHeader.biSize +
cEntries * 4 + 20;
275
276
281
283 cjHeader = bmi.bmiHeader.biSize +
cEntries * 4 + 8;
284
285
293
294
295
298
306
307
311 cjHeader = bmi.bmiHeader.biSize +
cEntries * 4 + 8;
312
313
321
322
330
331
339
340
348
349
353 pvBits = 0;
359
360
370
371
381
382
386 pbV4h->bV4Width = 2;
387 pbV4h->bV4Height = 3;
388 pbV4h->bV4Planes = 1;
389 pbV4h->bV4BitCount = 1;
390 pbV4h->bV4V4Compression =
BI_RGB;
391 pbV4h->bV4SizeImage = 0;
392 pbV4h->bV4XPelsPerMeter = 100;
393 pbV4h->bV4YPelsPerMeter = 100;
394 pbV4h->bV4ClrUsed = 0;
395 pbV4h->bV4ClrImportant = 0;
396 pbV4h->bV4RedMask = 0;
397 pbV4h->bV4GreenMask = 0;
398 pbV4h->bV4BlueMask = 0;
399 pbV4h->bV4AlphaMask = 0;
400 pbV4h->bV4CSType = 0;
402 pbV4h->bV4GammaRed = 0;
403 pbV4h->bV4GammaGreen = 0;
404 pbV4h->bV4GammaBlue = 0;
405
407 cjHeader = bmi.bmiHeader.biSize +
cEntries * 4 + 8;
408
409
411 pvBits = 0;
417
418
421 pbV5h->bV5Size = sizeof(BITMAPV5HEADER);
422 pbV5h->bV5Width = 2;
423 pbV5h->bV5Height = 3;
424 pbV5h->bV5Planes = 1;
425 pbV5h->bV5BitCount = 1;
426 pbV5h->bV5Compression =
BI_RGB;
427 pbV5h->bV5SizeImage = 0;
428 pbV5h->bV5XPelsPerMeter = 100;
429 pbV5h->bV5YPelsPerMeter = 100;
430 pbV5h->bV5ClrUsed = 2;
431 pbV5h->bV5ClrImportant = 2;
432 pbV5h->bV5RedMask = 0;
433 pbV5h->bV5GreenMask = 0;
434 pbV5h->bV5BlueMask = 0;
435 pbV5h->bV5AlphaMask = 0;
436 pbV5h->bV5CSType = 0;
438 pbV5h->bV5GammaRed = 0;
439 pbV5h->bV5GammaGreen = 0;
440 pbV5h->bV5GammaBlue = 0;
441 pbV5h->bV5Intent = 0;
442 pbV5h->bV5ProfileData = 0;
443 pbV5h->bV5ProfileSize = 0;
444 pbV5h->bV5Reserved = 0;
445
447 cjHeader = pbV5h->bV5Size +
cEntries * 4 + 8;
448
449
451 pvBits = 0;
457
458
459 pbV5h->bV5Size = sizeof(BITMAPV5HEADER) + 64;
460 cjHeader = pbV5h->bV5Size +
cEntries * 4 + 8;
462 pvBits = 0;
468
469
479
481 pvBits = 0;
485
487
489}
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)
#define ok_eq_hex(value, expected)
#define ok_eq_int(value, expected)
#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)