Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
La funzione VideoPortStartDma prepara il sistema per un'operazione DMA. Non appena è disponibile la risorsa appropriata, VideoPortStartDma crea un elenco a dispersione/raccolta, inizializza le risorse di sistema e chiama il driver miniport video fornito HwVidExecuteDma routine per eseguire l'operazione DMA.
Sintassi
VIDEOPORT_DEPRECATED VIDEOPORT_API VP_STATUS VideoPortStartDma(
[in] IN PVOID HwDeviceExtension,
[in] IN PVP_DMA_ADAPTER VpDmaAdapter,
[in] IN PVOID Mdl,
[in] IN ULONG Offset,
[in, out] IN OUT PULONG pLength,
[in] IN PEXECUTE_DMA ExecuteDmaRoutine,
[in] IN PVOID Context,
[in] IN BOOLEAN WriteToDevice
);
Parametri
[in] HwDeviceExtension
Puntatore all'estensione del dispositivo del driver miniport.
[in] VpDmaAdapter
Puntatore alla struttura VP_DMA_ADAPTER che rappresenta l'adattatore bus-master. Questa struttura viene restituita da una chiamata a VideoPortGetDmaAdapter.
[in] Mdl
Puntatore al MDL che descrive il buffer. Questo puntatore viene restituito da una chiamata alla funzione videoPortLockBuffer del driver della porta video.
[in] Offset
Specifica l'offset di byte nel buffer in corrispondenza del quale inizia l'operazione DMA. Il parametro Mdl descrive questo buffer.
[in, out] pLength
Puntatore a una variabile che specifica la dimensione del trasferimento richiesta, in byte, e che riceverà le dimensioni effettive da trasferire. La variabile verrà aggiornata quando si verifica uno degli eventi seguenti: VideoPortStartDma restituisce o viene chiamato il HwVidExecuteDma. È quindi possibile leggere questa variabile dall'interno di HwVidExecuteDma anche prima che venga restituita VideoPortStartD ma.
[in] ExecuteDmaRoutine
Puntatore a un driver miniport fornito HwVidExecuteDma routine di callback. VideoPortStartDma chiama questa routine per programmare i registri hardware e avviare l'operazione DMA effettiva.
[in] Context
Puntatore al contesto determinato dal driver da passare alla routine di callback del driver miniport HwVidExecuteD ma. Poiché la routine di callback HwVidExecuteDma viene eseguita in DISPATCH_LEVEL, i dati che Context puntano devono trovarsi in memoria non di paging.
[in] WriteToDevice
Specifica la direzione del trasferimento DMA. Un valore di TRUE indica un trasferimento dal buffer al dispositivo e un valore di FALSE indica un trasferimento dal dispositivo al buffer.
Valore restituito
VideoPortStartDma restituisce uno dei codici di stato seguenti:
Codice restituito | Descrizione |
---|---|
NO_ERROR | L'operazione è stata eseguita correttamente. |
ERROR_NOT_ENOUGH_MEMORY | Per questa operazione non sono disponibili risorse di sistema sufficienti. |
Osservazioni
Per preparare un'operazione di trasferimento DMA, VideoPortStartDma:
- Scarica l'area di memoria nelle cache del processore host.
- Compila un elenco a dispersione/raccolta.
- Chiama il driver miniport video HwVidExecuteDma callback.
Fabbisogno
Requisito | Valore |
---|---|
client minimo supportato | Disponibile in Windows XP e versioni successive dei sistemi operativi Windows. |
piattaforma di destinazione | Desktop |
intestazione | video.h (includere Video.h) |
libreria | Videoprt.lib |
dll | Videoprt.sys |
IRQL | <=DISPATCH_LEVEL |