IDE_CHANNEL_ENABLED fungsi panggilan balik (irb.h)

Rutinitas driver miniport AtaControllerChannelEnabled menunjukkan apakah saluran yang ditentukan diaktifkan.

Catatan

Driver port ATA dan model driver miniport ATA dapat diubah atau tidak tersedia di masa mendatang. Sebagai gantinya, sebaiknya gunakan driver Storport dan model driver miniport Storport .

Sintaks

IDE_CHANNEL_ENABLED IdeChannelEnabled;

ATA_CHANNEL_STATE IdeChannelEnabled(
  PVOID ControllerExtension,
  ULONG Channel
)
{...}

Parameter

ControllerExtension

[in] Penunjuk ke ekstensi pengontrol.

Channel

[in] Saluran yang akan diaktifkan.

Menampilkan nilai

AtaControllerChannelEnabled mengembalikan nilai enumerator jenis ATA_CHANNEL_STATE, yang dapat memiliki salah satu nilai berikut:

Menampilkan kode Makna
ChannelStateEnabled Menunjukkan bahwa saluran yang ditentukan diaktifkan.
ChannelStateDisabled Menunjukkan bahwa saluran yang ditentukan dinonaktifkan.
ChannelStateUnKnown Menunjukkan bahwa status saluran tidak dapat ditentukan.

Keterangan

Urutan berikut menjelaskan bagaimana driver miniport dan driver port berinteraksi untuk menentukan saluran pengontrol mana yang diaktifkan:

  1. Driver port memanggil rutinitas AtaAdapterControl driver miniport dengan tindakan kontrol IdeStart.

  2. Sementara driver miniport memproses rutinitas AtaAdapterControl dengan tindakan kontrol IdeStart, ia menginisialisasi anggota numberOfChannelsdari IDE_CONTROLLER_CONFIGURATION untuk menunjukkan jumlah saluran yang diaktifkan.

  3. Setelah rutinitas AtaAdapterControl kembali, driver port memanggil AtaControllerChannelEnabled satu kali untuk setiap NumberOfChannels yang ditentukan dalam struktur ControllerConfiguration yang dikembalikan oleh AtaAdapterControl.

Rutinitas ini seharusnya tidak memiliki langkah-langkah yang sangat penting untuk pengoperasian pengontrol. Ada situasi, seperti selama operasi crashdump, di mana fungsi ini tidak akan dipanggil sama sekali. Selain itu, fungsi ini tidak dipanggil ketika saluran dimulai ulang, hanya ketika PCIIDEx merespons IRP QueryDeviceRelations.

AtaControllerChannelEnabled adalah rutinitas opsional. Jika driver miniport tidak menerapkan rutinitas ini, driver port akan memuat handler default. Jika driver port memuat handler default, semua saluran yang ditentukan oleh NumberOfChannels dalam struktur ControllerConfiguration yang dikembalikan oleh AtaAdapterControl saat menangani tindakan IdeStart diasumsikan diaktifkan. Rutinitas ini memungkinkan PCIIDEx memuat driver port ATA hanya untuk saluran yang diaktifkan. Melakukan ini memungkinkan dukungan saluran yang jarang (misalnya, saluran 0, saluran 1, saluran 3, saluran 4, dan saluran 6, tetapi tidak saluran 2 dan saluran 5).

Persyaratan

Persyaratan Nilai
Target Platform Desktop
Header irb.h (termasuk Irb.h)

Lihat juga

IDE_CONTROLLER_CONFIGURATION