Freigeben über


StreamClassGetPhysicalAddress-Funktion (strmini.h)

Die StreamClassGetPhysicalAddress Routine übersetzt eine virtuelle Speicheradresse in eine physische Speicheradresse und sperrt den entsprechenden physischen Speicher 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 Minidrivers. Der Minidriver gibt die Größe dieses Puffers in der HW_INITIALIZATION_DATA Struktur an, die er übergibt, wenn er sich über StreamClassRegisterMinidriverregistriert. Der Klassentreiber übergibt dann Zeiger an den Puffer in der HwDeviceExtension Member des HW_STREAM_REQUEST_BLOCK, HW_STREAM_OBJECT, HW_TIME_CONTEXTund PORT_CONFIGURATION_INFORMATION Strukturen, die an den Minidriver übergeben werden.

[in, optional] HwSRB

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

[in] VirtualAddress

Gibt die zu übersetzende virtuelle Adresse an.

[in] Type

Gibt den Puffertyp an, auf den VirtualAddressverweist. Dieser Wert kann perRequestExtension, DmaBuffer oder SRBDataBuffer sein.

[out] Length

Gibt die Länge des Puffers in Bytes an.

Rückgabewert

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

Bemerkungen

Der typ des zu verwendenden Puffers wird im parameter Type angegeben. Die Bedeutungen dieser Werte werden in der folgenden Tabelle angezeigt.

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
Header- strmini.h (einschließlich Strmini.h)
Library Stream.lib