2 * PROJECT: ReactOS kernel-mode tests
3 * LICENSE: GPLv2+ - See COPYING in the top level directory
4 * PURPOSE: Kernel-Mode Test Suite MmMapLockedPagesSpecifyCache test user-mode part
5 * PROGRAMMER: Pierre Schweitzer <pierre@reactos.org>
10 #include "MmMapLockedPagesSpecifyCache.h"
12 START_TEST(MmMapLockedPagesSpecifyCache
)
14 QUERY_BUFFER QueryBuffer
;
15 READ_BUFFER ReadBuffer
;
20 KmtLoadDriver(L
"MmMapLockedPagesSpecifyCache", FALSE
);
23 QueryBuffer
.Length
= 0x100;
24 QueryBuffer
.Buffer
= NULL
;
25 QueryBuffer
.Cached
= FALSE
;
26 Length
= sizeof(QUERY_BUFFER
);
27 ok(KmtSendBufferToDriver(IOCTL_QUERY_BUFFER
, &QueryBuffer
, sizeof(QUERY_BUFFER
), &Length
) == ERROR_SUCCESS
, "\n");
28 ok_eq_int(QueryBuffer
.Length
, 0x100);
29 ok_eq_pointer(QueryBuffer
.Buffer
, NULL
);
31 ReadBuffer
.Buffer
= QueryBuffer
.Buffer
;
33 ok(KmtSendBufferToDriver(IOCTL_READ_BUFFER
, &ReadBuffer
, sizeof(READ_BUFFER
), &Length
) == ERROR_SUCCESS
, "\n");
35 QueryBuffer
.Length
= 0x100;
36 QueryBuffer
.Buffer
= NULL
;
37 QueryBuffer
.Cached
= TRUE
;
38 Length
= sizeof(QUERY_BUFFER
);
39 ok(KmtSendBufferToDriver(IOCTL_QUERY_BUFFER
, &QueryBuffer
, sizeof(QUERY_BUFFER
), &Length
) == ERROR_SUCCESS
, "\n");
40 ok_eq_int(QueryBuffer
.Length
, 0x100);
41 ok(QueryBuffer
.Buffer
!= NULL
, "Buffer is NULL\n");
43 ReadBuffer
.Buffer
= QueryBuffer
.Buffer
;
44 if (!skip(QueryBuffer
.Buffer
!= NULL
, "Buffer is NULL\n"))
46 ReadBuffer
.Pattern
= 0xA7;
47 ReadBuffer
.Length
= QueryBuffer
.Length
;
48 Buffer
= QueryBuffer
.Buffer
;
49 for (i
= 0; i
< ReadBuffer
.Length
/ sizeof(USHORT
); ++i
)
51 Buffer
[i
] = ReadBuffer
.Pattern
;
56 ok(KmtSendBufferToDriver(IOCTL_READ_BUFFER
, &ReadBuffer
, sizeof(READ_BUFFER
), &Length
) == ERROR_SUCCESS
, "\n");