StorPortGetUncachedExtension-Funktion (storport.h)
Die StorPortGetUncachedExtension- Routine weist einen nicht zwischengespeicherten gemeinsamen Puffer zu, der von der CPU und dem Gerät gemeinsam genutzt werden soll.
Syntax
STORPORT_API PVOID StorPortGetUncachedExtension(
PVOID HwDeviceExtension,
PPORT_CONFIGURATION_INFORMATION ConfigInfo,
ULONG NumberOfBytes
);
Parameter
HwDeviceExtension
Ein Zeiger auf die Hardwaregeräteerweiterung. Dies ist ein HBA-Speicherbereich, den der Porttreiber im Namen des Miniporttreibers zuweist und initialisiert. Miniporttreiber speichern in der Regel HBA-spezifische Informationen in dieser Erweiterung, z. B. den Zustand der HBA und die zugeordneten Zugriffsbereiche für die HBA. Dieser Bereich steht dem Miniporttreiber unmittelbar nach dem Aufruf StorPortInitializezur Verfügung. Der Porttreiber gibt diesen Speicher frei, wenn es das Gerät entfernt.
ConfigInfo
Gibt Informationen zu den DMA-Funktionen der HBA an. Die folgenden Elemente müssen ausgefüllt werden: DmaChannel oder DmaPort, DmaWidth, DmaSpeed, MaximumLength, ScatterGather, Master auf TRUE, NumberOfPhysicalBreaks, AdapterInterfaceType, Dma32BitAddresses, Dma64BitAddresses, SystemIoBusNumber, AutoRequestSense, und SrbExtensionSize.
Elemente, die nicht für die HBA relevant sind, wie z. B. DmaChannel- für einen EISA-Busmasteradapter, müssen wie folgt verbleiben.
NumberOfBytes
Die erforderliche Größe in Byte der nicht zwischengespeicherten Erweiterung, die zugewiesen werden soll.
Rückgabewert
StorPortGetUncachedExtension gibt einen virtuellen Adresszeiger auf die nicht zwischengespeicherte Erweiterung zurück. Wenn der angeforderte Speicher nicht zugeordnet werden kann, wird NULL-zurückgegeben. Wenn der Speicher zuvor zugewiesen wurde, wird der virtuelle Adresszeiger auf die aktuelle nicht zwischengespeicherte Erweiterung zurückgegeben.
Bemerkungen
Busmastergeräte verwenden gemeinsamen Pufferraum für DMA-Übertragungen.
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform- | Universal |
Header- | storport.h (include Storport.h) |
Library | Storport.lib |