-
Path: news-archive.icm.edu.pl!news.gazeta.pl!newsfeed.pionier.net.pl!news.icpnet.pl!.
POSTED!not-for-mail
From: "Grzegorz Niemirowski" <g...@p...onet.pl>
Newsgroups: pl.comp.programming
Subject: Re: GUID + USB + HID + MOUSE
Date: Sun, 3 Jun 2012 23:54:53 +0200
Organization: ICP News Server
Lines: 56
Message-ID: <jqgmfi$ct3$1@news.icpnet.pl>
References: <jqfqr8$8qm$1@node2.news.atman.pl> <jqg1nh$r58$1@news.icpnet.pl>
<jqg2e8$g5q$1@node2.news.atman.pl>
NNTP-Posting-Host: 031011139062.warszawa.vectranet.pl
Mime-Version: 1.0
Content-Type: text/plain; format=flowed; charset="iso-8859-2"; reply-type=response
Content-Transfer-Encoding: 8bit
X-Trace: news.icpnet.pl 1338760498 13219 31.11.139.62 (3 Jun 2012 21:54:58 GMT)
X-Complaints-To: a...@i...pl
NNTP-Posting-Date: Sun, 3 Jun 2012 21:54:58 +0000 (UTC)
X-Priority: 3
X-MSMail-Priority: Normal
X-Newsreader: OE PowerTool 4.5
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.6157
X-WWW: http://www.grzegorz.net/
Xref: news-archive.icm.edu.pl pl.comp.programming:197586
[ ukryj 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
- 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??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
- CfC 28th Ada-Europe Int. Conf. Reliable Software Technologies
- Młodzi programiści i tajna policja
Najnowsze wątki
- 2024-11-25 Karty przedpłacone (podarunkowe) Google Play - pytanie do korzystających
- 2024-11-26 wina Tóska
- 2024-11-26 Rewolucja/Rewelacja!
- 2024-11-25 grupa ożyła ;)
- 2024-11-24 Być jak Clint
- 2024-11-24 Rura kanalizacja konceptu Franke = problem
- 2024-11-25 Wrocław => Lead Java EE Developer <=
- 2024-11-25 Warszawa => Business Development Manager - Network and Network Securit
- 2024-11-25 Kraków => Programista Full Stack (.Net Core) <=
- 2024-11-25 Lublin => Senior PHP Developer <=
- 2024-11-25 Karlino => Konsultant wewnętrzny SAP (FI/CO) <=
- 2024-11-25 Warszawa => ECM Specialist / Consultant <=
- 2024-11-25 Katowice => Regionalny Kierownik Sprzedaży (OZE) <=
- 2024-11-25 Warszawa => Senior Frontend Developer (React + React Native) <=
- 2024-11-25 Lublin => Inżynier Serwisu Sprzętu Medycznego <=