Condividi tramite


Metodo IMiniportMidi::NewStream (portcls.h)

Il metodo NewStream crea una nuova istanza di un flusso logico associato a un canale fisico specificato.

Sintassi

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

Parametri

[out] Stream

Puntatore di output per il nuovo flusso. Questo parametro punta a una variabile puntatore allocata dal chiamante in cui il metodo scrive un puntatore nell'interfaccia IMiniportMidiStream dell'oggetto flusso.

[in, optional] OuterUnknown

Puntatore all'interfaccia IUnknown di un oggetto che deve aggregare l'oggetto flusso. Questo parametro è facoltativo. Se l'aggregazione non è necessaria, il chiamante specifica questo parametro come NULL.

[in] PoolType

Specifica il tipo di pool di memoria da cui deve essere allocata l'archiviazione per l'oggetto canale DMA. Questo parametro è impostato su uno dei valori di enumerazione POOL_TYPE.

[in] Pin

Specifica l'ID pin. Questo parametro identifica il pin da aprire. Se l'oggetto miniport MIDI IMiniport::GetDescription metodo restituisce un descrittore di filtro che specifica un totale di n pin factory sul filtro, gli ID pin validi sono compresi nell'intervallo da 0 a n-1.

[in] Capture

Specifica se il canale deve essere usato per l'acquisizione o per la riproduzione. Se TRUE, si tratta di un canale di acquisizione (input). Se FALSE, si tratta di un canale di riproduzione (output).

[in] DataFormat

Puntatore a una struttura di KSDATAFORMAT che specifica il formato di dati da utilizzare per questa istanza del flusso.

[out] ServiceGroup

Puntatore di output per il gruppo di servizi. Questo parametro punta a una variabile puntatore allocata dal chiamante in cui il metodo scrive un puntatore nell'interfaccia dell'oggetto gruppo di servizi del flusso IServiceGroup. Si tratta del gruppo di servizi registrato per la notifica di interrupt.

Valore restituito

NewStream restituisce STATUS_SUCCESS se la chiamata ha avuto esito positivo. In caso contrario, il metodo restituisce un codice di errore appropriato.

Osservazioni

Il metodo NewStream imposta lo stato iniziale del flusso su KSSTATE_STOP.

I parametri Stream, OuterUnknowne ServiceGroup seguono le convenzioni di conteggio dei riferimenti per gli oggetti COM.

Fabbisogno

Requisito Valore
piattaforma di destinazione Universale
intestazione portcls.h (include Portcls.h)
IRQL PASSIVE_LEVEL

Vedere anche

IMiniport::GetDescription

IMiniportMidi

IMiniportMidiStream

IServiceGroup

KSDATAFORMAT

POOL_TYPE