IWbemClassObject::P utMethod 메서드(wbemcli.h)

IWbemClassObject::P utMethod는 메서드를 만드는 데 사용됩니다. 이 호출은 현재 개체가 CIM 클래스 정의인 경우에만 지원됩니다. CIM 인스턴스를 가리키는 IWbemClassObject 포인터에서는 메서드 조작을 사용할 수 없습니다.

사용자는 밑줄로 시작하거나 끝나는 이름으로 메서드를 만들 수 없습니다. 이는 시스템 클래스 및 속성용으로 예약되어 있습니다.

구문

HRESULT PutMethod(
  [in] LPCWSTR          wszName,
  [in] long             lFlags,
  [in] IWbemClassObject *pInSignature,
  [in] IWbemClassObject *pOutSignature
);

매개 변수

[in] wszName

만들어진 메서드 이름입니다.

[in] lFlags

예약되어 있습니다. 이 매개 변수는 0이어야 합니다.

[in] pInSignature

메서드에 대한 in 매개 변수를 포함하는 __Parameters 시스템 클래스의 복사본에 대한 포인터입니다. 이 매개 변수는 NULL로 설정된 경우 무시됩니다.

[in] pOutSignature

개체에 대한 out 매개 변수를 포함하는 __Parameters 시스템 클래스의 복사본에 대한 포인터입니다. 이 매개 변수는 NULL로 설정된 경우 무시됩니다.

반환 값

이 메서드는 메서드 호출의 상태를 나타내는 HRESULT를 반환합니다. 다음 목록에는 HRESULT 내에 포함된 값이 나열되어 있습니다. 일반적인 HRESULT 값은시스템 오류 코드를 참조하세요.

설명

메서드의 경우 in 및 out 매개 변수는 IWbemClassObject 개체의 속성으로 설명됩니다.

예를 들어 다음 방법을 고려합니다.

Class MyClass{
    [key] string KeyVal;
    sint32 PropVal;
    sint32 ExampleMethod([in] sint32 Param1, [in] uint32 Param2, 
        [out] string Param3);
    HRESULT ReturnValue;
};

이전 예제에서 클래스에는 하나의 메서드가 있습니다. 프로그래밍 방식으로 메서드를 만들기 위해 사용자는 PInSignature 매개 변수를 사용하여 IWbemClassObject::P utMethod를 호출합니다. 이 매개 변수는 Param1Param2라는 두 가지 속성이 포함된 시스템 클래스 __Parameters 복사본을 가리킵니다. pOutSignatureParam3ReturnValue라는 두 가지 속성을 포함하는 시스템 클래스 __Parameters 복사본을 가리킵니다.

pOutSignature가 가리키는 개체의 ReturnValue 속성에 따라 메서드 반환 형식이 결정됩니다. pOutSignatureNULL로 설정된 경우 반환 형식은 VOID로 간주됩니다.

pInSignaturepOutSignature 매개 변수가 가리키는 두 개체에 동일한 속성을 추가하여 [in/out] 매개 변수를 정의할 수 있습니다. 이 경우 속성은 동일한 ID 한정자 값을 공유합니다.

ReturnValue 이외의 __Parameters 클래스 개체의 각 속성에는 매개 변수가 표시되는 순서를 식별하는 0부터 시작하는 숫자인 ID 한정자(영부터 시작)가 있어야 합니다. 이 예제에서 Param1 은 0, Param2 1 및 Param3 2입니다. 두 매개 변수는 동일한 ID 값을 가질 수 없으며 어떤 ID 값도 건너뛸 수 없습니다. 두 조건 중 하나가 발생하면 IWbemClassObject::P utMethod는WBEM_E_NONCONSECUTIVE_PARAMETER_IDS 반환합니다.

참고 호출자는 이러한 개체가 더 이상 필요하지 않은 경우 pInSignaturepOutSignature 포인터에서 IWbemClassObject::Release를 호출해야 합니다.
 

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows Vista
지원되는 최소 서버 Windows Server 2008
대상 플랫폼 Windows
헤더 wbemcli.h(Wbemidl.h 포함)
라이브러리 WbemUuid.lib
DLL CIMWin32.dll; Esscli.dll; Fastprox.dll; FrameDyn.dll; FrameDynOS.dll; Krnlprov.dll; Ncprov.dll; Wbemcore.dll; Wbemess.dll; Wmipiprt.dll

추가 정보

메서드 만들기

IWbemClassObject

IWbemClassObject::GetMethod