Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Nadat u hebt vastgesteld welke toepassing de bron van een probleem is, moet u achterhalen welke fout is opgetreden. Er worden fouten gegenereerd en gerapporteerd in verschillende indelingen, afhankelijk van de taal die uw toepassing gebruikt.
In Microsoft Visual C++ worden geslaagde, waarschuwings- en foutwaarden geretourneerd met behulp van een 32-bits getal dat bekend staat als een HRESULT-. Zie het headerbestand Winerror.h dat is opgenomen in de Windows SDK voor een lijst met door het systeem gedefinieerde HRESULT waarden. Dit bestand bevat alle COM+-foutcodes en beschrijvingen. Zie Foutafhandelingvoor meer informatie over HRESULT- waarden.
In de Java-taal wordt een exemplaar van com.ms.com.ComFailException gegenereerd om een fout aan te geven, waarbij het object ComFailException een HRESULT-opgeeft. Een instantie van com.ms.com.ComSuccessException geeft aan dat er sprake is van succes met een retourwaarde van False. Zie de documentatie van Microsoft Visual J++ voor informatie over het interpreteren van deze uitzonderingen.
Notitie
COM+-toepassingsserverprocessen die als host fungeren voor Visual J++-objecten, worden niet inactief (zelfs niet met nul actieve objecten), tenzij u JIT-foutopsporing uitschakelt in de VJ6 IDE. Zie de Documentatie voor Visual J++ voor meer informatie over hoe u dit doet.
In Visual Basic kunt u HRESULT- waarden ophalen door de eigenschap Err.Number te onderzoeken. Een beschrijving van de fout kan worden opgehaald met de eigenschap Err.Description.
U kunt ook het hulpprogramma ERRLOOK in Microsoft Visual Studio gebruiken om een systeemfoutbericht of modulefoutbericht op te halen. ERRLOOK haalt de tekst van het foutbericht automatisch op als u een hexadecimale of decimale waarde sleept vanuit het Visual Studio-foutopsporingsprogramma of een andere Automation-toepassing. U kunt ook een waarde invoeren door deze in of te plakken vanaf het IDE-klembord en op de optie Opzoeken te klikken.
Met de volgende C++-methode wordt een beschrijving van de fout afgedrukt op basis van de invoer HRESULT-.
#include <stdio.h>
#include <windows.h>
#include <tchar.h>
void ErrorDescription(HRESULT hr)
{
if(FACILITY_WINDOWS == HRESULT_FACILITY(hr))
hr = HRESULT_CODE(hr);
TCHAR* szErrMsg;
if(FormatMessage(
FORMAT_MESSAGE_ALLOCATE_BUFFER|FORMAT_MESSAGE_FROM_SYSTEM,
NULL, hr, MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),
(LPTSTR)&szErrMsg, 0, NULL) != 0)
{
_tprintf(TEXT("%s"), szErrMsg);
LocalFree(szErrMsg);
} else
_tprintf( TEXT("[Could not find a description for error # %#x.]\n"), hr);
}
De volgende tabel bevat beschrijvingen van veelvoorkomende foutcodes in COM+.
| Foutcodes | Definities |
|---|---|
| COMADMIN_E_ALREADYINSTALLED |
Het object is al geregistreerd. |
| COMADMIN_E_APP_FILE_READFAIL |
Er is een fout opgetreden bij het lezen van het toepassingsbestand. |
| COMADMIN_E_APP_FILE_VERSION |
Ongeldig versienummer in toepassingsbestand. |
| COMADMIN_E_APP_FILE_WRITEFAIL |
Er is een fout opgetreden bij het schrijven naar het toepassingsbestand. |
| COMADMIN_E_APPDIRNOTFOUND |
De installatiemap van de toepassing is niet gevonden. |
| COMQC_E_APPLICATION_NOT_QUEUED |
Alleen COM+-toepassingen die als 'in wachtrij' zijn gemarkeerd, kunnen worden gemaakt met behulp van de moniker 'wachtrij'. |
| COMADMIN_E_APPLICATIONEXISTS |
De toepassing is al geïnstalleerd. |
| COMADMIN_E_APPLID_MATCHES_CLSID |
Een CLSID met dezelfde GUID als de nieuwe toepassings-id is al geïnstalleerd op deze computer. |
| COMADMIN_E_APP_NOT_RUNNING |
De opgegeven toepassing wordt momenteel niet uitgevoerd. |
| COMADMIN_E_AUTHENTICATIONLEVEL |
Kan het vereiste verificatieniveau voor de updateaanvraag niet instellen. |
| COMADMIN_E_BADPATH |
Het bestandspad is ongeldig. |
| COMADMIN_E_BADREGISTRYLIBID |
De bibliotheek-id van het geregistreerde type is ongeldig. |
| COMADMIN_E_BADREGISTRYPROGID |
De ProgID van het onderdeel ontbreekt of is beschadigd. |
| COMADMIN_E_CAN_NOT_EXPORT_APP_PROXY |
De toepassingsproxy kan niet worden geëxporteerd. |
| COMADMIN_E_KAN_APP_NIET_STARTEN |
Kan de toepassing niet starten omdat het een bibliotheektoepassing of een toepassingsproxy is. |
| COMADMIN_E_CAN_NOT_EXPORT_SYS_APP (Kan systeemsysteemapplicatie niet exporteren) |
De systeemtoepassing kan niet worden geëxporteerd. |
| COMADMIN_E_CANT_SUBSCRIBE_TO_COMPONENT |
De gebruiker kan zich niet abonneren op dit onderdeel omdat het onderdeel mogelijk is geïmporteerd. |
| No improvements are necessary, as technical terms or codes are typically left untranslated to ensure consistency with software documentation and error reporting. |
Er is een fout opgetreden bij het kopiëren van het bestand. |
| COMADMIN_E_CLSIDORIIDMISMATCH |
CLSID's of IIDs van applicatiebestanden komen niet overeen met de bijbehorende DLL's. |
| COMADMIN_E_COMP_MOVE_BAD_DEST |
De verplaatsing van het onderdeel is mislukt omdat de doeltoepassing niet meer bestaat. |
| COMADMIN_E_COMP_MOVE_GEBLOKKEERD |
De verplaatsing van het onderdeel is niet toegestaan omdat de bron- of doeltoepassing een systeemtoepassing is of momenteel is vergrendeld tegen wijzigingen. |
| COMADMIN_E_COMPFILE_BADTLB |
De typebibliotheek kan niet worden geladen. |
| COMADMIN_E_COMPFILE_CLASSNOTAVAIL |
Het DLL-bestand biedt geen ondersteuning voor de onderdelen die worden vermeld in de typebibliotheek. |
| COMADMIN_E_COMPFILE_DOESNOTEXIST |
Dit bestand bestaat niet. |
| COMADMIN_E_COMPFILE_GETCLASSOBJ |
De methode GetClassObject is mislukt in het DLL-bestand. |
| COMADMIN_E_COMPFILE_LOADDLLFAIL |
Het DLL-bestand kan niet worden geladen. |
| COMADMIN_E_COMPFILE_NOREGISTRAR |
De componentregistrar waarnaar in dit bestand wordt verwezen, is niet beschikbaar. |
| COMADMIN_E_COMPFILE_NOTINSTALLABLE |
Het bestand bevat geen onderdelen of onderdeelgegevens. |
| COMADMIN_E_COREQCOMPINSTALLED |
Er is al een onderdeel in hetzelfde DLL-bestand geïnstalleerd. |
| COMADMIN_E_DLLLOADFAILED (DLL laden mislukt) |
Het DLL-bestand kan niet worden geladen. |
| COMADMIN_E_DLLREGISTERSERVER |
De functie DllRegisterServer is mislukt toen het onderdeel werd geïnstalleerd. |
| COMADMIN_E_EVENTCLASS_CANT_BE_SUBSCRIBER |
Een gebeurtenisklasse kan niet worden geconfigureerd als abonneeonderdeel. Wanneer er een poging wordt gedaan om een abonnement te maken met een gebeurtenisklasse als abonnee, wordt deze fout geretourneerd. |
| COMADMIN_E_INVALIDUSERIDS |
Een of meer gebruikers in het toepassingsbestand zijn ongeldig. |
| COMADMIN_E_KEYMISSING |
Het object is niet gevonden in de catalogus. |
| COMADMIN_E_LIB_APP_PROXY_INCOMPATIBLE |
Bibliotheektoepassingen en toepassingsproxy's zijn niet compatibel. Deze fout wordt geretourneerd wanneer er een poging wordt gedaan om een toepassingsproxy te exporteren en de activeringseigenschap van de toepassing een bibliotheek is. |
| COMADMIN_E_NOREGISTRYCLSID |
De CLSID van het onderdeel ontbreekt of is beschadigd. |
| COMADMIN_E_NOSERVERSHARE |
Er is geen serverbestandsshare beschikbaar. |
| COMADMIN_F_NIETWIJZIGBAAR |
Wijzigingen in dit object en de bijbehorende subobjecten zijn uitgeschakeld. |
| COMADMIN_E_NOTDELETEABLE |
De verwijderfunctie is uitgeschakeld voor dit object. |
| COMADMIN_E_NOTINREGISTRY |
Het object is niet gevonden in het register. |
| COMADMIN_E_NOUSER |
Een of meer gebruikers zijn ongeldig. |
| COMADMIN_E_OBJECT_BESTAAT_NIET |
Een van de opgegeven objecten kan niet worden gevonden. |
| COMADMIN_E_OBJECT_PARENT_MISSING |
Een van de objecten die worden ingevoegd of bijgewerkt, behoort niet tot een geldige bovenliggende verzameling. |
| COMADMIN_E_OBJECTERRORS |
Er zijn fouten opgetreden bij het openen van een of meer objecten. Zie de verzameling ErrorInfo voor meer informatie. |
| COMADMIN_E_OBJECTEXISTS |
Het object dat u probeert toe te voegen of de naam ervan te wijzigen, bestaat al. |
| COMADMIN_E_OBJECTINVALID |
Een of meer eigenschappen van het object ontbreken of zijn ongeldig. |
| COMADMIN_E_OBJECTNOTPOOLABLE |
Dit object kan niet worden gepoold. |
| COMADMIN_E_PROPERTYSAVEFAILED |
Een of meer eigenschapsinstellingen zijn ongeldig of conflicteren met elkaar. |
| COMADMIN_E_PROPERTY_OVERFLOW (eigenschap-overschrijdingsfout) |
De waarde van de eigenschap is te groot. |
| COMADMIN_E_REGFILE_CORRUPT |
Het registratiebestand is beschadigd. |
| COMADMIN_E_REGISTERTLB |
Het systeem kan de typebibliotheek niet registreren. |
| COMADMIN_E_REGISTRARFAILED |
Er zijn fouten opgetreden in de componentenregistratie. |
| COMADMIN_E_REMOTEINTERFACE |
Interfacegegevens ontbreken of zijn gewijzigd. |
| COMADMIN_E_REQUIRES_DIFFERENT_PLATFORM |
Deze bewerking is niet ingeschakeld op dit platform. |
| COMADMIN_E_ROLE_DOES_NOT_EXIST |
Er bestaat geen rol die is toegewezen aan een onderdeel, interface of methode in de toepassing. |
| COMADMIN_E_ROLEEXISTS |
De rol bestaat al. |
| COMADMIN_E_SERVICENOTINSTALLED |
De service is niet geïnstalleerd. |
| COMADMIN_E_SESSION |
De servercatalogusversie wordt niet ondersteund. |
| COMADMIN_S_SOMEALREADYPAUSED |
Een of meer van de opgegeven toepassingsprocessen zijn al onderbroken. |
| COMADMIN_S_SOMEALREADYRUNNING |
Een of meer van de opgegeven toepassingsprocessen zijn al uitgevoerd. |
| COMADMIN_E_START_APP_HEEFT_COMPONENTEN_NODIG |
Als u de toepassing wilt starten, moet u onderdelen in een toepassing hebben. |
| COMADMIN_E_SVCAPP_NOT_DEELBAAR_OF_HERBRUIKBAAR |
De COM+-toepassingen die als een NT-service worden uitgevoerd, worden mogelijk niet gemarkeerd als gegroepeerd of gerecycled. |
| COMADMIN_E_SYSTEMAPP |
Deze bewerking kan niet worden uitgevoerd op de systeemtoepassing. |
| COMADMIN_E_USER_IN_SET |
Een of meer gebruikers zijn al toegewezen aan een lokale partitieset. |
| Ongeldige gebruikersnaam of wachtwoord voor COMADMIN (COMADMIN_E_USERPASSWDNOTVALID) |
De identiteit of het wachtwoord die voor de toepassing is ingesteld, is ongeldig. |