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 |