Oggetto SWbemLastError
I metodi e le proprietà dell'oggetto SWbemLastError contengono e modificano gli oggetti di errore. I metodi e le proprietà di questo oggetto sono esattamente uguali a quelli dell'oggetto SWbemObject , ma vengono usati per contenere informazioni sugli errori anziché le informazioni sulla classe WMI. Questo oggetto può essere creato dalla chiamata CreateObject VBScript.
È possibile creare un oggetto errore SWbemLastError per esaminare le informazioni di errore estese associate a una chiamata di metodo precedente. Se le informazioni sull'errore non sono disponibili, un tentativo di creazione di un oggetto errore avrà esito negativo. Se la chiamata ha esito positivo e restituisce un oggetto di errore, lo stato dell'oggetto viene reimpostato. Altri tentativi di recupero di un oggetto errore avranno esito negativo fino a quando non si verifica un nuovo errore. Se si effettua una chiamata asincrona che ha esito negativo, un oggetto SWbemLastError può essere restituito dall'evento SWbemSink.OnCompleted nel parametro objWbemErrorObject .
Membri
L'oggetto SWbemLastError include questi tipi di membri:
Metodi
L'oggetto SWbemLastError include questi metodi.
Metodo | Descrizione |
---|---|
Associators_ | Non usato. L'oggetto SWbemObject fornisce lo stesso metodo. |
AssociatorsAsync_ | Non usato. L'oggetto SWbemObject fornisce lo stesso metodo. |
Clone_ | Crea una copia dell'oggetto corrente. |
CompareTo_ | Verifica due oggetti per l'uguaglianza. |
Elimina_ | Non usato. L'oggetto SWbemObject fornisce lo stesso metodo. |
DeleteAsync_ | Non usato. L'oggetto SWbemObject fornisce lo stesso metodo. |
ExecMethod_ | Non usato. L'oggetto SWbemObject fornisce lo stesso metodo. |
ExecMethodAsync_ | Non usato. L'oggetto SWbemObject fornisce lo stesso metodo. |
GetObjectText_ | Recupera la rappresentazione testuale dell'oggetto scritto con sintassi MOF. |
Istanze_ | Non usato. L'oggetto SWbemObject fornisce lo stesso metodo. |
InstancesAsync_ | Non usato. L'oggetto SWbemObject fornisce lo stesso metodo. |
Mettere_ | Non usato. L'oggetto SWbemObject fornisce lo stesso metodo. |
PutAsync_ | Non usato. L'oggetto SWbemObject fornisce lo stesso metodo. |
Riferimenti_ | Non usato. L'oggetto SWbemObject fornisce lo stesso metodo. |
ReferencesAsync_ | Non usato. L'oggetto SWbemObject fornisce lo stesso metodo. |
SpawnDerivedClass_ | Non usato. L'oggetto SWbemObject fornisce lo stesso metodo. |
SpawnInstance_ | Non usato. L'oggetto SWbemObject fornisce lo stesso metodo. |
Sottoclassi_ | Non usato. L'oggetto SWbemObject fornisce lo stesso metodo. |
SubclassesAsync_ | Non usato. L'oggetto SWbemObject fornisce lo stesso metodo. |
Proprietà
L'oggetto SWbemLastError ha queste proprietà.
Proprietà | Tipo di accesso | Descrizione |
---|---|---|
Derivazione_ |
Sola lettura |
Non usato. L'oggetto SWbemObject fornisce lo stesso metodo. |
Metodi_ |
Sola lettura |
Non usato. L'oggetto SWbemObject fornisce lo stesso metodo. |
Percorso_ |
Sola lettura |
Contiene un oggetto SWbemObjectPath che rappresenta il percorso dell'oggetto della classe o dell'istanza corrente. |
Proprietà_ |
Sola lettura |
Rappresenta l'insieme di proprietà dell'oggetto SWbemLastError . Questa proprietà è un oggetto SWbemPropertySet . |
Qualificazioni_ |
Sola lettura |
Non usato. L'oggetto SWbemObject fornisce lo stesso metodo. |
Sicurezza_ |
Sola lettura |
Non usato. L'oggetto SWbemObject fornisce lo stesso metodo. |
Esempio
Nell'esempio di VBScript seguente viene illustrato come esaminare le informazioni sugli oggetti errore e di errore.
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
Nell'esempio Perl seguente viene illustrato come esaminare le informazioni sugli errori e sugli oggetti di errore.
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";
}
}
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato |
Windows Vista |
Server minimo supportato |
Windows Server 2008 |
Intestazione |
|
Libreria dei tipi |
|
DLL |
|
CLSID |
CLSID_SWbemLastError |
IID |
IID_ISWbemLastError |