Api.JetEnumerateColumns-Methode
Ruft effizient eine Reihe von Spalten und deren Werte aus dem aktuellen Datensatz eines Cursors oder dem Kopierpuffer dieses Cursors ab. Die abgerufenen Spalten und Werte können durch eine Liste von Spalten-IDs, itagSequence-Zahlen und anderen Merkmalen eingeschränkt werden. Diese Api zum Abrufen von Spalten ist insofern einzigartig, als sie Informationen im dynamisch zugeordneten Speicher zurückgibt, die mithilfe eines vom Benutzer bereitgestellten realloc-kompatiblen Rückrufs abgerufen werden. Diese neue Flexibilität ermöglicht das effiziente Abrufen von Spaltendaten mit spezifischen Merkmalen (z. B. Größe und Multiplizität), die dem Aufrufer unbekannt sind. Dadurch entfällt die Notwendigkeit, die Ermittlungsmodi von JetRetrieveColumn zu verwenden, um diese Merkmale zu bestimmen, um einen endgültigen Aufruf von JetRetrieveColumn einzurichten, der die gewünschten Daten erfolgreich abruft.
Diese API ist nicht CLS-kompatibel.
Namespace:Microsoft.Isam.Esent.Interop
Versammlung: Microsoft.Isam.Esent.Interop (in Microsoft.Isam.Esent.Interop.dll)
Syntax
'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
)
Parameter
sesid
Typ: Microsoft.Isam.Esent.Interop.JET_SESIDDie zu verwendende Sitzung.
tableid
Typ: Microsoft.Isam.Esent.Interop.JET_TABLEIDDer Cursor, aus dem Daten abgerufen werden sollen.
numColumnids
Typ: System.Int32Die Anzahl der JET_ENUMCOLUMNIDS.
columnids
Typ: []Ein optionales Array von Spalten-IDs mit jeweils einem optionalen Array von itagSequence-Zahlen, die aufgelistet werden sollen.
numColumnValues
Typ: System.Int32Gibt die Anzahl der abgerufenen Spaltenwerte zurück.
columnValues
Typ: []Gibt die aufgezählten Spaltenwerte zurück.
allocator
Typ: Microsoft.Isam.Esent.Interop.JET_PFNREALLOCRückruf, der zum Zuweisen von Arbeitsspeicher verwendet wird.
allocatorContext
Typ: System.IntPtrKontext für den Zuordnungsrückruf.
maxDataSize
Typ: System.Int32Legt eine Obergrenze für die Datenmenge fest, die aus einer langen Text- oder langen binärspalten zurückgegeben werden soll. Dieser Parameter kann verwendet werden, um die Enumeration eines extrem großen Spaltenwerts zu verhindern.
grbit
Typ: Microsoft.Isam.Esent.Interop.EnumerateColumnsGrbitAbrufen von Optionen.
Rückgabewert
Typ: Microsoft.Isam.Esent.Interop.JET_wrn
Eine Warnung oder ein Erfolg.