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 |
|
Pustaka jenis |
|
DLL |
|
CLSID |
CLSID_SWbemLastError |
IID |
IID_ISWbemLastError |