ISQLServerErrorInfo::GetErrorInfo (OLE DB)
傳回包含 SQL Server 錯誤詳細資料之 SQL Server Native Client OLE DB 提供者 SSERRORINFO 結構的指標。
語法
HRESULT GetErrorInfo(
SSERRORINFO**ppSSErrorInfo,
OLECHAR**ppErrorStrings);
引數
ppSSErrorInfo[out]
SSERRORINFO 結構的指標。如果方法失敗,或者沒有與錯誤相關聯的 SQL Server 資訊,提供者就不會配置任何記憶體,也無法確保輸出時,ppSSErrorInfo 引數為 Null 指標。ppErrorStrings[out]
Unicode 字元字串指標的指標。如果方法失敗,或者沒有與錯誤相關聯的 SQL Server 資訊,提供者就不會配置任何記憶體,也無法確保輸出時,ppErrorStrings 引數為 Null 指標。利用 IMalloc::Free 方法釋放 ppErrorStrings 引數時,會釋放傳回之 SSERRORINFO 結構的三個個別字串成員,因為有在區塊中配置記憶體。
傳回碼值
S_OK
此方法已成功。E_INVALIDARG
ppSSErrorInfo 或 ppErrorStrings 引數為 NULL。E_OUTOFMEMORY
SQL Server Native Client OLE DB 提供者無法配置足夠的記憶體來完成要求。
備註
SQL Server Native Client OLE DB 提供者會針對透過取用者傳遞之指標所傳回的 SSERRORINFO 和 OLECHAR 字串配置記憶體。當取用者不再需要存取錯誤資料時,必須使用 IMalloc::Free 方法來取消配置這個記憶體。
SSERRORINFO 結構定義如下:
typedef struct tagSSErrorInfo
{
LPOLESTR pwszMessage;
LPOLESTR pwszServer;
LPOLESTR pwszProcedure;
LONG lNative;
BYTE bState;
BYTE bClass;
WORD wLineNumber;
}
SSERRORINFO;
成員 |
描述 |
---|---|
pwszMessage |
來自 SQL Server 的錯誤訊息。此訊息會透過 IErrorInfo::GetDescription 方法傳回。 |
pwszServer |
發生錯誤之 SQL Server 執行個體的名稱。 |
pwszProcedure |
如果在預存程序中發生錯誤,則是產生錯誤之預存程序的名稱,否則為空字串。 |
lNative |
SQL Server 錯誤號碼。此錯誤號碼與 ISQLErrorInfo::GetSQLInfo 方法之 plNativeError 參數中所傳回的錯誤號碼相同。 |
bState |
SQL Server 錯誤的狀態。 |
bClass |
SQL Server 錯誤的嚴重性。 |
wLineNumber |
在適用時,這是產生錯誤訊息之 SQL Server 預存程序的行號。如果不包含任何程序,預設值為 1。 |
結構中的指標會參考 ppErrorStrings 引數所傳回之字串中的地址。