DMA_SUSPEND_HANDLER fonction de rappel (netdma.h)
dans Windows 8 et versions ultérieures.
Syntaxe
DMA_SUSPEND_HANDLER DmaSuspendHandler;
NTSTATUS DmaSuspendHandler(
[in] PVOID ProviderChannelContext,
[out] PPHYSICAL_ADDRESS *pLastDescriptor
)
{...}
Paramètres
[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 Fonction ProviderAllocateDmaChannel .
[out] pLastDescriptor
Pointeur vers une variable qui contient l’adresse physique du dernier descripteur DMA traité avec succès. Le fournisseur DMA fournit cette adresse avant le retour de ProviderSuspendDma.
Valeur retournée
ProviderSuspendDma retourne l’une des valeurs status suivantes :
Code de retour | Description |
---|---|
|
L’opération s’est terminée avec succès. |
|
L’opération a échoué pour des raisons non spécifiées. |
Remarques
La fonction ProviderSuspendDma est une fonction facultative pour les fournisseurs NetDMA. L’interface NetDMA peut appeler la fonction ProviderSuspendDma , le cas échéant, pour suspendre temporairement tous les transferts DMA en cours sur un canal DMA.
Le fournisseur DMA termine le transfert du descripteur DMA actuel avant qu’il ne retourne à partir de ProviderSuspendDma. Si l’achèvement status création de rapports est activé, le moteur DMA écrit le status NetDmaTransferStatusSuspend dans l’adresse spécifiée dans les membres CompletionVirtualAddress et CompletionPhysicalAddress dans le NET_DMA_CHANNEL_PARAMETERS structure.
Pendant que les transferts DMA sont suspendus, l’interface NetDMA peut modifier la liste liée du descripteur DMA (par exemple, pour insérer ou supprimer des descripteurs).
L’interface NetDMA appelle la fonction ProviderResumeDma pour reprendre les opérations DMA qui ont été suspendues en appelant ProviderSuspendDma.
NetDMA appelle ProviderSuspendDma à IRQL <= DISPATCH_LEVEL.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Pris en charge pour les pilotes NetDMA 1.0 dans Windows Vista. |
Plateforme cible | Windows |
En-tête | netdma.h (inclure Netdma.h) |
IRQL | <= DISPATCH_LEVEL |