rpcErrorGetNextRecord 函式 (rpcasync.h)

RpcErrorGetNextRecord 函式會擷取列舉句柄的下一個擴充錯誤信息記錄。

語法

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

參數

[in] EnumHandle

列舉句柄的指標,格式為 RPC_ERROR_ENUM_HANDLE 結構。 結構必須由呼叫端配置,而且必須在作業完成之前釋放。 輸入時會忽略所有成員。

[in] CopyStrings

指定 ErrorInfo 中的字串欄位是否複製到預設系統堆積,此時這些緩衝區的擁有權會轉移到呼叫端。

TRUE 表示字串要複製到系統堆積。

FALSE 表示 ErrorInfo 中的字串指向內部 RPC 數據結構;呼叫端無法釋放或寫入呼叫它們,而且呼叫 RpcErrorEndEnumeration 函式後會變成無效。

[out] ErrorInfo

RPC_EXTENDED_ERROR_INFO 結構的指標。 請參閱<備註>。

傳回值

如果 CopyStrings 為 false,除非函數調用的參數無效,否則函式呼叫無法失敗。 擷取最後一個擴充錯誤記錄時, RpcErrorGetNextRecord 會傳回RPC_S_OK。 任何後續呼叫都會傳回RPC_S_ENTRY_NOT_FOUND。

發生任何錯誤時,列舉位置不會進階。

注意 如需有效錯誤碼的清單,請參閱 RPC 傳回值
 

備註

輸入時,必須在 ErrorInfo 中設定下列欄位:

  • 版本 必須設定為 RPC_EEINFO_VERSION。
  • NumberOfParameters 必須設定為介於零和 MaxNumberOfEEInfoParams 之間的值。 呼叫端是免費的,可為任意數目的參數提供空間。 如果呼叫端所提供的參數數目小於擴充錯誤記錄中的參數數目,則會傳回RPC_S_BUFFER_TOO_SMALL。
  • 旗標 必須為零,或必須指定 EEInfoUseFileTime 。 如果 Flags 為零,則會使用 u 等位的 SystemTime 成員。 如果指定 EEInfoUseFileTime ,則會使用 u 等位的 FileTime 成員。
輸入時會忽略 ErrorInfo 的其他欄位。

輸出時, ErrorInfo 中的欄位會填入,如下所示:

  • 版本 未變更。
  • 如果記錄中沒有計算機名稱,則 ComputerNameNULL;如果電腦名稱存在於擴充錯誤信息記錄中,則為 Unicode 字串。 如果 為 NULL,則可以假設具有電腦名稱的最後一筆記錄,不過,可能已經卸除計算機名稱,因為記憶體不足。 ComputerName 是非限定 DNS 名稱。
  • ProcessID 是記錄產生所在進程的 PID。
  • SystemTimeFileTime 是產生記錄的時間,以 UCT 表示,用於產生記錄的電腦。 FileTimeSystemTime 是否有效,取決於是否使用 EEInfoUseFileTime
  • GeneratingComponent 是產生元件的程序代碼。
  • Status 是記錄的狀態代碼。
  • DetectionLocation 是偵測位置的程序代碼。
  • 旗標 會指定是否遺漏記錄。 如果遺失當前記錄之後遺失一或多個記錄,則會設定 EEInfoNextRecordsMissing 。 如果遺漏當前記錄之前的一或多個記錄,則會設定 EEInfoPreviousRecordsMissing
  • NumberOfParameters 會指定真正的參數數目。 如果呼叫端指定的輸入空間超過記錄中的參數數目,則此欄位會包含所使用的參數數目。
  • 參數是實際參數,以具有 NumberOfParameters 結構的RPC_EE_INFO_PARAM結構陣列的形式提供。

規格需求

需求
最低支援的用戶端 Windows XP [傳統型應用程式 |UWP 應用程式]
最低支援的伺服器 Windows Server 2003 [傳統型應用程式 |UWP 應用程式]
目標平台 Windows
標頭 rpcasync.h (包含 Rpc.h)
程式庫 Rpcrt4.lib
Dll Rpcrt4.dll

另請參閱

取得擴充 RPC 錯誤資訊

RPC_EE_INFO_PARAM

RPC_ERROR_ENUM_HANDLE

RPC_EXTENDED_ERROR_INFO

RpcErrorEndEnumeration

RpcErrorStartEnumeration