Si vous ne pouvez pas transmettre le résultat de Memory_alloc()
comme premier argument de votre mmap()
(par exemple, s'il utilise également mmap() qui rendrait impossible le mappage à nouveau vers cette mémoire), vous devriez probablement utiliser une autre méthode d'E/S de flux de l'exemple donné - IO_METHOD_USERPTR
variation. Il utilise le même ioctl
comme IO_METHOD_MMAP pour capturer des images et devrait fournir la même efficacité.
Vous auriez besoin de l'assistance du pilote de la caméra. mmap
obtient les pages physiques qu'il mappe à partir du pilote qu'il mappe - l'appareil photo dans ce cas. Vous ne pouvez pas dire à mmap d'utiliser certaines pages pré-allouées, car il faudrait dire au pilote sous-jacent d'utiliser ces pages pré-allouées.