Freigeben über


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.

Hinweis Der ATA-Porttreiber und die ATA Miniport-Treibermodelle können in Zukunft geändert oder nicht verfügbar sein. Stattdessen empfehlen wir die Verwendung des Storport-Treibers und Storport Miniport Treibermodelle.
 

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

Siehe auch

IdeHwControl-