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