Метод 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 |