eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingGUID + USB + HID + MOUSERe: GUID + USB + HID + MOUSE
  • 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

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: