RpcErrorStartEnumeration-Funktion (rpcasync.h)
Die RpcErrorStartEnumeration-Funktion beginnt mit der Enumeration erweiterter Fehlerinformationen.
Syntax
RPC_STATUS RpcErrorStartEnumeration(
RPC_ERROR_ENUM_HANDLE *EnumHandle
);
Parameter
EnumHandle
Zeiger auf das Enumerationshandle in Form einer RPC_ERROR_ENUM_HANDLE-Struktur . Die Struktur muss vom Aufrufer zugewiesen werden und kann erst freigegeben werden, wenn der Vorgang abgeschlossen ist. Alle Member werden bei der Eingabe ignoriert.
Rückgabewert
Der erfolgreiche Abschluss gibt RPC_S_OK zurück.
Gibt RPC_S_ENTRY_NOT_FOUND zurück, wenn keine erweiterten Fehlerinformationen im Thread vorhanden sind. Wenn eine Enumeration ausgeführt wird, beginnt das Starten einer zweiten Enumeration von Anfang an.
Hinweise
Der RpcErrorStartEnumeration-Funktionsaufruf sollte unmittelbar nach dem Aufruf erfolgen, der den Fehler zurückgegeben hat. Andernfalls können erweiterte Fehlerinformationen durch nachfolgende Aufrufe überschrieben werden. Enumerationshandles müssen mit der RpcErrorEndEnumeration-Funktion freigegeben werden.
Nachdem RpcErrorStartEnumeration aufgerufen wurde, ist es sicher, das Enumerationshandle aus einem anderen Thread zu verwenden. Die RpcErrorStartEnumeration-Funktion übernimmt eine Momentaufnahme der erweiterten Fehlerinformationen, und das zurückgebende Enumerationshandle funktioniert auf dem Momentaufnahme. Enumerationsfunktionen werden jedoch nicht durch RPC zwischen Threads synchronisiert, sodass der Aufrufer dafür verantwortlich ist. Nachfolgende Aufrufe von RpcErrorStartEnumeration beginnt eine neue Enumeration und erstellt keine zweite Enumeration für dieselben erweiterten Fehlerinformationen.
Die RpcErrorStartEnumeration-Funktion schlägt möglicherweise fehl, wenn nicht genügend Arbeitsspeicher zum Starten der Enumeration vorhanden ist. Das Enumerationshandle kann nur an RpcError*-Funktionen übergeben werden und kann nicht mit anderen Funktionen wie DuplicateHandle verwendet werden.
Das Voranschreiten des Enumerationszeigers für eine Enumeration hat keine Auswirkungen auf unabhängig gestartete Enumerationen.
Anforderungen
Unterstützte Mindestversion (Client) | Windows XP [Desktop-Apps | UWP-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2003 [Desktop-Apps | UWP-Apps] |
Zielplattform | Windows |
Kopfzeile | rpcasync.h (include Rpc.h) |
Bibliothek | Rpcrt4.lib |
DLL | Rpcrt4.dll |