IMiniportWaveCyclic::NewStream-Methode (portcls.h)
Die NewStream
-Methode erstellt eine neue Instanz 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 Datenstrom. Dieser Parameter verweist auf eine vom Aufrufer zugewiesene Zeigervariable, in die die Methode einen Zeiger auf die IMiniportWaveCyclicStream Schnittstelle des Datenstromobjekts schreibt. Der Aufrufer gibt einen gültigen, nichtNULL Zeigerwert für diesen Parameter an.
[in, optional] OuterUnknown
Zeigen Sie auf die IUnknown Schnittstelle eines Objekts, das das Datenstromobjekt aggregieren muss. Dieser Parameter ist optional. Wenn keine Aggregation erforderlich ist, gibt der Aufrufer diesen Parameter als NULL-an.
[in] PoolType
Gibt den Typ des Speicherpools an, von dem der Speicher für das DMA-Kanalobjekt zugewiesen werden soll. Dieser Parameter ist einer der nicht seitenseitigen Pooltypen, die in der POOL_TYPE-Aufzählung definiert sind.
[in] Pin
Die Nummer des Pins, der geöffnet werden soll. Wenn der WaveCyclic Miniport-Treiber IMiniport::GetDescription Methode einen Filterdeskriptor ausgibt, der eine Summe von n Pin-Fabriken für den Filter angibt, dann sind gültige Werte für Parameter Pin im Bereich 0 bis n-1.
[in] Capture
Gibt an, ob ein Aufnahmedatenstrom oder ein Renderdatenstrom erstellt werden soll. Dieser Parameter ist TRUE- für einen Aufnahmekanal (Eingabekanal) und FALSE- für einen Wiedergabekanal (Ausgabekanal).
[in] DataFormat
Zeiger auf eine KSDATAFORMAT- Struktur, die das für diese Instanz zu verwendende Format angibt.
[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, nichtNULL Zeigerwert 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 Datenstroms schreibt. Dies ist die Dienstgruppe, die für die Unterbrechungsbenachrichtigung registriert wird. Der Aufrufer gibt einen gültigen, nichtNULL Zeigerwert für diesen Parameter an.
Rückgabewert
NewStream
gibt STATUS_SUCCESS zurück, wenn der Anruf erfolgreich war. Andernfalls gibt die Methode einen geeigneten Fehlercode zurück.
Bemerkungen
Die NewStream
-Methode legt den Anfangszustand des Datenstroms auf KSSTATE_STOP und seine Anfangsposition auf 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, DmaChannelund ServiceGroup Parameter folgen den Konventionen für die Verweiszählung von COM-Objekten.
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform- | Universal |
Header- | portcls.h (include Portcls.h) |
IRQL- | PASSIVE_LEVEL |