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 der Miniporttreiber keine nicht zwischengespeicherte Erweiterung erfordert.
[in] IrbExtensionSize
Gibt die Größe (in Bytes) an, die vom Miniporttreiber für den Jeweiligen Anforderungsspeicher (falls vorhanden) benötigt wird.
Legen Sie diesen Parameter auf 0 fest, wenn der Miniporttreiber nicht die 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 Arbeitsspeicher nicht zugeordnet werden kann oder der Arbeitsspeicher zuvor zugewiesen wurde, wird NULL zurückgegeben.
Hinweise
Der Miniporttreiber kann IRB-Erweiterungen als Speicher für treiberbestimmte, anforderungsspezifische Informationen verwenden, z. B. Daten, die für die Verarbeitung einer bestimmten Anforderung erforderlich sind.
Der Porttreiber initialisiert keine IRB-Erweiterungen, sondern legt 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 AtaPortGetUncachedExtension nicht aus einer anderen Routine als seiner IdeHwControl-Routine aufrufen, und nur dann, wenn er eine Steuerungsaktion von StartChannel verarbeitet. Aufrufe von AtaPortGetUncachedExtension von anderen Miniporttreiberroutinen führen zu einem falschen Betrieb oder sogar zu Systemfehlern. Der Porttreiber gibt die nicht zwischengespeicherte Erweiterung automatisch frei, nachdem er IdeHwControl mit der StopChannel-Steuerelementaktion aufgerufen hat.
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform | Desktop |
Kopfzeile | irb.h (include Ata.h, Irb.h) |
Bibliothek | Ataport.lib; Pciidex.lib |