DMA_START_HANDLER fonction de rappel (netdma.h)
dans Windows 8 et versions ultérieures.
La fonction ProviderStartDma démarre un transfert DMA sur le canal DMA spécifié.
DMA_START_HANDLER DmaStartHandler;
NTSTATUS DmaStartHandler(
[in] PVOID ProviderChannelContext,
[in] PNET_DMA_DESCRIPTOR DescriptorVirtualAddress,
[in] PHYSICAL_ADDRESS DescriptorPhysicalAddress,
[in] ULONG DescriptorCount
)
{...}
[in] ProviderChannelContext
Pointeur qui identifie la zone de contexte d’un canal DMA. Le fournisseur DMA a retourné ce handle à NetDMA à l’emplacement spécifié dans le paramètre pProviderChannelContext du paramètre fonction ProviderAllocateDmaChannel.
[in] DescriptorVirtualAddress
Pointeur vers l’adresse virtuelle de la première structure de NET_DMA_DESCRIPTOR dans une liste liée de descripteurs DMA. L’adresse physique correspondante est spécifiée au paramètre DescriptorPhysicalAddress.
[in] DescriptorPhysicalAddress
Pointeur vers l’adresse physique du premier descripteur DMA dans une liste liée de descripteurs DMA. L’adresse virtuelle correspondante est spécifiée au paramètre DescriptorVirtualAddress.
[in] DescriptorCount
Nombre de descripteurs DMA à DescriptorVirtualAddress .
ProviderStartDma retourne l’une des valeurs d’état suivantes :
Retourner le code | Description |
---|---|
|
L’opération s’est terminée avec succès. |
|
L’opération a échoué en raison de ressources insuffisantes. |
|
L’opération a échoué pour des raisons non spécifiées. |
L’interface NetDMA appelle la fonction ProviderStartDma du pilote de fournisseur DMA pour démarrer un transfert DMA. L’interface NetDMA peut appeler ProviderStartDma à tout moment après l’allocation d’un canal DMA. L’interface NetDMA doit appeler ProviderStartDma après avoir appelé le ProviderAbortDma, ProviderResetChannelou ProviderAllocateDmaChannel fonction pour un canal DMA.
La source du transfert DMA est une liste liée de descripteurs DMA. Le NextDescriptor membre de la structure NET_DMA_DESCRIPTOR au paramètre DescriptorVirtualAddress contient l’adresse physique de la structure de NET_DMA_DESCRIPTOR suivante dans la liste liée.
Après ProviderStartDma démarre le transfert DMA initial, l’interface NetDMA peut appeler la fonction ProviderAppendDma pour ajouter des données supplémentaires au transfert.
NetDMA appelle ProviderStartDma au <IRQL = DISPATCH_LEVEL.
Exigence | Valeur |
---|---|
client minimum pris en charge | Pris en charge pour les pilotes NetDMA 2.0 dans Windows Server 2008. Pris en charge pour les pilotes NetDMA 1.1 dans Windows Server 2008. Pris en charge pour les pilotes NetDMA 1.0 dans Windows Server 2008 et Windows Vista. |
plateforme cible | Windows |
d’en-tête | netdma.h (include Netdma.h) |
IRQL | <= DISPATCH_LEVEL |