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.
Sintassi
HRESULT WriteSync();
Valore restituito
Restituisce un valore HRESULT . I possibili valori sono i seguenti:
Codice restituito | Descrizione |
---|---|
|
Si è verificato un timeout senza questo metodo che conferma che i dati sono stati scritti. |
|
I dati sono stati scritti correttamente in memoria. |
|
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) |