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 del canale DMA. Il provider DMA ha restituito questo handle a NetDMA nel percorso specificato nel parametro pProviderChannelContext dell'oggetto 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 ProviderSuspendDma.
Valore restituito
ProviderSuspendDma restituisce uno dei valori di stato seguenti:
Codice restituito | Descrizione |
---|---|
|
Operazione riuscita. |
|
L'operazione non è riuscita per motivi non specificati. |
Commenti
La funzione ProviderSuspendDma è una funzione facoltativa per i provider NetDMA. L'interfaccia NetDMA può chiamare la funzione ProviderSuspendDma , se presente, per sospendere temporaneamente eventuali trasferimenti DMA in corso in un canale DMA.
Il provider DMA completa il trasferimento del descrittore DMA corrente prima che venga restituito da ProviderSuspendDma. Se la creazione di report sullo stato di completamento è abilitata, il motore DMA scrive lo stato NetDmaTransferStatusSuspend nell'indirizzo specificato nell'indirizzo specificato nei membri Di completamentoVirtualAddress e CompletionPhysicalAddress nei membri NET_DMA_CHANNEL_PARAMETERS struttura.
Mentre i trasferimenti DMA vengono sospesi, l'interfaccia NetDMA può modificare l'elenco collegato descrittore DMA, ad esempio per inserire o eliminare i descrittori.
L'interfaccia NetDMA chiama la funzione ProviderResumeDma per riprendere le operazioni DMA sospese chiamando ProviderSuspendDma.
NetDMA chiama ProviderSuspendDma in IRQL <= DISPATCH_LEVEL.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Supportato per i driver NetDMA 1.0 in Windows Vista. |
Piattaforma di destinazione | Windows |
Intestazione | netdma.h (include Netdma.h) |
IRQL | <= DISPATCH_LEVEL |