J'implémente un ioctl dans un pilote de périphérique Windows CE qui prend un pointeur vers une grande partie de la mémoire de l'application pour effectuer des E/S asynchrones initiées via un appel d'application à DeviceIoControl. Lors de l'utilisation de MapCallerPtr(), le pointeur n'est pas mappé lorsque la fonction XXX_IOControl renvoie; lorsque le pointeur est utilisé dans l'IST, il n'est plus mappé, ce qui entraîne un plantage.Comment mapper la mémoire de l'appelant dans un pilote de périphérique Windows CE après la fin d'un appel à XXX_IOControl?
Quelle est la meilleure façon de mapper le pointeur au-delà de la fin de l'appel à XXX_IOControl? L'application garantit que la mémoire restera valide jusqu'à ce qu'il ait reçu une indication du conducteur que le pilote en a fini avec lui.
Ceci est sur Windows CE 5.0.