Partager via


DMA_SUSPEND_HANDLER fonction de rappel (netdma.h)

Remarque 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 paramètre 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 de retourner à partir de ProviderSuspendDma.

Valeur de retour

ProviderSuspendDma retourne l’une des valeurs d’état suivantes :

Retourner le code 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 les transferts DMA en cours sur un canal DMA.

Le fournisseur DMA termine le transfert du descripteur DMA actuel avant de retourner à partir de ProviderSuspendDma. Si le rapport d’état d’achèvement est activé, le moteur DMA écrit l’état NetDmaTransferStatusSuspend dans l’adresse spécifiée dans l’adresse CompletionVirtualAddress et CompletionPhysicalAddress membres dans le structure NET_DMA_CHANNEL_PARAMETERS.

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 au <IRQL = DISPATCH_LEVEL.

Exigences

Exigence Valeur
client minimum pris en charge Pris en charge pour les pilotes NetDMA 1.0 dans Windows Vista.
plateforme cible Windows
d’en-tête netdma.h (include Netdma.h)
IRQL <= DISPATCH_LEVEL

Voir aussi

NET_DMA_CHANNEL_PARAMETERS

ProviderAllocateDmaChannel

ProviderResumeDma