近距離無線通信 (NFC)
近距離無線通信 (NFC) 技術の概要。
近距離無線通信 (NFC) を開発するには、次のヘッダーが必要です。
- nfccx.h
- nfcradiodev.h
- nfcsedev.h を
する - nfpdev.h を
する - winsmcrd.h
プログラミング ガイドについては、「近距離無線通信 (NFC)を参照してください。
IOCTL
IOCTL_NFCRM_QUERY_RADIO_STATE この IOCTL は、近接デバイスの現在の無線電源状態を照会するために、無線管理アプリケーションまたはサービスによって使用されます。 |
IOCTL_NFCRM_SET_RADIO_STATE この IOCTL は、近接デバイスの無線電源状態を設定するために、無線管理アプリケーションまたはサービスによって使用されます。 |
IOCTL_NFCSE_ENUM_ENDPOINTS NFC コントローラーに接続されているすべてのセキュリティで保護された要素の一覧に関する情報を返します。 |
IOCTL_NFCSE_GET_NEXT_EVENT IOCTL_NFCSE_GET_NEXT_EVENT コントロール コードは、バッファーで使用可能な次のイベントを返します。または、バッファー内のイベントがそれ以上ない場合は、セキュリティで保護された要素イベントが使用可能になるまで保留中のままです。 その後、イベントの詳細を呼び出し元に返す必要があります。 |
IOCTL_NFCSE_GET_NFCC_CAPABILITIES IOCTL_NFCSE_GET_NFCC_CAPABILITIES制御コードは、現在の NFC コントローラー機能に関する情報を返します。これには、最大リッスン モード ルーティング テーブル サイズ (NFC コントローラー インターフェイス (NCI) 技術仕様バージョン 1.1 のセクション 4.2 で定義) とサポートされているルーティング モードが含まれます。 |
IOCTL_NFCSE_GET_ROUTING_TABLE リッスン モード ルーティング テーブルの現在の構成に関する情報を返します。 |
IOCTL_NFCSE_HCE_REMOTE_RECV 使用可能な次のデータ バッファーを返すか、バッファーに格納されたデータがない場合は、APDU バッファーが読み取り可能になるまで、要求は保留中の状態を維持します。 |
IOCTL_NFCSE_HCE_REMOTE_SEND DeviceHost NFCEE からリモート デバイスに応答 APDU を送信します。 呼び出し元は、応答 APDU が ISO-IEC 7816-4 に準拠していることを確認する必要があります。 |
IOCTL_NFCSE_SET_CARD_EMULATION_MODE IOCTL_NFCSE_SET_CARD_EMULATION_MODE コントロール コードは、指定されたセキュア要素がカード エミュレーション モードで公開されるかどうかを設定します。 |
IOCTL_NFCSE_SET_ROUTING_TABLE NFC コントローラーのリッスン モード ルーティング テーブルを構成します。 |
IOCTL_NFCSE_SUBSCRIBE_FOR_EVENT IOCTL_NFCSE_SUBSCRIBE_FOR_EVENTコントロール コードは、特定のイベントをサブスクライブするためにクライアントによって発行されます。 |
IOCTL_NFCSERM_QUERY_RADIO_STATE IOCTL_NFCSERM_QUERY_RADIO_STATEは、SE 無線管理アプリケーションまたはサービスによって、近接デバイスの現在の無線電源状態を照会するために使用されます。 |
IOCTL_NFCSERM_SET_RADIO_STATE IOCTL_NFCSERM_SET_RADIO_STATEは、SE 無線管理アプリケーションまたはサービスによって、近接デバイスの現在の無線電力状態を設定するために使用されます。 |
IOCTL_NFP_DISABLE クライアントは、サブスクリプション、パブリケーション、およびプレゼンス イベントを一時的に無効にするために、IOCTL_NFP_DISABLE要求を送信します。 |
IOCTL_NFP_ENABLE クライアントは、IOCTL_NFP_ENABLE要求を送信して、以前に無効にしたサブスクリプション、パブリケーション、プレゼンス イベントを再度有効にします。 |
IOCTL_NFP_GET_KILO_BYTES_PER_SECOND クライアントは、IOCTL_NFP_GET_KILO_BYTES_PER_SECOND要求を、公開されていない汎用ハンドルとサブスクライブされていない汎用ハンドルにプロバイダー デバイスに送信します。 |
IOCTL_NFP_GET_MAX_MESSAGE_BYTES クライアントは、サポートされているメッセージの最大サイズを決定するために、IOCTL_NFP_GET_MAX_MESSAGE_BYTES要求を、公開されていない汎用ハンドルとサブスクライブされていない汎用ハンドルに送信します。 |
IOCTL_NFP_GET_NEXT_SUBSCRIBED_MESSAGE クライアントは、受信時にサブスクライブされたメッセージを受信するために、サブスクリプション ハンドルにIOCTL_NFP_GET_NEXT_SUBSCRIBED_MESSAGE要求を繰り返し送信します。 |
IOCTL_NFP_GET_NEXT_TRANSMITTED_MESSAGE メッセージが送信されたことを示す通知の受信に関心があるクライアントは、IOCTL_NFP_GET_NEXT_TRANSMITTED_MESSAGE要求を近接ドライバーに送信します。 |
IOCTL_NFP_SET_PAYLOAD クライアント アプリケーションは、メッセージ データを送信し、IOCTL_NFP_SET_PAYLOAD要求でパブリケーションを確認します。 |
IOCTL_SMARTCARD_GET_ATTRIBUTE IOCTL_SMARTCARD_GET_ATTRIBUTEは、スマート カード属性のコード クエリを制御します。 |
IOCTL_SMARTCARD_GET_STATE IOCTL_SMARTCARD_GET_STATEコントロール コードは、スマート カードの現在の状態を取得します。 |
IOCTL_SMARTCARD_IS_ABSENT スマート カードが現在検出されていない場合、IOCTL_SMARTCARD_IS_ABSENT コントロール コードはSTATUS_SUCCESSですぐに返されます。 |
IOCTL_SMARTCARD_IS_PRESENT IOCTL_SMARTCARD_IS_PRESENT制御コードは、スマート カードが現在検出されているかどうかを検出します。 |
IOCTL_SMARTCARD_POWER Windows では、ドライバーにこの IOCTL を NOP にして成功を返す必要がある場合があります。 |
IOCTL_SMARTCARD_SET_ATTRIBUTE IOCTL_SMARTCARD_SET_ATTRIBUTE コントロール コードは属性を設定し、SCARD_ATTR_DEVICE_IN_USEにSTATUS_SUCCESSを返します。それ以外の場合は、STATUS_NOT_SUPPORTEDを返します。 |
IOCTL_SMARTCARD_SET_PROTOCOL カードが検出された後に、ドライバーがスマート カードと通信するプロコトルを設定します。 |
IOCTL_SMARTCARD_TRANSMIT ISO7816-4 準拠の APDU でクライアントから検出されたスマート カードにデータを送信します。 |
列挙 体
NFC_CX_CE_MODE_CONFIG この列挙体は、CE リッスン モード フラグを指定します。 |
NFC_CX_DEVICE_MODE デバイス モード フラグを指定します。 |
NFC_CX_DRIVER_FLAGS ランタイム ドライバー フラグを指定します。 |
NFC_CX_HOST_ACTION NFC_CX_HOST_ACTION列挙体は、ホスト アクションを指定します。 |
NFC_CX_NFCIP_MODE_CONFIG NFC_CX_NFCIP_MODE_CONFIG列挙体は、NFC-IP イニシエーター モードを指定します。 |
NFC_CX_NFCIP_TGT_MODE_CONFIG NFC_CX_NFCIP_TGT_MODE_CONFIG列挙体は、ターゲット モード NFC-IP 指定します。 |
NFC_CX_POLL_BAILOUT_CONFIG NFC_CX_POLL_BAILOUT_CONFIG列挙は、ポーリング モードのベイル アウトを指定します。 |
NFC_CX_POLL_MODE_CONFIG NFC_CX_POLL_MODE_CONFIG列挙体はポーリング モードを指定します。 |
NFC_CX_SEQUENCE NFC_CX_SEQUENCE列挙はシーケンスを指定します。 |
NFC_CX_TRANSPORT_TYPE NFC_CX_TRANSPORT_TYPE列挙体は、トランスポートの種類を指定します。 |
SECURE_ELEMENT_CARD_EMULATION_MODE この列挙体は、セキュリティで保護された要素のカード エミュレーション モードを示します。 |
SECURE_ELEMENT_EVENT_TYPE セキュリティで保護された要素イベントの種類を示します。 |
SECURE_ELEMENT_ROUTING_TYPE SECURE_ELEMENT_ROUTING_TYPEはSECURE_ELEMENT_ROUTING_TABLE_ENTRYのメンバーです。 |
SECURE_ELEMENT_TYPE セキュリティで保護された要素の型を示します。 |
関数
EVT_NFC_CX_DEVICE_IO_CONTROL 未処理の IOCTL をクライアント ドライバーに送信するために、NFC CX によって呼び出されます。 |
EVT_NFC_CX_SEQUENCE_HANDLER 特定の登録済みシーケンスを処理するようにクライアント ドライバーに通知するために、NFC CX によって呼び出されます。 |
EVT_NFC_CX_WRITE_NCI_PACKET クライアント ドライバーに書き込みパケットを送信するために NFC CX によって呼び出されます。 |
NFC_CX_CLIENT_CONFIG_INIT NFC_CX_CLIENT_CONFIG_INIT関数は、NFC_CX_CLIENT_CONFIG構造体を初期化します。 |
NFC_CX_LLCP_CONFIG_INIT NFC_CX_LLCP_CONFIG_INIT関数は、NFC_CX_LLCP_CONFIG構造体を初期化します。 |
NFC_CX_RF_DISCOVERY_CONFIG_INIT NFC_CX_RF_DISCOVERY_CONFIG_INIT関数は、NFC_CX_RF_DISCOVERY_CONFIG構造体を初期化します。 |
NfcCxDeviceDeinitialize NfcCxDeviceDeinitialize 関数 (nfccx.h) は、AddDevice ルーチン中に作成された WDF デバイスを初期化解除します。 |
NfcCxDeviceInitConfig DeviceInit 関数を実行するために、AddDevice ルーチン中にクライアント ドライバーによって呼び出されます。 このプロセス中に、次の I/O コールバック関数も交換されます。 |
NfcCxDeviceInitialize NfcCxDeviceInitialize 関数 (nfccx.h) は、AddDevice ルーチン中に作成された WDF デバイスを初期化します。 |
NfcCxHardwareEvent の デバイスを起動または停止するための D0Entry コールバックや D0Exit コールバックなどのハードウェア イベントが発生したときに、クライアント ドライバーによって呼び出されます。 初期化または起動時にファームウェアのダウンロードを必要とするドライバーの場合は、この呼び出しを別の作業項目に移動することをお勧めします。 ただし、クライアント ドライバーは次の役割を担います。 |
NfcCxNciReadNotification 読み取りパケットが使用可能な場合にクライアント ドライバーによって呼び出されます。 |
nfcCxRegisterSequenceHandler の 初期化中にクライアント ドライバーによって呼び出され、特定のシーケンスを処理するために登録されます。 |
NfcCxSetLlcpConfig LLCP パラメーターを構成するためにクライアント ドライバーによって呼び出されます。 |
NfcCxSetRfDiscoveryConfig RF 検出パラメーターを構成するためにクライアント ドライバーによって呼び出されます。 |
NfcCxUnregisterSequenceHandler 以前に登録されたシーケンス ハンドラー コールバックの登録を解除するために、デバイスのシャットダウン中にクライアント ドライバーによって呼び出されます。 |
構造
NFC_CX_CLIENT_CONFIG NFC_CX_CLIENT_CONFIG構造体は、NfcCxDeviceInitConfig への入力パラメーターです。 |
NFC_CX_HARDWARE_EVENT NFC_CX_HARDWARE_EVENT構造体は、NfcCxHardwareEvent への入力パラメーターです。 |
NFC_CX_LLCP_CONFIG NFC_CX_LLCP_CONFIG構造体は、NfcCxSetLlcpConfig への入力パラメーターです。 |
NFC_CX_RF_DISCOVERY_CONFIG NFC_CX_RF_DISCOVERY_CONFIG構造には、RF 検出の構成設定が含まれています。 NfcDxDeviceInitialize を呼び出した後、初期化中に検出構成を完了する必要があります。それ以外の場合はエラーが返されます。 |
NFCCX_DRIVER_GLOBALS _NFCCX_DRIVER_GLOBALS構造体には、近距離無線通信 (NFC) CX ドライバーのグローバル値が含まれています。 |
NFCRM_RADIO_STATE この構造体は、無線の状態を示すために使用されます。 |
NFCRM_SET_RADIO_STATE この構造体は、無線の状態を設定するために使用されます。 機内モードの場合、ドライバーは無線状態を保持し、機内モードが無効になっているときに復元する必要があります。 |
SCARD_IO_REQUEST この構造体は、スマート カード I/O 要求を識別するために使用されます。 |
SECURE_ELEMENT_AID_ROUTING_INFO SECURE_ELEMENT_AID_ROUTING_INFOはSECURE_ELEMENT_ROUTING_TABLE_ENTRYのメンバーです。 |
SECURE_ELEMENT_ENDPOINT_INFO SECURE_ELEMENT_ENDPOINT_INFOはSECURE_ELEMENT_ENDPOINT_LISTのメンバーです。 |
SECURE_ELEMENT_ENDPOINT_LIST IOCTL_NFCSE_ENUM_ENDPOINTSの出力パラメーター。 |
SECURE_ELEMENT_EVENT_INFO この構造体は、セキュリティで保護された要素イベントに関する情報を提供します。 |
SECURE_ELEMENT_EVENT_SUBSCRIPTION_INFO SECURE_ELEMENT_EVENT_SUBSCRIPTION_INFO構造体は、IOCTL_NFCSE_SUBSCRIBE_FOR_EVENTする入力パラメーターです。 |
SECURE_ELEMENT_HCE_ACTIVATION_PAYLOAD _SECURE_ELEMENT_HCE_ACTIVATION_PAYLOAD構造体には、一意の接続識別子と NFC フォーラム RF テクノロジとプロトコルの種類が含まれています。 |
SECURE_ELEMENT_HCE_DATA_PACKET SECURE_ELEMENT_HCE_DATA_PACKETは、IOCTL_NFCSE_HCE_REMOTE_RECVのIOCTL_NFCSE_HCE_REMOTE_SENDと出力バッファーへの入力バッファーです。 |
SECURE_ELEMENT_NFCC_CAPABILITIES SECURE_ELEMENT_NFCC_CAPABILITIESには NFC コントローラー機能が含まれています。 |
SECURE_ELEMENT_PROTO_ROUTING_INFO SECURE_ELEMENT_PROTO_ROUTING_INFOはSECURE_ELEMENT_ROUTING_TABLE_ENTRYのメンバーです。 |
SECURE_ELEMENT_ROUTING_TABLE SECURE_ELEMENT_ROUTING_TABLEは、IOCTL_NFCSE_SET_ROUTING_TABLEの入力パラメーターです。 |
SECURE_ELEMENT_ROUTING_TABLE_ENTRY SECURE_ELEMENT_ROUTING_TABLE_ENTRYはSECURE_ELEMENT_ROUTING_TABLEのメンバーです。 |
SECURE_ELEMENT_SET_CARD_EMULATION_MODE_INFO SECURE_ELEMENT_SET_CARD_EMULATION_MODE_INFOは、IOCTL_NFCSE_SET_CARD_EMULATION_MODEの入力パラメーターです。 |
SECURE_ELEMENT_TECH_ROUTING_INFO SECURE_ELEMENT_TECH_ROUTING_INFOはSECURE_ELEMENT_ROUTING_TABLE_ENTRYのメンバーです。 |