Freigeben über


IMAPITable::GetRowCount

Gilt für: Outlook 2013 | Outlook 2016

Gibt die Gesamtzahl der Zeilen in der Tabelle zurück.

HRESULT GetRowCount(
ULONG ulFlags,
ULONG FAR * lpulCount
);

Parameter

ulFlags

Reserviert; muss null sein.

lpulCount

[out] Zeiger auf die Anzahl der Zeilen in der Tabelle.

Rückgabewert

S_OK

Die Zeilenanzahl wurde erfolgreich zurückgegeben.

MAPI_E_BUSY

Ein weiterer Vorgang wird ausgeführt, der verhindert, dass der Abrufvorgang für die Zeilenanzahl gestartet wird. Entweder sollte der laufende Vorgang abgeschlossen oder beendet werden.

MAPI_E_NO_SUPPORT

Die Tabelle kann die Anzahl der Zeilen nicht berechnen.

MAPI_W_APPROX_COUNT

Der Aufruf war erfolgreich, aber eine ungefähre Zeilenanzahl wurde zurückgegeben, da die genaue Zeilenanzahl möglicherweise aufgrund von Speichereinschränkungen nicht bestimmt werden konnte. Verwenden Sie zum Testen auf diese Warnung das Makro HR_FAILED . Weitere Informationen finden Sie unter Verwenden von Makros für die Fehlerbehandlung.

Hinweise

Die IMAPITable::GetRowCount-Methode ruft die Gesamtanzahl der Zeilen in einer Tabelle ab.

Hinweise für Implementierer

Wenn Sie die genaue Zeilenanzahl der Tabelle nicht ermitteln können, geben Sie MAPI_W_APPROX_COUNT und eine ungefähre Zeilenanzahl im Inhalt des lpulCount-Parameters zurück.

Hinweise für Aufrufer

Verwenden Sie GetRowCount , um herauszufinden, wie viele Zeilen eine Tabelle enthält, bevor Sie die IMAPITable::QueryRows-Methode aufrufen, um die Daten abzurufen. Wenn die Tabelle weniger als zwanzig Zeilen enthält, ist es sicher, QueryPosition aufzurufen, um die gesamte Tabelle abzurufen. Wenn die Tabelle mehr als zwanzig Zeilen enthält, sollten Sie mehrere Aufrufe von QueryPosition in Betracht ziehen und die Anzahl der bei jedem Aufruf abgerufenen Zeilen begrenzen.

Einige Tabellen unterstützen GetRowCount nicht und geben MAPI_E_NO_SUPPORT zurück. Wenn GetRowCount nicht unterstützt wird, kann eine Alternative das Aufrufen von IMAPITable::QueryPosition sein. Mit den Ergebnissen aus QueryPosition können Sie die Beziehung zwischen der aktuellen Zeile und der letzten Zeile bestimmen.

Wenn GetRowCount MAPI_E_BUSY zurückgibt, weil es vorübergehend keine Zeilenanzahl abrufen kann, rufen Sie die IMAPITable::WaitForCompletion-Methode auf. Wenn WaitForCompletion zurückgegeben wird, wiederholen Sie den Aufruf von GetRowCount. Eine weitere Möglichkeit, um zu erkennen, ob ein asynchroner Vorgang ausgeführt wird, besteht darin, die IMAPITable::GetStatus-Methode aufzurufen und den Inhalt des lpulTableState-Parameters zu überprüfen.

MFCMAPI-Referenz

Einen MFCMAP-Beispielcode finden Sie in der folgenden Tabelle.

Datei Funktion Kommentar
MAPIFunctions.cpp
CopyFolderContents
MFCMAPI verwendet die IMAPITable::GetRowCount-Methode , um zu bestimmen, wie viele Zeilen in der Quelltabelle enthalten sind, damit Arbeitsspeicher für die Durchführung der Kopie zugeordnet werden kann.

Siehe auch

IMAPITable::GetStatus

IMAPITable::QueryPosition

IMAPITable::QueryRows

IMAPITable::WaitForCompletion

IMAPITable : IUnknown

MFCMAPI (engl.) als ein Codebeispiel