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 参数是输出上的空指针。

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;  
成员 DESCRIPTION
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)