2011/09/17

SDK for NFC Starter Kit β版のドキュメントを見る

M575_NFCAccessLibraryFunctionOverview_1.1j.pdf

概要が書いてあるので、まず目を通す。

ライブラリにはプラグインがあって、そのパスはレジストリに書く。
インストーラがやってくれるのだが、再頒布可能なファイルにはインストーラが入ってなかった。
だめなのかな?
でも、Lite版のアプリとともにライブラリを頒布する場合のライブラリインストールにはインストーラを使ってくださいと書かれている。
なら、いいのかな?

 

また、注意事項がいくつか。

まず、捕捉コマンドの発行ができないとのこと。
ん? InListPassiveTargetを投げられないということですかい?
しくみとしては、poll mode開始関数を実行すると、定期的に裏でポーリングされ、捕捉されたらWindowメッセージで通知されるとのこと。
何気なく使っているポーリングだけど、SONYさん(FNさん?)としては使われたくないコマンドってことなのかなぁ。

 

R/Wは複数のアプリで共有できるとのこと。
「1つのR/Wは、最大8個のアプリで共有できる」とある。R/W複数接続もあり(もってないけど)?
アプリごとのアクセス権(排他制御)もライブラリでできるらしい。
たぶん、アプリはライブラリにアクセス権を獲得しにいき、とれたらアクセスできるのだろう。
んで、アクセスはプロセス単位とのこと。
Windowsのしくみは詳しくないが、アプリケーション=プロセス、でいいのかな。
なお、マルチスレッドには対応してない。

複数で共有したとき、捕捉したら誰に通知が行くかというと、登録が早いひと。プロセスが使用権を解放しないと次のプロセスが使えないので、必ず解放せよ、ということだ。


M579_PC_SC_1.1j.pdf

これは、PC/SCについての資料で、TypeBのはなしらしい。
PC/SCはわからん・・・というよりも、知らないと潔く言わねばなるまい。

Personal Computer / Smart Cardの略。
WindowsでICカードを使うための標準APIらしい。
http://developers.orangetags.jp/words/pc-sc

TypeBチャレンジするときに、また読むかもしれない。
今は、おいておこう。


M577_NFCAccessLibrary_1.2j.pdf

ライブラリの詳細。
といっても、30ページほどしかないのでそこまで身構えることはない。

さっき「捕捉したらWindowメッセージで通知」と書いたが、あれはコールバックのことらしい。
WinProc()がコールバックされて、そこのメッセージによって処理を切り分けるというやり方なのかな。
(Windowsに詳しくないので、基本がわかってない。)

API一覧は17個。
API仕様には18個。差は、一覧にfelicalib_nfc_poll_and_start_dev_access()が漏れているからだ。
そして、2.1.9, 2.1.10が欠番だ。

ヘッダにあるLIBRARY_APIは22個。
載っていないのは、以下の4つ。

  • felicalib_nfc_set_pnp_callback_parameters
  • felicalib_nfc_start_plug_and_play
  • felicalib_nfc_stop_plug_and_play
  • felicalib_nfc_set_watching_interval

最初3つは、R/WのUSB挿抜を監視できるのかな。
最後のは、何のwatchingかわからんな。ヘッダの最後にあるから、pnpの監視間隔ではなくポーリングの間隔のような感じがする(試してない)。

 

私が一番気になるのは、API説明に「S_OK」「E_FAIL」とあるけど、ヘッダファイルには定義がないことだ。
API概要には「true/falseです」と書いてある。
Win32のS_OKは0らしいので、C++のtrueは1扱いとなることを考えると、S_OKではだめだ。
サンプルソースを見ると、戻り値を反転したものが真だったらエラーにしているので、true/falseを使っているということになる(戻り値0を反転したら真になるからね)。

0 件のコメント:

コメントを投稿

コメントありがとうございます。
スパムかもしれない、と私が思ったら、
申し訳ないですが勝手に削除することもあります。