'ISQLServerErrorInfo::GetErrorInfo' (OLE DB)
Gibt einen Zeiger auf eine SSERRORINFO-Struktur des SQL Server Native Client OLE DB-Anbieters zurück, die die SQL Server-Fehlerdetails enthält.
Syntax
HRESULT GetErrorInfo(
SSERRORINFO**ppSSErrorInfo,
OLECHAR**ppErrorStrings);
Argumente
ppSSErrorInfo[out]
Ein Zeiger auf eine SSERRORINFO-Struktur. Wenn die Methode fehlschlägt oder dem Fehler keine SQL Server-Informationen zugeordnet sind, teilt der Anbieter keinen Speicher zu und stellt sicher, dass das ppSSErrorInfo-Argument bei der Ausgabe ein NULL-Zeiger ist.ppErrorStrings[out]
Ein Zeiger auf einen Unicode-Zeichenfolgenzeiger. Wenn die Methode fehlschlägt oder einem Fehler keine SQL Server-Informationen zugeordnet sind, teilt der Anbieter keinen Speicher zu und stellt sicher, dass das ppErrorStrings-Argument bei der Ausgabe ein NULL-Zeiger ist. Durch die Freigabe des ppErrorStrings-Arguments mit der IMalloc::Free-Methode werden die drei einzelnen Zeichenfolgenelemente der zurückgegebenen SSERRORINFO-Struktur freigegeben, da der Speicher in einem Block zugeteilt wird.
Rückgabecodewerte
S_OK
Die Methode wurde erfolgreich ausgeführt.E_INVALIDARG
Entweder das ppSSErrorInfo-Argument oder das ppErrorStrings-Argument war NULL.E_OUTOFMEMORY
Der SQL Server Native Client OLE DB-Anbieter konnte nicht genügend Arbeitsspeicher zuteilen, um die Anforderung zu erfüllen.
Hinweise
Der SQL Server Native Client OLE DB-Anbieter teilt Arbeitsspeicher für die SSERRORINFO- und die OLECHAR-Zeichenfolgen zu, die durch die Zeiger zurückgegeben werden, die vom Consumer übergeben werden. Der Consumer muss diesen Arbeitsspeicher mithilfe der IMalloc::Free-Methode freigeben, wenn er keinen Zugriff auf die Fehlerdaten mehr benötigt.
Die SSERRORINFO-Struktur ist folgendermaßen definiert:
typedef struct tagSSErrorInfo
{
LPOLESTR pwszMessage;
LPOLESTR pwszServer;
LPOLESTR pwszProcedure;
LONG lNative;
BYTE bState;
BYTE bClass;
WORD wLineNumber;
}
SSERRORINFO;
Element |
Beschreibung |
---|---|
pwszMessage |
Die Fehlermeldung aus SQL Server. Die Meldung wird durch die IErrorInfo::GetDescription -Methode zurückgegeben. |
pwszServer |
Der Name der Instanz von SQL Server, auf der der Fehler aufgetreten ist |
pwszProcedure |
Der Name der gespeicherten Prozedur, die den Fehler generiert, wenn der Fehler in einer gespeicherten Prozedur aufgetreten ist; anderenfalls ist es eine leere Zeichenfolge. |
lNative |
Die SQL Server-Fehlernummer. Die Fehlernummer ist mit der im plNativeError-Parameter der ISQLErrorInfo::GetSQLInfo-Methode zurückgegebenen identisch. |
bState |
Der Zustand des SQL Server-Fehlers. |
bClass |
Der Schweregrad des SQL Server-Fehlers. |
wLineNumber |
Das ist gegebenenfalls die Zeile einer gespeicherten SQL Server-Prozedur, die die Fehlermeldung generiert hat. Wenn keine Prozedur betroffen ist, lautet der Standardwert 1. |
Zeiger auf die Strukturverweisadressen in der Zeichenfolge, die im ppErrorStrings-Argument zurückgegeben wird