0

PinPad デバイスとの統合を行う必要があります。

PinPad の DLL には、Param に String を受け取るメソッドがあります。次のコードは、実際のコードと似ています。

これは JavaCode です:

  Memory memMsgAfter = new Memory(32);
  memMsgAfter.setString(0, toHexString("0000000000000000".getBytes()));
  PinpadGertecInterface.instance.PPC_StartPINEntry_DiffWK(0, 1, 3, memMsgAfter,/* other params ommited*/)

これは、C でのメソッドの割り当てです。

PPC_FUNCTION PPC_StartPINEntry (BYTE bMode, BYTE bIndex, BYTE bKey-
Opt, BYTE *sEncWK, /* other params */);

メーカーのドキュメントには次のように書かれています。

bKeyOpt BYTE [IN] :
キーイング オプション。正しくお使いいただくための注意事項をご覧ください。

sEncWK バイト * [IN]

暗号化された作業キー。長さは bKeyOpt (常に HEX 文字列) に依存します。bKeyOpt = 1 => sEncWK の長さは 48 でなければなりません。 bKeyOpt = 2 => sEncWK の長さは 32 でなければなりません。 bKeyOpt = 3 => sEncWK の長さは 16 でなければなりません。

問題は、実行して ACCESS VIOLATION を返すことです

#
# A fatal error has been detected by the Java Runtime Environment:
#
#  EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x0114c48e, pid=5284, tid=4856
4

0 に答える 0