次の方法で共有


MagneticStripeReaderDataReceived

このイベントは、磁気ストライプ リーダー (MSR) スキャン イベントが成功した後に発生します。

構文

typedef struct _MSR_DATA_RECEIVED {
    MsrCardType CardType;
    unsigned char Track1EncryptedDataLength;
    unsigned char Track2EncryptedDataLength;
    unsigned char Track3EncryptedDataLength;
    unsigned char Track4EncryptedDataLength;
    unsigned char Track1EncryptedData[MSR_TRACK_SIZE];
    unsigned char Track2EncryptedData[MSR_TRACK_SIZE];
    unsigned char Track3EncryptedData[MSR_TRACK_SIZE];
    unsigned char Track4EncryptedData[MSR_TRACK_SIZE];
    unsigned char Track1MaskedDataLength;
    unsigned char Track2MaskedDataLength;
    unsigned char Track3MaskedDataLength;
    unsigned char Track4MaskedDataLength;
    unsigned char Track1MaskedData[MSR_TRACK_SIZE];
    unsigned char Track2MaskedData[MSR_TRACK_SIZE];
    unsigned char Track3MaskedData[MSR_TRACK_SIZE];
    unsigned char Track4MaskedData[MSR_TRACK_SIZE];
    unsigned char Track1DiscretionaryDataLength;
    unsigned char Track2DiscretionaryDataLength;
    unsigned char Track1DiscretionaryData[MSR_TRACK_SIZE];
    unsigned char Track2DiscretionaryData[MSR_TRACK_SIZE];
    unsigned char CardAuthenicationDataLength; // Length of data after encryption, may include padding.
    unsigned char CardAuthenticationDataAbsoluteLength; // Length of data before encryption, may be needed to strip padding on decryption.
    unsigned char CardAuthenicationData[MSR_CARD_AUTHENTICATION_DATA_SIZE];
    unsigned char AdditionalSecurityInformationLength;
    unsigned char AdditionalSecurityInformation[MSR_ADDITIONAL_SECURITY_INFORMATION_SIZE];
} MSR_DATA_RECEIVED, *PMSR_DATA_RECEIVED;

次の表に、このイベントのデータ バッファーのメモリ レイアウトを示します。

メモリ値 説明
0x00000008 EventType = PosEventType:: MagneticStripeReaderDataReceived
UINT32 DataLength = sizeof(PosEventDataHeader) + sizeof(MSR_DATA_RECEIVED)
32 ビット MsrCardType MsrCardType
ホタロシド時間 Track1EncryptedDataLength - MsrDataEncryptionMsrDataEncryption_None の場合、常にゼロ (0) になります。
ホタロシド時間 Track2EncryptedDataLength - MsrDataEncryptionMsrDataEncryption_None の場合、常にゼロ (0) になります。
ホタロシド時間 Track3EncryptedDataLength - MsrDataEncryptionMsrDataEncryption_None の場合、常にゼロ (0) になります。
ホタロシド時間 Track4EncryptedDataLength - MsrDataEncryptionMsrDataEncryption_None の場合、常にゼロ (0) になります。
符号なし文字列 [MSR_TRACK_SIZE] 暗号化されたトラック 1 データの Track1EncryptedDataLength バイト
符号なし文字列 [MSR_TRACK_SIZE] 暗号化されたトラック 2 データの Track2EncryptedDataLength バイト
符号なし文字列 [MSR_TRACK_SIZE] 暗号化されたトラック 3 データの Track3EncryptedDataLength バイト
符号なし文字列 [MSR_TRACK_SIZE] 暗号化されたトラック 4 データの Track4EncryptedDataLength バイト
ホタロシド時間 Track1MaskedDataLength
ホタロシド時間 Track2MaskedDataLength
ホタロシド時間 Track3MaskedDataLength
ホタロシド時間 Track4MaskedDataLength
符号なし文字列 [MSR_TRACK_SIZE] マスクされたトラック 1 データの Track1MaskedDataLength バイト
符号なし文字列 [MSR_TRACK_SIZE] マスクされたトラック 2 データの Track2MaskedDataLength バイト
符号なし文字列 [MSR_TRACK_SIZE] マスクされたトラック 3 データの Track3MaskedDataLength バイト
符号なし文字列 [MSR_TRACK_SIZE] マスクされたトラック 4 データの Track4MaskedDataLength バイト
ホタロシド時間 Track1DiscretionaryDataLengthMagneticStripeReaderIsDecodeDataEnabled が false の場合、常にゼロ (0) になります。
ホタロシド時間 Track2DiscretionaryDataLengthMagneticStripeReaderIsDecodeDataEnabled が false の場合、常にゼロ (0) になります。
符号なし文字列 [MSR_TRACK_SIZE] 任意のトラック 1 データの Track1DiscretionaryDataLength バイト
符号なし文字列 [MSR_TRACK_SIZE] 任意のトラック 2 データの Track2DiscretionaryDataLength バイト
ホタロシド時間 CardAuthenicationDataLength - 暗号化データのバイト単位の長さ (パディングを含む)
ホタロシド時間 CardAuthenticationDataAbsoluteLength - 暗号化されていないデータのバイト単位の長さ (復号化中にパディングを除去する必要がある場合があります)
符号なし文字列 [MSR_ADDITIONAL_Standard Edition CURITY_INFORMATION_DATA_SIZE] カード認証データの CardAuthenticationDataAbsoluteLength バイト
ホタロシド時間 AdditionalSecurityInformationLength
符号なし文字列 [MSR_ADDITIONAL_SECURITY_INFORMATION_SIZE] AdditionalSecurityInformationLength バイトの追加のセキュリティ情報

要件

ヘッダー : pointofservicedriverinterface.h