StreamClassGetPhysicalAddress-Funktion (strmini.h)

Die StreamClassGetPhysicalAddress-Routine übersetzt eine virtuelle Speicheradresse in eine physische Speicheradresse und sperrt den entsprechenden physischen Arbeitsspeicher für einen DMA-Vorgang.

Syntax

STREAM_PHYSICAL_ADDRESS STREAMAPI StreamClassGetPhysicalAddress(
  [in]           PVOID                    HwDeviceExtension,
  [in, optional] PHW_STREAM_REQUEST_BLOCK HwSRB,
  [in]           PVOID                    VirtualAddress,
  [in]           STREAM_BUFFER_TYPE       Type,
  [out]          ULONG                    *Length
);

Parameter

[in] HwDeviceExtension

Zeiger auf die Geräteerweiterung des Minitreibers. Der Minidriver gibt die Größe dieses Puffers in der HW_INITIALIZATION_DATA-Struktur an, die er übergibt, wenn er sich über StreamClassRegisterMinidriver registriert. Der Klassentreiber übergibt dann Zeiger auf den Puffer im HwDeviceExtension-Member des HW_STREAM_REQUEST_BLOCK, HW_STREAM_OBJECT, HW_TIME_CONTEXT und PORT_CONFIGURATION_INFORMATION Strukturen, die er an den Minitreiber übergibt.

[in, optional] HwSRB

Gibt einen Streamanforderungsblock an. Dieser Parameter wird nur verwendet, wenn der Type-Parameter den Wert SRBDataBuffer aufweist, andernfalls sollte HwSRBNULL sein. Dieser Parameter ist optional.

[in] VirtualAddress

Gibt die zu übersetzende virtuelle Adresse an.

[in] Type

Gibt den Typ des Puffers an, auf den VirtualAddress verweist. Dieser Wert kann PerRequestExtension, DmaBuffer oder SRBDataBuffer sein.

[out] Length

Gibt die Länge des Puffers in Bytes an.

Rückgabewert

StreamClassGetPhysicalAddress gibt die übersetzte virtuelle Adresse als physische Speicheradresse zurück.

Hinweise

Der typ des zu verwendenden Puffers wird im Type-Parameter angegeben. Die Bedeutungen dieser Werte sind in der folgenden Tabelle dargestellt.

Puffertyp BESCHREIBUNG
PerRequestExtension Gibt die physische Adresse der SRB-Erweiterung an.
DmaBuffer Gibt die physische Adresse des DMA-Puffers an.
SRBDataBuffer Gibt die physische Adresse des Datenpuffers an.

Anforderungen

Anforderung Wert
Zielplattform Desktop
Kopfzeile strmini.h (include Strmini.h)
Bibliothek Stream.lib