다음을 통해 공유


IDataModelManager2::GetModelForType 메서드(dbgmodel.h)

GetModelForType 메서드는 지정된 형식 instance 대한 정식 시각화 도우미인 데이터 모델을 반환합니다. 실제로 이 메서드는 RegisterModelForTypeSignature 메서드에 대한 이전 호출에 등록된 가장 일치하는 형식 서명을 찾아 연결된 데이터 모델을 반환합니다.

구문

HRESULT GetModelForType(
  IDebugHostType             *type,
  IModelObject               **dataModel,
  IDebugHostTypeSignature    **typeSignature,
  IDebugHostSymbolEnumerator **wildcardMatches
);

매개 변수

type

구체적인 형식은 RegisterModelForTypeSignature 메서드에 대한 이전 호출을 통해 등록된 가장 일치하는 정식 시각화 도우미를 찾을 수 있는 instance.

dataModel

RegisterModelForTypeSignature에 대한 이전 호출을 통해 등록된 가장 일치하는 형식 서명에 의해 결정된 지정된 형식 instance 정식 시각화 도우미인 데이터 모델이 여기에 반환됩니다. 이 데이터 모델은 형식 인수로 지정된 형식으로 만든 모든 네이티브/언어 개체에 자동으로 연결됩니다.

typeSignature

형식과 일치하는 형식 서명으로 인해 RegisterModelForTypeSignature에 대한 이전 호출에서 등록된 데이터 모델을 반환된 형식 서명으로 반환했습니다.

wildcardMatches

typeSignature 인수에 반환된 서명에 와일드카드가 있는 경우 와일드카드와 형식 인수에 지정된 구체적인 형식 instance 간의 모든 일치 항목의 열거자가 여기에 반환됩니다.

반환 값

이 메서드는 성공 또는 실패를 나타내는 HRESULT를 반환합니다.

설명

예제 코드

ComPtr<IDataModelManager> spManager; /* get the data model manager */
ComPtr<IDebugHostModule> spModule;   /* get a module */

// Find the type of "MyType<int>" within the module
ComPtr<IDebugHostType> spType;
if (SUCCEEDED(spModule->FindTypeByName(L"MyType<int>", &spType)))
{
    // Find the canonical visualizer which would be applied to MyType<int>
    ComPtr<IModelObject> spDataModel;
    ComPtr<IDebugHostTypeSignature> spSignature;
    ComPtr<IDebugHostSymbolEnumerator> spWildcardMatches;

    if (SUCCEEDED(spManager->GetModelForType(spType.Get(), 
                                             &spDataModel, 
                                             &spSignature, 
                                             &spWildcardMatches)))
    {
        // There is a visualizer which matched.
        // spDataModel is the data model object which was registered as 
        //     the canonical visualizer (RegisterModelForTypeSignature)
        // spSignature is the signature which that data model was registered 
        //     against (e.g.: created for MyType<*> via
        //     CreateTypeSignature/RegisterModelForTypeSignature)
        // spWildcardMatches is an enumerator of the wildcard matches between 
        //     the specific type spType and the signature spSignature (here 
        //     int matched *, so there will be one item -- the type 'int' in
        //     the enumerator)
    }

요구 사항

요구 사항
헤더 dbgmodel.h

추가 정보

IDataModelManager2 인터페이스