IDiaSession::getEnumTables
Ruft einen Enumerator für alle Tabellen ab, die im Symbolspeicher enthalten sind.
Syntax
HRESULT getEnumTables (
IDiaEnumTables** ppEnumTables
);
Parameter
ppEnumTables
[out] Gibt ein IDiaEnumTables -Objekt zurück. Verwenden Sie diese Schnittstelle, um die Tabellen im Symbolspeicher aufzulisten.
Rückgabewert
Wenn die Ausführung erfolgreich ist, wird S_OK
, andernfalls ein Fehlercode zurückgegeben.
Beispiel
In diesem Beispiel wird eine allgemeine Funktion vorgestellt, die die getEnumTables
-Methode verwendet, um ein bestimmtes Enumeratorobjekt abzurufen. Wenn der Enumerator gefunden wird, gibt die Funktion einen Zeiger zurück, der in die gewünschte Schnittstelle umgewandelt werden kann, andernfalls gibt die Funktion NULL
zurück.
IUnknown *GetTable(IDiaSession *pSession, REFIID iid)
{
IUnknown *pUnknown = NULL;
if (pSession != NULL)
{
CComPtr<IDiaEnumTables> pEnumTables;
if (pSession->getEnumTables(&pEnumTables) == S_OK)
{
CComPtr<IDiaTable> pTable;
DWORD celt = 0;
while(pEnumTables->Next(1,&pTable,&celt) == S_OK &&
celt == 1)
{
if (pTable->QueryInterface(iid, (void **)pUnknown) == S_OK)
{
break;
}
pTable = NULL;
}
}
}
return(pUnknown);
}
Weitere Informationen
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für