Freigeben über


CBasePin.CBasePin-Konstruktor

[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.]

Konstruktormethode.

Syntax

CBasePin(
   TCHAR         *pObjectName,
   CBaseFilter   *pFilter,
   CCritSec      *pLock,
   HRESULT       *phr,
   LPCWSTR       pName,
   PIN_DIRECTION dir
);

Parameter

pObjectName

Zeichenfolge mit dem Debugnamen für das Objekt. Weitere Informationen finden Sie unter CBaseObject.

pFilter

Zeiger auf den Filter, der diese Pin erstellt hat.

Plock

Zeiger auf eine CCritSec-Sperre , die zum Serialisieren von Zustandsänderungen verwendet wird. Kann derselbe kritische Abschnitt wie die Filtersperre CBaseFilter::m_pLock sein.

Phr

Zeiger auf eine Variable, die einen HRESULT-Wert empfängt, der den Erfolg oder Fehler der Methode angibt. Initialisieren Sie den Wert S_OK, bevor Sie das -Objekt erstellen. Der Wert wird nur geändert, wenn ein Fehler auftritt.

pName

Breitzeichenzeichenfolge, die den Namen des Pins enthält. Weitere Informationen finden Sie unter CBasePin::QueryPinInfo.

dir

Member der PIN_DIRECTION-Enumeration , die die Richtung des Pins angibt.

Bemerkungen

Der von pLock angegebene kritische Abschnitt serialisiert den Status des Pins, einschließlich der Verbindungs-status, der Auswahl der Zuweisung, des Medientyps und der status von Leerungsvorgängen. Verwenden Sie diesen wichtigen Abschnitt nicht, um Streamingvorgänge zu serialisieren. Weitere Informationen finden Sie unter Datenfluss im Filtergraphen.

Ein Filter kann in seiner Konstruktormethode Pins erstellen, sodass der pFilter-Zeiger an diesem Punkt möglicherweise nicht auf ein gültiges Objekt verweist. Speichern Sie den Zeiger, aber dereferenzieren Sie ihn nicht im Konstruktor des Pins.

Anforderungen

Anforderung Wert
Header
Amfilter.h (streams.h einschließen)
Bibliothek
Strmbase.lib (Einzelhandelsbuilds);
Strmbasd.lib (Debugbuilds)

Siehe auch

CBasePin-Klasse