// CCID Commands NTSTATUS PowerOn(_Out_ PBYTE Atr, _Out_ PDWORD AtrLength); NTSTATUS PowerOff(); NTSTATUS Transmit(_In_ PBYTE Command, _In_ DWORD CommandLen, _Out_ PBYTE Response, _Inout_ PDWORD ResponseLen); NTSTATUS GetSlotStatus(_Out_ PDWORD Status);
// Create device object WDF_OBJECT_ATTRIBUTES_INIT_CONTEXT_TYPE(&deviceAttributes, UsbCcidDevice); status = WdfDeviceCreate(&DeviceInit, &deviceAttributes, &device); if (!NT_SUCCESS(status)) return status; microsoft usbccid smartcard reader -umdf 2- driver
[Strings] ManufacturerName="Your Company" DeviceDesc="USB CCID Smartcard Reader (UMDF 2)" ServiceDesc="USB CCID Smartcard Reader Service" Device.h #pragma once #include <wdf.h> #include <usb.h> #include <scardlib.h> class UsbCcidDevice public: static NTSTATUS Create( In WDFDRIVER Driver, In WDFDEVICE_INIT* DeviceInit, Out WDFDEVICE* Device); // CCID Commands NTSTATUS PowerOn(_Out_ PBYTE Atr, _Out_