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 |
unsigned char | Track1EncryptedDataLength - 如果 msrDataEncryption是MsrDataEncryption_None,則一律為 0 (0) 。 |
unsigned char | Track2EncryptedDataLength - 如果 msrDataEncryption是MsrDataEncryption_None,則一律為 0) (0。 |
unsigned char | Track3EncryptedDataLength - 如果 MsrDataEncryption_None MsrDataEncryption ,則一律為 0 (0 ) 。 |
unsigned char | Track4EncryptedDataLength - 如果 msrDataEncryption是MsrDataEncryption_None,則一律為 0 () 0。 |
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] | Track2MaskedDataLength 位元組的遮罩追蹤 2 資料 |
unsigned char [MSR_TRACK_SIZE] | Track3MaskedData 遮罩 追蹤 3 資料的位元組 |
unsigned char [MSR_TRACK_SIZE] | Track4MaskedData 遮罩 追蹤 4 資料的位元組 |
unsigned char | Track1DiscretionaryDataLength – 如果 MagneticStripeReaderIsDecodeDataEnabled 為 false,則一律為零 (0) 。 |
unsigned char | Track2DiscretionaryDataLength – 如果 MagneticStripeReaderIsDecodeDataEnabled 為 false,則一律為零 (0) 。 |
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 位元組的其他安全性資訊 |
規格需求
標頭: pointofservicedriverinterface.h