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]
유니코드 문자열 포인터에 대한 포인터입니다. 메서드가 실패하거나 오류와 연결된 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 인수에 반환된 문자열의 구조 참조 주소에 있는 포인터입니다.