SWbemLastError 개체
SWbemLastError 개체의 메서드 및 속성은 오류 개체를 포함하고 조작합니다. 이 개체의 메서드 및 속성은 SWbemObject 개체와 정확히 동일하지만 WMI 클래스 정보 대신 오류 정보를 포함하는 데 사용됩니다. 이 개체는 VBScript CreateObject 호출로 만들 수 있습니다.
SWbemLastError 오류 개체를 만들어 이전 메서드 호출과 연결된 확장 오류 정보를 검사할 수 있습니다. 오류 정보를 사용할 수 없는 경우 오류 개체를 만들려는 시도가 실패합니다. 호출이 성공하고 오류 개체가 반환되면 개체 상태가 다시 설정됩니다. 오류 개체를 검색하려는 추가 시도는 새 오류가 발생할 때까지 실패합니다. 실패한 비동기 호출을 수행하는 경우 objWbemErrorObject 매개 변수의 SWbemSink.OnCompleted 이벤트에 의해 SWbemLastError 개체가 반환될 수 있습니다.
멤버
SWbemLastError 개체에는 다음과 같은 형식의 멤버가 있습니다.
메서드
SWbemLastError 개체에는 다음과 같은 메서드가 있습니다.
메서드 | 설명 |
---|---|
Associators_ | 사용되지 않습니다.
SWbemObject 개체는 동일한 메서드를 제공합니다. |
AssociatorsAsync_ | 사용되지 않습니다.
SWbemObject 개체는 동일한 메서드를 제공합니다. |
Clone_ | 현재 개체의 복사본을 만듭니다. |
CompareTo_ | 두 개체가 같은지 테스트합니다. |
Delete_ | 사용되지 않습니다.
SWbemObject 개체는 동일한 메서드를 제공합니다. |
DeleteAsync_ | 사용되지 않습니다.
SWbemObject 개체는 동일한 메서드를 제공합니다. |
ExecMethod_ | 사용되지 않습니다.
SWbemObject 개체는 동일한 메서드를 제공합니다. |
ExecMethodAsync_ | 사용되지 않습니다.
SWbemObject 개체는 동일한 메서드를 제공합니다. |
GetObjectText_ | MOF 구문으로 작성된 개체의 텍스트 표현을 검색합니다. |
Instances_ | 사용되지 않습니다.
SWbemObject 개체는 동일한 메서드를 제공합니다. |
InstancesAsync_ | 사용되지 않습니다.
SWbemObject 개체는 동일한 메서드를 제공합니다. |
Put_ | 사용되지 않습니다.
SWbemObject 개체는 동일한 메서드를 제공합니다. |
PutAsync_ | 사용되지 않습니다.
SWbemObject 개체는 동일한 메서드를 제공합니다. |
References_ | 사용되지 않습니다.
SWbemObject 개체는 동일한 메서드를 제공합니다. |
ReferencesAsync_ | 사용되지 않습니다.
SWbemObject 개체는 동일한 메서드를 제공합니다. |
SpawnDerivedClass_ | 사용되지 않습니다.
SWbemObject 개체는 동일한 메서드를 제공합니다. |
SpawnInstance_ | 사용되지 않습니다.
SWbemObject 개체는 동일한 메서드를 제공합니다. |
Subclasses_ | 사용되지 않습니다.
SWbemObject 개체는 동일한 메서드를 제공합니다. |
SubclassesAsync_ | 사용되지 않습니다.
SWbemObject 개체는 동일한 메서드를 제공합니다. |
속성
SWbemLastError 개체에는 다음과 같은 속성이 있습니다.
속성 | 액세스 유형 | 설명 |
---|---|---|
Derivation_ |
읽기 전용 |
사용되지 않습니다.
SWbemObject 개체는 동일한 메서드를 제공합니다. |
Methods_ |
읽기 전용 |
사용되지 않습니다.
SWbemObject 개체는 동일한 메서드를 제공합니다. |
Path_ |
읽기 전용 |
현재 클래스 또는 인스턴스의 개체 경로를 나타내는 SWbemObjectPath 개체를 포함합니다. |
Properties_ |
읽기 전용 |
SWbemLastError 개체의 속성 컬렉션을 나타냅니다. 이 속성은 SWbemPropertySet 개체입니다. |
Qualifiers_ |
읽기 전용 |
사용되지 않습니다.
SWbemObject 개체는 동일한 메서드를 제공합니다. |
Security_ |
읽기 전용 |
사용되지 않습니다.
SWbemObject 개체는 동일한 메서드를 제공합니다. |
예제
다음 VBScript 샘플에서는 오류 및 오류 개체 정보를 검사하는 방법을 보여줍니다.
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
다음 Perl 샘플에서는 오류 및 오류 개체 정보를 검사하는 방법을 보여줍니다.
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";
}
}
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 |
Windows Vista |
지원되는 최소 서버 |
Windows Server 2008 |
헤더 |
|
유형 라이브러리 |
|
DLL |
|
CLSID |
CLSID_SWbemLastError |
IID |
IID_ISWbemLastError |