ISQLServerErrorInfo::GetErrorInfo (OLE DB)
Возвращает указатель на структуру SSERRORINFO поставщика собственного клиента OLE DB SQL Server, содержащую подробные сведения об ошибке SQL Server.
Синтаксис
HRESULT GetErrorInfo(
SSERRORINFO**ppSSErrorInfo,
OLECHAR**ppErrorStrings);
Аргументы
ppSSErrorInfo[out]
Указатель на структуру SSERRORINFO. Если данный метод не дает результатов или отсутствуют сведения SQL Server, связанные с этой ошибкой, поставщик не выделяет памяти и гарантирует, что аргумент ppSSErrorInfo, указывающий на выходные данные, имеет значение NULL.ppErrorStrings[out]
Указатель на Юникод-указатель символьной строки. Если данный метод не дает результатов или отсутствуют сведения SQL Server, связанные с ошибкой, поставщик не выделяет памяти и гарантирует, что аргумент ppErrorStrings, указывающий на выходные данные, имеет значение NULL. При освобождении аргумента ppErrorStrings с помощью метода IMalloc::Free высвобождаются три индивидуальных строковых компонента возвращенной структуры SSERRORINFO, поскольку память выделяется одним блоком.
Значения кода возврата
S_OK
Метод выполнен успешно.E_INVALIDARG
Аргумент ppSSErrorInfo или аргумент ppErrorStrings имел значение NULL.E_OUTOFMEMORY
Поставщику OLE DB собственного клиента SQL Server не удалось выделить достаточный объем памяти для завершения запроса.
Замечания
Поставщик OLE DB собственного клиента SQL Server выделяет память для строк 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. Номер ошибки идентичен номеру, возвращаемому в параметре plNativeError метода ISQLErrorInfo::GetSQLInfo. |
bState |
Состояние ошибки SQL Server. |
bClass |
Степень серьезности ошибки SQL Server. |
wLineNumber |
Если это применимо, строка хранимой процедуры SQL Server, которая сформировала сообщение об ошибке. Если ошибка не связана с процедурой, значение по умолчанию составляет 1. |
Указатели в адресах ссылок на структуры в строке, возвращенной в аргументе ppErrorStrings.