-
Data: 2012-06-03 23:54:53
Temat: Re: GUID + USB + HID + MOUSE
Od: "Grzegorz Niemirowski" <g...@p...onet.pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]identyfikator: 20040501 <N...@g...pl> napisał(a):
>> Na podstawie której strony z tej książki wysnułeś wnioski jak powyżej?
> żadnej, autor pominął ten istotny dla zrozumienia całości szczegół...
>> Producent kupuje VID. Ten VID oraz wygenerowany przez siebie PID
>> umieszcza w urządzeniu i urządzenie wysyła oba te identyfikatory
>> podczas enumeracji. Dzięki temu system operacyjny może dopasować
>> sterownik do
> urządzenia. GUID
>> identyfikuje interfejs jaki sterownik udostępnia warstwie
>> aplikacji/użytkownika. Listę podłączonych urządzeń, których sterownik ma
>> interfejs identyfikowany tym GUIDem dostajesz funkcją
>> SetupDiGetClassDevs. Możesz po niej iterować za pomocą
>> SetupDiEnumDeviceInterfaces. Szczegóły urządzenia z listy wyciągasz
>> za pomocą SetupDiGetDeviceInterfaceDetail. Na koniec zwalniasz listę
>> funkcją SetupDiDestroyDeviceInfoList.
> coś podobnego pisze w książce, nie wiem czy celowo, ale odnoszę
> wrażenie, że za bardzo scaliłeś wątek i brakuje kilku słów pomiędzy
> wyjaśniający moje pytanie - do czego służy GUID?
Niczego nie brakuje. Napisz, czego nie rozumiesz. Jak napisałem, GUID
identyfikuje interfejs udostępniany przez sterownik. GUID, to jak możesz
przeczytać w Google, globalnie unikalny identyfikator. Tutaj identyfikuje
interfejs, który jest w pewnym sensie identyfikuje funkcje urządzenia. Jeśli
aplikacja widzi urządzenie z danym interfejsem, to wie, że może z tym
urządzeniem komunikować się w określony sposób. Innymi słowy wie, że to jest
jej urządzenie, że może je obsłużyć. Wołamy SetupDiGetClassDevs żeby
sprawdzić, czy zostały podłączone jakieś urządzenia, które potrafimy
obsługiwać.
Ty trochę zamieszałeś, bo w temacie dałeś HID, a wtedy GUID nam nie jest
specjalnie potrzebny, bo danym urządzeniem zajmuje się już system
operacyjny. GUID interesuje nas wtedy, jak projektujemy swoje urządzenie i
piszemy dla niego aplikację. Wtedy ta aplikacja szuka urządzeń z tym GUIDem
bo wie, że to są jej urządzenia.
> czyli podczas enumeracji urządzeniw wysyła VID i PID, na tej podstawie
> system instaluje sterownik, któremu nadaje jakiś numerek GUID?
Ogólnie tak.
>> Sterownik wybiera. Enumeruje endpointy np. funkcją
>> WdfUsbInterfaceGetConfiguredPipe i potem może jej użyć np. w
>> WdfUsbTargetPipeFormatRequestForRead i kolejno w
>> WdfRequestSetCompletionRoutine i potem WdfRequestSend.
> to to magia.
Bo nie napisałeś o co Ci konkretnie chodzi. Ja podałem przykład dla
sterownika WDF. Bo generalnie to o endpointach mówimy na poziomie
sterownika, aplikacja użytkownika już sobie takimi niskopoziomowymi rzeczami
nie zawraca głowy.
--
Grzegorz Niemirowski
http://www.grzegorz.net/
OE PowerTool i Outlook Express: http://www.grzegorz.net/oe/
Uptime: 0 days, 11 hours, 11 minutes and 43 seconds
Następne wpisy z tego wątku
- 03.06.12 23:59 Grzegorz Niemirowski
- 04.06.12 00:07 Grzegorz Niemirowski
- 04.06.12 00:26 Grzegorz Niemirowski
- 04.06.12 08:33 Adam Wysocki
- 04.06.12 17:32 identyfikator: 20040501
- 04.06.12 17:38 identyfikator: 20040501
- 04.06.12 18:32 alter amonu dawn, zn, j NOMA
- 04.06.12 18:52 alter amonu
- 04.06.12 19:09 identyfikator: 20040501
- 04.06.12 20:51 Przemek O
- 04.06.12 22:23 Alter Amonu dawn. zn. j. NOMA
- 05.06.12 12:18 Adam Wysocki
- 05.06.12 19:02 Waldek M.
- 05.06.12 20:38 identyfikator: 20040501
- 06.06.12 07:40 Adam Wysocki
Najnowsze wątki z tej grupy
- Alg. kompresji LZW
- Popr. 14. Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- Arch. Prog. Nieuprzywilejowanych w pełnej wer. na nowej s. WWW energokod.pl
- 7. Raport Totaliztyczny: Sprawa Qt Group wer. 424
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
Najnowsze wątki
- 2025-02-25 Tak wiem.... To oczywiste ale jak oni dzisiaj dziadują na materiale
- 2025-02-25 rozliczenia policji
- 2025-02-25 Echhhhhh. Marzy mi się SWAP Audi A2 z 1.8 T ;-)
- 2025-02-25 Warszawa => Analityk Biznesowo-Systemowy <=
- 2025-02-25 Warszawa => SQL Developer <=
- 2025-02-25 Zbigniew Ziobro śmie sugerować "niedostatki niezawisłości" sędzi (wątpliwości co do bezstronności)
- 2025-02-25 Kraków => DevOps Engineer (Junior/Regular) <=
- 2025-02-25 Kraków => Front-end Developer <=
- 2025-02-25 Szpital
- 2025-02-24 Gniazdo + wtyk
- 2025-02-24 Dyrektor Toyoty miał rację. Elektryki to ślepa uliczka
- 2025-02-24 Białystok => System Architect (Java background) <=
- 2025-02-24 Białystok => System Architect (background deweloperski w Java) <=
- 2025-02-24 Białystok => Solution Architect (Java background) <=
- 2025-02-24 Warszawa => Data Engineer (Tech Leader) <=