Utilisation fonctions callback
Bonjour a tous,
Je suis actuellement confronte a un probleme de fonction callback.
J utilise une librairie pour controler un peripherique. Dans celle-ci, il y a une fonction dont la declaration est la suivante :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
| typedef void (WINAPI *NOTIFICATION_CALLBACK) (HANDLE cyDevice, DWORD dwNotify, DWORD dwUser);
// cyDevice = Handle to device triggering callback
// dwNotify = Reason for callback
// dwUser = User-defined parameter
// Subscribe for event notifications such as ready-to-read
// Only one subscriber callback per device
// Returns OK or an error code
DWORD SubscribeNotifications
(
HANDLE cyDevice, // Handle obtained from Open()
NOTIFICATION_CALLBACK callback, // Pointer-to-function for callback
DWORD dwUser // User-defined parameter to pass to callback
); |
Je cherche a utiliser la fonction SubscribeNotifications dans mon programme c++ mais je ne connais pas grand chose aux fonctions callback.
Pour cela, je cree une fonction telle que :
Code:
1 2 3 4
| void WINAPI OnUser(HANDLE hanReader, DWORD dwNotify, DWORD dwUser)
{
// mon code
} |
Et par la suite, dans mon main, je fais appel a ma fonction Subscribe_notifications :
Code:
1 2 3 4
| NOTIFICATION_CALLBACK callback;
callback = (NOTIFICATION_CALLBACK)OnUser;
DWORD dwUser;
cout << "Error Code sub notif " << SubscribeNotifications(hanReader,callback,dwUser) << endl; |
Logiquement, a chaque evenement sur mon peripherique, la fonction OnUser devrait s executer (en tout cas c est mon but) mais ce n est pas le cas.. Je ne sais pas si c est moi qui ne comprends pas grand chose aux callback (c est bien possible) mais j aimerais bien savoir que faire pour corriger mon erreur svp.
Merci d avance.