Hi all,
I have an upper filter driver for Smart card devices. The documentation for IOCTL_SMARTCARD_TRANSMIT seem to indicate that both the in and out data would be of variable size.
https://docs.microsoft.com/en-us/windows-hardware/drivers/ddi/winsmcrd/ni-winsmcrd-ioctl_smartcard_transmit
However, IOCTL_SMARTCARD_TRANSMIT request from host (presumably from the smart card service) has a variable size input buffer but the out buffer size is always set to 272 bytes. Since the transfer would be of APDU format, I would expect the max size to be 258 bytes (short APDU: 256 data + 2 bytes of status). Wondering why is this always set to 272? Why not 512? What am I missing? To be clear, I have a completion routine installed which shows varying output data sizes as expected. Thanks.