Freigeben über


VideoPortGetAccessRanges-Funktion (video.h)

Veraltet. Die VideoPortGetAccessRanges--Funktion ruft busrelative Konfigurationsinformationen ab und ruft nach Möglichkeit diese Hardwareressourcen in der Registrierung für den Aufrufer auf.

Syntax

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
);

Parameter

HwDeviceExtension

Zeigen Sie auf die Geräteerweiterung des Miniporttreibers.

NumRequestedResources

Gibt die Anzahl der Elemente im RequestedResources Array an.

RequestedResources

[in, optional] Ein Array von IO_RESOURCE_DESCRIPTOR-Typ-Elementen. Jeder Deskriptor gibt eine einzelne Hardwareressource an, die der Miniporttreiber benötigt, bevorzugt oder als Alternative zu dem in einem anderen Arrayelement angegebenen verwenden kann. Ausführliche Informationen zu dieser Struktur finden Sie in der Beschreibung von IoAssignResources.

NumAccessRanges

Gibt die Anzahl der Elemente im AccessRanges Array an.

AccessRanges

[out] Zeigen Sie auf einen Bereich im Stapel oder auf eine statische Struktur im Miniporttreiber, auf die VideoPortGetAccessRanges ein Array von VIDEO_ACCESS_RANGE Elementen zurückgibt, die mit den busrelativen Gerätespeicherbereichen für den Adapter gefüllt sind.

VendorId

Sollte auf NULL festgelegt werden.

DeviceId

Sollte auf NULL festgelegt werden.

Slot

Zeigen Sie auf einen Speicherort, an dem der Videoporttreiber die Steckplatznummer für das Gerät speichert oder NULL ist.

Wenn dies ein gültiger Zeiger ist, speichert der Videoporttreiber für Plug-and-Play-Geräte die Steckplatznummer an der vom Zeiger angegebenen Speicherposition. Wenn ein NULL-Wert im Aufruf übergeben wird, speichert der Videoporttreiber keinen Wert am Speicherort.

Rückgabewert

VideoPortGetAccessRanges gibt NO_ERROR zurück, wenn sie erfolgreich die AccessRanges- Informationen oder zurückgegebene Konfigurationsinformationen bei RequestedResourcesausgefüllt hat.

Bemerkungen

Jeder Videominiporttreiber muss entweder Zugriffsbereiche verwenden, die von VideoPortGetAccessRangeszurückgegeben werden, oder muss VideoPortVerifyAccessRanges aufrufen, bevor sie während des Treiberinitialisierungsprozesses (und des Systems) auf einen Videoadapter zugreifen möchten.

VideoPortGetAccessRanges- kann nur von der HwVidFindAdapter--Funktion eines Miniporttreibers aufgerufen werden.

Bei den meisten Miniporttreibern können VideoPortGetAccessRanges- die busrelativen Zugriffsbereiche sowie unterbrechungs- und/oder DMA-Kanal/Port abrufen, die von einem bestimmten Videoadapter verwendet werden, während VideoPortVerifyAccessRanges nur die vom Treiber angegebenen Ressourcen überprüfen und beanspruchen können. Das heißt, VideoPortGetAccessRanges für alle zurückgegebenen Konfigurationsinformationen die entsprechenden Hardwareressourcen in der Registrierung für den Aufrufer an. Ein Miniporttreiber muss nicht VideoPortVerifyAccessRanges mit den zurückgegebenen busrelativen Konfigurationsinformationen aufrufen, es sei denn, der Miniporttreiber versucht, einen der zurückgegebenen Werte zu ändern.

Jeder erfolgreiche Aufruf von VideoPortGetAccessRanges oder VideoPortVerifyAccessRanges für einen bestimmten Adapter überschreibt den vorherigen Anspruch des Miniporttreibers für Hardwareressourcen in der Registrierung.

Nach einem erfolgreichen Aufruf von VideoPortGetAccessRangesmuss der Miniporttreiber die zurückgegebenen busrelativen Bereiche logischen Bereichen mit VideoPortGetDeviceBase-zuordnen, bevor die entsprechende VideoPortRead/Write****Xxx--Funktion aufrufen, um mit dem Adapter zu kommunizieren.

Im Allgemeinen sollte der Miniporttreiber eines PCI-Geräts über den HwVidFindAdapter Funktionsaufruf VideoPortGetAccessRangesverfügen, anstatt zu versuchen, die nicht device-spezifischen PCI_COMMON_CONFIG Informationen zu bearbeiten, die von einem Aufruf von VideoPortGetBusDatazurückgegeben werden. Dieser Miniporttreiber kann in der Regel VideoPortGetAccessRanges- mit einem NULL-RequestedResources Zeiger aufrufen. Der Videoporttreiber verwendet dann den Konfigurationsraum des PCI-Buss, um die Ressourcen für den Grafikkartenadapter zu ermitteln. Der Miniporttreiber kann VideoPortGetAccessRangesaufrufen, wobei eine Reihe von vom Treiber bereitgestellten RequestedResources Spezifikationen verwendet wird, wenn der ursprüngliche Aufruf keine gültigen Konfigurationsdaten für den Adapter zurückgibt.

Beachten Sie, dass Miniporttreiber von Adaptern auf anderen Typen von E/A-Bussen auch VideoPortGetAccessRangesaufrufen können. Diese Treiber sollten VideoPortGetAccessRanges- mithilfe eines RequestedResources Zeiger auf ein vom Treiber bereitgestelltes Array von E/A-Ressourcendeskriptoren aufrufen.

Wenn der HwVidFindAdapter Funktion busrelative Zugriffsbereiche und möglicherweise andere Hardwareressourcen für einen Adapter angibt, ermittelt dann jedoch, dass der Adapter nicht unterstützt wird, muss der Miniporttreiber seine Ansprüche auf Hardwareressourcen in der Registrierung zuweisen, indem VideoPortGetAccessRanges oder VideoPortVerifyAccessRanges mit dem parameter NumAccessRanges Parameter auf Null festgelegt wird.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Windows 2000
Zielplattform- Desktop
Header- video.h (video.h einschließen)
Library Videoprt.lib
DLL- Videoprt.sys
IRQL- PASSIVE_LEVEL

Siehe auch

HwVidFindAdapter

IoAssignResources-

PCI_COMMON_CONFIG

PCI_SLOT_NUMBER

VIDEO_PORT_CONFIG_INFO

VideoPortGetBusData-

VideoPortGetDeviceBase-

VideoPortSetBusData-

VideoPortVerifyAccessRanges