다음을 통해 공유


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