Freigeben über


RpcErrorGetNextRecord-Funktion (rpcasync.h)

Die RpcErrorGetNextRecord-Funktion ruft den nächsten erweiterten Fehlerinformationsdatensatz für ein Enumerationshandle ab.

Syntax

RPC_STATUS RpcErrorGetNextRecord(
  [in]  RPC_ERROR_ENUM_HANDLE   *EnumHandle,
  [in]  BOOL                    CopyStrings,
  [out] RPC_EXTENDED_ERROR_INFO *ErrorInfo
);

Parameter

[in] EnumHandle

Zeiger auf das Enumerationshandle in Form einer RPC_ERROR_ENUM_HANDLE-Struktur . Die Struktur muss vom Aufrufer zugeordnet werden und kann erst freigegeben werden, wenn der Vorgang abgeschlossen ist. Alle Member werden bei der Eingabe ignoriert.

[in] CopyStrings

Gibt an, ob die Zeichenfolgenfelder in ErrorInfo in den Standardsystemheap kopiert werden, an dem der Besitz dieser Puffer an den Aufrufer übertragen wird.

TRUE gibt an, dass die Zeichenfolgen in den Systemheap kopiert werden sollen.

FALSE gibt an, dass die Zeichenfolgen in ErrorInfo auf interne RPC-Datenstrukturen verweisen. der Aufrufer kann sie nicht freigeben oder in sie schreiben, und sie werden ungültig, sobald die RpcErrorEndEnumeration-Funktion aufgerufen wird.

[out] ErrorInfo

Zeiger auf eine RPC_EXTENDED_ERROR_INFO-Struktur . Siehe Hinweise.

Rückgabewert

Wenn CopyStrings false ist, kann der Funktionsaufruf nur dann fehlschlagen, wenn seine Parameter ungültig sind. Wenn der letzte erweiterte Fehlerdatensatz abgerufen wird, gibt RpcErrorGetNextRecord RPC_S_OK zurück. Alle nachfolgenden Aufrufe geben RPC_S_ENTRY_NOT_FOUND zurück.

Bei einem Fehler wird die Enumerationsposition nicht erweitert.

Hinweis Eine Liste der gültigen Fehlercodes finden Sie unter RPC-Rückgabewerte.
 

Hinweise

Bei der Eingabe müssen die folgenden Felder in ErrorInfo festgelegt werden:

  • Version muss auf RPC_EEINFO_VERSION festgelegt werden.
  • NumberOfParameters muss auf einen Wert zwischen 0 und MaxNumberOfEEInfoParams festgelegt werden. Aufrufer können Speicherplatz für eine beliebige Anzahl von Parametern bereitstellen. Wenn die Anzahl der vom Aufrufer bereitgestellten Parameter kleiner als die Anzahl der Parameter im erweiterten Fehlerdatensatz ist, wird RPC_S_BUFFER_TOO_SMALL zurückgegeben.
  • Flags müssen null oder EEInfoUseFileTime angegeben werden. Wenn Flags null ist, wird der SystemTime-Member der u union verwendet. Wenn EEInfoUseFileTime angegeben ist, wird das FileTime-Element der u union verwendet.
Andere Felder von ErrorInfo werden bei der Eingabe ignoriert.

Nach der Ausgabe werden die Felder in ErrorInfo wie folgt ausgefüllt:

  • Die Version ist unverändert.
  • ComputerName ist NULL , wenn im Datensatz kein Computername vorhanden ist, oder eine Unicode-Zeichenfolge, wenn im erweiterten Fehlerinformationsdatensatz ein Computername vorhanden ist. Wenn NULL, kann der letzte Datensatz mit einem Computernamen angenommen werden, aber der Computername wurde möglicherweise gelöscht, weil der Arbeitsspeicher nicht ausreicht. ComputerName ist ein nicht qualifizierter DNS-Name.
  • ProcessID ist die PID des Prozesses, aus dem der Datensatz stammt.
  • SystemTime oder FileTime ist der Zeitpunkt, zu dem der Datensatz (ausgedrückt in UCT) für den Computer generiert wurde, auf dem der Datensatz generiert wurde. Entweder FileTime oder SystemTime ist gültig, je nachdem, ob EEInfoUseFileTime verwendet wird.
  • GeneratingComponent ist der Code für die generierende Komponente.
  • Status ist der status Code für den Datensatz.
  • DetectionLocation ist der Code für den Erkennungsort.
  • Flags gibt an, ob Datensätze fehlen. Wenn ein oder mehrere Datensätze fehlen, nachdem der aktuelle Datensatz fehlt, wird EEInfoNextRecordsMissing festgelegt. Wenn mindestens ein Datensatz vor dem aktuellen Datensatz fehlt, wird EEInfoPreviousRecordsMissing festgelegt.
  • NumberOfParameters gibt die wahre Anzahl von Parametern an. Wenn der Aufrufer platz für mehr Parameter bei der Eingabe angegeben hat, als im Datensatz vorhanden sind, enthält dieses Feld die Anzahl der verwendeten Parameter.
  • Parameter sind die tatsächlichen Parameter, die als Array von RPC_EE_INFO_PARAM-Strukturen mit NumberOfParameters-Strukturen bereitgestellt werden.

Anforderungen

Anforderung Wert
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 (rpc.h einschließen)
Bibliothek Rpcrt4.lib
DLL Rpcrt4.dll

Weitere Informationen

Abrufen erweiterter RPC-Fehlerinformationen

RPC_EE_INFO_PARAM

RPC_ERROR_ENUM_HANDLE

RPC_EXTENDED_ERROR_INFO

RpcErrorEndEnumeration

RpcErrorStartEnumeration