SWbemLastError-Objekt
Die Methoden und Eigenschaften des SWbemLastError-Objekts enthalten Fehlerobjekte und bearbeiten sie. Die Methoden und Eigenschaften dieses Objekts sind identisch mit denen des SWbemObject-Objekts, werden jedoch verwendet, um Fehlerinformationen anstelle von WMI-Klasseninformationen zu enthalten. Dieses Objekt kann durch den VBScript-CreateObject-Aufruf 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, schlägt der Versuch fehl, 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, schlagen fehl, bis ein neuer Fehler auftritt. Wenn Sie einen asynchronen Aufruf vornehmen, bei dem ein Fehler auftritt, wird ihnen möglicherweise vom SWbemSink.OnCompleted-Ereignis im objWbemErrorObject-Parameter ein SWbemLastError-Objekt zurückgegeben.
Members
Das SWbemLastError-Objekt verfügt über diese Typen von Membern:
Methoden
Das SWbemLastError-Objekt verfügt über diese Methoden.
| Methode | BESCHREIBUNG |
|---|---|
| Associators_ | Wird nicht verwendet. Das SWbemObject-Objekt stellt die gleiche Methode bereit. |
| AssociatorsAsync_ | Wird nicht verwendet. Das SWbemObject-Objekt stellt die gleiche Methode bereit. |
| Klon_ | Erstellt eine Kopie des aktuellen -Objekts. |
| Compareto_ | Testet zwei -Objekte auf Gleichheit. |
| Löschen_ | Wird nicht verwendet. Das SWbemObject-Objekt stellt die gleiche Methode bereit. |
| DeleteAsync_ | Wird nicht verwendet. Das SWbemObject-Objekt stellt die gleiche Methode bereit. |
| ExecMethod_ | Wird nicht verwendet. Das SWbemObject-Objekt stellt die gleiche Methode bereit. |
| ExecMethodAsync_ | Wird nicht verwendet. Das SWbemObject-Objekt stellt die gleiche Methode bereit. |
| GetObjectText_ | Ruft die Textdarstellung des Mit MOF-Syntax geschriebenen Objekts ab. |
| Instanzen_ | Wird nicht verwendet. Das SWbemObject-Objekt stellt die gleiche Methode bereit. |
| InstancesAsync_ | Wird nicht verwendet. Das SWbemObject-Objekt stellt die gleiche Methode bereit. |
| Put_ | Wird nicht verwendet. Das SWbemObject-Objekt stellt die gleiche Methode bereit. |
| PutAsync_ | Wird nicht verwendet. Das SWbemObject-Objekt stellt die gleiche Methode bereit. |
| Literatur_ | Wird nicht verwendet. Das SWbemObject-Objekt stellt die gleiche Methode bereit. |
| ReferencesAsync_ | Wird nicht verwendet. Das SWbemObject-Objekt stellt die gleiche Methode bereit. |
| SpawnDerivedClass_ | Wird nicht verwendet. Das SWbemObject-Objekt stellt die gleiche Methode bereit. |
| SpawnInstance_ | Wird nicht verwendet. Das SWbemObject-Objekt stellt die gleiche Methode bereit. |
| Unterklassen von werden erstellt._ | Wird nicht verwendet. Das SWbemObject-Objekt stellt die gleiche Methode bereit. |
| UnterklassenAsync_ | Wird nicht verwendet. Das SWbemObject-Objekt stellt die gleiche Methode bereit. |
Eigenschaften
Das SWbemLastError-Objekt verfügt über diese Eigenschaften.
| Eigenschaft | Zugriffstyp | BESCHREIBUNG |
|---|---|---|
| Ableitung_ |
Schreibgeschützt |
Wird nicht verwendet. Das SWbemObject-Objekt stellt die gleiche Methode bereit. |
| Methoden_ |
Schreibgeschützt |
Wird nicht verwendet. Das SWbemObject-Objekt stellt die gleiche Methode bereit. |
| Pfad_ |
Schreibgeschützt |
Enthält ein SWbemObjectPath-Objekt, das den Objektpfad der aktuellen Klasse oder Instanz darstellt. |
| Eigenschaften_ |
Schreibgeschützt |
Stellt die Auflistung der Eigenschaften des SWbemLastError-Objekts dar. Diese Eigenschaft ist ein SWbemPropertySet-Objekt. |
| Qualifikation_ |
Schreibgeschützt |
Wird nicht verwendet. Das SWbemObject-Objekt stellt die gleiche Methode bereit. |
| Sicherheit_ |
Schreibgeschützt |
Wird nicht verwendet. Das SWbemObject-Objekt stellt die gleiche 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";
}
}
Requirements (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 |