IDebugHostTypeSignature ::IsMatch, méthode (dbgmodel.h)
La méthode IsMatch retourne une indication indiquant si une instance de type particulière correspond aux critères spécifiés dans la signature de type. Si c’est le cas, une indication de ceci est retournée ainsi qu’un énumérateur qui indique toutes les parties spécifiques de l’instance de type (en tant que symboles) qui correspondent aux caractères génériques dans la signature de type.
Syntaxe
HRESULT IsMatch(
IDebugHostType *type,
bool *isMatch,
IDebugHostSymbolEnumerator **wildcardMatches
);
Paramètres
type
Instance de type à comparer à la signature de type.
isMatch
Indique si l’instance de type correspond à la signature de type est retournée ici.
wildcardMatches
Si l’instance de type correspond à la signature de type, un énumérateur est retourné ici, qui énumère toutes les parties spécifiques de l’instance de type (en tant que symboles) qui correspondent aux caractères génériques dans la signature de type.
Valeur de retour
Cette méthode retourne HRESULT qui indique la réussite ou l’échec.
Remarques
exemple de code
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.
}
}
}
Exigences
Exigence | Valeur |
---|---|
d’en-tête | dbgmodel.h |