o Quy ước gọi hàm
Các hàm quản lí của ICC Resource Manager đều được gọi theo mẫu sau (số
lượng tham số và kiểu của thamg số tùy thuộc vào từng hàm):
RESPONSECODE FunctionName( IN DWORD Parameter1, OUT BYTE Parameter2, IN OUT BYTE Parameter3 )
Trong đó RESPONSECODE là tập các giá trị được định nghĩa trước trả về
trạng thái thực sau khi thực hiên hàm (thành công hay thất bại…).
o Lớp RESOURCEMANAGER
Chức năng của lớp này là quản lí context: một context là một số định danh 32 bit bắt buộc phải được thiết lập, các hành động sau này đều phải dựa trên một context nào đó (khái niệm rất hay gặp trong lập trình Windows). Lớp này chỉ có hai hàm chính: thiết lập và hủy một context:
RESPONSECODE EstablishContext(...) // thiết lập context RESPONSECODE ReleaseContext() // hủy context
o Lớp RESOURCEDB
Một trong những chức năng của Resource Manager là quản lí tất cả các kiểu ICC, IFD và tài nguyên liên quan. Lớp RESOURCEDB mục đích là quản lí cơ sở dữ liệu tài nguyên này, nó cho phép thêm, xửa và xóa các ICC và IFD. Ngoài ra nó còn cho phép tạo thành các nhóm để dễ dàng quản lí. Lớp RESOURCEDB thừa kế trực tiếp từ lớp RESOURCEQUERY. Một số hàm cơ
bản của lớp này bao gồm:
RESPONSECODE IntroduceReader(...) // Thêm một reader mới vào CSDL RESPONSECODE ForgetReader(...) // Loại một reader ra khỏi CSDL RESPONSECODE IntroduceReaderGroup(...) // Tạo một nhóm mới RESPONSECODE ForgetReaderGroup(...) // Xóa một nhóm
RESPONSECODE AddReaderToGroup(...) // Thêm một reader vào một nhóm RESPONSECODE RemoveReaderFromGroup(...) // Loại reader ra khỏi nhóm RESPONSECODE IntroduceCardType(...) // Thêm một kiểu thẻ vào CSDL RESPONSECODE ForgetCardType(...) // Loại một kiểu thẻ khỏi CSDL
Chi tiết về các hàm này xem trong đặc tả phần 5 của PC/SC
o Lớp RESOURCEQUERY
Lớp này thực hiện công việc truy vấn tới CSDL, nó có các hàm trả về danh sách các reader, nhóm, kiểu thẻ...
Sau đây là một số hàm của lớp này:
RESPONSECODE ListReaderGroups(...) RESPONSECODE ListReaders(...) RESPONSECODE ListCardType(...)
RESPONSECODE GetProviderId(...) // Trả về ICCSP tương ứng với kiểu thẻ
RESPONSECODE ListInterfaces(...) // Trả về danh sách các số GUID giao diện
Chi tiết về lớp RESOURCEQUERY được miêu tả trong đặc tả phần 5 của PC/SC.
o Lớp SCARDTRACK
Lớp này đóng gói các hàm theo dõi sự có mặt (vắng mặt) của thẻ trong reader. Các hàm trong lớp này dùng một cấu trúc thông tin trạng thái
SCARD_READERSTATE lấy về trạng thái của reader. Hàm quan trọng nhất của lớp này là hàm LocateCard():
RESPONSECODE LocateCard(...) // trả về thông tin trạng thái của reader
Chi tiết về các hàm của lớp SCARDTRACK được miêu tả trong đặc tả
phần 5 của PC/SC.
o Lớp SCARDCOMM
Lớp này đóng gói các chức năng giao tiếp với reader và thẻ, nó cung cấp các hàm quản lí kết nối, điều khiển transaction, gửi và nhận dữ liệu, xác định trạng thái thẻ.
Chi tiết về các hàm khác và các tham số trong lớp SCARDCOMM được miêu tả chi tiết trong đặc tả phần 5 của PC/SC.