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 인수에서 반환된 문자열의 구조 참조 주소에 있는 포인터입니다.