NTSTATUS UsbCcidDevice::Transmit(PBYTE Command, DWORD CommandLen, PBYTE Response, PDWORD ResponseLen) CCID_TRANSMIT transmitCmd = 0; transmitCmd.bMessageType = PC_to_RDR_XfrBlock; transmitCmd.dwLength = CommandLen; transmitCmd.bSlot = 0; transmitCmd.bSeq = 0; transmitCmd.bBWI = 0; transmitCmd.wLevelParameter = 0;
return SendCcidCommand(&powerOnCmd, sizeof(powerOnCmd), Atr, AtrLength);
return STATUS_SUCCESS;
WDF_USB_DEVICE_SELECT_CONFIG_PARAMS_INIT_SINGLE_INTERFACE(&configParams, 0); status = WdfUsbTargetDeviceSelectConfig(m_UsbDevice, WDF_NO_OBJECT_ATTRIBUTES, &configParams); if (!NT_SUCCESS(status)) return status;
[UMDFDriverCopyFiles] UsbCcidReader.dll
[Standard.NTarm64] %DeviceDesc% = UsbCcidReader_Install, USB\VID_xxxx&PID_xxxx
// Get USB pipes m_BulkOutPipe = WdfUsbInterfaceGetConfiguredPipe(m_UsbInterface, 0, NULL); m_BulkInPipe = WdfUsbInterfaceGetConfiguredPipe(m_UsbInterface, 1, NULL); m_InterruptPipe = WdfUsbInterfaceGetConfiguredPipe(m_UsbInterface, 2, NULL); microsoft usbccid smartcard reader -umdf 2- driver
[UsbCcidReader_Install.NT.Wdf] UmdfService=UsbCcidReaderService,UsbCcidReader_Install UmdfServiceOrder=UsbCcidReaderService