SWbemLastError-Objekt
Die Methoden und Eigenschaften des SWbemLastError-Objekts enthalten und bearbeiten Fehlerobjekte. Die Methoden und Eigenschaften dieses Objekts sind identisch mit denen des SWbemObject-Objekts, enthalten jedoch Fehlerinformationen anstelle von WMI-Klasseninformationen. Dieses Objekt kann durch den VBScript-Aufruf CreateObject erstellt werden.
Sie können ein SWbemLastError-Fehlerobjekt erstellen, um die erweiterten Fehlerinformationen zu überprüfen, die einem vorherigen Methodenaufruf zugeordnet sind. Wenn keine Fehlerinformationen verfügbar sind, scheitert der Versuch, ein Fehlerobjekt zu erstellen. Wenn der Aufruf erfolgreich ist und ein Fehlerobjekt zurückgegeben wird, wird der Status des Objekts zurückgesetzt. Weitere Versuche, ein Fehlerobjekt abzurufen, sind erst dann erfolgreich, wenn ein neuer Fehler auftritt. Wenn Sie einen asynchronen Aufruf durchführen, bei dem ein Fehler auftritt, kann vom SWbemSink.OnCompleted-Ereignis im objWbemErrorObject-Parameter ein SWbemLastError-Objekt an Sie zurückgegeben werden.
Member
Das SWbemLastError-Objekt weist die folgenden Typen von Membern auf:
Methoden
Das SWbemLastError-Objekt verfügt über die folgenden Methoden.
Methode | BESCHREIBUNG |
---|---|
Associators_ | Wird nicht verwendet. Das SWbemObject-Objekt stellt dieselbe Methode bereit. |
AssociatorsAsync_ | Wird nicht verwendet. Das SWbemObject-Objekt stellt dieselbe Methode bereit. |
Clone_ | Erstellt eine Kopie des aktuellen Objekts. |
CompareTo_ | Überprüft zwei Objekte auf Gleichheit. |
Delete_ | Wird nicht verwendet. Das SWbemObject-Objekt stellt dieselbe Methode bereit. |
DeleteAsync_ | Wird nicht verwendet. Das SWbemObject-Objekt stellt dieselbe Methode bereit. |
ExecMethod_ | Wird nicht verwendet. Das SWbemObject-Objekt stellt dieselbe Methode bereit. |
ExecMethodAsync_ | Wird nicht verwendet. Das SWbemObject-Objekt stellt dieselbe Methode bereit. |
GetObjectText_ | Ruft die Textdarstellung des Objekts ab, das mit MOF-Syntax geschrieben wurde. |
Instances_ | Wird nicht verwendet. Das SWbemObject-Objekt stellt dieselbe Methode bereit. |
InstancesAsync_ | Wird nicht verwendet. Das SWbemObject-Objekt stellt dieselbe Methode bereit. |
Put_ | Wird nicht verwendet. Das SWbemObject-Objekt stellt dieselbe Methode bereit. |
PutAsync_ | Wird nicht verwendet. Das SWbemObject-Objekt stellt dieselbe Methode bereit. |
References_ | Wird nicht verwendet. Das SWbemObject-Objekt stellt dieselbe Methode bereit. |
ReferencesAsync_ | Wird nicht verwendet. Das SWbemObject-Objekt stellt dieselbe Methode bereit. |
SpawnDerivedClass_ | Wird nicht verwendet. Das SWbemObject-Objekt stellt dieselbe Methode bereit. |
SpawnInstance_ | Wird nicht verwendet. Das SWbemObject-Objekt stellt dieselbe Methode bereit. |
Subclasses_ | Wird nicht verwendet. Das SWbemObject-Objekt stellt dieselbe Methode bereit. |
SubclassesAsync_ | Wird nicht verwendet. Das SWbemObject-Objekt stellt dieselbe Methode bereit. |
Eigenschaften
Das SWbemLastError-Objekt verfügt über die folgenden Eigenschaften.
Eigenschaft | Zugriffstyp | BESCHREIBUNG |
---|---|---|
Derivation_ |
Schreibgeschützt |
Wird nicht verwendet. Das SWbemObject-Objekt stellt dieselbe Methode bereit. |
Methods_ |
Schreibgeschützt |
Wird nicht verwendet. Das SWbemObject-Objekt stellt dieselbe Methode bereit. |
Path_ |
Schreibgeschützt |
Enthält ein SWbemObjectPath-Objekt, das den Objektpfad der aktuellen Klasse oder Instanz repräsentiert. |
Properties_ |
Schreibgeschützt |
Stellt die Sammlung der Eigenschaften des SWbemLastError-Objekts dar. Diese Eigenschaft ist ein SWbemPropertySet-Objekt. |
Qualifiers_ |
Schreibgeschützt |
Wird nicht verwendet. Das SWbemObject-Objekt stellt dieselbe Methode bereit. |
Security_ |
Schreibgeschützt |
Wird nicht verwendet. Das SWbemObject-Objekt stellt dieselbe Methode bereit. |
Beispiele
Im folgenden VBScript-Beispiel wird veranschaulicht, wie Fehler- und Fehlerobjektinformationen überprüft werden.
On Error Resume Next
'Ask for non-existent class to force error
Set t_Service = GetObject("winmgmts://./root/default")
Set t_Object = t_Service.Get("Nosuchclass000")
if Err = 0 Then
WScript.Echo "Got a class"
Else
WScript.Echo ""
WScript.Echo "Err Information:"
WScript.Echo ""
WScript.Echo " Source:", Err.Source
WScript.Echo " Description:", Err.Description
WScript.Echo " Number", "0x" & Hex(Err.Number)
'Create the last error object
set t_Object = CreateObject("WbemScripting.SWbemLastError")
WScript.Echo ""
WScript.Echo "WMI Last Error Information:"
WScript.Echo ""
WScript.Echo " Operation:", t_Object.Operation
WScript.Echo " Provider:", t_Object.ProviderName
strDescr = t_Object.Description
strPInfo = t_Object.ParameterInfo
strCode = t_Object.StatusCode
if (strDescr <> nothing) Then
WScript.Echo " Description:", strDescr
end if
if (strPInfo <> nothing) Then
WScript.Echo " Parameter Info:", strPInfo
end if
if (strCode <> nothing) Then
WScript.Echo " Status:", strCode
end if
WScript.Echo ""
Err.Clear
set t_Object2 = CreateObject("WbemScripting.SWbemLastError")
if Err = 0 Then
WScript.Echo "Got the error object again - this shouldn't have happened!"
Else
Err.Clear
WScript.Echo "Couldn't get last error again - as expected"
End if
End If
Im folgenden Perl-Beispiel wird veranschaulicht, wie Fehler- und Fehlerobjektinformationen überprüft werden.
use strict;
use Win32::OLE;
my ( $t_Service, $t_Object, $t_Object2, $strDescr, $strPInfo, $strCode );
# Close STDERR file handle to eliminate redundant error message
close(STDERR);
# Ask for non-existent class to force error
$t_Service = Win32::OLE->GetObject("winmgmts:{impersonationLevel=impersonate}!\\\\.\\root\\default");
$t_Object = $t_Service->Get("Nosuchclass000");
if (defined $t_Object)
{
print "Got a class\n";
}
else
{
print "\nErr Information:\n\n";
print Win32::OLE->LastError, "\n";
# Create the last error object
$t_Object = new Win32::OLE 'WbemScripting.SWbemLastError';
print "\nWMI Last Error Information:\n\n";
print " Operation: ", $t_Object->{Operation}, "\n";
print " Provider: ", $t_Object->{ProviderName}, "\n";
$strDescr = $t_Object->{Description};
$strPInfo = $t_Object->{ParameterInfo};
$strCode = $t_Object->{StatusCode};
if (defined $strDescr)
{
print " Description: ", $strDescr, "\n";
}
if (defined $strPInfo)
{
print " Parameter Info: ", $strPInfo, "\n";
}
if (defined $strCode)
{
print " Status: ", $strCode, "\n";
}
print "\n";
$t_Object2 = new Win32::OLE 'WbemScripting.SWbemLastError';
if (defined $t_Object2)
{
print "Got the error object again - this shouldn't have happened!\n";
}
else
{
print "Couldn't get last error again - as expected\n";
}
}
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) |
Windows Vista |
Unterstützte Mindestversion (Server) |
Windows Server 2008 |
Header |
|
Typbibliothek |
|
DLL |
|
CLSID |
CLSID_SWbemLastError |
IID |
IID_ISWbemLastError |