IMiniportWaveCyclic::NewStream-Methode (portcls.h)

Die NewStream -Methode erstellt eine neue instance eines logischen Datenstroms, der einem angegebenen physischen Kanal zugeordnet ist.

Syntax

NTSTATUS NewStream(
  [out]          PMINIPORTWAVECYCLICSTREAM *Stream,
  [in, optional] PUNKNOWN                  OuterUnknown,
  [in]           POOL_TYPE                 PoolType,
  [in]           ULONG                     Pin,
  [in]           BOOLEAN                   Capture,
  [in]           PKSDATAFORMAT             DataFormat,
  [out]          PDMACHANNEL               *DmaChannel,
  [out]          PSERVICEGROUP             *ServiceGroup
);

Parameter

[out] Stream

Ausgabezeiger für den neuen Stream. Dieser Parameter verweist auf eine vom Aufrufer zugewiesene Zeigervariable, in die die Methode einen Zeiger auf die IMiniportWaveCyclicStream-Schnittstelle des Streamobjekts schreibt. Der Aufrufer gibt einen gültigen Zeigerwert ohne NULL für diesen Parameter an.

[in, optional] OuterUnknown

Zeiger auf die IUnknown-Schnittstelle eines Objekts, das das Streamobjekt aggregieren muss. Dieser Parameter ist optional. Wenn die Aggregation nicht erforderlich ist, gibt der Aufrufer diesen Parameter als NULL an.

[in] PoolType

Gibt den Typ des Speicherpools an, aus dem der Speicher für das DMA-Kanalobjekt zugeordnet werden soll. Dieser Parameter ist einer der nicht auslagerten Pooltypen, die in der POOL_TYPE-Enumeration definiert sind.

[in] Pin

Nummer des Zu öffnenden Pins. Wenn die IMiniport::GetDescription-Methode des WaveCyclic-Miniporttreibers einen Filterdeskriptor ausgibt, der insgesamt n Pin-Fabriken für den Filter angibt, liegen die gültigen Werte für den Parameter Pin im Bereich von 0 bis n-1.

[in] Capture

Gibt an, ob ein Aufzeichnungsstream oder ein Renderdatenstrom erstellt werden soll. Dieser Parameter ist TRUE für einen Erfassungskanal (Eingabekanal) und FALSE für einen Wiedergabekanal (Ausgabe).

[in] DataFormat

Zeiger auf eine KSDATAFORMAT-Struktur, die das format angibt, das für diese instance verwendet werden soll.

[out] DmaChannel

Ausgabezeiger auf den DMA-Kanal. Dieser Parameter verweist auf eine vom Aufrufer zugewiesene Zeigervariable, in die die -Methode einen Zeiger auf die IDmaChannel-Schnittstelle des DMA-Kanalobjekts des Miniporttreibers schreibt. Der Aufrufer gibt einen gültigen Zeigerwert ohne NULL für diesen Parameter an. Weitere Informationen finden Sie im folgenden Abschnitt "Hinweise".

[out] ServiceGroup

Ausgabezeiger für die Dienstgruppe. Dieser Parameter verweist auf eine vom Aufrufer zugewiesene Zeigervariable, in die die Methode einen Zeiger auf die IServiceGroup-Schnittstelle des Dienstgruppenobjekts des Streams schreibt. Dies ist die Dienstgruppe, die für Unterbrechungsbenachrichtigungen registriert wird. Der Aufrufer gibt einen gültigen Zeigerwert ohne NULL für diesen Parameter an.

Rückgabewert

NewStream gibt STATUS_SUCCESS zurück, wenn der Aufruf erfolgreich war. Andernfalls gibt die Methode einen entsprechenden Fehlercode zurück.

Hinweise

Die NewStream -Methode legt den Anfangszustand des Datenstroms auf KSSTATE_STOP und seine Anfangsposition auf 0 (Null) fest. (Siehe IMiniportWaveCyclicStream::SetState und IMiniportWaveCyclicStream::GetPosition.)

Der Porttreiber ruft nur die folgenden Methoden für das DmaChannel-Objekt auf:

IDmaChannel::AllocatedBufferSize

IDmaChannel::BufferSize

IDmaChannel::CopyFrom

IDmaChannel::CopyTo

IDmaChannel::SetBufferSize

IDmaChannel::SystemAddress

Die Parameter Stream, OuterUnknown, DmaChannel und ServiceGroup folgen den Referenzzählungskonventionen für COM-Objekte.

Anforderungen

Anforderung Wert
Zielplattform Universell
Header portcls.h (include Portcls.h)
IRQL PASSIVE_LEVEL

Weitere Informationen

IDmaChannel

IMiniport::GetDescription

IMiniportWaveCyclic

IMiniportWaveCyclicStream

IServiceGroup

KSDATAFORMAT

POOL_TYPE