Fonction StreamClassGetPhysicalAddress (strmini.h)
La routine StreamClassGetPhysicalAddress convertit 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 de l’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 transmet ensuite des pointeurs vers la mémoire tampon dans le membre HwDeviceExtension du HW_STREAM_REQUEST_BLOCK, HW_STREAM_OBJECT, HW_TIME_CONTEXT et PORT_CONFIGURATION_INFORMATION structures qu’il transmet au minidriver.
[in, optional] HwSRB
Spécifie un bloc de demande de flux. Ce paramètre est utilisé uniquement si le paramètre Type a la valeur SRBDataBuffer, sinon HwSRB doit avoir la valeur NULL. Ce paramètre est facultatif.
[in] VirtualAddress
Spécifie l’adresse virtuelle à traduire.
[in] Type
Spécifie le type de mémoire tampon pointée vers virtualAddress. Cette valeur peut être PerRequestExtension, DmaBuffer ou SRBDataBuffer.
[out] Length
Spécifie la longueur, en octets, de la mémoire tampon.
Valeur retournée
StreamClassGetPhysicalAddress retourne l’adresse virtuelle traduite en tant qu’adresse 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. |
Configuration requise
Condition requise | Valeur |
---|---|
Plateforme cible | Desktop (Expérience utilisateur) |
En-tête | strmini.h (inclure Strmini.h) |
Bibliothèque | Stream.lib |
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour