Partager via


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

Voir aussi

VideoPortAllocateBuffer