IMiniportDMus::Metode NewStream (dmusicks.h)
Metode ini NewStream
membuat instans baru aliran logis yang terkait dengan saluran fisik tertentu.
Sintaks
NTSTATUS NewStream(
[out] PMXF *MXF,
[in, optional] PUNKNOWN OuterUnknown,
[in] POOL_TYPE PoolType,
[in] ULONG PinID,
[in] DMUS_STREAM_TYPE StreamType,
[in] PKSDATAFORMAT DataFormat,
[out] PSERVICEGROUP *ServiceGroup,
[in] PAllocatorMXF AllocatorMXF,
[in] PMASTERCLOCK MasterClock,
[out] PULONGLONG SchedulePreFetch
);
Parameter
[out] MXF
Penunjuk output untuk aliran baru. Parameter ini menunjuk ke variabel penunjuk yang dialokasikan pemanggil tempat metode menulis penunjuk ke antarmuka IMXF objek aliran.
[in, optional] OuterUnknown
Arahkan ke antarmuka IUnknown objek yang perlu mengagregasi objek stream. Parameter ini bersifat opsional. Jika agregasi tidak diperlukan, pemanggil menentukan parameter ini sebagai NULL.
[in] PoolType
Menentukan jenis kumpulan memori tempat penyimpanan untuk objek saluran DMA harus dialokasikan. Parameter ini diatur ke salah satu nilai enumerasi POOL_TYPE .
[in] PinID
Menentukan ID pin. Parameter ini mengidentifikasi pin yang akan dibuka. Jika metode IMiniport::GetDescription driver miniport DMus menghasilkan deskriptor filter yang menentukan total pabrik pin n pada filter, maka ID pin yang valid berada di rentang 0 hingga n-1.
[in] StreamType
Menentukan jenis aliran data yang akan dibuat. Parameter ini diatur ke salah satu nilai enumerasi DMUS_STREAM_TYPE berikut:
DMUS_STREAM_MIDI_RENDER
Menentukan aliran output MIDI (pemutaran).
DMUS_STREAM_MIDI_CAPTURE
Menentukan aliran input MIDI.
DMUS_STREAM_WAVE_SINK
Menentukan aliran output gelombang.
Untuk informasi selengkapnya, lihat bagian Keterangan berikut ini.
[in] DataFormat
Penunjuk ke struktur KSDATAFORMAT streaming kernel yang menentukan format data yang akan digunakan untuk instans ini
[out] ServiceGroup
Penunjuk output untuk grup layanan. Parameter ini menunjuk ke variabel penunjuk yang dialokasikan pemanggil tempat metode menulis penunjuk ke antarmuka IServiceGroup dari objek grup layanan aliran. Ini adalah grup layanan yang sedang didaftarkan untuk pemberitahuan interupsi.
[in] AllocatorMXF
Penunjuk ke objek IAllocatorMXF . Ini adalah alokator memori driver port, yang diperlukan untuk mendaur ulang struktur DMUS_KERNEL_EVENT .
[in] MasterClock
Arahkan ke objek IMasterClock . Jam master ini melewati pembungkus untuk jam KS ke pengemudi miniport. Penunjuk jam master diperlukan untuk menyinkronkan ke waktu referensi.
[out] SchedulePreFetch
Penunjuk output untuk waktu schedule-prefetch. Parameter ini adalah penunjuk ke variabel ULONGLONG yang dialokasikan pemanggil tempat metode menulis nilai waktu yang menentukan seberapa jauh ke depan untuk mengkueri peristiwa. Waktu ditentukan dalam unit 100-nanodetik. Driver port bertanggung jawab untuk mengurutkan peristiwa apa pun yang melebihi jumlah waktu yang ditentukan driver miniport di sini.
Mengembalikan nilai
NewStream
mengembalikan S_OK jika panggilan berhasil. Jika tidak, metode mengembalikan kode kesalahan yang sesuai.
Keterangan
Perhatikan bahwa driver port membuat objek IAllocatorMXF yang NewStream
dimasukkan metode melalui parameter pAllocatorMXF , tetapi driver miniport membuat objek IMXF yang dihasilkan metode melalui parameter ppMXF . Untuk informasi selengkapnya tentang IMXF dan IAllocatorMXF, lihat Transportasi MIDI.
Arti parameter IMiniportDMus::NewStream
StreamType metode ini mirip dengan parameter Capture metode IMiniportMidi::NewStream:
- Saat membuat aliran pada pin MIDI, parameter Capture metode IMiniportMidi::NewStream menunjukkan apakah pin berfungsi sebagai sink untuk aliran render MIDI (Capture = FALSE) atau sebagai sumber aliran pengambilan MIDI (Capture = TRUE).
-
Demikian pula, saat membuat aliran pada pin MIDI atau DirectMusic,
IMiniportDMus::NewStream
parameter StreamType metode dapat menunjukkan apakah pin berfungsi sebagai sink untuk aliran render MIDI (StreamType = DMUS_STREAM_MIDI_RENDER) atau sebagai sumber aliran pengambilan MIDI (StreamType = DMUS_STREAM_MIDI_CAPTURE).
IMiniportDMus::NewStream
parameter output ppMXF metode) untuk antarmuka ISynthSinkDMus-nya . Sink gelombang driver port memanggil metode Render pada antarmuka ini untuk menarik data gelombang dari synthesizer perangkat lunak. Untuk informasi selengkapnya, lihat Wave Sink untuk Kernel-Mode Software Synthesizer.
Parameter ppMXF, pOuterUnknown, ppServiceGroup, pAllocatorMXF, dan pMasterClock mengikuti konvensi penghitungan referensi untuk objek COM.
Persyaratan
Persyaratan | Nilai |
---|---|
Target Platform | Desktop |
Header | dmusicks.h (termasuk Dmusicks.h) |
IRQL | PASSIVE_LEVEL |
Lihat juga
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk