Delen via


Helper-foutcodes voor prestatiegegevens

Alle PDH-functies (Performance Data Helper) retourneren een waarde van het type PDH_STATUS. Als de functie slaagt, wordt de retourwaarde ERROR_SUCCESS. Anders retourneert de functie een systeemfoutcode of een PDH-foutcode. Als u de beschrijvingstekst voor de fout in uw toepassing wilt ophalen, gebruikt u de functie FormatMessage, zoals wordt weergegeven in het volgende voorbeeld.

#include <windows.h>
#include <stdio.h>
#include <pdhmsg.h>

void main(void)
{
    HANDLE hPdhLibrary = NULL;
    LPWSTR pMessage = NULL;
    DWORD dwErrorCode = PDH_PLA_ERROR_ALREADY_EXISTS;

    hPdhLibrary = LoadLibrary(L"pdh.dll");
    if (NULL == hPdhLibrary)
    {
        wprintf(L"LoadLibrary failed with %lu\n", GetLastError());
        return;
    }

    if (!FormatMessage(FORMAT_MESSAGE_FROM_HMODULE |
                       FORMAT_MESSAGE_ALLOCATE_BUFFER |
                       FORMAT_MESSAGE_IGNORE_INSERTS,
                       hPdhLibrary,
                       dwErrorCode,
                       0,
                       (LPWSTR)&pMessage,
                       0,
                       NULL))
    {
        wprintf(L"Format message failed with 0x%x\n", GetLastError());
        return;
    }

    wprintf(L"Formatted message: %ls\n", pMessage);
    LocalFree(pMessage);
}

Voor functies voor het verzamelen en opmaken van gegevens is het belangrijk om te onthouden dat de retourwaarde van de functie het succes of de fout van de functie-aanroep aangeeft en niet noodzakelijkerwijs die van de tellergegevens. Controleer altijd het CStatus- lid van de tellerwaarde die wordt geretourneerd om ervoor te zorgen dat de geretourneerde gegevens geldig zijn voordat u deze gebruikt. Als de waarde van het CStatus lid geen succes aangeeft, gebruik de gegevens niet.

De volgende tabel bevat een lijst met foutcodes die specifiek zijn voor PDH. Deze waarden worden gedefinieerd in het pdhmsg.h headerbestand.

Foutcode Beschrijving
0x00000000 (PDH_CSTATUS_GELDIGE_DATA) De geretourneerde gegevens zijn geldig.
0x00000001 (PDH_CSTATUS_NEW_DATA) De retourgegevenswaarde is geldig en verschilt van het laatste voorbeeld.
0x800007D0 (PDH_CSTATUS_NO_MACHINE) Kan geen verbinding maken met de opgegeven computer of de computer is offline.
0x800007D1 (PDH_CSTATUS_NO_INSTANCE) Het opgegeven exemplaar is niet aanwezig.
0x800007D2 (PDH_MORE_DATA) Er zijn meer gegevens die moeten worden geretourneerd dan in de opgegeven buffer past. Wijs een grotere buffer toe en roep de functie opnieuw aan.
0x800007D3 (PDH_CSTATUS_ITEM_NOT_VALIDATED) Het gegevensitem is toegevoegd aan de query, maar is niet gevalideerd of geopend. Er zijn geen andere statusinformatie over dit gegevensitem beschikbaar.
0x800007D4 (PDH_RETRY) De geselecteerde bewerking moet opnieuw worden geprobeerd.
0x800007D5 (PDH_NO_DATA) Geen gegevens die moeten worden geretourneerd.
0x800007D6 (PDH_CALC_NEGATIVE_DENOMINATOR) Er is een teller met een negatieve noemerwaarde gedetecteerd.
0x800007D7 (PDH_CALC_NEGATIVE_TIMEBASE) Er is een teller met een negatieve tijdbasiswaarde gedetecteerd.
0x800007D8 (PDH_CALC_NEGATIVE_VALUE) Er is een teller met een negatieve waarde gedetecteerd.
0x800007D9 (PDH_DIALOG_CANCELLED) De gebruiker heeft het dialoogvenster geannuleerd.
0x800007DA (PDH_END_OF_LOG_FILE) Het einde van het logboekbestand is bereikt.
0x800007DB (PDH_ASYNC_QUERY_TIMEOUT) Er is een time-out opgetreden tijdens het wachten tot de asynchrone tellerverzamelingsthread is beëindigd.
0x800007DC (PDH_CANNOT_SET_DEFAULT_REALTIME_DATASOURCE) Kan de standaardgegevensbron in realtime niet wijzigen. Er zijn realtime querysessies voor het verzamelen van tellergegevens.
0xC0000BB8 (PDH_CSTATUS_NO_OBJECT) Het opgegeven object is niet gevonden op het systeem.
0xC0000BB9 (PDH_CSTATUS_NO_COUNTER) Kan de opgegeven teller niet vinden.
0xC0000BBA (PDH_CSTATUS_INVALID_DATA) De geretourneerde gegevens zijn ongeldig.
0xC0000BBB (PDH_MEMORY_ALLOCATION_FAILURE) Een PDH-functie kan onvoldoende tijdelijk geheugen toewijzen om de bewerking te voltooien. Sluit sommige toepassingen of breid het paginabestand uit en voer de functie opnieuw uit.
0xC0000BBC (PDH_INVALID_HANDLE) Het handvat is geen geldig PDH-object.
0xC0000BBD (PDH_INVALID_ARGUMENT) Een vereist argument ontbreekt of is onjuist.
0xC0000BBE (PDH_FUNCTION_NOT_FOUND) Kan de opgegeven functie niet vinden.
0xC0000BBF (PDH_CSTATUS_NO_COUNTERNAME) Er is geen teller opgegeven.
0xC0000BC0 (PDH_CSTATUS_BAD_COUNTERNAME) Kan het tellerpad niet parseren. Controleer de indeling en syntaxis van het opgegeven pad.
0xC0000BC1 (PDH_INVALID_BUFFER) De buffer die door de aanroeper wordt doorgegeven, is niet geldig.
0xC0000BC2 (PDH_INSUFFICIENT_BUFFER) De aangevraagde gegevens zijn groter dan de opgegeven buffer. Kan de aangevraagde gegevens niet retourneren.
0xC0000BC3 (PDH_CANNOT_CONNECT_MACHINE) Kan geen verbinding maken met de aangevraagde computer.
0xC0000BC4 (PDH_INVALID_PATH) Het opgegeven tellerpad kan niet worden geïnterpreteerd.
0xC0000BC5 (PDH_INVALID_INSTANCE) De exemplaarnaam kon niet worden gelezen uit het opgegeven tellerpad.
0xC0000BC6 (PDH_INVALID_DATA) De gegevens zijn ongeldig.
0xC0000BC7 (PDH_NO_DIALOG_DATA) Het gegevensblok in het dialoogvenster ontbreekt of is ongeldig.
0xC0000BC8 (PDH_CANNOT_READ_NAME_STRINGS) Kan de teller en/of help-tekst van de opgegeven computer niet lezen.
0xC0000BC9 (PDH_LOG_FILE_CREATE_ERROR) Kan het opgegeven logboekbestand niet maken.
0xC0000BCA (PDH_LOG_FILE_OPEN_ERROR) Kan het opgegeven logboekbestand niet openen.
0xC0000BCB ("Logtype niet gevonden") Het opgegeven logboekbestandstype is niet geïnstalleerd op dit systeem.
0xC0000BCC (PDH_NO_MORE_DATA) Er zijn geen gegevens meer beschikbaar.
0xC0000BCD (PDH_ENTRY_NOT_IN_LOG_FILE) De opgegeven record is niet gevonden in het logboekbestand.
0xC0000BCE (PDH_DATA_SOURCE_IS_LOG_FILE) De opgegeven gegevensbron is een logboekbestand.
0xC0000BCF (PDH_DATA_SOURCE_IS_REAL_TIME) De opgegeven gegevensbron is de huidige activiteit.
0xC0000BD0 (PDH_UNABLE_READ_LOG_HEADER) De header van het logboekbestand kan niet worden gelezen.
0xC0000BD1 (PDH_FILE_NOT_FOUND) Kan het opgegeven bestand niet vinden.
0xC0000BD2 (PDH_FILE_ALREADY_EXISTS) Er is al een bestand met de opgegeven bestandsnaam.
0xC0000BD3 (PDH_NOT_IMPLEMENTED: Niet geïmplementeerd) De functie waarnaar wordt verwezen, is niet geïmplementeerd.
0xC0000BD4 (PDH_STRING_NOT_FOUND) Kan de opgegeven tekenreeks niet vinden in de lijst met prestatienaam en help-teksttekenreeksen.
0x80000BD5 (PDH_UNABLE_MAP_NAME_FILES) Kan niet koppelen aan de gegevensbestanden van de prestatiecounternamen. De gegevens worden gelezen uit het register en lokaal opgeslagen.
0xC0000BD6 (PDH_UNKNOWN_LOG_FORMAT) De indeling van het opgegeven logboekbestand wordt niet herkend door de PDH DLL.
0xC0000BD7 (PDH_UNKNOWN_LOGSVC_COMMAND) De opgegeven logserviceopdrachtwaarde wordt niet herkend.
0xC0000BD8 (PDH_LOGSVC_QUERY_NOT_FOUND) De opgegeven query van de logboekservice is niet gevonden of kan niet worden geopend.
0xC0000BD9 (PDH_LOGSVC_NOT_OPENED - PDH logservice niet geopend) De sleutel Performance Data Log Service kan niet worden geopend. Dit kan worden veroorzaakt door onvoldoende bevoegdheden of omdat de service niet is geïnstalleerd.
0xC0000BDA (PDH_WBEM_ERROR) Er is een fout opgetreden bij het openen van het WBEM-gegevensarchief.
0xC0000BDB (PDH_ACCESS_DENIED) Kan geen toegang krijgen tot de gewenste computer of service. Controleer de machtigingen en verificatie van de logboekdienst of de interactieve gebruikerssessie ten opzichte van die op de computer of service die wordt bewaakt.
0xC0000BDC (PDH_LOGBESTAND_TE_KLEIN) De opgegeven maximale grootte van het logboekbestand is te klein om de geselecteerde tellers te registreren. Er worden geen gegevens vastgelegd in dit logboekbestand. Geef een kleinere set tellers op die moeten worden vastgelegd of een grotere bestandsgrootte en voer deze aanroep opnieuw uit.
0xC0000BDD (PDH_INVALID_DATASOURCE) Kan geen verbinding maken met odbc-gegevensbronnaam.
0xC0000BDE (PDH_INVALID_SQLDB) SQL Database bevat geen geldige set tabellen voor Perfmon.
0xC0000BDF (PDH_NO_COUNTERS) Er zijn geen tellers gevonden voor deze Perfmon SQL-logboekset.
0xC0000BE0 (PDH_SQL_ALLOC_FAILED) Aanroepen naar SQLAllocStmt is mislukt met %1.
0xC0000BE1 (PDH_SQL_ALLOCCON_FAILED) Aanroepen naar SQLAllocConnect is mislukt met %1.
0xC0000BE2 (PDH_SQL_EXEC_DIRECT_FAILED) Aanroepen naar SQLExecDirect is mislukt met %1.
0xC0000BE3 (PDH_SQL_FETCH_FAILED) Aanroepen naar SQLFetch is mislukt met %1.
0xC0000BE4 (PDH_SQL_ROWCOUNT_FAILED) Aanroepen naar SQLRowCount is mislukt met %1.
0xC0000BE5 (PDH_SQL_MORE_RESULTS_FAILED) Aanroepen naar SQLMoreResults is mislukt met %1.
0xC0000BE6 (PDH_SQL_CONNECT_FAILED) Aanroepen van SQLConnect is mislukt met %1.
0xC0000BE7 (PDH_SQL_BIND_FAILED) Aanroepen naar SQLBindCol is mislukt met %1.
0xC0000BE8 (PDH_CANNOT_CONNECT_WMI_SERVER) Kan geen verbinding maken met de WMI-server op de aangevraagde computer.
0xC0000BE9 (PDH_PLA_COLLECTION_ALREADY_RUNNING) De verzameling '%1!s!' is al bezig.
0xC0000BEA (PDH_PLA_ERROR_SCHEDULE_OVERLAP) De opgegeven begintijd is na de eindtijd.
0xC0000BEB (PDH_PLA_COLLECTION_NOT_FOUND) De verzameling%1!s! bestaat niet.
0xC0000BEC (PDH_PLA_ERROR_SCHEDULE_ELAPSED) De opgegeven eindtijd is al verstreken.
0xC0000BED (PDH_PLA_ERROR_NOSTART) Verzameling "%1!s! is niet gestart; controleer het gebeurtenislogboek van de toepassing op eventuele fouten.
0xC0000BEE (PDH_PLA_ERROR_ALREADY_EXISTS) De verzameling%1!s! bestaat al.
0xC0000BEF (PDH_PLA_FOUT_TYPE_NIET_OVEREENKOMST) Het instellingentype komt niet overeen.
0xC0000BF0 (PDH_PLA_ERROR_FILEPATH) De opgegeven informatie wordt niet omgezet in een geldige padnaam.
0xC0000BF1 (PDH_PLA_SERVICE_ERROR) De service Prestatielogboeken & Waarschuwingen heeft niet gereageerd.
0xC0000BF2 (PDH_PLA_VALIDATION_ERROR) De doorgegeven informatie is ongeldig.
0x80000BF3 (PDH_PLA_VALIDATION_WARNING) De doorgegeven informatie is ongeldig.
0xC0000BF4 (PDH_PLA_ERROR_NAME_TOO_LONG) De opgegeven naam is te lang.
0xC0000BF5 (PDH_INVALID_SQL_LOG_FORMAT, ongeldig SQL-logboekformaat) Sql-logboekindeling is onjuist. De juiste indeling is SQL:<DSN-name>!<LogSet-Name>.
0xC0000BF6 (PDH_COUNTER_ALREADY_IN_QUERY) Prestatiemeter in PdhAddCounter is al toegevoegd aan de prestatiequery. Deze teller wordt genegeerd.
0xC0000BF7 (PDH_BINARY_LOG_CORRUPT) Kan tellerinformatie en gegevens uit binaire logboekbestanden voor invoer niet lezen.
0xC0000BF8 (PDH_LOG_SAMPLE_TOO_SMALL) Ten minste één van de binaire logboekbestanden voor invoer bevat minder dan twee gegevensvoorbeelden.
0xC0000BF9 (PDH_OS_LATER_VERSION) De versie van het besturingssysteem op de computer met de naam %1 is later dan die op de lokale computer. Deze bewerking is niet beschikbaar vanaf de lokale computer.
0xC0000BFA (PDH_OS_EARLIER_VERSION) %1 ondersteunt %2 of hoger. Controleer de versie van het besturingssysteem op de computer met de naam %3.
0xC0000BFB (PDH_INCORRECT_APPEND_TIME) Het uitvoerbestand moet eerdere gegevens bevatten dan het bestand dat moet worden toegevoegd.
0xC0000BFC (PDH_UNMATCHED_APPEND_COUNTER) Beide bestanden moeten identieke tellers hebben om toe te voegen.
0xC0000BFD (PDH_SQL_ALTER_DETAIL_FAILED) Kan de tabelindeling CounterDetail niet wijzigen in SQL Database.
0xC0000BFE (PDH_QUERY_PERF_DATA_TIMEOUT) Het systeem is bezet. Er is een time-out opgetreden bij het verzamelen van tellergegevens. Probeer het later opnieuw of verhoog de CollectTime registerwaarde.