IMetaDataTables Interface

Provides methods for the storage and retrieval of metadata information in tables.

interface IMetaDataTables : IUnknown {

    HRESULT GetBlob (
                [in]  ULONG            ixBlob,
                [out] ULONG            *pcbData,
                [out] const void       **ppData
    );

    HRESULT GetNextBlob (
                [in]  ULONG            ixBlob,
                [out] ULONG            *pNext
    );

    HRESULT GetBlobHeapSize (
                [out] ULONG            *pcbBlobs
    ); 

    HRESULT GetGuid (
                [in]  ULONG            ixGuid,
                [out] const GUID       **ppGUID
    );

    HRESULT GetNextGuid (
                [in]  ULONG            ixGuid,
                [out] ULONG            *pNext
    );

    HRESULT GetGuidHeapSize (
                [out] ULONG            *pcbGuids
    );

    HRESULT GetString (
                [in]  ULONG            ixString,
                [out] const char       **ppString
    );

    HRESULT GetNextString (   
                [in]  ULONG            ixString,
                [out] ULONG            *pNext
    );

    HRESULT GetStringHeapSize (    
                [out] ULONG            *pcbStrings
    );

    HRESULT GetUserString (
                [in]  ULONG            ixUserString,
                [out] ULONG            *pcbData,
                [out] const void       **ppData
    );

    HRESULT GetNextUserString (
                [in]  ULONG            ixUserString,
                [out] ULONG            *pNext
    );

    HRESULT GetUserStringHeapSize (  
                [out] ULONG            *pcbBlobs
    );

    HRESULT GetRow (      
                [in]  ULONG            ixTbl,
                [in]  ULONG            rid,
                [out] void             **ppRow
    );

    HRESULT GetColumn (   
                [in]  ULONG            ixTbl,
                [in]  ULONG            ixCol,
                [in]  ULONG            rid,
                [out] ULONG            *pVal
    );

    HRESULT GetColumnInfo (   
                [in]  ULONG            ixTbl,
                [in]  ULONG            ixCol,
                [out] ULONG            *poCol,
                [out] ULONG            *pcbCol,
                [out] ULONG            *pType,
                [out] const char       **ppName
    );

    HRESULT GetNumTables (    
                [out] ULONG            *pcTables
    );

    HRESULT GetTableIndex (
                [in]  ULONG            token,
                [out] ULONG            *pixTbl
    );

    HRESULT GetTableInfo (    
                [in]  ULONG            ixTbl,
                [out] ULONG            *pcbRow,
                [out] ULONG            *pcRows,
                [out] ULONG            *pcCols,
                [out] ULONG            *piKey,
                [out] const char       **ppName
    );

    HRESULT GetCodedTokenInfo (   
                [in]  ULONG            ixCdTkn,
                [out] ULONG            *pcTokens,
                [out] ULONG            **ppTokens,
                [out] const char       **ppName
    );

};

Methods

Method Description

IMetaDataTables::GetBlob Method

Gets a pointer to the binary large object (BLOB) at the specified column index.

IMetaDataTables::GetNextBlob Method

Gets the index of the next BLOB in the table.

IMetaDataTables::GetBlobHeapSize Method

Gets the size, in bytes, of the BLOB heap.

IMetaDataTables::GetGuid Method

Gets a GUID from the row at the specified index.

IMetaDataTables::GetNextGuid Method

Gets the index of the next GUID value in the current table column.

IMetaDataTables::GetGuidHeapSize Method

Gets the size, in bytes, of the GUID heap.

IMetaDataTables::GetString Method

Gets the string at the specified index from the table column in the current reference scope.

IMetaDataTables::GetNextString Method

Gets the index of the next string in the current table column.

IMetaDataTables::GetStringHeapSize Method

Gets the size, in bytes, of the string heap.

IMetaDataTables::GetUserString Method

Gets the hard-coded string at the specified index in the string column in the current scope.

IMetaDataTables::GetNextUserString Method

Gets the index of the row that contains the next hard-coded string in the current table column.

IMetaDataTables::GetUserStringHeapSize Method

Gets the size, in bytes, of the user string heap.

IMetaDataTables::GetRow Method

Gets the row at the specified row index, in the table at the specified table index.

IMetaDataTables::GetColumn Method

Gets a pointer to the values contained in the column at the specified column index, in the table at the specified table index.

IMetaDataTables::GetColumnInfo Method

Gets data about the specified column in the specified table.

IMetaDataTables::GetNumTables Method

Gets the number of tables in the scope of the current IMetaDataTables instance.

IMetaDataTables::GetTableIndex Method

Gets the index for the table referenced by the specified token.

IMetaDataTables::GetTableInfo Method

Gets the name, row size, number of rows, number of columns, and key column index of the table at the specified table index.

IMetaDataTables::GetCodedTokenInfo Method

Gets a pointer to an array of tokens associated with the specified row index.

Requirements

Platforms: Windows 2000, Windows XP, Windows Server 2003 family

Header: Cor.h

Library: Used as a resource in Mscoree.dll

.NET Framework Version: 2.0, 1.1, 1.0

See Also

Reference

IMetaDataTables2 Interface

Other Resources

Metadata Interfaces