我在 Windows CE 设备驱动程序中实现了一个 ioctl,它采用指向大量应用程序内存的指针来执行通过对 DeviceIoControl 的应用程序调用启动的异步 I/O。
使用 MapCallerPtr() 时,指针在 XXX_IOControl 函数返回时被取消映射;当指针在 IST 中使用时,它不再被映射导致崩溃。
将超出调用结束的指针映射到 XXX_IOControl 的最佳方法是什么?应用程序保证内存将保持有效,直到它从驱动程序收到驱动程序已完成它的指示。
这是在 Windows CE 5.0 上。