Método Api.JetEnumerateColumns

Recupera com eficiência um conjunto de colunas e seus valores do registro atual de um cursor ou do buffer de cópia desse cursor. As colunas e valores recuperados podem ser restritos por uma lista de IDs de coluna, números de itagSequence e outras características. Essa API de recuperação de coluna é exclusiva, pois retorna informações na memória alocada dinamicamente obtidas usando um retorno de chamada compatível com realloc fornecido pelo usuário. Essa nova flexibilidade permite a recuperação eficiente de dados de coluna com características específicas (como tamanho e multiplicidade) que são desconhecidas pelo chamador. Isso elimina a necessidade de usar os modos de descoberta do JetRetrieveColumn para determinar essas características para configurar uma chamada final para JetRetrieveColumn que recuperará com êxito os dados desejados.

Esta API não está em conformidade com CLS. 

Namespace:Microsoft.Isam.Esent.Interop
Assembly: Microsoft.Isam.Esent.Interop (em Microsoft.Isam.Esent.Interop.dll)

Sintaxe

'Declaration
<CLSCompliantAttribute(False)> _
Public Shared Function JetEnumerateColumns ( _
    sesid As JET_SESID, _
    tableid As JET_TABLEID, _
    numColumnids As Integer, _
    columnids As JET_ENUMCOLUMNID(), _
    <OutAttribute> ByRef numColumnValues As Integer, _
    <OutAttribute> ByRef columnValues As JET_ENUMCOLUMN(), _
    allocator As JET_PFNREALLOC, _
    allocatorContext As IntPtr, _
    maxDataSize As Integer, _
    grbit As EnumerateColumnsGrbit _
) As JET_wrn
'Usage
Dim sesid As JET_SESID
Dim tableid As JET_TABLEID
Dim numColumnids As Integer
Dim columnids As JET_ENUMCOLUMNID()
Dim numColumnValues As Integer
Dim columnValues As JET_ENUMCOLUMN()
Dim allocator As JET_PFNREALLOC
Dim allocatorContext As IntPtr
Dim maxDataSize As Integer
Dim grbit As EnumerateColumnsGrbit
Dim returnValue As JET_wrn

returnValue = Api.JetEnumerateColumns(sesid, _
    tableid, numColumnids, columnids, _
    numColumnValues, columnValues, allocator, _
    allocatorContext, maxDataSize, grbit)
[CLSCompliantAttribute(false)]
public static JET_wrn JetEnumerateColumns(
    JET_SESID sesid,
    JET_TABLEID tableid,
    int numColumnids,
    JET_ENUMCOLUMNID[] columnids,
    out int numColumnValues,
    out JET_ENUMCOLUMN[] columnValues,
    JET_PFNREALLOC allocator,
    IntPtr allocatorContext,
    int maxDataSize,
    EnumerateColumnsGrbit grbit
)

Parâmetros

  • numColumnids
    Tipo: System.Int32

    Os números de JET_ENUMCOLUMNIDS.

  • Columnids
    Tipo: []

    Uma matriz opcional de IDs de coluna, cada uma com uma matriz opcional de números itagSequence para enumerar.

  • numColumnValues
    Tipo: System.Int32

    Retorna o número de valores de coluna recuperados.

  • columnValues
    Tipo: []

    Retorna os valores da coluna enumerada.

  • allocatorContext
    Tipo: System.IntPtr

    Contexto para o retorno de chamada de alocação.

  • maxDataSize
    Tipo: System.Int32

    Define um limite na quantidade de dados a serem retornados de um texto longo ou de uma coluna binária longa. Esse parâmetro pode ser usado para impedir a enumeração de um valor de coluna extremamente grande.

Valor retornado

Tipo: Microsoft.Isam.Esent.Interop.JET_wrn
Um aviso ou êxito.

Confira também

Referência

Classe de API

Membros da API

Namespace Microsoft.Isam.Esent.Interop