Partager via


VideoPortAllocateContiguousMemory, fonction (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ë, 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 que la mémoire physique dans les 16 Mo inférieurs, cette valeur est définie sur 0x00000000FFFFFF.

Valeur de retour

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ée.

Remarques

VideoPortAllocateContiguousMemory pouvez être appelée pour allouer un bloc de mémoire physique contiguë 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é lors de l’exécution du système. 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.

Exigences

Exigence Valeur
client minimum pris en charge Disponible dans Windows 2000 et versions ultérieures des systèmes d’exploitation Windows.
plateforme cible Bureau
d’en-tête video.h (include Video.h)
bibliothèque Videoprt.lib
DLL Videoprt.sys
IRQL PASSIVE_LEVEL

Voir aussi

VideoPortAllocateBuffer