Bagikan melalui


IDE_HW_BUILDIO fungsi panggilan balik (irb.h)

Rutinitas driver miniport IdeHwBuildIo dipanggil satu kali untuk setiap permintaan I/O yang masuk.

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

Sintaks

IDE_HW_BUILDIO IdeHwBuildio;

BOOLEAN IdeHwBuildio(
  [in] PVOID ChannelExtension,
  [in] PIDE_REQUEST_BLOCK Irb
)
{...}

Parameter

[in] ChannelExtension

Penunjuk ke ekstensi saluran driver miniport.

[in] Irb

Pointer ke struktur jenis IDE_REQUEST_BLOCK yang menentukan blok permintaan input/output (IRB) Integrated Device Electronics (IDE) untuk diproses.

Nilai kembali

IdeHwBuildIo mengembalikan TRUE untuk mengakui penerimaan struktur IDE_REQUEST_BLOCK . Driver port mengabaikan nilai pengembalian FALSE.

Keterangan

Driver miniport menyediakan rutinitas AtaHwBuildlo yang melakukan pemrosesan I/O yang tidak disinkronkan dengan interupsi diaktifkan. Setelah IdeHwBuildIo menyelesaikan semua pemrosesan permintaan yang tidak disinkronkan, ia kembali ke driver port, dan driver port meneruskan permintaan ke rutinitas IdeHwStartIo driver miniport, yang melakukan tugas yang memerlukan sinkronisasi.

Driver miniport harus mengamati pembatasan tertentu saat menjalankan rutinitas IdeHwBuildIo . Driver miniport memanggil IdeHwBuildIo tanpa memegang kunci apa pun. Secara khusus, driver miniport tidak boleh menyentuh data bersama dalam ekstensi salurannya, juga tidak dapat memanggil rutinitas apa pun yang diekspor oleh driver port ATA.

Jika driver miniport harus menyelesaikan permintaan saat menjalankan rutinitas IdeHwBuildIo , driver miniport harus menetapkan nilai status penyelesaian yang sesuai ke anggota IrbStatus dari struktur IDE_REQUEST_BLOCK yang ditunjukkan oleh parameter Irb . Driver miniport tidak boleh mengatur IrbStatus ke nilai IRB_STATUS_PENDING.

Driver miniport dapat menggunakan rutinitas IdeHwBuildIo untuk menunjukkan kepada driver port bagaimana IRB harus ditangani. Misalnya, driver miniport dapat meminta agar driver port memetakan buffer di DataBuffer dengan mengatur anggota IrbFlags dari IRB ke nilai yang sesuai. Driver miniport tidak boleh meminta agar buffer yang terkait dengan permintaan dipetakan kecuali permintaannya adalah beberapa jenis transfer data.

Rutinitas IdeHwBuildIo menyerupai rutinitas HwStorBuildIo Storport dalam fungsionalitas. Untuk informasi selengkapnya tentang rutinitas HwStorBuildIo , lihat Rutinitas HwStorBuildIo Yang Tidak Disinkronkan.

IdeHwBuildIo adalah rutinitas opsional.

Persyaratan

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

Lihat juga

IDE_REQUEST_BLOCK

IdeHwStartIo