270{
277 ULONG i,
j,
k, ListSize,
Count,
Port, Element, CurrentScale, SortScale, ReportType, FlagMatch;
281
282
284 {
285
289
290#if defined(SARCH_XBOX)
291
292
293
294
296#else
297
299
300
302 {
303
307 {
308
310 {
311
317 }
318 }
319 }
320#endif
321 }
322
323
325
326
329 if (!(RawList) || !(TranslatedList))
330 {
331
334 1,
336 __LINE__);
337 }
338
339
342
343
345
346
348 {
349
351 {
352
355 }
356 }
357
358
359 RawFull = RawList->
List;
360
361
364
365
366 for (ReportType = 0; ReportType < 2; ReportType++)
367 {
368
369 if (ReportType == 0)
370 {
373 }
374 else
375 {
376
379 }
380
381
383
384
387 {
388
390 {
391
393 {
394
397 }
398 else
399 {
400
402 continue;
403 }
404 }
405 else
406 {
407
408 if (!CurrentAddress) break;
409
410
411 if (!(CurrentAddress->
Flags & FlagMatch) ||
412 !(CurrentAddress->
Element[Element].Length))
413 {
414
415 Element = 0;
416 CurrentAddress = CurrentAddress->
Next;
417 continue;
418 }
419
420
422 CurrentAddress,
423 Element,
424 &RawPartial,
425 &TranslatedPartial);
426 Element++;
427 }
428
429
431 {
432
434 TranslatedList->
Count++;
435
436
439
440
443
444
447
448
451 }
452
453
454 RawPartialList->
Count++;
455 TranslatedPartialList->Count++;
456
457
459 RtlCopyMemory(CurrentTranslated, &TranslatedPartial,
sizeof(TranslatedPartial));
460
461
462 CurrentRaw++;
463 CurrentTranslated++;
464 }
465 }
466
467
469
470
471 RawFull = RawList->List;
472 TranslatedFull = TranslatedList->
List;
473
474
475 for (
i = 0;
i < RawList->Count;
i++)
476 {
477
480
481
483
484
486 {
487
489
490
491 SortedRaw = CurrentRaw;
492 SortedTranslated = CurrentTranslated;
493
494
496 {
497
499
500
501 if ((SortScale < CurrentScale) ||
502 ((SortScale == CurrentScale) &&
504 {
505
509
510
511 RtlCopyMemory(&TranslatedPartial, CurrentTranslated,
sizeof(TranslatedPartial));
512 RtlCopyMemory(CurrentTranslated, SortedTranslated,
sizeof(TranslatedPartial));
513 RtlCopyMemory(SortedTranslated, &TranslatedPartial,
sizeof(TranslatedPartial));
514
515
517 }
518
519
520 SortedRaw++;
521 SortedTranslated++;
522 }
523
524
525 CurrentRaw++;
526 CurrentTranslated++;
527 }
528
529
532 }
533
534
536
537
539 RawList,
540 TranslatedList,
541 ListSize);
542
543
546
547
549}
#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)
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
USHORT HalpComPortIrqMapping[5][2]
VOID NTAPI HalpBuildAddressMap(VOID)
BOOLEAN NTAPI HalpGetDebugPortTable(VOID)
#define PRIMARY_VECTOR_BASE
struct _CM_FULL_RESOURCE_DESCRIPTOR * PCM_FULL_RESOURCE_DESCRIPTOR
struct _CM_PARTIAL_RESOURCE_DESCRIPTOR * PCM_PARTIAL_RESOURCE_DESCRIPTOR
enum _INTERFACE_TYPE INTERFACE_TYPE
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
#define UNREFERENCED_PARAMETER(P)
VOID NTAPI KeBugCheckEx(_In_ ULONG BugCheckCode, _In_ ULONG_PTR BugCheckParameter1, _In_ ULONG_PTR BugCheckParameter2, _In_ ULONG_PTR BugCheckParameter3, _In_ ULONG_PTR BugCheckParameter4)
CM_PARTIAL_RESOURCE_LIST PartialResourceList
INTERFACE_TYPE InterfaceType
CM_PARTIAL_RESOURCE_DESCRIPTOR PartialDescriptors[1]
CM_FULL_RESOURCE_DESCRIPTOR List[1]
struct _HalAddressUsage::@1534 Element[]
struct _HalAddressUsage * Next
#define RtlZeroMemory(Destination, Length)
_Must_inspect_result_ _In_ WDFDEVICE _In_ LPCGUID InterfaceType