설명 : Windows 8 시스템에 연결될 때 WinUSB를 드라이버로 자동으로 사용하도록 USB 장치를 설정하려고합니다 (here).장치 펌웨어에서 WinUSB 지원
은 말한다 : 장치가 확장 된 기능 설명을 지원하는지 알 수있는 USB 드라이버 스택 위해서는
이 장치가 문자열 인덱스 0xEE에 저장되어있는 OS 문자열 설명을 정의해야합니다.
나는 메모리 위치 0xEE에서 설명자를 포함하는 구조체를 만들어야 함을 의미합니다. C 언어로 어떻게 설명 할 수 있습니까?
// The struct definition
typedef struct {
uint8_t bLength;
uint8_t bDescriptorType;
uint8_t qwSignature[14];
uint8_t bMS_VendorCode;
uint8_t bPad;
} usb_os_str_desc_t;
// Create a pointer to a struct located at 0xEE
volatile usb_os_str_desc_t* const extended_feature_support = (usb_os_str_desc_t*) 0xEE;
// Create a new struct at the location specified in "extended_feature_support"
(*extended_feature_support) = {
.bLength = 0x12,
.bDescriptorType = 0x03,
.qwSignature = "MSFT100",
.bMS_VendorCode = 0x04,
.bPad = 0x00
};
그러나 컴파일러는 데이터 정의가 어떤 유형이 없다고 불평이 마음에 들지 않습니다
는 여기에 내가 뭘하려합니다. C에서이 작업을 수행 할 수있는 방법이 있습니까? 기사를 올바르게 이해하고 있습니까?
도움이 필요합니다.
github 링크는 내가 본 것과 같습니다. 감사! –