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 |