Example #1
0
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;
}
Example #2
0
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);
}