279{
286 ULONG i,
j,
k, ListSize,
Count, Element, CurrentScale, SortScale, ReportType, FlagMatch;
289
291
292
294 {
295
299
300#if defined(SARCH_XBOX)
301
302
303
304
305#else
306
308
309
311 {
312
317 {
318
320 {
321
327 }
328 }
329 }
330#endif
331 }
332
333
335
336
339 if (!(RawList) || !(TranslatedList))
340 {
341
344 1,
346 __LINE__);
347 }
348
349
352
353
355
356
358 {
359
361 {
362
365 }
366 }
367
368
369 RawFull = RawList->
List;
370
371
374
375
376 for (ReportType = 0; ReportType < 2; ReportType++)
377 {
378
379 if (ReportType == 0)
380 {
383 }
384 else
385 {
386
389 }
390
391
393
394
397 {
398
400 {
401
403 {
404
407 }
408 else
409 {
410
412 continue;
413 }
414 }
415 else
416 {
417
418 if (!CurrentAddress) break;
419
420
421 if (!(CurrentAddress->
Flags & FlagMatch) ||
422 !(CurrentAddress->
Element[Element].Length))
423 {
424
425 Element = 0;
426 CurrentAddress = CurrentAddress->
Next;
427 continue;
428 }
429
430
432 CurrentAddress,
433 Element,
434 &RawPartial,
435 &TranslatedPartial);
436 Element++;
437 }
438
439
441 {
442
444 TranslatedList->
Count++;
445
446
449
450
453
454
457
458
461 }
462
463
464 RawPartialList->
Count++;
465 TranslatedPartialList->Count++;
466
467
469 RtlCopyMemory(CurrentTranslated, &TranslatedPartial,
sizeof(TranslatedPartial));
470
471
472 CurrentRaw++;
473 CurrentTranslated++;
474 }
475 }
476
477
479
480
481 RawFull = RawList->List;
482 TranslatedFull = TranslatedList->
List;
483
484
485 for (
i = 0;
i < RawList->Count;
i++)
486 {
487
490
491
493
494
496 {
497
499
500
501 SortedRaw = CurrentRaw;
502 SortedTranslated = CurrentTranslated;
503
504
506 {
507
509
510
511 if ((SortScale < CurrentScale) ||
512 ((SortScale == CurrentScale) &&
514 {
515
519
520
521 RtlCopyMemory(&TranslatedPartial, CurrentTranslated,
sizeof(TranslatedPartial));
522 RtlCopyMemory(CurrentTranslated, SortedTranslated,
sizeof(TranslatedPartial));
523 RtlCopyMemory(SortedTranslated, &TranslatedPartial,
sizeof(TranslatedPartial));
524
525
527 }
528
529
530 SortedRaw++;
531 SortedTranslated++;
532 }
533
534
535 CurrentRaw++;
536 CurrentTranslated++;
537 }
538
539
542 }
543
544
546
547
549 RawList,
550 TranslatedList,
551 ListSize);
552
553
556
557
559}
DECLSPEC_NORETURN VOID NTAPI KeBugCheckEx(IN ULONG BugCheckCode, IN ULONG_PTR BugCheckParameter1, IN ULONG_PTR BugCheckParameter2, IN ULONG_PTR BugCheckParameter3, IN ULONG_PTR BugCheckParameter4)
#define ExAllocatePoolWithTag(hernya, size, tag)
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint GLint GLint j
NTSTATUS NTAPI HalpMarkAcpiHal(VOID)
VOID NTAPI HalpReportSerialNumber(VOID)
BOOLEAN HalpGetInfoFromACPI
VOID NTAPI HalpBuildPartialFromIdt(IN ULONG Entry, IN PCM_PARTIAL_RESOURCE_DESCRIPTOR RawDescriptor, IN PCM_PARTIAL_RESOURCE_DESCRIPTOR TranslatedDescriptor)
USHORT HalpComPortIrqMapping[][2]
VOID NTAPI HalpBuildPartialFromAddress(IN INTERFACE_TYPE Interface, IN PADDRESS_USAGE CurrentAddress, IN ULONG Element, IN PCM_PARTIAL_RESOURCE_DESCRIPTOR RawDescriptor, IN PCM_PARTIAL_RESOURCE_DESCRIPTOR TranslatedDescriptor)
ADDRESS_USAGE HalpComIoSpace
VOID NTAPI HalpGetResourceSortValue(IN PCM_PARTIAL_RESOURCE_DESCRIPTOR Descriptor, OUT PULONG Scale, OUT PLARGE_INTEGER Value)
PADDRESS_USAGE HalpAddressUsageList
VOID NTAPI HalpBuildAddressMap(VOID)
BOOLEAN NTAPI HalpGetDebugPortTable(VOID)
#define PRIMARY_VECTOR_BASE
NTSTATUS NTAPI IoReportHalResourceUsage(_In_ PUNICODE_STRING HalName, _In_ PCM_RESOURCE_LIST RawResourceList, _In_ PCM_RESOURCE_LIST TranslatedResourceList, _In_ ULONG ResourceListSize)
Reports hardware resources of the HAL in the \Registry\Machine\Hardware\ResourceMap tree.
#define MAXIMUM_IDTVECTOR
struct _CM_FULL_RESOURCE_DESCRIPTOR * PCM_FULL_RESOURCE_DESCRIPTOR
struct _CM_PARTIAL_RESOURCE_DESCRIPTOR * PCM_PARTIAL_RESOURCE_DESCRIPTOR
enum _INTERFACE_TYPE INTERFACE_TYPE
CM_PARTIAL_RESOURCE_LIST PartialResourceList
INTERFACE_TYPE InterfaceType
CM_PARTIAL_RESOURCE_DESCRIPTOR PartialDescriptors[1]
CM_FULL_RESOURCE_DESCRIPTOR List[1]
struct _HalAddressUsage * Next
struct _HalAddressUsage::@1636 Element[]
#define RtlZeroMemory(Destination, Length)
_Must_inspect_result_ _In_ WDFDEVICE _In_ LPCGUID InterfaceType