Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
La routine StreamClassGetPhysicalAddress traduit une adresse de mémoire virtuelle en adresse de mémoire physique et verrouille la mémoire physique correspondante pour une opération DMA.
Syntaxe
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
);
Paramètres
[in] HwDeviceExtension
Pointeur vers l’extension d’appareil du minidriver. Le minidriver spécifie la taille de cette mémoire tampon dans la structure HW_INITIALIZATION_DATA qu’il transmet lorsqu’il s’inscrit via StreamClassRegisterMinidriver. Le pilote de classe passe ensuite des pointeurs vers la mémoire tampon dans le HwDeviceExtension membre du HW_STREAM_REQUEST_BLOCK, HW_STREAM_OBJECT, HW_TIME_CONTEXTet PORT_CONFIGURATION_INFORMATION structures qu’il transmet au minidriver.
[in, optional] HwSRB
Spécifie un bloc de demande de flux. Ce paramètre n’est utilisé que si le paramètre type a la valeur SRBDataBuffer, sinon HwSRB doit être NULL. Ce paramètre est facultatif.
[in] VirtualAddress
Spécifie l’adresse virtuelle à traduire.
[in] Type
Spécifie le type de mémoire tampon vers lequel pointe VirtualAddress. Cette valeur peut être PerRequestExtension, DmaBuffer ou SRBDataBuffer.
[out] Length
Spécifie la longueur, en octets, de la mémoire tampon.
Valeur de retour
StreamClassGetPhysicalAddress retourne l’adresse virtuelle traduite en tant qu’adresse de mémoire physique.
Remarques
Le type de mémoire tampon à utiliser est spécifié dans le paramètre Type. Les significations de ces valeurs sont indiquées dans le tableau suivant.
| Type de mémoire tampon | Description |
|---|---|
| PerRequestExtension | Indique l’adresse physique de l’extension SRB. |
| DmaBuffer | Indique l’adresse physique de la mémoire tampon DMA. |
| SRBDataBuffer | Indique l’adresse physique de la mémoire tampon de données. |
Exigences
| Exigence | Valeur |
|---|---|
| plateforme cible | Bureau |
| d’en-tête | strmini.h (include Strmini.h) |
| bibliothèque | Stream.lib |