Metode IPinCount::P inCount (portcls.h)
Metode ini PinCount
meminta driver miniport untuk jumlah pin-nya.
Sintaks
void PinCount(
[in] ULONG PinId,
[in, out] PULONG FilterNecessary,
[in, out] PULONG FilterCurrent,
[in, out] PULONG FilterPossible,
[in, out] PULONG GlobalCurrent,
[in, out] PULONG GlobalPossible
);
Parameter
[in] PinId
Menentukan ID pin. Jika filter berisi pabrik pin n , ID pin yang valid berkisar antara 0 hingga n-1.
[in, out] FilterNecessary
Menentukan jumlah minimum pin yang harus dibuat oleh pabrik pin sebelum filter dapat melakukan operasi I/O.
[in, out] FilterCurrent
Menentukan jumlah instans pin saat ini. Angka ini menghitung pin yang telah digunakan pabrik pin pada filter.
[in, out] FilterPossible
Menentukan jumlah maksimum pin yang dapat digunakan pabrik pin pada filter. Atur ke KSINSTANCE_INDETERMINATE jika tidak ada maksimum.
[in, out] GlobalCurrent
Menentukan jumlah pin saat ini yang telah digunakan pabrik pin pada driver.
[in, out] GlobalPossible
Menentukan jumlah maksimum pin yang dapat digunakan pabrik pin pada driver. Atur ke KSINSTANCE_INDETERMINATE jika tidak ada maksimum.
Nilai kembali
Tidak ada
Keterangan
Panggilan PinCount
memiliki dua tujuan:
- Untuk memberi tahu driver miniport jumlah pin saat ini.
- Untuk memberi driver miniport kesempatan untuk mengubah jumlah pin saat ini.
FilterCurrent dan FilterPossible menentukan nilai per filter untuk pabrik pin yang ditentukan oleh PinId.
GlobalCurrent dan GlobalPossible menentukan nilai total untuk pabrik pin di semua instans filter.
Driver miniport biasanya tidak perlu mengubah parameter FilterNecessary , tetapi disertakan demi kelengkapan.
Selama panggilan IPort::Init , driver port memanggil metode IMiniport::GetDescription driver miniport untuk mendapatkan penunjuk ke deskriptor filter, yang mencakup array deskriptor pin driver miniport (lihat PCPIN_DESCRIPTOR). Setelah itu, driver port mengakses deskriptor pin untuk menanggapi kueri untuk properti pin.
Jika driver miniport mendukung antarmuka IPinCount , driver port memanggil PinCount
untuk memberi driver miniport kesempatan untuk memperbarui jumlah pin sebelum membalas permintaan pin-property. Jika driver miniport tidak mendukung IPinCount, driver port hanya menggunakan batas jumlah pin statis dalam array deskriptor pin.
Driver port memanggil PinCount
metode ketika menerima salah satu permintaan properti KS berikut:
KSPROPERTY_PIN_GLOBALCINSTANCES
KSPROPERTY_PIN_NECESSARYINSTANCES
PortCls juga memanggil PinCount
metode setiap kali aliran baru dibuat.
Driver Miniport tidak boleh secara eksplisit menyebabkan aliran dibuat atau dihancurkan dari dalam PinCount
metode . Driver Miniport tidak dibatasi dalam apa yang dapat mereka lakukan selama panggilan ini.
Metode PinCount
ini dipanggil di IRQL PASSIVE_LEVEL. Kode untuk metode ini harus berada di memori halaman.
Persyaratan
Persyaratan | Nilai |
---|---|
Target Platform | Universal |
Header | portcls.h (termasuk Portcls.h) |
IRQL | PASSIVE_LEVEL |
Lihat juga
KSPROPERTY_PIN_GLOBALCINSTANCES
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