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
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 |