NFC class extension (CX) design guide
This section describes the interface between the NFC class extension (CX) and the NFC client driver. The NFC CX driver implements all NFC device driver interfaces and standard NFC protocols and formats based on the NFC Forum NFC Controller Interface (NCI) Technical Specification.
The NFC client driver is responsible for transport layer interfacing as well as support for any non-standard vendor-defined extensions for the optimized functioning of the NFC controller.
The NFC class extension driver implements all standard NFC Forum Tag (T1T, T2T, T3T, ISO-DEP) and P2P (LLCP and SNEP) protocols, and RF Management based on the NCI Core specification. The class extension driver implements all the Windows-defined device driver interfaces to interact with the NFC controller, Secure Elements, and Remote RF endpoints.
These topics describe the architecture and public interface between the NFC class extension driver supplied by Microsoft and the NFC client driver supplied by the corresponding chipset manufacturers. The NFC CX driver is designed to support NFC chipsets from various manufacturers, and enables manufacturers to implement non-NCI standard functionality in their NFC client driver for differentiation purposes.
NFC driver DDI
The following are the Windows-defined NFC driver DDI that are implemented by the NFC CX driver:
- Near Field Proximity DDI
- NFC Secure Element Management DDI
- Smart Card DDI for contactless smart card access
- NFC Radio Management DDI
- DTA DDI for NFC Forum certification
NFC forum specifications
The following are the NFC Forum specifications implemented by the NFC CX driver:
- NFC Controller Interface, NCI 1.0 Specification
- NFC Data Exchange Format, NDEF
- NFC Forum Type 1-4 Tag
- Logical Link Control Protocol, LLCP 1.1 Specification
- Simple NDEF Exchange Protocol, SNEP 1.0 Specification
- ISO/IEC 15693
Supported NFC smart cards and tags
The following are the NFC smart cards and tags supported by the NFC CX driver:
- MIFARE Classic family
- MIFARE Ultralight family
- MIFARE DESFire family
- FeliCa family
- Jewel/Topaz family
- Generic ISO 15693 tags
- Thinfilm NFC Barcode (Kovio)
In this section
- NFC stack architecture
- Driver load order
- Class extension interface
- Class extension state machine
- Extensibility model
- Error handling
- Power sates
- NFC client driver power management requirements
- Persisted data
We'd love to hear your thoughts. Choose the type you'd like to provide:
Our feedback system is built on GitHub Issues. Read more on our blog.