Partager via


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

Voir aussi

interface IDebugHostTypeSignature