IModelObject::SetConcept 메서드(dbgmodel.h)
SetConcept 메서드는 이 포인터에 지정된 개체 인스턴스에 지정된 개념을 배치합니다. 이에 의해 지정된 개체 인스턴스에 연결된 부모 모델도 개념을 지원하는 경우 인스턴스의 구현은 부모 모델에서 해당 모델을 재정의합니다.
데이터 모델에서 지원하는 개념(인터페이스)의 집합은 디버거 데이터 모델 C++ 개념을 참조하세요.
IKeyStore 인터페이스에 대한 자세한 내용은 IKeyStore 인터페이스를 참조하세요.
구문
HRESULT SetConcept(
REFIID conceptId,
IUnknown *conceptInterface,
IKeyStore *conceptMetadata
);
매개 변수
conceptId
할당되는 개념의 고유 식별자입니다. 이는 개념의 핵심 인터페이스의 IID이기도 합니다.
conceptInterface
할당되는 개념 인터페이스(conceptId로 정의됨).
conceptMetadata
이 개념과 연결할 선택적 메타데이터입니다.
반환 값
이 메서드는 성공 또는 실패를 나타내는 HRESULT를 반환합니다.
설명
코드 예제
ComPtr<IModelObject> spObject; /* get an object: say a new one from CreateSyntheticObject */
// Implement IStringDisplayableConcept for the object. Return a static "Hello World" string.
class MyStringConversion :
public Microsoft::WRL::RuntimeClass<
Microsoft::WRL::RuntimeClassFlags<Microsoft::WRL::RuntimeClassType::ClassicCom>,
IStringDisplayableConcept
>
{
public:
IFACEMETHOD(ToDisplayString)(_In_ IModelObject * /*pContextObject*/,
_In_opt_ IKeyStore * /*pMetadata*/,
_Out_ BSTR *pDisplayString)
{
*pDisplayString = SysAllocString(L"Hello World");
return *pDisplayString == nullptr ? E_OUTOFMEMORY : S_OK;
}
};
// Add the implementation as a concept
ComPtr<MyStringConversion> spStringConverter = Microsoft::WRL::Make<MyStringConversion>();
if (spStringConverter != nullptr)
{
if (SUCCEEDED(spObject->SetConcept(__uuidof(IStringDisplayableConcept),
static_cast<IStringDisplayableConcept *>
(spStringConverter.Get()), nullptr)))
{
// The new object can be converted to a string!
}
}
요구 사항
| 헤더 | dbgmodel.h |
참고 항목
피드백
다음에 대한 사용자 의견 제출 및 보기