Skip to content

Latest commit

 

History

History
85 lines (66 loc) · 4.42 KB

isqlservererrorinfo-geterrorinfo-ole-db.md

File metadata and controls

85 lines (66 loc) · 4.42 KB
title description author ms.author ms.date ms.service ms.subservice ms.topic helpviewer_keywords apiname apitype
ISQLServerErrorInfo::GetErrorInfo (Native Client OLE DB provider)
ISQLServerErrorInfo::GetErrorInfo (Native Client OLE DB provider)
markingmyname
maghan
03/16/2017
sql
native-client
reference
GetErrorInfo method
ISQLServerErrorInfo::GetErrorInfo (OLE DB)
COM

ISQLServerErrorInfo::GetErrorInfo (Native Client OLE DB Provider)

[!INCLUDESQL Server Azure SQL Database Synapse Analytics PDW]

Important

[!INCLUDEsnac-removed-oledb-only]

Returns a pointer to a [!INCLUDEssNoVersion] Native Client OLE DB provider SSERRORINFO structure containing the [!INCLUDEssNoVersion] error details.

The [!INCLUDEssNoVersion] Native Client OLE DB provider defines the ISQLServerErrorInfo error interface. This interface returns details from a [!INCLUDEssNoVersion] error, including its severity and state.

Syntax

  
HRESULT GetErrorInfo(  
   SSERRORINFO**ppSSErrorInfo,  
   OLECHAR**ppErrorStrings);  

Arguments

ppSSErrorInfo[out]
A pointer to a SSERRORINFO structure. If the method fails or there is no [!INCLUDEssNoVersion] information associated with the error, the provider does not allocate any memory, and ensures that the ppSSErrorInfo argument is a null pointer on output.

ppErrorStrings[out]
A pointer to a Unicode character-string pointer. If the method fails or there is no [!INCLUDEssNoVersion] information associated with an error, the provider does not allocate any memory, and ensures that the ppErrorStrings argument is a null pointer on output. Freeing the ppErrorStrings argument with the IMalloc::Free method frees the three individual string members of the returned SSERRORINFO structure, as the memory is allocated in a block.

Return Code Values

S_OK
The method succeeded.

E_INVALIDARG
Either the ppSSErrorInfo or the ppErrorStrings argument was NULL.

E_OUTOFMEMORY
The [!INCLUDEssNoVersion] Native Client OLE DB provider could not allocate sufficient memory to complete the request.

Remarks

The [!INCLUDEssNoVersion] Native Client OLE DB provider allocates memory for the SSERRORINFO and OLECHAR strings returned through the pointers passed by the consumer. The consumer must deallocate this memory by using the IMalloc::Free method when it no longer requires access to the error data.

The SSERRORINFO structure is defined as follows:

typedef struct tagSSErrorInfo  
   {  
   LPOLESTR pwszMessage;  
   LPOLESTR pwszServer;  
   LPOLESTR pwszProcedure;  
   LONG lNative;  
   BYTE bState;  
   BYTE bClass;  
   WORD wLineNumber;  
   }  
SSERRORINFO;  
Member Description
pwszMessage The error message from [!INCLUDEssNoVersion]. The message is returned through the IErrorInfo::GetDescription method.
pwszServer The name of the instance of [!INCLUDEssNoVersion] on which the error occurred.
pwszProcedure The name of the stored procedure generating the error if the error occurred in a stored procedure; otherwise, an empty string.
lNative The [!INCLUDEssNoVersion] error number. The error number is identical to that returned in the plNativeError parameter of the ISQLErrorInfo::GetSQLInfo method.
bState The state of the [!INCLUDEssNoVersion] error.
bClass The severity of the [!INCLUDEssNoVersion] error.
wLineNumber When applicable, the line of a [!INCLUDEssNoVersion] stored procedure that generated the error message. If no procedure is involved, the default value is 1.

Pointers in the structure reference addresses in the string returned in the ppErrorStrings argument.

See Also

RAISERROR (Transact-SQL)