StorPortGetUncachedExtension-Funktion (storport.h)
Die StorPortGetUncachedExtension-Routine weist einen nicht zwischengespeicherten gemeinsamen Puffer zu, der von der CPU und dem Gerät gemeinsam genutzt wird.
Syntax
STORPORT_API PVOID StorPortGetUncachedExtension(
PVOID HwDeviceExtension,
PPORT_CONFIGURATION_INFORMATION ConfigInfo,
ULONG NumberOfBytes
);
Parameter
HwDeviceExtension
Ein Zeiger auf die Hardwaregeräteerweiterung. Hierbei handelt es sich um einen HBA-Speicherbereich, den der Porttreiber im Auftrag des Miniporttreibers ordnet und initialisiert. Miniporttreiber speichern normalerweise HBA-spezifische Informationen in dieser Erweiterung, z. B. den Zustand des HBA und die zugeordneten Zugriffsbereiche für den HBA. Dieser Bereich steht dem Miniporttreiber unmittelbar nach dem Aufruf des Miniporttreibers StorPortInitialize zur Verfügung. Der Porttreiber gibt diesen Arbeitsspeicher frei, wenn er das Gerät entfernt.
ConfigInfo
Gibt Informationen zu den DMA-Funktionen des HBA an. Die folgenden Member müssen ausgefüllt werden: DmaChannel oder DmaPort, DmaWidth, DmaSpeed, MaximumTransferLength, ScatterGather, Master set to TRUE, NumberOfPhysicalBreaks, AdapterInterfaceType, Dma32BitAddresses, Dma64BitAddresses, SystemIoBusNumber, AutoRequestSense und SrbExtensionSize.
Elemente, die nicht für den HBA relevant sind, z. B. DmaChannel für einen EISA-bus-master-Adapter, müssen unverändert bleiben.
NumberOfBytes
Die Erforderliche Größe der nicht zwischengespeicherten Erweiterung in Bytes, die zugeordnet werden soll.
Rückgabewert
StorPortGetUncachedExtension gibt einen virtuellen Adresszeiger auf die nicht zwischengespeicherte Erweiterung zurück. Wenn der angeforderte Arbeitsspeicher nicht zugeordnet werden kann, wird NULL zurückgegeben. Wenn der Arbeitsspeicher zuvor zugewiesen wurde, wird der virtuelle Adresszeiger auf die aktuelle nicht zwischengespeicherte Erweiterung zurückgegeben.
Hinweise
Bus-master-Geräte verwenden allgemeinen Pufferspeicher für DMA-Übertragungen.
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform | Universell |
Header | storport.h (einschließlich Storport.h) |
Bibliothek | Storport.lib |