PPH_STRING EtpGetGpuNameString( VOID ) { PPH_STRING description; if (EtGetGpuAdapterCount() == 1) { description = EtGetGpuAdapterDescription(0); if (!description) description = PhReferenceEmptyString(); } else if (EtGetGpuAdapterCount() > 1) { description = PhCreateString(L"Multiple GPUs"); } else { description = PhReferenceEmptyString(); } return description; }
PPH_STRING EtpGetGpuNameString( VOID ) { ULONG i; ULONG count; PH_STRING_BUILDER sb; count = EtGetGpuAdapterCount(); PhInitializeStringBuilder(&sb, 100); for (i = 0; i < count; i++) { PPH_STRING description; description = EtGetGpuAdapterDescription(i); if (!PhIsNullOrEmptyString(description)) { // Ignore "Microsoft Basic Render Driver" unless we don't have any other adapters. // This does not take into account localization. if (count == 1 || !PhEqualString2(description, L"Microsoft Basic Render Driver", TRUE)) { PhAppendStringBuilder(&sb, &description->sr); PhAppendStringBuilder2(&sb, L", "); } } if (description) PhDereferenceObject(description); } if (sb.String->Length != 0) PhRemoveEndStringBuilder(&sb, 2); return PhFinalStringBuilderString(&sb); }