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::GetBlobHeapSize Method

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

IMetaDataTables::GetCodedTokenInfo Method

Gets a pointer to an array of tokens associated with the specified row 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::GetGuid Method

Gets a GUID from the row at the specified index.

IMetaDataTables::GetGuidHeapSize Method

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

IMetaDataTables::GetNextBlob Method

Gets the index of the next BLOB in the table.

IMetaDataTables::GetNextGuid Method

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

IMetaDataTables::GetNextString Method

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

IMetaDataTables::GetNextUserString Method

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

IMetaDataTables::GetNumTables Method

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

IMetaDataTables::GetRow Method

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

IMetaDataTables::GetString Method

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

IMetaDataTables::GetStringHeapSize Method

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

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::GetUserString Method

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

IMetaDataTables::GetUserStringHeapSize Method

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

Requirements

Platforms: See .NET Framework System Requirements.

Header: Cor.h

Library: Used as a resource in MsCorEE.dll

.NET Framework Versions: 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0, 1.1, 1.0

See Also

Reference

IMetaDataTables2 Interface

Other Resources

Metadata Interfaces