Objek SWbemLastError

Metode dan properti objek SWbemLastError berisi dan memanipulasi objek kesalahan. Metode dan properti objek ini sama persis dengan metode objek SWbemObject , tetapi digunakan untuk memuat informasi kesalahan alih-alih informasi kelas WMI. Objek ini dapat dibuat oleh panggilan VBScript CreateObject .

Anda dapat membuat objek kesalahan SWbemLastError untuk memeriksa informasi kesalahan yang diperluas yang terkait dengan panggilan metode sebelumnya. Jika informasi kesalahan tidak tersedia, upaya untuk membuat objek kesalahan akan gagal. Jika panggilan berhasil dan objek kesalahan kembali, status objek diatur ulang. Upaya lebih lanjut untuk mengambil objek kesalahan akan gagal sampai terjadi kesalahan baru. Jika Anda melakukan panggilan asinkron yang gagal, objek SWbemLastError dapat dikembalikan kepada Anda oleh peristiwa SWbemSink.OnCompleted dalam parameter objWbemErrorObject .

Anggota

Objek SWbemLastError memiliki jenis anggota ini:

Metode

Objek SWbemLastError memiliki metode ini.

Metode Deskripsi
Associators_ Tidak digunakan. Objek SWbemObject menyediakan metode yang sama.
AssociatorsAsync_ Tidak digunakan. Objek SWbemObject menyediakan metode yang sama.
Clone_ Membuat salinan objek saat ini.
CompareTo_ Menguji dua objek untuk kesetaraan.
Menghapus_ Tidak digunakan. Objek SWbemObject menyediakan metode yang sama.
DeleteAsync_ Tidak digunakan. Objek SWbemObject menyediakan metode yang sama.
ExecMethod_ Tidak digunakan. Objek SWbemObject menyediakan metode yang sama.
ExecMethodAsync_ Tidak digunakan. Objek SWbemObject menyediakan metode yang sama.
GetObjectText_ Mengambil representasi tekstual objek yang ditulis dengan sintaks MOF.
Contoh_ Tidak digunakan. Objek SWbemObject menyediakan metode yang sama.
InstancesAsync_ Tidak digunakan. Objek SWbemObject menyediakan metode yang sama.
Menempatkan_ Tidak digunakan. Objek SWbemObject menyediakan metode yang sama.
PutAsync_ Tidak digunakan. Objek SWbemObject menyediakan metode yang sama.
Referensi_ Tidak digunakan. Objek SWbemObject menyediakan metode yang sama.
ReferencesAsync_ Tidak digunakan. Objek SWbemObject menyediakan metode yang sama.
SpawnDerivedClass_ Tidak digunakan. Objek SWbemObject menyediakan metode yang sama.
SpawnInstance_ Tidak digunakan. Objek SWbemObject menyediakan metode yang sama.
Subclasses_ Tidak digunakan. Objek SWbemObject menyediakan metode yang sama.
SubclassesAsync_ Tidak digunakan. Objek SWbemObject menyediakan metode yang sama.

Properti

Objek SWbemLastError memiliki properti ini.

Properti Jenis akses Deskripsi
Derivasi_
Baca-saja
Tidak digunakan. Objek SWbemObject menyediakan metode yang sama.
Metode_
Baca-saja
Tidak digunakan. Objek SWbemObject menyediakan metode yang sama.
Jalan_
Baca-saja
Berisi objek SWbemObjectPath yang mewakili jalur objek dari kelas atau instans saat ini.
Properti_
Baca-saja
Mewakili kumpulan properti objek SWbemLastError . Properti ini adalah objek SWbemPropertySet .
Kualifikasi_
Baca-saja
Tidak digunakan. Objek SWbemObject menyediakan metode yang sama.
Keamanan_
Baca-saja
Tidak digunakan. Objek SWbemObject menyediakan metode yang sama.

Contoh

Sampel VBScript berikut menunjukkan cara memeriksa informasi objek kesalahan dan kesalahan.

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

Sampel Perl berikut menunjukkan cara memeriksa informasi objek kesalahan dan kesalahan.

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";
 }
}

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung
Windows Vista
Server minimum yang didukung
Windows Server 2008
Header
Wbemdisp.h
Pustaka jenis
Wbemdisp.tlb
DLL
Wbemdisp.dll
CLSID
CLSID_SWbemLastError
IID
IID_ISWbemLastError

Lihat juga

Membuat Skrip Objek API