Partager via


VideoPortGetAccessRanges, fonction (video.h)

Action déconseillée. La fonction VideoPortGetAccessRanges récupère les informations de configuration relatives au bus et, si possible, revendique ces ressources matérielles dans le Registre pour l’appelant.

Syntaxe

VIDEOPORT_DEPRECATED VIDEOPORT_API VP_STATUS VideoPortGetAccessRanges(
  PVOID                   HwDeviceExtension,
  ULONG                   NumRequestedResources,
  PIO_RESOURCE_DESCRIPTOR RequestedResources,
  ULONG                   NumAccessRanges,
  PVIDEO_ACCESS_RANGE     AccessRanges,
  PVOID                   VendorId,
  PVOID                   DeviceId,
  PULONG                  Slot
);

Paramètres

HwDeviceExtension

Pointeur vers l’extension de périphérique du pilote miniport.

NumRequestedResources

Spécifie le nombre d’éléments dans le tableau RequestedResources .

RequestedResources

[in, facultatif] Tableau d’éléments de type IO_RESOURCE_DESCRIPTOR. Chaque descripteur spécifie une ressource matérielle unique dont le pilote miniport a besoin, préfère ou peut utiliser comme alternative à celle spécifiée dans un autre élément de tableau. Pour plus d’informations sur cette structure, consultez la description d’IoAssignResources.

NumAccessRanges

Spécifie le nombre d’éléments dans le tableau AccessRanges .

AccessRanges

[out] Pointeur vers une zone de la pile ou vers une structure statique dans le pilote miniport vers laquelle VideoPortGetAccessRanges retourne un tableau d’éléments VIDEO_ACCESS_RANGE remplis avec les plages de mémoire de périphérique relatives du bus pour l’adaptateur.

VendorId

Doit être défini sur NULL.

DeviceId

Doit être défini sur NULL.

Slot

Pointeur vers un emplacement de mémoire dans lequel le pilote de port vidéo stocke le numéro d’emplacement de l’appareil, ou est NULL.

Pour Plug-and-Play périphériques, s’il s’agit d’un pointeur valide, le pilote de port vidéo stocke le numéro d’emplacement à l’emplacement de mémoire spécifié par le pointeur. Si une valeur NULL est passée dans l’appel, le pilote de port vidéo ne stocke pas de valeur à l’emplacement.

Valeur retournée

VideoPortGetAccessRanges retourne NO_ERROR s’il a correctement rempli les informations AccessRanges ou retourné des informations de configuration dans RequestedResources.

Remarques

Chaque pilote de miniport vidéo doit utiliser les plages d’accès retournées par VideoPortGetAccessRanges, ou appeler VideoPortVerifyAccessRanges avant de tenter d’accéder à une carte vidéo pendant le processus d’initialisation du pilote (et du système).

VideoPortGetAccessRanges peut être appelé uniquement à partir de la fonction HwVidFindAdapter d’un pilote miniport.

Pour la plupart des pilotes miniport, VideoPortGetAccessRanges peut récupérer, vérifier et revendiquer les plages d’accès relatives au bus et toute interruption et/ou canal/port DMA utilisé par une carte vidéo particulière, tandis que VideoPortVerifyAccessRanges peut uniquement vérifier et revendiquer les ressources spécifiées par le pilote miniport. Autrement dit, pour toutes les informations de configuration qu’il retourne, VideoPortGetAccessRanges revendique les ressources matérielles correspondantes dans le Registre pour l’appelant. Un pilote miniport n’a pas besoin d’appeler VideoPortVerifyAccessRanges avec les informations de configuration relatives au bus retournées, sauf si le pilote miniport tente de modifier l’une des valeurs retournées.

Chaque appel réussi à VideoPortGetAccessRanges ou VideoPortVerifyAccessRanges pour un adaptateur particulier remplace la revendication précédente du pilote miniport sur les ressources matérielles dans le Registre.

Après un appel réussi à VideoPortGetAccessRanges, le pilote miniport doit mapper les plages relatives de bus retournées à des plages logiques avec VideoPortGetDeviceBaseavant d’appeler la fonction VideoPortRead/Write***Xxx appropriée pour communiquer avec l’adaptateur.

En règle générale, le pilote miniport d’un périphérique PCI doit avoir son appel de fonction HwVidFindAdapterVideoPortGetAccessRanges, au lieu de tenter de manipuler les informations de PCI_COMMON_CONFIG non spécifiques à l’appareil retournées par un appel à VideoPortGetBusData. Ce pilote miniport peut généralement appeler VideoPortGetAccessRanges avec un pointeur NULLRequestedResources . Le pilote de port vidéo utilise ensuite l’espace de configuration du bus PCI pour déterminer les ressources de la carte vidéo. Le pilote miniport peut appeler VideoPortGetAccessRanges, à l’aide d’un ensemble de spécifications RequestedResources fournies par le pilote, si son appel d’origine ne parvient pas à retourner des données de configuration valides pour l’adaptateur.

Notez que les pilotes miniport des adaptateurs sur d’autres types de bus d’E/S peuvent également appeler VideoPortGetAccessRanges. Ces pilotes doivent appeler VideoPortGetAccessRanges à l’aide d’un pointeur RequestedResources vers un tableau de descripteurs de ressources d’E/S fourni par le pilote.

Si la fonction HwVidFindAdapter revendique des plages d’accès relatives au bus et éventuellement d’autres ressources matérielles pour un adaptateur, mais qu’elle détermine ensuite qu’elle ne prend pas en charge l’adaptateur, le pilote miniport doit renoncer à ses revendications sur les ressources matérielles dans le Registre en appelant VideoPortGetAccessRanges ou VideoPortVerifyAccessRanges avec le paramètre NumAccessRanges défini sur zéro.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 2000
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

HwVidFindAdapter

IoAssignResources

PCI_COMMON_CONFIG

PCI_SLOT_NUMBER

VIDEO_PORT_CONFIG_INFO

VideoPortGetBusData

VideoPortGetDeviceBase

VideoPortSetBusData

VideoPortVerifyAccessRanges