Usbd_pipe_information, все поля равны нулю
Пишу драйвер для USB устройства (устройства своего пока нет, поэтому прикидываюсь драйвером флеш драйва), так вот: сбрасываю порт, получаю USB_DEVICE_DESCRIPTOR, потом USB_CONFIGURATION_DESCRIPTOR, получаю список интерфейсов, и для каждого интерфейса список пайпов (pipes).
И..., все элементы структуры USBD_PIPE_INFORMATION для каждого пайпа равны нулю (и хэндл, и тип, и эндпоинт и т.д.)
Как с этим бороться??? Я так понял, что это не моя задача - инициализировать пайпы, пускай этим USBD и те кто пониже занимаются, верно? Так где же я облажался?
На все вышеперечисленные действия USBD возвращал STATUS_SUCCESS.
Пробовал передавать данные по такому глючному пайпу - возвратили NTSTATUS = 0xC000000D (STATUS_INVALID_PARAMETER, чему я впрочем и не удивился).
Если кто знает в чем проблема, помогите плиз
Заранее благодарен.
Цитата:
Originally posted by kelz
Проблема следующая:
Пишу драйвер для USB устройства (устройства своего пока нет, поэтому прикидываюсь драйвером флеш драйва), так вот: сбрасываю порт, получаю USB_DEVICE_DESCRIPTOR, потом USB_CONFIGURATION_DESCRIPTOR, получаю список интерфейсов, и для каждого интерфейса список пайпов (pipes).
И..., все элементы структуры USBD_PIPE_INFORMATION для каждого пайпа равны нулю (и хэндл, и тип, и эндпоинт и т.д.)
Как с этим бороться??? Я так понял, что это не моя задача - инициализировать пайпы, пускай этим USBD и те кто пониже занимаются, верно? Так где же я облажался?
На все вышеперечисленные действия USBD возвращал STATUS_SUCCESS.
Пробовал передавать данные по такому глючному пайпу - возвратили NTSTATUS = 0xC000000D (STATUS_INVALID_PARAMETER, чему я впрочем и не удивился).
Если кто знает в чем проблема, помогите плиз
Заранее благодарен.
Проблема следующая:
Пишу драйвер для USB устройства (устройства своего пока нет, поэтому прикидываюсь драйвером флеш драйва), так вот: сбрасываю порт, получаю USB_DEVICE_DESCRIPTOR, потом USB_CONFIGURATION_DESCRIPTOR, получаю список интерфейсов, и для каждого интерфейса список пайпов (pipes).
И..., все элементы структуры USBD_PIPE_INFORMATION для каждого пайпа равны нулю (и хэндл, и тип, и эндпоинт и т.д.)
Как с этим бороться??? Я так понял, что это не моя задача - инициализировать пайпы, пускай этим USBD и те кто пониже занимаются, верно? Так где же я облажался?
На все вышеперечисленные действия USBD возвращал STATUS_SUCCESS.
Пробовал передавать данные по такому глючному пайпу - возвратили NTSTATUS = 0xC000000D (STATUS_INVALID_PARAMETER, чему я впрочем и не удивился).
Если кто знает в чем проблема, помогите плиз
Заранее благодарен.
Для примера посмотри bulkusb из DDK, только не Win2000, а WinXP. В 2000 пример жутко кривой и не рабочий, к тому же в XPшном есть поддержка WMI.
WinXP DDK можно найти Здесь
Цитата:
Originally posted by Ramon
Для примера посмотри bulkusb из DDK, только не Win2000, а WinXP. В 2000 пример жутко кривой и не рабочий, к тому же в XPшном есть поддержка WMI.
WinXP DDK можно найти Здесь
Для примера посмотри bulkusb из DDK, только не Win2000, а WinXP. В 2000 пример жутко кривой и не рабочий, к тому же в XPшном есть поддержка WMI.
WinXP DDK можно найти Здесь
Все, спасибо, я разобрался - это у меня руки немного кривые оказались :) За линк отдельное спасибо.