ISQLServerErrorInfo::GetErrorInfo (OLE DB)

傳回SQL Server Native Client OLE DB 提供者 SSERRORINFO 結構的指標,其中包含SQL Server錯誤詳細資料。

語法

  
   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
ppSSErrorInfoppErrorStrings 引數為 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;  
member 描述
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 引數所傳回之字串中的地址。

另請參閱

ISQLServerErrorInfo (OLE DB)
RAISERROR (Transact-SQL)