다음을 통해 공유


IWbemServices::P utClass 메서드(wbemcli.h)

IWbemServices::P utClass 메서드는 새 클래스를 만들거나 기존 클래스를 업데이트합니다. pObject 매개 변수로 지정된 클래스가 필요한 모든 속성 값으로 올바르게 초기화되어야 합니다.

사용자는 밑줄(_)로 시작하거나 끝나는 이름으로 클래스를 만들 수 없습니다. 시스템 클래스용으로 예약되어 있습니다.

구문

HRESULT PutClass(
  [in]  IWbemClassObject *pObject,
  [in]  long             lFlags,
  [in]  IWbemContext     *pCtx,
  [out] IWbemCallResult  **ppCallResult
);

매개 변수

[in] pObject

유효한 클래스 정의를 가리킬 수 있습니다. 참조 수는 변경되지 않습니다.

[in] lFlags

다음 플래그는 이 메서드의 동작에 영향을 미칩니다.

WBEM_FLAG_USE_AMENDED_QUALIFIERS

이 플래그가 설정된 경우 WMI는 수정된 버전을 가진 한정자를 저장하지 않습니다. 이 플래그가 설정되지 않은 경우 이 개체가 지역화되지 않고 모든 한정자는 이 instance 함께 저장됩니다.

WBEM_FLAG_CREATE_OR_UPDATE

이 플래그는 없는 경우 클래스를 만들거나 클래스가 이미 있는 경우 덮어씁니다.

WBEM_FLAG_UPDATE_ONLY

이 플래그를 사용하면 이 호출이 업데이트됩니다. 호출에 성공하려면 클래스가 있어야 합니다.

WBEM_FLAG_CREATE_ONLY

이 플래그는 만들기에만 사용됩니다. 클래스가 이미 있는 경우 호출이 실패합니다.

WBEM_FLAG_RETURN_IMMEDIATELY

이 플래그를 사용하면 반동기 호출이 됩니다. 자세한 내용은 메서드 호출을 참조하세요.

WBEM_FLAG_OWNER_UPDATE

푸시 공급자는 이 클래스가 변경되었음을 나타내기 위해 PutClass를 호출할 때 이 플래그를 지정해야 합니다.

WBEM_FLAG_UPDATE_COMPATIBLE

이 플래그를 사용하면 파생 클래스가 없고 해당 클래스에 대한 인스턴스가 없는 경우 클래스를 업데이트할 수 있습니다. 또한 변경 내용이 중요하지 않은 한정자(예: 설명 한정자)에만 해당되는 경우 모든 경우에 업데이트를 허용합니다. 이 호출의 기본 동작이며 이전 버전의 Windows Management와의 호환성에 사용됩니다. 클래스에 인스턴스가 있거나 중요한 한정자를 변경하면 업데이트가 실패합니다.

WBEM_FLAG_UPDATE_SAFE_MODE

이 플래그는 변경으로 인해 자식 클래스와 충돌하지 않는 한 자식 클래스가 있더라도 클래스를 업데이트할 수 있습니다. 이 플래그가 허용하는 업데이트의 예는 이전에 자식 클래스에서 언급되지 않은 기본 클래스에 새 속성을 추가하는 것입니다. 클래스에 인스턴스가 있는 경우 업데이트가 실패합니다.

WBEM_FLAG_UPDATE_FORCE_MODE

이 플래그는 충돌하는 자식 클래스가 있을 때 클래스를 강제로 업데이트합니다. 이 플래그를 강제로 업데이트하는 예는 클래스 한정자를 자식 클래스에 정의하고 기본 클래스가 기존 클래스와 충돌하는 동일한 한정자를 추가하려고 하는 경우입니다. 강제 모드에서는 자식 클래스에서 충돌하는 한정자를 삭제하여 이 충돌을 해결합니다.

[in] pCtx

일반적으로 NULL입니다. 그렇지 않으면 클래스 인스턴스를 생성하는 동적 클래스 공급자에 필요한 IWbemContext 개체에 대한 포인터입니다. 컨텍스트 개체의 값은 해당 공급자에 대한 설명서에 지정해야 합니다. 이 매개 변수에 대한 자세한 내용은 WMI 호출을 참조하세요.

[out] ppCallResult

NULL인 경우 이 매개 변수는 사용되지 않습니다. lFlags 매개 변수에 WBEM_FLAG_RETURN_IMMEDIATELY 포함된 경우 이 호출은 WBEM_S_NO_ERROR 사용하여 즉시 반환됩니다. ppCallResult 매개 변수는 새 IWbemCallResult 개체에 대한 포인터를 수신합니다. 그러면 폴링하여 IWbemCallResult::GetCallStatus 메서드를 사용하여 결과를 가져올 수 있습니다.

반환 값

이 메서드는 메서드 호출의 상태를 나타내는 HRESULT를 반환합니다. 다음 목록에는 HRESULT에 포함된 값이 나열되어 있습니다.

실패 시 COM 함수 GetErrorInfo에서 사용 가능한 정보를 가져올 수 있습니다.

네트워크 문제로 인해 Windows Management에 대한 원격 연결이 끊어지는 경우에도 COM 관련 오류 코드가 반환될 수 있습니다.

참고 클라이언트 또는 공급자가 사용하는 동안 클래스 정의를 변경하면 예측할 수 없는 동작이 발생합니다. IWbemServices::P utClass 메서드는 현재 클래스를 사용하는 클라이언트 또는 공급자가 없는 경우에만 클래스를 만들거나 업데이트하는 데 사용해야 합니다.
 

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows Vista
지원되는 최소 서버 Windows Server 2008
대상 플랫폼 Windows
헤더 wbemcli.h(Wbemidl.h 포함)
라이브러리 Wbemuuid.lib
DLL Fastprox.dll; Esscli.dll; FrameDyn.dll; FrameDynOS.dll; Ntevt.dll; Stdprov.dll; Viewprov.dll; Wbemcomn.dll; Wbemcore.dll; Wbemess.dll; Wbemsvc.dll; Wmipicmp.dll; Wmidcprv.dll; Wmipjobj.dll; Wmiprvsd.dll

추가 정보

클래스 만들기

IWbemCallResult

IWbemServices

오류 코드 검색