NFC コントローラーのリッスン モード ルーティング テーブルを構成します。 呼び出し元は、1 回の呼び出しで完全なリッスン モードのルーティング情報を送信する必要があることに注意してください。 呼び出し元は、ルーティング テーブルが 4.2.5.1 で定義されている cbMaxRoutingTableSize 値より小さいことを確認する必要があります。 合計サイズは NFC NCI 標準秒 6.3.2 に従って計算され、AID ベースのルートの数 x 4 + cbAid の合計 + テクノロジ ベースのルートの数 x 5 + プロトコル ベースのルートの数 x 5 に等しくなります。 呼び出し元は、テクノロジベースおよびプロトコルベースのルートの値が NCI NFC 仕様 6.3.2 に準拠していることを確認する必要があります。
メジャー コード
入力バッファー
現在構成されているすべてのルーティング エントリを含む SECURE_ELEMENT_ROUTING_TABLE。
出力バッファー
何一つ
状態ブロック
Irp->IoStatus.Status は、要求が成功した場合に STATUS_SUCCESS に設定されます。 考えられるエラー コードは次のとおりです。
| リターン コード | 形容 |
|---|---|
| STATUS_INVALID_BUFFER_SIZE | 指定されたバッファーが NFC コントローラーのMAX_ROUTING_TABLE_SIZEより大きかった。 |
| STATUS_FEATURE_NOT_SUPPORTED | NFCC では、リッスン モードのルーティング構成はサポートされていません。 |
| STATUS_INVALID_PARAMETER | この状態は、出力バッファーが 0 以外の場合、またはテクノロジまたはプロトコルに使用される値が NFC NCI 仕様 6.3.2 に準拠している場合、または重複する AID が使用されている場合、または現在の NFC コントローラー機能でサポートされていないルーティング モードを使用している場合に返されます。 |
| STATUS_INVALID_DEVICE_STATE | このコードは、相対名 'SEManage' 以外のハンドルで IOCTL が送信された場合に返されます。 |
備考
ドライバーが準拠する必要がある要件を次に示します。
- この IOCTL は、"SEManage" 相対ファイル名を持つハンドルで送信されます。それ以外の場合、ドライバーは STATUS_INVALID_DEVICE_STATE で完了する必要があります。
- ドライバーには、RF テクノロジ A、B、F、または UICC SE にルーティングされる ISO-DEP プロトコル (存在する場合) をルーティングする初期の既定のリッスン モード ルーティング テーブル エントリが含まれている必要があります。 これらのルーティング エントリは、後でデバイス ホストによって開始される新しいリッスン モード ルーティング テーブル構成によってオーバーライドされる可能性があります。
- ドライバーは、プロトコル NFC-DEP が常にデバイス ホストにマップされていることを確認する必要があります。 呼び出し元がこれを指定しない場合でも、ドライバーは暗黙的にこの規則を追加する必要があります。
- NFCC が RF 検出状態のときにこの IOCTL が発行された場合、ドライバーは NFCC を RF アイドル状態にし、ルーティング テーブルを構成して、RF 検出を再起動する必要があります。
必要条件
| 要件 | 価値 |
|---|---|
| ヘッダー | nfcsedev.h |