Freigeben über


IAMDevMemoryControl::WriteSync-Methode (strmif.h)

[Das dieser Seite zugeordnete Feature DirectShow ist ein Legacyfeature. Es wurde durch MediaPlayer, IMFMediaEngine und Audio/Video Capture in Media Foundation ersetzt. Diese Features wurden für Windows 10 und Windows 11 optimiert. Microsoft empfiehlt dringend, dass neuer Code nach Möglichkeit MediaPlayer, IMFMediaEngine und Audio/Video Capture in Media Foundation anstelle von DirectShow verwendet. Microsoft schlägt vor, vorhandenen Code, der die Legacy-APIs verwendet, um nach Möglichkeit die neuen APIs zu verwenden.]

Hinweis Die IAMDevMemoryControl-Schnittstelle ist veraltet.
 
Wird verwendet, um mit dem abgeschlossenen Schreibvorgang zu synchronisieren. Diese Methode gibt zurück, wenn daten, die in den jeweiligen Zuordnungsbereich geschrieben werden, vollständig in den Arbeitsspeicher geschrieben werden.

Syntax

HRESULT WriteSync();

Rückgabewert

Gibt einen HRESULT-Wert zurück. Folgende Werte sind möglich:

Rückgabecode Beschreibung
E_FAIL
Es ist ein Timeout aufgetreten, ohne dass diese Methode bestätigt, dass Daten geschrieben wurden.
S_OK
Die Daten wurden erfolgreich in den Arbeitsspeicher geschrieben.
VFW_E_NOT_COMMITTED
Die Zuweisung hat die IMemAllocator::Commit-Methode nicht aufgerufen.

Hinweise

Diese Methode garantiert, dass alle vorherigen Schreibvorgänge für den zugeordneten Arbeitsspeicher erfolgreich sind. Nachfolgende Speicherschreibvorgänge erfordern einen weiteren Aufruf von WriteSync.

Diese Methode ist implementierungsabhängig und wird (falls erforderlich) verwendet, um Speicherschreibvorgänge mit dem Arbeitsspeicher zu synchronisieren. Der Treiber des onboard-Arbeitsspeichers stellt die Implementierung bereit.

Die IAMDevMemoryControl-Schnittstelle befindet sich in der Regel im Arbeitsspeicher, auf den über eine PCI-Brücke (Peripheral Component Interconnect) zugegriffen wird. (Ein PCI ist ein lokaler Bus für PCs, der einen Hochgeschwindigkeitsdatenpfad zwischen dem Prozessor und Peripheriegeräten bereitstellt.) Der Arbeitsspeicher hinter einer PCI-Brücke muss synchronisiert werden, nachdem ein Speicherschreibvorgang abgeschlossen ist, wenn ein anderes Gerät hinter der PCI-Brücke auf diesen Speicher zugreift. Dies liegt daran, dass der Hostzugriff auf den Arbeitsspeicher über das PCI-Bridge-FIFO gepuffert wird (first in first out), und der Host geht davon aus, dass der Schreibvorgang abgeschlossen ist, bevor die Bridge die Daten tatsächlich schreibt. Eine nachfolgende Aktion eines Geräts hinter der Brücke, z. B. ein SCSI-Controller, kann den Arbeitsspeicher lesen, bevor der Schreibvorgang abgeschlossen ist, wenn die IAMDevMemoryControl::WriteSync-Methode nicht aufgerufen wird.

Anforderungen

Anforderung Wert
Zielplattform Windows
Kopfzeile strmif.h (include Dshow.h)

Weitere Informationen

Fehler- und Erfolgscodes

IAMDevMemoryControl-Schnittstelle