MagneticStripeReaderErrorOccured
이 이벤트는 스캔 오류와 같은 MSR(자기 줄무늬 판독기) 오류가 있을 때 발생합니다.
Syntax
typedef struct _MSR_ERROR_EVENT
{
PosEventDataHeader Header;
MsrTrackErrorType Track1Status;
MsrTrackErrorType Track2Status;
MsrTrackErrorType Track3Status;
MsrTrackErrorType Track4Status;
UnifiedPosErrorSeverity Severity;
UnifiedPosErrorReason Reason;
UINT32 ExtendedReason;
MSR_DATA_RECEIVED CardData;
wchar_t Message[MSR_ERROR_MAX_MESSAGE_LENGTH];
} MSR_ERROR_EVENT, *PMSR_ERROR_EVENT;
다음 표에서는 이 이벤트에 대한 데이터 버퍼의 메모리 레이아웃을 보여줍니다.
메모리 값 | Description |
---|---|
0x00000009 | EventType = PosEventType:: MagneticStripeReaderErrorOccurred |
Uint32 | DataLength = sizeof(PosEventDataHeader) + sizeof(MSR_ERROR_EVENT) |
32비트 MsrTrackErrorType | Track1Status |
32비트 MsrTrackErrorType | Track2Status |
32비트 MsrTrackErrorType | Track3Status |
32비트 MsrTrackErrorType | Track4Status |
32비트 UnifiedPosErrorSeverity | 심각도 |
32비트 UnifiedPosErrorReason | 이유 |
Uint32 | 확장된 이유 |
32비트 MsrCardType | CardType |
unsigned char | Track1EncryptedDataLength |
unsigned char | Track2EncryptedDataLength |
unsigned char | Track3EncryptedDataLength |
unsigned char | Track4EncryptedDataLength |
unsigned char [MSR_TRACK_SIZE] | Track1EncryptedDataLength 암호화된 트랙 1 데이터의 바이트 |
unsigned char [MSR_TRACK_SIZE] | Track2EncryptedDataLength 암호화된 트랙 2 데이터의 바이트 |
unsigned char [MSR_TRACK_SIZE] | Track3EncryptedDataLength 암호화된 트랙 3 데이터의 바이트 |
unsigned char [MSR_TRACK_SIZE] | Track4EncryptedDataLength 암호화된 트랙 4 데이터의 바이트 |
unsigned char | Track1MaskedDataLength |
unsigned char | Track2MaskedDataLength |
unsigned char | Track3MaskedDataLength |
unsigned char | Track4MaskedDataLength |
unsigned char [MSR_TRACK_SIZE] | Track1MaskedDataLength 마스킹된 트랙 1 데이터의 바이트 |
unsigned char [MSR_TRACK_SIZE] | 마스킹된 트랙 2 데이터의 Track2MaskedDataLength 바이트 |
unsigned char [MSR_TRACK_SIZE] | Track3MaskedDataLength 마스킹된 트랙 3 데이터의 바이트 |
unsigned char [MSR_TRACK_SIZE] | Track4MaskedDataLength 마스킹된 트랙 4 데이터의 바이트 |
unsigned char | Track1DiscretionaryDataLength |
unsigned char | Track2DiscretionaryDataLength |
unsigned char [MSR_TRACK_SIZE] | Track1DiscretionaryDataLength 바이트의 임의 트랙 1 데이터 |
unsigned char [MSR_TRACK_SIZE] | Track2DiscretionaryDataLength 바이트의 임의 트랙 2 데이터 |
unsigned char | CardAuthenicationDataLength - 패딩을 포함하여 암호화 후 데이터의 길이 |
unsigned char | CardAuthenticationDataAbsoluteLength - 암호화 전 데이터 길이(암호 해독 중에 패딩을 제거하는 데 필요할 수 있음) |
unsigned char[MSR_ADDITIONAL_SECURITY_INFORMATION_DATA_SIZE] | CardAuthenticationDataAbsoluteLength 바이트의 카드 인증 데이터 |
unsigned char | AdditionalSecurityInformationLength |
unsigned char[MSR_ADDITIONAL_SECURITY_INFORMATION_SIZE] | AdditionalSecurityInformationLength 바이트의 추가 보안 정보 |
wchar_T [MSR_ERROR_MAX_MESSAGE_LENGTH] | Null로 종료된 오류 메시지 텍스트의 최대 MSR_ERROR_MAX_MESSAGE_LENGTH wchar_t |
설명
검사 오류가 발생하고 일부 검사 데이터를 가져온 경우 이벤트 데이터에 부분 검사 데이터가 포함됩니다.
요구 사항
헤더: pointofservicedriverinterface.h