Để tạo ra một yêu cầu ghi, các ứng dụng của bạn phải phân bổ một bộ đệm, điền vào nó với các dữ liệu mà bạn muốn viết thư cho các thiết bị, và gửi các bộ đệm cho bộ điều khiển máy chủ bằng cách gọi WinUsb_WritePipe.
Các hạn chế sau đây áp dụng đối với các kích thước của bộ đệm nếu RAW_IO được thiết lập:
. chiều dài đệm phải là một bội số của kích thước gói thiết bị đầu cuối tối đa
. chiều dài phải nhỏ hơn hoặc bằng giá trị của MAXIMUM_TRANSFER_SIZE lấy bằng WinUsb_GetPipePolicy
không có giới hạn về kích thước của bộ đệm nếu RAW_IO không phải là thiết lập như là loại chính sách của ống. Nếu kích thước của bộ đệm lớn hơn chiều dài truyền tối đa báo cáo của MAXIMUM_TRANSFER_SIZE, WinUSB chia theo yêu cầu vào các yêu cầu nhỏ hơn và trình nối tiếp với bộ điều khiển máy chủ.
Một yêu cầu ghi chứa dữ liệu số không dài được chuyển xuống các USB stack.
Nếu một ứng dụng đi NULL trong các tham số chồng chéo (hoạt động đồng bộ), nó phải đảm bảo rằng LengthTransferred không phải là NULL, ngay cả khi một hoạt động không tạo ra các dữ liệu đầu ra.
Nếu chồng chéo không phải là NULL (hoạt động không đồng bộ), LengthTransferred có thể được thiết lập để NULL. Đối với một hoạt động chồng chéo (và nếu LengthTransferred là một giá trị không NULL), giá trị nhận được trong LengthTransferred sau WinUsb_WritePipe trả về là vô nghĩa cho đến khi hoạt động chồng chéo đã hoàn thành. Để lấy số lượng thực tế của byte trở về, gọi WinUsb_GetOverlappedResult.
đang được dịch, vui lòng đợi..
