Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Als u het gebeurtenistype van het apparaat wilt bepalen bij het verwerken van een WM_DEVICECHANGE bericht, bekijkt u de parameter wParam. De waarde van wParam bepaalt de betekenis van de gebeurtenisspecifieke gegevens in de parameter lParam. Over het algemeen identificeert de gebeurtenisspecifieke gegevens het apparaat en biedt aanvullende informatie over de gebeurtenis. De indeling van deze gegevens is afhankelijk van het apparaattype, maar de eerste paar bytes hebben altijd dezelfde indeling als de DEV_BROADCAST_HDR structuur. Als u de indeling van de gegevens wilt bepalen, controleert u het dbch_devicetype lid.
Het systeem verzendt een apparaatgebeurtenis van het type DBT_DEVICEARRIVAL (een WM_DEVICECHANGE bericht met wParam- ingesteld op DBT_DEVICEARRIVAL) wanneer een apparaat is ingevoegd en beschikbaar is voor gebruik. Toepassingen controleren doorgaans het apparaattype en gaan onmiddellijk het apparaat gebruiken als dit geschikt is.
Het systeem verzendt een DBT_DEVICEQUERYREMOVE apparaat gebeurtenis om toestemming te vragen om een apparaat te verwijderen. Om te bepalen of het apparaat nodig is, kan een toepassing een dialoogvenster weergeven om de gebruiker om instructies te vragen. Als een toepassing bepaalt dat het apparaat nodig heeft, kan het deze aanvraag weigeren en de verwijdering annuleren door BROADCAST_QUERY_DENY te retourneren. Als de toepassing het apparaat niet nodig heeft, moet het TRUE-retourneren. Het systeem verzendt onmiddellijk een DBT_DEVICEQUERYREMOVEFAILED bericht als een toepassing of stuurprogramma een vorige aanvraag heeft geannuleerd om een apparaat te verwijderen.
Het systeem verzendt een DBT_DEVICEREMOVEPENDING apparaatuitbeurtenis als laatste waarschuwing voordat een apparaat wordt verwijderd. Op dit moment kan de toepassing de verwijdering niet annuleren. Als de toepassing het apparaat gebruikt, moet de toepassing zich voorbereiden op de verwijdering om verlies van gegevens te voorkomen. Dit is vooral belangrijk wanneer een netwerkverbinding wordt verwijderd. De toepassing moet bepalen of een van de geopende bestanden of pijpen zich op die verbinding bevindt. Dit kan door de netwerkresource-id te vergelijken in de gebeurtenisspecifieke gegevens van het bericht met de resource-id's die eerder zijn verkregen voor de bestanden en pijpen. Het systeem verzendt een DBT_DEVICEREMOVECOMPLETE apparaatgebeurtenis wanneer een apparaat is verwijderd en niet meer beschikbaar is.
Het systeem verzendt een DBT_QUERYCHANGECONFIG apparaat gebeurtenis om toestemming te vragen om de huidige configuratie te wijzigen (dock of loskoppelen). Elke toepassing kan BROADCAST_QUERY_DENY retourneren om de aanvraag te weigeren en de wijziging te annuleren. Als een toepassing de aanvraag weigert, verzendt het systeem een DBT_CONFIGCHANGECANCELED bericht. Als de huidige configuratie is gewijzigd vanwege een dock of loskoppelen, verzendt het systeem een DBT_CONFIGCHANGED bericht.
Het systeem verzendt een DBT_DEVICETYPESPECIFIC apparaatgebeurtenis wanneer een apparaatspecifieke gebeurtenis plaatsvindt.
Stuurprogramma's kunnen hun eigen aangepaste gebeurtenistypen maken. Aangepaste gebeurtenissen worden alleen verzonden naar de toepassing die is geregistreerd voor apparaatgebeurtenismeldingen op een bepaald apparaat en kunnen alleen worden gestart door stuurprogramma's in de kernelmodus. Zie DBT_CUSTOMEVENTvoor meer informatie.