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

  • numColumnids
    Typ: System.Int32

    Die 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.Int32

    Gibt die Anzahl der abgerufenen Spaltenwerte zurück.

  • columnValues
    Typ: []

    Gibt die aufgezählten Spaltenwerte zurück.

  • allocatorContext
    Typ: System.IntPtr

    Kontext für den Zuordnungsrückruf.

  • maxDataSize
    Typ: System.Int32

    Legt 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.

Rückgabewert

Typ: Microsoft.Isam.Esent.Interop.JET_wrn
Eine Warnung oder ein Erfolg.

Siehe auch

Verweis

API-Klasse

API-Member

Microsoft.Isam.Esent.Interop-Namespace