TYPE_INFOTYPE_INFO

Cette structure spécifie les différents types d’informations sur un type de champ.This structure specifies various kinds of information about a field's type.

SyntaxeSyntax

struct _tagTYPE_INFO_UNION {  
   dwTYPE_KIND dwKind;  
   union {  
      METADATA_TYPE typeMeta;  
      PDB_TYPE      typePdb;  
      BUILT_TYPE    typeBuilt;  
      DWORD         unused;  
   } type;  
} TYPE_INFO;  
public struct TYPE_INFO {  
   public uint   dwKind;  
   public IntPtr unionmember;  
};  

ParamètresParameters

dwKinddwKind
Une valeur à partir de la dwTYPE_KIND énumération qui détermine la manière d’interpréter l’union.A value from the dwTYPE_KIND enumeration that determines how to interpret the union.

type.typeMetatype.typeMeta
(C++ uniquement) Contient un METADATA_TYPE si la structure dwKind est TYPE_KIND_METADATA.[C++ only] Contains a METADATA_TYPE structure if dwKind is TYPE_KIND_METADATA.

type.typePdbtype.typePdb
(C++ uniquement) Contient un PDB_TYPE si la structure dwKind est TYPE_KIND_PDB.[C++ only] Contains a PDB_TYPE structure if dwKind is TYPE_KIND_PDB.

type.typeBuilttype.typeBuilt
(C++ uniquement) Contient un BUILT_TYPE si la structure dwKind est TYPE_KIND_BUILT.[C++ only] Contains a BUILT_TYPE structure if dwKind is TYPE_KIND_BUILT.

type.Unusedtype.unused
Remplissage inutilisé.Unused padding.

typetype
Nom de l’union.Name of the union.

unionmemberunionmember
(C# uniquement) Marshaler cette option pour le type de structure appropriée en fonction de dwKind.[C# only] Marshal this to the appropriate structure type based on dwKind.

NotesRemarks

Cette structure est passée à la GetTypeInfo méthode où il est renseigné.This structure is passed to the GetTypeInfo method where it is filled in. Comment le contenu de la structure est interprété est basé sur le dwKind champ.How the contents of the structure are interpreted is based on the dwKind field.

Note

(C++ uniquement) Si dwKind est égal à TYPE_KIND_BUILT, il est nécessaire pour libérer sous-jacent IDebugField lors de la destruction de l’objet le TYPE_INFO structure.[C++ only] If dwKind equals TYPE_KIND_BUILT, then it is necessary to release the underlying IDebugField object when destroying the TYPE_INFO structure. Pour ce faire, il suffit d'appeler typeInfo.type.typeBuilt.pUnderlyingField->Release().This is done by calling typeInfo.type.typeBuilt.pUnderlyingField->Release().

(C# uniquement) Le tableau suivant indique comment interpréter le unionmember membre de chaque genre de type.[C# only] The following table shows how to interpret the unionmember member for each kind of type. L’exemple montre comment procéder pour un seul type de type.The Example shows how this is done for one kind of type.

dwKind unionmember interprété en tant queunionmember interpreted as
TYPE_KIND_METADATA METADATA_TYPEMETADATA_TYPE
TYPE_KIND_PDB PDB_TYPEPDB_TYPE
TYPE_KIND_BUILT BUILT_TYPEBUILT_TYPE

ExempleExample

Cet exemple montre comment interpréter le unionmember membre de la TYPE_INFO structure en c#.This example shows how to interpret the unionmember member of the TYPE_INFO structure in C#. Cet exemple montre l’interprétation qu’un seul type (TYPE_KIND_METADATA), mais les autres sont interprétés exactement la même manière.This example shows interpreting only one type (TYPE_KIND_METADATA) but the others are interpreted in exactly the same way.

using System;  
using System.Runtime.Interop.Services;  
using Microsoft.VisualStudio.Debugger.Interop;  

namespace MyPackage  
{  
    public class MyClass  
    {  
        public void Interpret(TYPE_INFO ti)  
        {  
            if (ti.dwKind == (uint)enum_dwTypeKind.TYPE_KIND_METADATA)  
            {  
                 METADATA_TYPE dataType = (METADATA_TYPE)Marshal.PtrToStructure(ti.unionmember,  
                                               typeof(METADATA_TYPE));  
            }  
        }  
    }  
}  

SpécificationsRequirements

En-tête : sh.hHeader: sh.h

Namespace : Microsoft.VisualStudio.Debugger.InteropNamespace: Microsoft.VisualStudio.Debugger.Interop

Assembly : Microsoft.VisualStudio.Debugger.Interop.dllAssembly: Microsoft.VisualStudio.Debugger.Interop.dll

Voir aussiSee Also

Structures et Unions Structures and Unions
dwTYPE_KIND dwTYPE_KIND
GetTypeInfo GetTypeInfo
METADATA_TYPE METADATA_TYPE
PDB_TYPE PDB_TYPE
BUILT_TYPEBUILT_TYPE