Skip to content

Latest commit

 

History

History
102 lines (80 loc) · 3.74 KB

ni-nfcsedev-ioctl_nfcse_enum_endpoints.md

File metadata and controls

102 lines (80 loc) · 3.74 KB
UID title description old-location tech.root ms.date keywords ms.keywords req.header req.include-header req.target-type req.target-min-winverclnt req.target-min-winversvr req.kmdf-ver req.umdf-ver req.ddi-compliance req.unicode-ansi req.idl req.max-support req.namespace req.assembly req.type-library req.lib req.dll req.irql targetos req.typenames f1_keywords topic_type api_type api_location api_name
NI:nfcsedev.IOCTL_NFCSE_ENUM_ENDPOINTS
IOCTL_NFCSE_ENUM_ENDPOINTS (nfcsedev.h)
Returns information regarding the list of all the secure elements attached to the NFC controller.
nfpdrivers\ioctl_nfcse_enum_endpoints.htm
nfpdrivers
02/15/2018
IOCTL_NFCSE_ENUM_ENDPOINTS IOCTL
IOCTL_NFCSE_ENUM_ENDPOINTS, IOCTL_NFCSE_ENUM_ENDPOINTS control, IOCTL_NFCSE_ENUM_ENDPOINTS control code [Near-Field Proximity Drivers], _IOCTL_NFCSE_ENUM_ENDPOINTS, nfcsedev/IOCTL_NFCSE_ENUM_ENDPOINTS, nfpdrivers.ioctl_nfcse_enum_endpoints
nfcsedev.h
Windows
Windows
IOCTL_NFCSE_ENUM_ENDPOINTS
nfcsedev/IOCTL_NFCSE_ENUM_ENDPOINTS
APIRef
kbSyntax
HeaderDef
nfcsedev.h
IOCTL_NFCSE_ENUM_ENDPOINTS

IOCTL_NFCSE_ENUM_ENDPOINTS IOCTL

-description

Returns information regarding the list of all the secure elements attached to the NFC controller. Note that the caller must allocate an output buffer large enough to hold information regarding all the secure elements that were enumerated by the driver i.e. Total number of SEs Enumerated x Size of the SE endpoint info otherwise the driver should return a STATUS_BUFFER_OVERFLOW error code to the client with the NumberOfEndpoints field containing the number of secure elements enumerated. The GUID identifying the secure element which maybe used to refer to a particular secure element.

-ioctlparameters

-ioctl-major-code

-input-buffer

None

-input-buffer-length

None

-output-buffer

An SECURE_ELEMENT_ENDPOINT_LIST for each device enumerated.

-output-buffer-length

-in-out-buffer

-inout-buffer-length

-status-block

Irp->IoStatus.Status is set to STATUS_SUCCESS if the request is successful. Possible error codes are:

Return Code Description
STATUS_INVALID_PARAMETER This code is returned when the output buffer is non-zero.
STATUS_BUFFER_OVERFLOW The buffer supplied was too small to receive the routing table configuration.

-remarks

The following are requirements that the driver must adhere to.

  • In the case of integrated secure element the GUID shall be a unique identifier derived from the serial number and/or other unique identification of the secure element.
  • For external secure elements, the GUID maybe a fixed constant and identifies only the “socket” into which the secure element is connected.
  • For device host secure element, the driver shall enumerate it as a SE end point only if it supports Host Card Emulation. The GUID used for DH maybe a fixed constant defined by the driver.
  • The caller is required to allocate an output buffer large enough to hold the information about all the secure elements that were enumerated by the driver. The buffer must be equal to the total number of SEs enumerated by the driver multiplied by the size of the SE endpoint information. If the appropriate buffer isn’t allocated, the driver returns a STATUS_BUFFER_OVERFLOW error code to the client with the NumberOfEndpoints field that contains the number of secure elements enumerated.