Metodo Api.JetEnumerateColumns
Recupera in modo efficiente un set di colonne e i relativi valori dal record corrente di un cursore o dal buffer di copia di tale cursore. Le colonne e i valori recuperati possono essere limitati da un elenco di ID di colonna, numeri itagSequence e altre caratteristiche. Questa API di recupero colonne è univoca in quanto restituisce informazioni nella memoria allocata dinamicamente ottenuta usando un callback compatibile con realloc fornito dall'utente. Questa nuova flessibilità consente il recupero efficiente dei dati di colonna con caratteristiche specifiche (ad esempio dimensioni e molteplicità) sconosciute al chiamante. In questo modo si elimina la necessità di usare le modalità di individuazione di JetRetrieveColumn per determinare tali caratteristiche per configurare una chiamata finale a JetRetrieveColumn che recupererà correttamente i dati desiderati.
Questa API non è conforme a CLS.
Spazio dei nomi:Microsoft.Isam.Esent.Interop
Assemblea: Microsoft.Isam.Esent.Interop (in Microsoft.Isam.Esent.Interop.dll)
Sintassi
'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
)
Parametri
sesid
Tipo: Microsoft.Isam.Esent.Interop.JET_SESIDSessione da utilizzare.
tableid
Tipo: Microsoft.Isam.Esent.Interop.JET_TABLEIDCursore da cui recuperare i dati.
numColumnids
Tipo: System.Int32Numero di JET_ENUMCOLUMNIDS.
columnids
Tipo: []Matrice facoltativa di ID colonna, ognuno con una matrice facoltativa di numeri itagSequence da enumerare.
numColumnValues
Tipo: System.Int32Restituisce il numero di valori di colonna recuperati.
columnValues
Tipo: []Restituisce i valori delle colonne enumerate.
allocator
Tipo: Microsoft.Isam.Esent.Interop.JET_PFNREALLOCCallback usato per allocare memoria.
allocatorContext
Tipo: System.IntPtrContesto per il callback di allocazione.
maxDataSize
Tipo: System.Int32Imposta un limite sulla quantità di dati da restituire da una colonna di tipo long text o long binary. Questo parametro può essere usato per impedire l'enumerazione di un valore di colonna estremamente grande.
grbit
Tipo: Microsoft.Isam.Esent.Interop.EnumerateColumnsGrbitRecuperare le opzioni.
Valore restituito
Tipo: Microsoft.Isam.Esent.Interop.JET_wrn
Avviso o esito positivo.