Méthode IDebugHostTypeSignature ::IsMatch (dbgmodel.h)
La méthode IsMatch retourne une indication indiquant si un type particulier instance 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 du type instance (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
Type instance à comparer à la signature de type.
isMatch
Une indication indiquant si le type instance correspond à la signature de type est retournée ici.
wildcardMatches
Si le type instance correspond à la signature de type, un énumérateur est retourné ici pour énumérer toutes les parties spécifiques du type instance (sous forme de symboles) qui correspondent aux caractères génériques dans la signature de type.
Valeur retournée
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.
}
}
}
Configuration requise
Condition requise | Valeur |
---|---|
En-tête | dbgmodel.h |