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 |