Метод IDebugHostTypeSignature::IsMatch (dbgmodel.h)

Метод IsMatch возвращает значение, указывающее, соответствует ли конкретный экземпляр типа критериям, указанным в сигнатуре типа. Если это делается, возвращается указание этого, а также перечислитель, который будет указывать все определенные части экземпляра типа (как символы), соответствующие подстановочным знакам в сигнатуре типа.

Синтаксис

HRESULT IsMatch(
  IDebugHostType             *type,
  bool                       *isMatch,
  IDebugHostSymbolEnumerator **wildcardMatches
);

Параметры

type

Экземпляр типа для сравнения с сигнатурой типа.

isMatch

Указание того, соответствует ли экземпляр типа сигнатуре типа, возвращается здесь.

wildcardMatches

Если экземпляр типа соответствует сигнатуре типа, перечислитель будет возвращен здесь, который перечислит все определенные части экземпляра типа (как символы), соответствующие подстановочным знакам в сигнатуре типа.

Возвращаемое значение

Этот метод возвращает HRESULT, указывающий на успех или сбой.

Замечания

пример кода

ComPtr<IDebugHostSymbols> spSym; /* get the host's symbols interface */
ComPtr<IDebugHostType> spType;   /* get a type */

ComPtr<IDebugHostTypeSignature> spSig;
if (SUCCEEDED(spSym->CreateTypeSignature(L"MyTemplateType<*>", 
                                         nullptr, 
                                         &spSig)))
{
    bool isMatch;
    ComPtr<IDebugHostSymbolEnumerator> spWildcardEnum;
    if (SUCCEEDED(spSig->IsMatch(spType.get(), &isMatch, &spWildcardEnum)))
    {
        // isMatch will contain whether the type matches the signature (whether 
        // it is a MyTemplateType template with *ANY* template arguments
        if (isMatch)
        {
            // spWildcardEnum will contain what the '*' in 'MyTemplateType<*>' 
            // matched against.  This may be one or more template arguments in 
            // linear order.  An IDebugHostType would be present for type arguments.
        }
    }
}

Требования

Требование Ценность
заголовка dbgmodel.h

См. также

интерфейс IDebugHostTypeSignature