AtaPortGetUnCachedExtension-Funktion (irb.h)
Die AtaPortGetUncachedExtension Routine weist einen nicht zwischengespeicherten gemeinsamen Puffer zu, der von der CPU und dem Gerät gemeinsam genutzt wird.
Syntax
PVOID AtaPortGetUnCachedExtension(
[in] PVOID ChannelExtension,
[in] ULONG UncachedExtensionSize,
[in] ULONG IrbExtensionSize
);
Parameter
[in] ChannelExtension
Ein Zeiger auf die Kanalerweiterung.
[in] UncachedExtensionSize
Gibt die Länge des nicht zwischengespeicherten allgemeinen Puffers in Bytes an. Legen Sie diesen Parameter auf 0 fest, wenn für den Miniporttreiber keine nicht zwischengespeicherte Erweiterung erforderlich ist.
[in] IrbExtensionSize
Gibt die Größe (in Byte) an, die vom Miniporttreiber für den Speicher pro Anforderung erforderlich ist, falls vorhanden.
Legen Sie diesen Parameter auf 0 fest, wenn der Miniporttreiber nicht pro IRB-Informationen verwaltet, für die er Speicher benötigt.
Rückgabewert
AtaPortGetUncachedExtension gibt einen virtuellen Adresszeiger auf die nicht zwischengespeicherte Erweiterung zurück. Wenn der angeforderte Speicher nicht zugewiesen werden kann oder wenn der Speicher zuvor zugeordnet wurde, wird NULL-zurückgegeben.
Bemerkungen
Der Miniporttreiber kann IRB-Erweiterungen als Speicher für treiberbestimmte, anforderungsspezifische Informationen verwenden, z. B. Daten, die zum Verarbeiten einer bestimmten Anforderung erforderlich sind.
Der Porttreiber initialisiert keine IRB-Erweiterungen, legt jedoch einen Zeiger auf eine Erweiterung in jedem IRB fest, den er an den Miniporttreiber sendet.
HBA-Hardware kann sicher auf eine IRB-Erweiterung zugreifen.
Der Miniporttreiber darf nicht AtaPortGetUncachedExtension- von einer anderen Routine als der IdeHwControl--Routine aufrufen und nur dann, wenn eine Steuerelementaktion von StartChannelverarbeitet wird. Aufrufe von AtaPortGetUncachedExtension von anderen Miniporttreiberroutinen führen zu einem falschen Vorgang oder sogar zu Systemfehlern. Der Porttreiber gibt die nicht zwischengespeicherte Erweiterung automatisch frei, nachdem sie IdeHwControl- mit der StopChannel--Steuerelementaktion aufgerufen hat.
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform- | Desktop |
Header- | irb.h (include Ata.h, Irb.h) |
Library | Ataport.lib; Pciidex.lib |