Freigeben über


IAMDevMemoryAllocator::GetDevMemoryObject-Methode (strmif.h)

[Das dieser Seite zugeordnete Feature DirectShow ist ein Legacyfeature. Es wurde von MediaPlayer, IMFMediaEngine und Audio/Video Capture in Media Foundation abgelöst. Diese Features wurden für Windows 10 und Windows 11 optimiert. Microsoft empfiehlt dringend, dass neuer Code mediaPlayer, IMFMediaEngine und Audio/Video Capture in Media Foundation anstelle von DirectShow verwendet, wenn möglich. Microsoft schlägt vor, dass vorhandener Code, der die Legacy-APIs verwendet, so umgeschrieben wird, dass nach Möglichkeit die neuen APIs verwendet werden.]

Hinweis Die IAMDevMemoryAllocator-Schnittstelle ist veraltet.
 
Ruft einen IUnknown-Schnittstellenzeiger auf ein Gerätespeichersteuerungsobjekt ab, das mit einer benutzerdefinierten Zuweisung aggregiert werden kann.

Syntax

HRESULT GetDevMemoryObject(
  [out] IUnknown **ppUnkInnner,
  [in]  IUnknown *pUnkOuter
);

Parameter

[out] ppUnkInnner

Adresse eines Zeigers auf die eigene IUnknown des neu erstellten Steuerelementobjekts. Diese innere IUnknown-Schnittstelle sollte freigegeben werden, wenn das äußere Objekt zerstört wird. Die benutzerdefinierte Zuweisung sollte die QueryInterface-Methode für diesen Zeiger aufrufen, um die IAMDevMemoryControl-Schnittstelle abzurufen.

[in] pUnkOuter

Zeiger auf die eigene IUnknown-Schnittstelle der benutzerdefinierten Zuweisung. Diese Schnittstelle aggregiert das Gerätespeichersteuerungsobjekt innerhalb der benutzerdefinierten Zuweisung.

Rückgabewert

Gibt einen HRESULT-Wert zurück.

Bemerkungen

Das Gerätespeichersteuerungsobjekt ist erforderlich, um mit der benutzerdefinierten Zuweisung zu aggregieren, da Renderer, die die Verwendung des on-board-Arbeitsspeichers erfordern, IAMDevMemoryControl abfragen, wenn sie eine neue Zuweisung erhalten, um zu überprüfen, ob der Speicher vom gleichen Gerät stammt. Dies liegt daran, dass der Hardwarefilter ein IMemAllocator-Objekt empfängt, das den onboard-Arbeitsspeicher verwenden kann oder nicht. Um zu entscheiden, ob es sich um eine kompatible Zuweisung handelt, fragt das Objekt die IAMDevMemoryControl-Schnittstelle ab, um auf bestimmte Methoden zuzugreifen. IAMDevMemoryControl erstellt ein aggregiertes Objekt, das die Methoden von IAMDevMemoryControl implementiert (diese sind häufig hardwarespezifisch).

Regeln zur Implementierung der Aggregation durch das äußere Objekt finden Sie in der COM-Dokumentation.

Requirements (Anforderungen)

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

Siehe auch

Fehler- und Erfolgscodes

IAMDevMemoryAllocator-Schnittstelle