다음을 통해 공유


인스턴스 상속 변경

한 부모 클래스의 자식으로 만든 인스턴스가 부모 클래스를 변경하고 다른 부모 클래스의 자식이 되어야 하는 상황을 확인할 수 있습니다. 예를 들어 수동 서비스를 설명하는 파생 클래스인 ManualService와 자동 서비스를 설명하는 파생 클래스인 AutoService가 있을 수 있습니다. 두 클래스 모두 많은 수의 속성이 있습니다. 모든 속성이 동일한 것은 아닙니다. 서비스를 수동에서 자동으로 변경하려면 서비스를 나타내는 인스턴스도 ManualService에서 AutoService로 변경해야 합니다. 현재 버전의 WMI에서는 AutoService 인스턴스를 가리키는 pInst 매개 변수와 ManualService 인스턴스를 설명하는 키 속성을 사용하여 IWbemServices::PutInstance 메서드를 호출할 수 없습니다. 이렇게 하면 원래 ManualService 인스턴스를 암시적으로 삭제하게 됩니다. 기본적으로 인스턴스의 클래스를 설정한 후에는 인스턴스를 삭제하고 인스턴스를 새 부모 클래스의 인스턴스로 다시 만들어 인스턴스의 부모 클래스만 변경할 수 있습니다.

다음 절차에서는 인스턴스를 한 클래스에서 다른 클래스로 이동하는 방법을 설명합니다.

인스턴스를 한 클래스에서 다른 클래스로 이동하려면

  1. 원래 클래스에서 인스턴스를 삭제합니다.

  2. 새 클래스 아래에 인스턴스를 만듭니다.

    WMI는 애플리케이션이 새 클래스에 인스턴스를 만든 다음, 원래 인스턴스의 키로 업데이트하여 인스턴스를 이동하는 것을 허용하지 않습니다.

자세한 내용은 클래스 및 인스턴스 정보 조작을 참조하세요.