Fonction VideoPortAllocateContiguousMemory (video.h)
La fonction VideoPortAllocateContiguousMemory est obsolète dans Windows 2000 et versions ultérieures. Les pilotes de miniport vidéo doivent utiliser VideoPortAllocateCommonBuffer à sa place.
VideoPortAllocateContiguousMemory alloue une plage de mémoire physiquement contiguë et alignée sur le cache à partir du pool non paginé.
Syntaxe
VIDEOPORT_DEPRECATED VIDEOPORT_API PVOID VideoPortAllocateContiguousMemory(
[in] IN PVOID HwDeviceExtension,
[in] IN ULONG NumberOfBytes,
[in] IN PHYSICAL_ADDRESS HighestAcceptableAddress
);
Paramètres
[in] HwDeviceExtension
Pointeur vers l’extension de périphérique du pilote miniport.
[in] NumberOfBytes
Spécifie la taille en octets du bloc de mémoire contiguë à allouer.
[in] HighestAcceptableAddress
Spécifie l’adresse physique la plus élevée valide que le pilote miniport peut utiliser. Par exemple, si un appareil ne peut référencer la mémoire physique que dans les 16 Mo inférieurs, cette valeur est définie sur 0x00000000FFFFFF.
Valeur retournée
VideoPortAllocateContiguousMemory retourne l’adresse virtuelle de base pour la mémoire allouée, si l’appel réussit. Si la demande ne peut pas être satisfaite, null est retourné.
Remarques
VideoPortAllocateContiguousMemory peut être appelé pour allouer un bloc contigu de mémoire physique pour une mémoire tampon interne à long terme.
Un pilote miniport qui doit utiliser la mémoire contiguë doit allouer uniquement ce dont il a besoin lors de l’initialisation du pilote, car le pool non paginé est susceptible de devenir fragmenté à mesure que le système s’exécute. Si le pilote miniport est déchargé, il doit libérer la mémoire. Les allocations contiguës sont alignées sur un multiple intégral de la taille de ligne de cache de données du processeur pour éviter les problèmes de cache et de cohérence.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Disponible dans Windows 2000 et versions ultérieures des systèmes d’exploitation Windows. |
Plateforme cible | Desktop (Expérience utilisateur) |
En-tête | video.h (incluez Video.h) |
Bibliothèque | Videoprt.lib |
DLL | Videoprt.sys |
IRQL | PASSIVE_LEVEL |