Condividi tramite


Metodo IAMDevMemoryControl::WriteSync (strmif.h)

[La funzionalità associata a questa pagina, DirectShow, è una funzionalità legacy. È stata sostituita da MediaPlayer, IMFMediaEngine e Audio/Video Capture in Media Foundation. Queste funzionalità sono state ottimizzate per Windows 10 e Windows 11. Microsoft consiglia vivamente che il nuovo codice usi MediaPlayer, IMFMediaEngine e Audio/Video Capture in Media Foundation invece di DirectShow, quando possibile. Microsoft suggerisce che il codice esistente che usa le API legacy venga riscritto per usare le nuove API, se possibile.

Nota L'interfaccia IAMDevMemoryControl è deprecata.
 
Usato per la sincronizzazione con la scrittura completata. Questo metodo restituisce quando tutti i dati scritti nell'area specifica dell'allocatore vengono scritti completamente nella memoria.

Sintassi

HRESULT WriteSync();

Valore restituito

Restituisce un valore HRESULT . I possibili valori sono i seguenti:

Codice restituito Descrizione
E_FAIL
Si è verificato un timeout senza questo metodo che conferma che i dati sono stati scritti.
S_OK
I dati sono stati scritti correttamente in memoria.
VFW_E_NOT_COMMITTED
L'allocatore non ha chiamato il metodo IMemAllocator::Commit .

Commenti

Questo metodo garantisce che tutte le operazioni di scrittura precedenti alla memoria allocata siano riuscite. Le operazioni di scrittura della memoria successive richiedono un'altra chiamata a WriteSync.

Questo metodo dipende dall'implementazione e viene usato (quando necessario) per sincronizzare le operazioni di scrittura della memoria nella memoria. Il driver della memoria su scheda fornisce l'implementazione.

L'interfaccia IAMDevMemoryControl si trova in genere nella memoria a cui si accede tramite un bridge PCI (Peripheral Component Interconnect). Un pci è un bus locale per i personal computer che fornisce un percorso dati ad alta velocità tra il processore e i dispositivi periferici. La memoria dietro un bridge PCI deve essere sincronizzata al termine di un'operazione di scrittura della memoria, se un altro dispositivo accederà a tale memoria da dietro il bridge PCI. Ciò è dovuto al fatto che l'accesso host alla memoria viene memorizzato nel buffer tramite il bridge PCI FIFO (prima in primo luogo) e l'host presuppone che la scrittura venga completata prima che il bridge scriva effettivamente i dati. Un'azione successiva da parte di un dispositivo dietro il bridge, ad esempio un controller SCSI, potrebbe leggere la memoria prima del completamento della scrittura, se il metodo IAMDevMemoryControl::WriteSync non viene chiamato.

Requisiti

Requisito Valore
Piattaforma di destinazione Windows
Intestazione strmif.h (include Dshow.h)

Vedi anche

Codici di errore e di esito positivo

Interfaccia IAMDevMemoryControl