Partager via


DMA_SUSPEND_HANDLER fonction de rappel (netdma.h)

Note L’interface NetDMA n’est pas prise en charge

dans Windows 8 et versions ultérieures.

 
La fonction ProviderSuspendDma suspend les transferts DMA en cours sur un canal DMA.

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
STATUS_SUCCESS
L’opération s’est terminée avec succès.
STATUS_UNSUCCESSFUL
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

Voir aussi

NET_DMA_CHANNEL_PARAMETERS

ProviderAllocateDmaChannel

ProviderResumeDma