Megosztás a következőn keresztül:


Eszközesemény-típusok

Az eszköz eseménytípusának meghatározásához WM_DEVICECHANGE üzenet feldolgozásakor vizsgálja meg a wParam paramétert. A wParam értéke határozza meg az eseményspecifikus adatok jelentését az lParam paraméterben. Az eseményspecifikus adatok általában azonosítják az eszközt, és további részleteket nyújtanak az eseményről. Az adatok formátuma az eszköz típusától függ, de az első néhány bájt formátuma mindig megegyezik a DEV_BROADCAST_HDR struktúrával. Az adatok formátumának meghatározásához ellenőrizze a dbch_devicetype tagot.

A rendszer DBT_DEVICEARRIVAL típusú eszközeseményt (azaz WM_DEVICECHANGE üzenetet küld wParam DBT_DEVICEARRIVAL) típusú eseményt, amikor egy eszközt beszúrtak, és használatra elérhetők. Az alkalmazások általában ellenőrzik az eszköz típusát, és szükség esetén azonnal elkezdik használni az eszközt.

A rendszer egy DBT_DEVICEQUERYREMOVE eszközeseményt közvetít, amely engedélyt kér egy eszköz eltávolítására. Annak megállapításához, hogy szüksége van-e az eszközre, az alkalmazás megjeleníthet egy párbeszédpanelt, amely utasításokat kér a felhasználótól. Ha egy alkalmazás megállapítja, hogy szüksége van az eszközre, megtagadhatja ezt a kérést, és visszavonhatja az eltávolítást a BROADCAST_QUERY_DENY visszaküldésével. Ha az alkalmazásnak nincs szüksége az eszközre, IGAZkell visszaadnia. A rendszer azonnal DBT_DEVICEQUERYREMOVEFAILED üzenetet küld, ha bármely alkalmazás vagy illesztőprogram visszavonta az eszköz eltávolítására vonatkozó korábbi kérést.

A rendszer egy DBT_DEVICEREMOVEPENDING eszközeseményt közvetít utolsó figyelmeztetésként az eszköz eltávolítása előtt. Ezen a ponton az alkalmazás nem tudja megszakítani az eltávolítást, ezért ha az eszközt használja, fel kell készülnie az eltávolításra az adatvesztés megakadályozása érdekében. Ez különösen fontos a hálózati kapcsolat eltávolításakor. Az alkalmazásnak meg kell határoznia, hogy a megnyitott fájlok vagy csövek bármelyike ezen a kapcsolaton van-e. Ezt úgy teheti meg, hogy összehasonlítja az üzenet eseményspecifikus adataiban szereplő hálózati erőforrás-azonosítót a fájlokhoz és csövekhez korábban beszerzett erőforrás-azonosítókkal. A rendszer egy DBT_DEVICEREMOVECOMPLETE eszközeseményt közvetít, ha az eszköz el lett távolítva, és már nem érhető el.

A rendszer egy DBT_QUERYCHANGECONFIG eszközeseményt közvetít, amely engedélyt kér az aktuális konfiguráció módosítására (dokkolás vagy leválasztás). Bármely alkalmazás visszaadhat BROADCAST_QUERY_DENY, hogy megtagadja a kérést, és megszakítsa a módosítást. Ha egy alkalmazás tagadja a kérést, a rendszer DBT_CONFIGCHANGECANCELED üzenetet küld. Ha a jelenlegi konfiguráció egy dokkolás vagy kikapcsolás miatt megváltozott, a rendszer DBT_CONFIGCHANGED üzenetet küld.

A rendszer egy DBT_DEVICETYPESPECIFIC eszközeseményt közvetít, amikor eszközspecifikus esemény történik.

Az illesztőprogramok létrehozhatják saját egyéni eseménytípusaikat. Az egyéni eseményeket csak olyan alkalmazásnak küldi el a rendszer, amely regisztrált egy adott eszközön az eszközesemény-értesítésre, és csak kernel módú illesztőprogramok kezdeményezhetik. További információ: DBT_CUSTOMEVENT.