Condividi tramite


Funzione StreamClassGetPhysicalAddress (strmini.h)

La routine StreamClassGetPhysicalAddress converte un indirizzo di memoria virtuale in un indirizzo di memoria fisica e blocca la memoria fisica corrispondente per un'operazione DMA.

Sintassi

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
);

Parametri

[in] HwDeviceExtension

Puntatore all'estensione del dispositivo del minidriver. Il minidriver specifica le dimensioni di questo buffer nella struttura HW_INITIALIZATION_DATA che passa quando si registra tramite StreamClassRegisterMinidriver. Il driver di classe passa quindi puntatori al buffer nel membro HwDeviceExtension del HW_STREAM_REQUEST_BLOCK,HW_STREAM_OBJECT, HW_TIME_CONTEXT e PORT_CONFIGURATION_INFORMATION strutture che passa al minidriver.

[in, optional] HwSRB

Specifica un blocco di richiesta di flusso. Questo parametro viene usato solo se il parametro Type ha il valore SRBDataBuffer, in caso contrario HwSRB deve essere NULL. Questo parametro è facoltativo e,

[in] VirtualAddress

Specifica l'indirizzo virtuale da tradurre.

[in] Type

Specifica il tipo di buffer a cui fa riferimento VirtualAddress. Questo valore può essere PerRequestExtension, DmaBuffer o SRBDataBuffer.

[out] Length

Specifica la lunghezza, in byte, del buffer.

Valore restituito

StreamClassGetPhysicalAddress restituisce l'indirizzo virtuale tradotto come indirizzo di memoria fisica.

Commenti

Il tipo di buffer da usare viene specificato nel parametro Type . I significati di questi valori sono illustrati nella tabella seguente.

Tipo di buffer Descrizione
PerRequestExtension Indica l'indirizzo fisico dell'estensione SRB.
DmaBuffer Indica l'indirizzo fisico del buffer DMA.
SRBDataBuffer Indica l'indirizzo fisico del buffer dati.

Requisiti

Requisito Valore
Piattaforma di destinazione Desktop
Intestazione strmini.h (include Strmini.h)
Libreria Stream.lib