ISQLServerErrorInfo::GetErrorInfo (OLE DB)
Retorna um ponteiro para uma estrutura SSERRORINFO do provedor OLE DB SQL Server Native Client que contém os detalhes do erro SQL Server.
Sintaxe
HRESULT GetErrorInfo(
SSERRORINFO**ppSSErrorInfo,
OLECHAR**ppErrorStrings);
Argumentos
ppSSErrorInfo[out]
Um ponteiro para uma estrutura SSERRORINFO. Se o método falhar ou se não houver informações do SQL Server associadas ao erro, o provedor não alocará nenhuma memória e garantirá que o argumento ppSSErrorInfo seja um ponteiro nulo na saída.
ppErrorStrings[out]
Um ponteiro para um ponteiro de cadeia de caracteres Unicode. Se o método falhar ou se não houver informações do SQL Server associadas a um erro, o provedor não alocará nenhuma memória e garantirá que o argumento ppErrorStrings seja um ponteiro nulo na saída. A liberação do argumento ppErrorStrings com o método IMalloc::Free libera os três membros de cadeia de caracteres individuais da estrutura SSERRORINFO retornada, pois a memória é alocada em um bloco.
Valores do código de retorno
S_OK
O método foi bem-sucedido.
E_INVALIDARG
O argumento ppSSErrorInfo ou ppErrorStrings foi NULL.
E_OUTOFMEMORY
O SQL Server Native Client provedor OLE DB não pôde alocar memória suficiente para concluir a solicitação.
Comentários
O provedor OLE DB SQL Server Native Client aloca memória para as cadeias de caracteres SSERRORINFO e OLECHAR retornadas por meio dos ponteiros passados pelo consumidor. O consumidor precisará desalocar essa memória usando o método IMalloc::Free quando não for mais necessário acessar os dados de erro.
A estrutura SSERRORINFO é definida da seguintes maneira:
typedef struct tagSSErrorInfo
{
LPOLESTR pwszMessage;
LPOLESTR pwszServer;
LPOLESTR pwszProcedure;
LONG lNative;
BYTE bState;
BYTE bClass;
WORD wLineNumber;
}
SSERRORINFO;
Membro | DESCRIÇÃO |
---|---|
pwszMessage | A mensagem de erro do SQL Server. A mensagem é retornada por meio do método IErrorInfo::GetDescription. |
pwszServer | O nome da instância do SQL Server na qual o erro ocorreu. |
pwszProcedure | O nome do procedimento armazenado que gera o erro, se o erro ocorreu em um procedimento armazenado; caso contrário, uma cadeia de caracteres vazia. |
lNative | O número de erro do SQL Server. O número do erro é idêntico àquele retornado no parâmetro plNativeError do método ISQLErrorInfo::GetSQLInfo. |
bState | O estado do erro do SQL Server. |
bClass | A severidade do erro do SQL Server. |
wLineNumber | Quando aplicável, a linha de um procedimento armazenado do SQL Server que gerou a mensagem de erro. Se nenhum procedimento estiver envolvido, o valor padrão será 1. |
Os ponteiros nos endereços de referência da estrutura na cadeia de caracteres retornada no argumento ppErrorStrings.