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 - MsrDataEncryption が MsrDataEncryption_None の場合、常にゼロ (0) になります。 |
ホタロシド時間 | Track2EncryptedDataLength - MsrDataEncryption が MsrDataEncryption_None の場合、常にゼロ (0) になります。 |
ホタロシド時間 | Track3EncryptedDataLength - MsrDataEncryption が MsrDataEncryption_None の場合、常にゼロ (0) になります。 |
ホタロシド時間 | Track4EncryptedDataLength - MsrDataEncryption が MsrDataEncryption_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 バイト |
ホタロシド時間 | Track1DiscretionaryDataLength – MagneticStripeReaderIsDecodeDataEnabled が false の場合、常にゼロ (0) になります。 |
ホタロシド時間 | Track2DiscretionaryDataLength – MagneticStripeReaderIsDecodeDataEnabled が 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