RegisterDeviceNotification --> NotificaionFilter --> ClassGUID
-
Ich versuche in meinem "Windows Service" ein Message zu bekommen, wenn ein USB Stick angeschlossen bzw. entfernt wird.
Dafür brauche ich ja die HandlerEx FUnktion.
Nun will ich RegisterDeviceNotification verwenden um dafür zu sorgen, dass ich die angesprochene Message auch bekomme.
Allerdings verstehe ich überhaupt nicht, was der 2. Parameter soll??
NotificationFilter
[in] Pointer to a block of data that specifies the type of device for which notifications should be sent. This block always begins with the DEV_BROADCAST_HDR structure. The data following this header is dependent on the value of the dbch_devicetype member, which can be DBT_DEVTYP_DEVICEINTERFACE or DBT_DEVTYP_HANDLE. For more information, see Remarks.Mir sind da schon Begriffe wie ClassGUID und so über den Weg gelaufen allerdings kann ich das überhaupt nicht einordnen.
Kann mir das jemand erklären???
MFG
Ace
-
*push* Kennt sich keiner damit aus?
MFG
Ace
-
-
Hmm danke, abe kenn ich schon.
Wenn ich mir zum Beispiel diesen Link Anschaue:
http://www.ureader.com/message/3326446.aspx
Sehe ich, dass dort ein GUID angegeben wird.Aber was ist das???
Wofür braucht man das?
MFg
Ace
-
Hat nicht jemand einen Beispiel Code?
Ich habe das ganze jetzt einmal in einer normale WIN32 anwendung gemacht.
Dort funzt. es.Im Service gibt er mir mitlerweile bei getLastError() 6 zurück.
Das ist definiert mit: #define ERROR_INVALID_HANDLE 6L.Allerdings, weiß ich nicht, was da das falschee Handle sein soll.
HANDLE hRegister = RegisterDeviceNotification( &Service_status, &NotificationFilter, DEVICE_NOTIFY_SERVICE_HANDLE );Mir der der GUID hab ich immer noch nichts neues herausgefunden.
MFG
Ace
-
Hi,
ich habe eine kleine elektronische Schaltung gebastelt, die über USB mit dem PC kommuniziert. Die Windows-Anwendung verwendet das DDK. Um festzustellen, ob das Gerät angeschlossen ist oder entfernt wurde, greife ich auch auf RegisterDeviceNotification zurück.
Das ganze steht als Visual C++ 6.0 Projekt zum Download bereit. Es sollte nicht schwer sein, den Einsatz von RegisterDeviceNotification zu verstehen.
Schau dir mal die PC-Applikation zum USB-Sensor auf rahand.eu an.
Gruß Ralf