Tumpukan Driver IEEE 1394

Diagram berikut mengilustrasikan tumpukan driver IEEE 1394 dengan driver bus 1394 baru dan driver klien 1394 yang didukung Microsoft.

diagram yang mengilustrasikan tumpukan driver ieee 1394.

Driver klien untuk perangkat yang terhubung ke driver bus IEEE 1394 berada di atas tumpukan driver IEEE 1394. Pengemudi bus menyediakan antarmuka independen perangkat keras ke bus IEEE 1394. Driver perangkat berkomunikasi dengan perangkat dengan mengirim RUN, yang diproses oleh driver bus IEEE 1394. Sebelum Windows 7, driver bus adalah kombinasi dari driver port (1394bus.sys) dan driver miniport utama untuk pengontrol host motherboard (ochi1394.sys). Di Windows 7 dan versi yang lebih baru, driver bus port/miniport warisan digantikan oleh 1394ohci.sys, driver bus IEEE 1394 monolitik yang diimplementasikan dengan menggunakan kerangka kerja driver mode kernel (KMDF). Pengemudi bus 1394ohci.sys sepenuhnya kompatibel dengan pengemudi bus warisan 1394. Untuk informasi selengkapnya tentang beberapa perbedaan perilaku yang diketahui antara pengemudi bus baru dan driver bus warisan 1394, lihat IEEE 1394 Bus Driver di Windows 7.

Ilustrasi berikut menunjukkan hubungan antara warisan dan pengemudi bus 1394 baru.

Diagram yang menunjukkan hubungan antara warisan dan pengemudi bus 1394 yang baru.

Untuk mengeluarkan perintah ke perangkat yang terhubung ke bus, driver mengeluarkan IRP_MJ_DEVICE_CONTROL IRP, dengan kode kontrol IOCTL_1394_CLASS. Driver mengemas parameter dalam blok permintaan IEEE 1394 I/O (IRB), dan meneruskan penunjuk ke parameter tersebut di anggota Parameters.Others.Argument1 dari IRP. Anggota FunctionNumber dari IRB menentukan jenis operasi, dan anggota u menjelaskan operasi. Pengemudi bus menggunakan IOCTL_1394_CLASS IRP untuk menyajikan antarmuka ke bus dan pengontrol host.

Struktur IRB berisi parameter yang berlaku untuk setiap permintaan bus dan parameter khusus permintaan. U anggota IRB berisi parameter khusus permintaan, dalam penyatuan struktur data, satu per jenis permintaan.

Selama operasi normal, driver menerima permintaan I/O biasa (seperti IRP_MJ_READ), mengonversinya ke operasi IEEE 1394 yang sesuai, dan mengirimkan operasi tersebut ke perangkat melalui IOCTL_1394_CLASS.

Driver Bus IEEE 1394 di Windows 7