DrvError
DrvError
Aufruf beim Auftreten eines Fehlers
Details
- Request
MessageId:_DrvReqErrorId des EreignissesItemHeader:_DrvItemHeaderKopf des DatenpaketsProtocolId:0xF3A49E52Id des verwendeten ProtokollsProtocolVersion:0x00040000Version des verwendeten ProtokollsItemResult:_DrvItemResultInformationsbereich für das ResultatResult:intFehlerwertItemErrorText:_DrvItemErrorTextInformationsbereich des FehlertextesErrorText:alphaFehlertext- Siehe: Verwandte Befehle
Tritt bei der Verwendung des Laufwerkstreibers ein Verarbeitungsfehler auf, wird dieses Ereignis aufgerufen. In dem Ereignis kann eine entsprechende Protokollierung vorgenommen werden. Der Wert in Result kann mit folgenden Konstanten verglichen werden:
-
_ErrDrvDriverNotInstalled: Der Grätetreiber des Laufwerkstreibers ist nicht installiert. -
_ErrDrvInitFailed: Fehler bei der Initialisierung des Laufwerkstreibers. -
_ErrDrvInitInvalidData: Kein Laufwerksbuchstabe und Freigabename angegeben. -
_ErrDrvInitDriveLetterInUse: Der Laufwerksbuchstabe ist in Benutzung. -
_ErrDrvCreateTempPath: Temporärer Pfad ist ungültig oder konnte nicht angelegt werden. -
_ErrDrvCreateTempFile: Temporäre Datei konnte nicht angelegt werden. -
_ErrDrvClearTempPath: Temporärer Pfad war nicht leer und wurde geleert. -
Response
-
MessageId_DrvResError- Id der Antwort
-
ItemHeader_DrvItemHeader- Kopf des Datenpakets
-
ProtocolId0xF3A49E52- Id des verwendeten Protokolls
-
ProtocolVersion0x00040000- Version des verwendeten Protokolls
Beispiel:
if (tRequestMessageId = _DrvReqError)
{
// read error message
tDrvMsxRead->MsxRead(_MsxItem, tItemResult);
tDrvMsxRead->MsxRead(_MsxData, tRequestResult);
tDrvMsxRead->MsxRead(_MsxItem, tItemErrorText);
tDrvMsxRead->MsxRead(_MsxData, tRequestErrorText);
if (tRequestErrorText != '')
tRequestErrorText # StrCnv(tRequestErrorText, _StrFromUTF8);
// write log
SvcLog(_LogError, false, StrCut('EvtError() - code= ' + CnvAI(tRequestResult) + ' / errorText= ' + tRequestErrorText, 1, 250));
// alternative
DbaLog(_LogInfo, false, StrCut('EvtError() - code= ' + CnvAI(tRequestResult) + ' / errorText= ' + tRequestErrorText, 1, 250));
tDrvMsxWrite # MsxOpen(_MsxSocket | _MsxWrite, tSck);
tDrvMsxWrite->MsxWrite(_MsxMessage, _DrvResError);
tDrvMsxWrite->MsxWrite(_MsxItem, _DrvItemHeader); // ItemHeader
tDrvMsxWrite->MsxWrite(_MsxData, 0xF3A49E52); // ProtocolId
tDrvMsxWrite->MsxWrite(_MsxData, 0x00040000); // ProtocolVersion
tDrvMsxWrite->MsxWrite(_MsxEnd, 0);
tDrvMsxWrite->MsxClose();
}