Phần quản lý kết nối USB giữa reader và máy tính, ta sẽ tích hợp nĩ vào bên trong phần mềm quản lý của ta ở trên. Chỉ đơn giản là ta sẽ thực hiện gọi các hàm
giao tiếp với thiết bị ngoại vi , mà hãng Microsoft đã cung cấp sẵn trong các lớp thư viện WINDOWS API của hệ điều hành windows. Bây giờ ta sẽ đi tìm hiểu qua về chúng.
API bao gồm các hàm, các thơng báo, các cấu trúc dữ liệu, các kiểu dữ liệu, mà chúng ta cĩ thể sử dụng để tạo ra các ứng dụng chạy trên hệ điều hành Windows. Các phần của API mà ta hay sử dụng nhất , đĩ là các mã phục vụ cho việc gọi các hàm API từ Windows. Cái này bao gồm, phần khai báo các thủ tục, phần định nghĩa các kiểu dữ liệu của người dùng, và phần khai báo các hằng số.
Trước khi một ứng dụng cĩ thể trao đổi dữ liệu với một HID, thì nĩ phải nhận dạng được thiết bị và lấy được các thơng tin về các report của thiết bị đĩ. Đầu tiên
ứng dụng sẽ tìm ra các HID được gắn vào hệ thống là gì. Sau đĩ, nĩ kiểm tra thơng tin về mỗi HID đĩ cho đến khi nĩ tìm thấy được một trong các thuộc tính mong muốn. Với các thiết bị truyền thống, ứng dụng cĩ thể tìm kiếm các thơng tin về mã số nhà phát hành và mã số sản phẩm. Hoặc ứng dụng cĩ thể tìm ra thiết bị đĩ là thuộc kiểu HID đặc biệt nào, chẳng hạn như HID mouse hay là HID joystick. Sau khi đã tìm ra được thiết bị, ứng dụng cĩ thể trao đổi thơng tin với thiết bị đĩ bằng cách gửi hoặc nhận các report.
Dưới đây là bảng danh sách các hàm API được sử dụng để thiết lập liên lạc thơng tin và trao đổi dữ liệu với một HID.
Bảng2.2 Danh sách các hàm API dùng cho kết nối usb trong windows
Các hàm API DLL Mục đích
HidD_GetHidGuid hid.dll Lấy GUID cho lớp HID
SetupDiGetClassDevs setupapịdll Trả về thơng tin của một thiết
bị từ một tập hợp chứa tất cả các thiết bị trong một lớp đặc biệt.
SetupDiEnumDeviceInterfaces setupapịdll Trả về thơng tin một thiết bị trong tập hợp thơng tin thiết bị.
CreateFile kernel32.dll Mở một kết nối truyền thơng
tới thiết bị.
HidD_GetAttributes hid.dll Trả về mã số nhà sản xuất, mã
số sản phẩm, và số phiên bản của sản phẩm.
HidD_GetPreparsedData hid.dll
HidP_GetCaps hid.dll Trả về một cấu trúc mơ tả các
khả năng của thiết bị.
WriteFile kernel32.dll Gửi một report ở đầu ra tới
ReadFile kernel32.dll Đọc một report đầu vào từ thiết bị.
HidD_SetFeature hid.dll Gửi một Feature report tới
thiết bị.
HidD_GetFeature hid.dll Đọc một Feature report từ
thiết bị.
CloseHandle kernel32.dll