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 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 |
---|---|
|
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 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 |