4 #define WIN32_NO_STATUS
5 #include <ndk/rtlfuncs.h>
8 Test_RtlFindMostSignificantBit(void)
10 ok_int(RtlFindMostSignificantBit(0), -1);
12 ok_int(RtlFindMostSignificantBit(0x0000000000000001ULL
), 0);
13 ok_int(RtlFindMostSignificantBit(0x0000000000000002ULL
), 1);
14 ok_int(RtlFindMostSignificantBit(0x1000000000000000ULL
), 60);
15 ok_int(RtlFindMostSignificantBit(0x8000000000000000ULL
), 63);
16 ok_int(RtlFindMostSignificantBit(0x8000000000000001ULL
), 63);
17 ok_int(RtlFindMostSignificantBit(0xFFFFFFFFFFFFFFFFULL
), 63);
18 ok_int(RtlFindMostSignificantBit(0x0000000070000000ULL
), 30);
22 Test_RtlFindLeastSignificantBit(void)
24 ok_int(RtlFindLeastSignificantBit(0), -1);
26 ok_int(RtlFindLeastSignificantBit(0x0000000000000001ULL
), 0);
27 ok_int(RtlFindLeastSignificantBit(0x0000000000000002ULL
), 1);
28 ok_int(RtlFindLeastSignificantBit(0x1000000000000000ULL
), 60);
29 ok_int(RtlFindLeastSignificantBit(0x8000000000000000ULL
), 63);
30 ok_int(RtlFindLeastSignificantBit(0x8000000000000000ULL
), 63);
31 ok_int(RtlFindLeastSignificantBit(0xFFFFFFFFFFFFFFFFULL
), 0);
32 ok_int(RtlFindLeastSignificantBit(0x0000000070000000ULL
), 28);
36 Test_RtlInitializeBitMap(void)
38 RTL_BITMAP BitMapHeader
;
40 BOOLEAN Exception
= FALSE
;
44 RtlInitializeBitMap(NULL
, NULL
, 0);
46 _SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER
)
53 memset(Buffer
, 0xcc, sizeof(Buffer
));
54 RtlInitializeBitMap(&BitMapHeader
, Buffer
, 0);
55 ok_int(BitMapHeader
.SizeOfBitMap
, 0);
56 ok_ptr(BitMapHeader
.Buffer
, Buffer
);
57 ok_hex(Buffer
[0], 0xcccccccc);
59 RtlInitializeBitMap(&BitMapHeader
, Buffer
, 8);
60 ok_int(BitMapHeader
.SizeOfBitMap
, 8);
61 ok_hex(Buffer
[0], 0xcccccccc);
65 Test_RtlClearAllBits(void)
67 RTL_BITMAP BitMapHeader
;
70 RtlInitializeBitMap(&BitMapHeader
, Buffer
, 19);
71 memset(Buffer
, 0xcc, sizeof(Buffer
));
72 RtlClearAllBits(&BitMapHeader
);
73 ok_hex(Buffer
[0], 0x00000000);
74 ok_hex(Buffer
[1], 0xcccccccc);
76 RtlInitializeBitMap(&BitMapHeader
, Buffer
, 0);
77 memset(Buffer
, 0xcc, sizeof(Buffer
));
78 RtlClearAllBits(&BitMapHeader
);
79 ok_hex(Buffer
[0], 0xcccccccc);
80 ok_hex(Buffer
[1], 0xcccccccc);
84 Test_RtlSetAllBits(void)
86 RTL_BITMAP BitMapHeader
;
89 RtlInitializeBitMap(&BitMapHeader
, Buffer
, 19);
90 memset(Buffer
, 0xcc, sizeof(Buffer
));
91 RtlSetAllBits(&BitMapHeader
);
92 ok_hex(Buffer
[0], 0xffffffff);
93 ok_hex(Buffer
[1], 0xcccccccc);
95 RtlInitializeBitMap(&BitMapHeader
, Buffer
, 0);
96 memset(Buffer
, 0xcc, sizeof(Buffer
));
97 RtlSetAllBits(&BitMapHeader
);
98 ok_hex(Buffer
[0], 0xcccccccc);
99 ok_hex(Buffer
[1], 0xcccccccc);
103 Test_RtlClearBits(void)
105 RTL_BITMAP BitMapHeader
;
108 RtlInitializeBitMap(&BitMapHeader
, Buffer
, 19);
110 memset(Buffer
, 0xff, sizeof(Buffer
));
111 RtlClearBits(&BitMapHeader
, 0, 0);
112 ok_hex(Buffer
[0], 0xffffffff);
113 ok_hex(Buffer
[1], 0xffffffff);
115 memset(Buffer
, 0xff, sizeof(Buffer
));
116 RtlClearBits(&BitMapHeader
, 0, 1);
117 ok_hex(Buffer
[0], 0xfffffffe);
118 ok_hex(Buffer
[1], 0xffffffff);
120 memset(Buffer
, 0xff, sizeof(Buffer
));
121 RtlClearBits(&BitMapHeader
, 21, 1);
122 ok_hex(Buffer
[0], 0xffdfffff);
123 ok_hex(Buffer
[1], 0xffffffff);
125 memset(Buffer
, 0xff, sizeof(Buffer
));
126 RtlClearBits(&BitMapHeader
, 7, 9);
127 ok_hex(Buffer
[0], 0xffff007f);
128 ok_hex(Buffer
[1], 0xffffffff);
130 memset(Buffer
, 0xff, sizeof(Buffer
));
131 RtlClearBits(&BitMapHeader
, 13, 22);
132 ok_hex(Buffer
[0], 0x00001fff);
133 ok_hex(Buffer
[1], 0xfffffff8);
135 memset(Buffer
, 0xcc, sizeof(Buffer
));
136 RtlClearBits(&BitMapHeader
, 3, 6);
137 RtlClearBits(&BitMapHeader
, 11, 5);
138 RtlClearBits(&BitMapHeader
, 21, 7);
139 RtlClearBits(&BitMapHeader
, 37, 4);
140 ok_hex(Buffer
[0], 0xc00c0404);
141 ok_hex(Buffer
[1], 0xcccccc0c);
145 Test_RtlSetBits(void)
147 RTL_BITMAP BitMapHeader
;
150 RtlInitializeBitMap(&BitMapHeader
, Buffer
, 19);
152 memset(Buffer
, 0x00, sizeof(Buffer
));
153 RtlSetBits(&BitMapHeader
, 0, 0);
154 ok_hex(Buffer
[0], 0x00000000);
155 ok_hex(Buffer
[1], 0x00000000);
157 memset(Buffer
, 0x00, sizeof(Buffer
));
158 RtlSetBits(&BitMapHeader
, 0, 1);
159 ok_hex(Buffer
[0], 0x00000001);
160 ok_hex(Buffer
[1], 0x00000000);
162 memset(Buffer
, 0x00, sizeof(Buffer
));
163 RtlSetBits(&BitMapHeader
, 21, 1);
164 ok_hex(Buffer
[0], 0x00200000);
165 ok_hex(Buffer
[1], 0x00000000);
167 memset(Buffer
, 0x00, sizeof(Buffer
));
168 RtlSetBits(&BitMapHeader
, 7, 9);
169 ok_hex(Buffer
[0], 0x0000ff80);
170 ok_hex(Buffer
[1], 0x00000000);
172 memset(Buffer
, 0x00, sizeof(Buffer
));
173 RtlSetBits(&BitMapHeader
, 13, 22);
174 ok_hex(Buffer
[0], 0xffffe000);
175 ok_hex(Buffer
[1], 0x00000007);
177 memset(Buffer
, 0xcc, sizeof(Buffer
));
178 RtlSetBits(&BitMapHeader
, 3, 6);
179 RtlSetBits(&BitMapHeader
, 11, 5);
180 RtlSetBits(&BitMapHeader
, 21, 7);
181 RtlSetBits(&BitMapHeader
, 37, 4);
182 ok_hex(Buffer
[0], 0xcfecfdfc);
183 ok_hex(Buffer
[1], 0xcccccdec);
187 Test_RtlAreBitsClear(void)
189 RTL_BITMAP BitMapHeader
;
192 RtlInitializeBitMap(&BitMapHeader
, Buffer
, 19);
193 Buffer
[0] = 0x00ff00ff;
194 Buffer
[1] = 0xc0cfc0cf;
196 ok_hex(RtlAreBitsClear(&BitMapHeader
, 0, 8), FALSE
);
197 ok_hex(RtlAreBitsClear(&BitMapHeader
, 8, 8), TRUE
);
198 ok_hex(RtlAreBitsClear(&BitMapHeader
, 7, 8), FALSE
);
199 ok_hex(RtlAreBitsClear(&BitMapHeader
, 8, 9), FALSE
);
200 ok_hex(RtlAreBitsClear(&BitMapHeader
, 24, 1), FALSE
);
202 RtlInitializeBitMap(&BitMapHeader
, Buffer
, 31);
203 ok_hex(RtlAreBitsClear(&BitMapHeader
, 24, 1), TRUE
);
204 ok_hex(RtlAreBitsClear(&BitMapHeader
, 24, 7), TRUE
);
205 ok_hex(RtlAreBitsClear(&BitMapHeader
, 24, 8), FALSE
);
210 Test_RtlAreBitsSet(void)
212 RTL_BITMAP BitMapHeader
;
215 RtlInitializeBitMap(&BitMapHeader
, Buffer
, 19);
216 Buffer
[0] = 0xff00ff00;
217 Buffer
[1] = 0x3F303F30;
219 ok_hex(RtlAreBitsSet(&BitMapHeader
, 0, 8), FALSE
);
220 ok_hex(RtlAreBitsSet(&BitMapHeader
, 8, 8), TRUE
);
221 ok_hex(RtlAreBitsSet(&BitMapHeader
, 7, 8), FALSE
);
222 ok_hex(RtlAreBitsSet(&BitMapHeader
, 8, 9), FALSE
);
223 ok_hex(RtlAreBitsSet(&BitMapHeader
, 24, 1), FALSE
);
225 RtlInitializeBitMap(&BitMapHeader
, Buffer
, 31);
226 ok_hex(RtlAreBitsSet(&BitMapHeader
, 24, 1), TRUE
);
227 ok_hex(RtlAreBitsSet(&BitMapHeader
, 24, 7), TRUE
);
228 ok_hex(RtlAreBitsSet(&BitMapHeader
, 24, 8), FALSE
);
233 Test_RtlNumberOfSetBits(void)
235 RTL_BITMAP BitMapHeader
;
238 Buffer
[0] = 0xff00ff0f;
239 Buffer
[1] = 0x3F303F30;
241 RtlInitializeBitMap(&BitMapHeader
, Buffer
, 0);
242 ok_int(RtlNumberOfSetBits(&BitMapHeader
), 0);
244 RtlInitializeBitMap(&BitMapHeader
, Buffer
, 4);
245 ok_int(RtlNumberOfSetBits(&BitMapHeader
), 4);
247 RtlInitializeBitMap(&BitMapHeader
, Buffer
, 31);
248 ok_int(RtlNumberOfSetBits(&BitMapHeader
), 19);
250 RtlInitializeBitMap(&BitMapHeader
, Buffer
, 56);
251 ok_int(RtlNumberOfSetBits(&BitMapHeader
), 30);
255 Test_RtlNumberOfClearBits(void)
257 RTL_BITMAP BitMapHeader
;
260 Buffer
[0] = 0xff00fff0;
261 Buffer
[1] = 0x3F303F30;
263 RtlInitializeBitMap(&BitMapHeader
, Buffer
, 0);
264 ok_int(RtlNumberOfClearBits(&BitMapHeader
), 0);
266 RtlInitializeBitMap(&BitMapHeader
, Buffer
, 4);
267 ok_int(RtlNumberOfClearBits(&BitMapHeader
), 4);
269 RtlInitializeBitMap(&BitMapHeader
, Buffer
, 31);
270 ok_int(RtlNumberOfClearBits(&BitMapHeader
), 12);
272 RtlInitializeBitMap(&BitMapHeader
, Buffer
, 56);
273 ok_int(RtlNumberOfClearBits(&BitMapHeader
), 26);
277 Test_RtlFindClearBits(void)
279 RTL_BITMAP BitMapHeader
;
282 Buffer
[0] = 0x060F874D;
283 Buffer
[1] = 0x3F303F30;
285 RtlInitializeBitMap(&BitMapHeader
, Buffer
, 0);
286 ok_int(RtlFindClearBits(&BitMapHeader
, 0, 0), 0);
287 ok_int(RtlFindClearBits(&BitMapHeader
, 0, 3), 0);
288 ok_int(RtlFindClearBits(&BitMapHeader
, 1, 0), -1);
289 ok_int(RtlFindClearBits(&BitMapHeader
, 1, 1), -1);
291 RtlInitializeBitMap(&BitMapHeader
, Buffer
, 8);
292 ok_int(RtlFindClearBits(&BitMapHeader
, 0, 3), 0);
293 ok_int(RtlFindClearBits(&BitMapHeader
, 1, 0), 1);
294 ok_int(RtlFindClearBits(&BitMapHeader
, 1, 1), 1);
295 ok_int(RtlFindClearBits(&BitMapHeader
, 1, 2), 4);
297 ok_int(RtlFindClearBits(&BitMapHeader
, 2, 0), 4);
298 ok_int(RtlFindClearBits(&BitMapHeader
, 3, 0), -1);
300 RtlInitializeBitMap(&BitMapHeader
, Buffer
, 32);
301 ok_int(RtlFindClearBits(&BitMapHeader
, 0, 3), 0);
302 ok_int(RtlFindClearBits(&BitMapHeader
, 0, 21), 16);
303 ok_int(RtlFindClearBits(&BitMapHeader
, 0, 12), 8);
304 ok_int(RtlFindClearBits(&BitMapHeader
, 0, 31), 24);
305 ok_int(RtlFindClearBits(&BitMapHeader
, 0, 32), 0);
306 ok_int(RtlFindClearBits(&BitMapHeader
, 0, 39), 0);
307 ok_int(RtlFindClearBits(&BitMapHeader
, 4, 0), 11);
308 ok_int(RtlFindClearBits(&BitMapHeader
, 5, 0), 20);
309 ok_int(RtlFindClearBits(&BitMapHeader
, 4, 11), 11);
310 ok_int(RtlFindClearBits(&BitMapHeader
, 4, 12), 20);
311 ok_int(RtlFindClearBits(&BitMapHeader
, 2, 11), 11);
312 ok_int(RtlFindClearBits(&BitMapHeader
, 2, 12), 12);
313 ok_int(RtlFindClearBits(&BitMapHeader
, 1, 32), 1);
314 ok_int(RtlFindClearBits(&BitMapHeader
, 4, 32), 11);
315 ok_int(RtlFindClearBits(&BitMapHeader
, 5, 32), 20);
320 Test_RtlFindSetBits(void)
322 RTL_BITMAP BitMapHeader
;
325 Buffer
[0] = 0xF9F078B2;
326 Buffer
[1] = 0x3F303F30;
328 RtlInitializeBitMap(&BitMapHeader
, Buffer
, 0);
329 ok_int(RtlFindSetBits(&BitMapHeader
, 0, 0), 0);
330 ok_int(RtlFindSetBits(&BitMapHeader
, 0, 3), 0);
331 ok_int(RtlFindSetBits(&BitMapHeader
, 1, 0), -1);
332 ok_int(RtlFindSetBits(&BitMapHeader
, 1, 1), -1);
334 RtlInitializeBitMap(&BitMapHeader
, Buffer
, 8);
335 ok_int(RtlFindSetBits(&BitMapHeader
, 0, 3), 0);
336 ok_int(RtlFindSetBits(&BitMapHeader
, 1, 0), 1);
337 ok_int(RtlFindSetBits(&BitMapHeader
, 1, 1), 1);
338 ok_int(RtlFindSetBits(&BitMapHeader
, 1, 2), 4);
340 ok_int(RtlFindSetBits(&BitMapHeader
, 2, 0), 4);
341 ok_int(RtlFindSetBits(&BitMapHeader
, 3, 0), -1);
343 RtlInitializeBitMap(&BitMapHeader
, Buffer
, 32);
344 ok_int(RtlFindSetBits(&BitMapHeader
, 0, 3), 0);
345 ok_int(RtlFindSetBits(&BitMapHeader
, 0, 21), 16);
346 ok_int(RtlFindSetBits(&BitMapHeader
, 0, 12), 8);
347 ok_int(RtlFindSetBits(&BitMapHeader
, 0, 31), 24);
348 ok_int(RtlFindSetBits(&BitMapHeader
, 0, 32), 0);
349 ok_int(RtlFindSetBits(&BitMapHeader
, 0, 39), 0);
350 ok_int(RtlFindSetBits(&BitMapHeader
, 4, 0), 11);
351 ok_int(RtlFindSetBits(&BitMapHeader
, 5, 0), 20);
352 ok_int(RtlFindSetBits(&BitMapHeader
, 4, 11), 11);
353 ok_int(RtlFindSetBits(&BitMapHeader
, 4, 12), 20);
354 ok_int(RtlFindSetBits(&BitMapHeader
, 2, 11), 11);
355 ok_int(RtlFindSetBits(&BitMapHeader
, 1, 32), 1);
356 ok_int(RtlFindSetBits(&BitMapHeader
, 4, 32), 11);
357 ok_int(RtlFindSetBits(&BitMapHeader
, 5, 32), 20);
362 Test_RtlFindClearBitsAndSet(void)
364 RTL_BITMAP BitMapHeader
;
367 Buffer
[0] = 0x060F874D;
368 Buffer
[1] = 0x3F303F30;
370 RtlInitializeBitMap(&BitMapHeader
, Buffer
, 0);
371 ok_int(RtlFindClearBitsAndSet(&BitMapHeader
, 0, 0), 0);
372 ok_int(RtlFindClearBitsAndSet(&BitMapHeader
, 0, 3), 0);
373 ok_int(RtlFindClearBitsAndSet(&BitMapHeader
, 1, 0), -1);
374 ok_int(RtlFindClearBitsAndSet(&BitMapHeader
, 1, 1), -1);
375 ok_hex(Buffer
[0], 0x060F874D);
377 Buffer
[0] = 0x060F874D;
378 RtlInitializeBitMap(&BitMapHeader
, Buffer
, 8);
379 ok_int(RtlFindClearBitsAndSet(&BitMapHeader
, 1, 0), 1);
380 ok_hex(Buffer
[0], 0x60f874f);
381 ok_int(RtlFindClearBitsAndSet(&BitMapHeader
, 1, 1), 4);
382 ok_hex(Buffer
[0], 0x60f875f);
383 ok_int(RtlFindClearBitsAndSet(&BitMapHeader
, 1, 2), 5);
384 ok_hex(Buffer
[0], 0x60f877f);
385 ok_int(RtlFindClearBitsAndSet(&BitMapHeader
, 2, 0), -1);
386 ok_hex(Buffer
[0], 0x60f877f);
388 Buffer
[0] = 0x060F874D;
389 RtlInitializeBitMap(&BitMapHeader
, Buffer
, 32);
390 ok_int(RtlFindClearBitsAndSet(&BitMapHeader
, 4, 0), 11);
391 ok_hex(Buffer
[0], 0x60fff4d);
392 ok_int(RtlFindClearBitsAndSet(&BitMapHeader
, 5, 0), 20);
393 ok_hex(Buffer
[0], 0x7ffff4d);
394 ok_int(RtlFindClearBitsAndSet(&BitMapHeader
, 4, 11), 27);
395 ok_hex(Buffer
[0], 0x7fffff4d);
397 Buffer
[0] = 0x060F874D;
398 ok_int(RtlFindClearBitsAndSet(&BitMapHeader
, 4, 12), 20);
399 ok_hex(Buffer
[0], 0x6ff874d);
400 ok_int(RtlFindClearBitsAndSet(&BitMapHeader
, 2, 11), 11);
401 ok_hex(Buffer
[0], 0x6ff9f4d);
402 ok_int(RtlFindClearBitsAndSet(&BitMapHeader
, 2, 12), 13);
403 ok_hex(Buffer
[0], 0x6ffff4d);
407 Test_RtlFindSetBitsAndClear(void)
409 RTL_BITMAP BitMapHeader
;
412 Buffer
[0] = 0xF9F078B2;
413 Buffer
[1] = 0x3F303F30;
415 RtlInitializeBitMap(&BitMapHeader
, Buffer
, 0);
416 ok_int(RtlFindSetBitsAndClear(&BitMapHeader
, 0, 0), 0);
417 ok_int(RtlFindSetBitsAndClear(&BitMapHeader
, 0, 3), 0);
418 ok_int(RtlFindSetBitsAndClear(&BitMapHeader
, 1, 0), -1);
419 ok_int(RtlFindSetBitsAndClear(&BitMapHeader
, 1, 1), -1);
420 ok_hex(Buffer
[0], 0xF9F078B2);
422 Buffer
[0] = 0xF9F078B2;
423 RtlInitializeBitMap(&BitMapHeader
, Buffer
, 8);
424 ok_int(RtlFindSetBitsAndClear(&BitMapHeader
, 1, 0), 1);
425 ok_hex(Buffer
[0], 0xf9f078b0);
426 ok_int(RtlFindSetBitsAndClear(&BitMapHeader
, 1, 1), 4);
427 ok_hex(Buffer
[0], 0xf9f078a0);
428 ok_int(RtlFindSetBitsAndClear(&BitMapHeader
, 1, 2), 5);
429 ok_hex(Buffer
[0], 0xf9f07880);
430 ok_int(RtlFindSetBitsAndClear(&BitMapHeader
, 2, 0), -1);
431 ok_hex(Buffer
[0], 0xf9f07880);
433 Buffer
[0] = 0xF9F078B2;
434 RtlInitializeBitMap(&BitMapHeader
, Buffer
, 32);
435 ok_int(RtlFindSetBitsAndClear(&BitMapHeader
, 4, 0), 11);
436 ok_hex(Buffer
[0], 0xf9f000b2);
437 ok_int(RtlFindSetBitsAndClear(&BitMapHeader
, 5, 0), 20);
438 ok_hex(Buffer
[0], 0xf80000b2);
439 ok_int(RtlFindSetBitsAndClear(&BitMapHeader
, 4, 11), 27);
440 ok_hex(Buffer
[0], 0x800000b2);
442 Buffer
[0] = 0xF9F078B2;
443 ok_int(RtlFindSetBitsAndClear(&BitMapHeader
, 4, 12), 20);
444 ok_hex(Buffer
[0], 0xf90078b2);
445 ok_int(RtlFindSetBitsAndClear(&BitMapHeader
, 2, 11), 11);
446 ok_hex(Buffer
[0], 0xf90060b2);
447 ok_int(RtlFindSetBitsAndClear(&BitMapHeader
, 2, 12), 13);
448 ok_hex(Buffer
[0], 0xf90000b2);
453 Test_RtlFindNextForwardRunClear(void)
455 RTL_BITMAP BitMapHeader
;
459 Buffer
[0] = 0xF9F078B2;
460 Buffer
[1] = 0x3F303F30;
462 RtlInitializeBitMap(&BitMapHeader
, Buffer
, 0);
463 ok_int(RtlFindNextForwardRunClear(&BitMapHeader
, 0, &Index
), 0);
465 ok_int(RtlFindNextForwardRunClear(&BitMapHeader
, 1, &Index
), 0);
469 RtlInitializeBitMap(&BitMapHeader
, Buffer
, 8);
470 ok_int(RtlFindNextForwardRunClear(&BitMapHeader
, 0, &Index
), 1);
472 ok_int(RtlFindNextForwardRunClear(&BitMapHeader
, 1, &Index
), 2);
474 ok_int(RtlFindNextForwardRunClear(&BitMapHeader
, 7, &Index
), 0);
476 ok_int(RtlFindNextForwardRunClear(&BitMapHeader
, 17, &Index
), 0);
478 ok_int(RtlFindNextForwardRunClear(&BitMapHeader
, 39, &Index
), 0);
483 Test_RtlFindFirstRunClear(void)
488 Test_RtlFindLastBackwardRunClear(void)
493 Test_RtlFindClearRuns(void)
498 Test_RtlFindLongestRunClear(void)
503 START_TEST(RtlBitmap
)
505 Test_RtlFindMostSignificantBit();
506 Test_RtlFindLeastSignificantBit();
507 Test_RtlInitializeBitMap();
508 Test_RtlClearAllBits();
509 Test_RtlSetAllBits();
512 Test_RtlAreBitsClear();
513 Test_RtlAreBitsSet();
514 Test_RtlNumberOfSetBits();
515 Test_RtlNumberOfClearBits();
516 Test_RtlFindClearBits();
517 Test_RtlFindSetBits();
518 Test_RtlFindClearBitsAndSet();
519 Test_RtlFindSetBitsAndClear();
520 Test_RtlFindNextForwardRunClear();
521 Test_RtlFindFirstRunClear();
522 Test_RtlFindLastBackwardRunClear();
523 Test_RtlFindClearRuns();
524 Test_RtlFindLongestRunClear();