RDF_IOCTL_VENDOR - NtDoc

Native API online documentation, based on the System Informer (formerly Process Hacker) phnt headers
// smclib.h

NTSTATUS (*ReaderFunction[RDF_IOCTL_VENDOR])(
   PSMARTCARD_EXTENSION SmartcardExtension
);
View the official Windows hardware development documentation

NtDoc

No description available.

Windows hardware development documentation (smartcard-rdf-ioctl-vendor-callback)

RDF_IOCTL_VENDOR callback function

The RDF_IOCTL_VENDOR callback function performs vendor-specific IOCTL operations.

Parameters

Return value

This function returns an NTSTATUS value. Because this function executes a vendor-defined IOCTL call, the value returned depends upon the function that is performed. The possible NTSTATUS values are:

Return code Description
STATUS_SUCCESS Function successfully executed.
STATUS_NO_MEDIA No smart card is inserted in the reader.
STATUS_IO_TIMEOUT The request timed out.
STATUS_BUFFER_TOO_SMALL The user's reply buffer is too small.
STATUS_INVALID_DEVICE_REQUEST The request is not valid for the IOCTL.
STATUS_PENDING The operation is pending.

Remarks

It is optional for smart card reader drivers to implement this callback function.

On input, the caller must pass the following values to the function:

As with all other IOCTLs, a user-mode application dispatches a vendor-defined IOCTL to a smart card reader device by calling the DeviceIoControl function. When the IOCTL is vendor-defined, however, the application must first open the reader device for "overlapped" (that is, asynchronous) access. The application must also define an OVERLAPPED structure and pass it to the system in the last argument of DeviceIoControl (The OVERLAPPED structure is also described in the Windows SDK documentation.). When the operating system calls the driver's I/O control dispatch routine, it passes a DIOCPARAMETERS structure to the driver. The lpoOverlapped member of the DIOCPARAMETERS structure contains a pointer to the OVERLAPPED structure.

Requirements

Target platform Desktop
Header Smclib.h (include Smclib.h)

See also

SMARTCARD_EXTENSION