DMA_SUSPEND_HANDLER funzione di callback (netdma.h)
in Windows 8 e versioni successive.
Sintassi
DMA_SUSPEND_HANDLER DmaSuspendHandler;
NTSTATUS DmaSuspendHandler(
[in] PVOID ProviderChannelContext,
[out] PPHYSICAL_ADDRESS *pLastDescriptor
)
{...}
Parametri
[in] ProviderChannelContext
Puntatore che identifica l'area di contesto di un canale DMA. Il provider DMA ha restituito questo handle a NetDMA nella posizione specificata nel parametro pProviderChannelContext del parametro funzione providerAllocateDmaChannel.
[out] pLastDescriptor
Puntatore a una variabile contenente l'indirizzo fisico dell'ultimo descrittore DMA elaborato correttamente. Il provider DMA fornisce questo indirizzo prima di restituire da provider SuspendDma.
Valore restituito
ProviderSuspendDma restituisce uno dei valori di stato seguenti:
Codice restituito | Descrizione |
---|---|
|
Operazione completata correttamente. |
|
L'operazione non è riuscita per motivi non specificati. |
Osservazioni
La funzione ProviderSuspendDma è una funzione facoltativa per i provider NetDMA. L'interfaccia NetDMA può chiamare la funzione ProviderSuspendDma, se presente, per sospendere temporaneamente tutti i trasferimenti DMA in corso su un canale DMA.
Il provider DMA completa il trasferimento del descrittore DMA corrente prima che restituisca da ProviderSuspendDma. Se la segnalazione dello stato di completamento è abilitata, il motore DMA scrive lo stato NetDmaTransferStatusSuspend nell'indirizzo specificato nell'CompletionVirtualAddress e CompletionPhysicalAddress membri nell'oggetto NET_DMA_CHANNEL_PARAMETERS struttura.
Mentre i trasferimenti DMA sono sospesi, l'interfaccia NetDMA può modificare l'elenco collegato del descrittore DMA, ad esempio per inserire o eliminare i descrittori.
L'interfaccia NetDMA chiama la funzione di ProviderResumeDma per riprendere le operazioni DMA sospese chiamando ProviderSuspendDma.
NetDMA chiama ProviderSuspendDma in IRQL <= DISPATCH_LEVEL.
Fabbisogno
Requisito | Valore |
---|---|
client minimo supportato | Supportato per i driver NetDMA 1.0 in Windows Vista. |
piattaforma di destinazione | Finestre |
intestazione | netdma.h (include Netdma.h) |
IRQL | <= DISPATCH_LEVEL |