【Delphi】 Felicaによる三者間通信

Felicaに対してへの三者間通信で
一度つまづいたので、
Delphiソースコードをメモ書き

【環境】
Windows XP
BDS2006
SDK for FeliCa lite

【コード】
SndData[0] := 1; //$01; //header
SndData[1] := 2; //$02; //Browser起動
SndData[2] := Length(sUrl) + 2; //Length include(URL + Length(SndData[0]) + Length(SndData[0])
SndData[3] := 0; //$00;
SndData[4] := Length(sUrl); //Length Url
SndData[5] := 0; //$00;
Move(sUrl[1], SndData[6], Length(sUrl));

dSum := GetCheckSum(SndData);
dSum := $10000 - dSum;
SumH := $FF and (dSum Shr 8);
SumL := $FF and dSum;

SndData[Length(sUrl) + 6] := SumH;
SndData[Length(sUrl) + 7] := SumL;

@RW_Push := GetProcAddress(hFelicaInstance, 'rw_push');
bRtn := RW_Push(@IDM[0], High(SndData) + 1, @SndData[0]);

RW_Pushで、携帯にFelica R/Wからメッセージが飛んで、
携帯側が反応する。
⇒携帯ブラウザ起動の画面
Felica SDKの仕様書は最初理解するまで時間がかかるなあ。