J'implémente une ioctl dans un pilote de périphérique Windows CE qui prend un pointeur sur un gros morceau de mémoire d'application pour effectuer des E/S asynchrones initiées par un appel de l'application à DeviceIoControl.
Lors de l'utilisation de MapCallerPtr(), le pointeur n'est plus mappé lorsque la fonction XXX_IOControl est renvoyée ; lorsque le pointeur est utilisé dans l'IST, il n'est plus mappé, ce qui entraîne un plantage.
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'elle reçoive une indication du pilote que ce dernier en a terminé avec elle.
Il s'agit de Windows CE 5.0.