Header ntddscsi.h
Header ini digunakan oleh penyimpanan. Untuk informasi selengkapnya, lihat:
- Penyimpanan
ntddscsi.h berisi antarmuka pemrograman berikut:
IOCTL
IOCTL_ATA_PASS_THROUGH Memungkinkan aplikasi mengirim hampir semua perintah ATA ke perangkat target, dengan batasan berikut:_If driver kelas untuk jenis target perangkat yang ada, aplikasi harus mengirim permintaan ke driver kelas. |
IOCTL_ATA_PASS_THROUGH_DIRECT Pelajari bagaimana IOCTL_ATA_PASS_THROUGH_DIRECT memungkinkan aplikasi mengirim hampir semua perintah ATA ke perangkat target. |
IOCTL_MINIPORT_PROCESS_SERVICE_IRP IOCTL ini digunakan oleh aplikasi mode pengguna atau driver mode kernel yang memerlukan pemberitahuan ketika sesuatu yang menarik terjadi di miniport virtual. |
IOCTL_MINIPORT_SIGNATURE_ENDURANCE_INFO IOCTL_MINIPORT_SIGNATURE_ENDURANCE_INFO adalah tanda tangan yang ditentukan sistem yang digunakan bersama dengan kode kontrol IOCTL_SCSI_MINIPORT untuk meminta data ketahanan pengembalian miniport untuk perangkat target. |
IOCTL_MINIPORT_SIGNATURE_SET_PROTOCOL IOCTL_MINIPORT_SIGNATURE_SET_PROTOCOL adalah tanda tangan yang digunakan bersama dengan kode kontrol IOCTL_SCSI_MINIPORT untuk mengirim data khusus protokol ke miniport. |
IOCTL_MPIO_PASS_THROUGH_PATH Kode kontrol I/O ini memungkinkan aplikasi atau driver kernel untuk mengirim perintah SCSI ke LUN nyata yang ditunjuk. |
IOCTL_MPIO_PASS_THROUGH_PATH_DIRECT Pelajari bagaimana kode kontrol I/O ini memungkinkan aplikasi atau driver kernel untuk mengirim perintah SCSI ke LUN nyata yang ditunjuk. |
IOCTL_MPIO_PASS_THROUGH_PATH_DIRECT_EX Permintaan kode kontrol IOCTL_MPIO_PASS_THROUGH_PATH_DIRECT_EX adalah versi yang diperluas dari permintaan IOCTL_MPIO_PASS_THROUGH_PATH_DIRECT. Permintaan ini menyediakan dukungan untuk transfer data dua arah dan memungkinkan blok data perintah (CDB) > 16 byte. |
IOCTL_MPIO_PASS_THROUGH_PATH_EX Permintaan kode kontrol IOCTL_MPIO_PASS_THROUGH_PATH_EX adalah versi yang diperluas dari permintaan IOCTL_MPIO_PASS_THROUGH_PATH. Permintaan ini menyediakan dukungan untuk transfer data dua arah dan memungkinkan blok data perintah (CDB) > 16 byte. |
IOCTL_SCSI_GET_ADDRESS Mengembalikan informasi alamat, seperti ID target (TID) dan nomor unit logis (LUN) dari target SCSI tertentu. |
IOCTL_SCSI_GET_CAPABILITIES Mengembalikan kemampuan dan batasan SCSI HBA yang mendasar. |
IOCTL_SCSI_GET_INQUIRY_DATA Mengembalikan data pertanyaan SCSI untuk semua perangkat pada adaptor bus host SCSI (HBA) tertentu. |
IOCTL_SCSI_MINIPORT Mengirim fungsi kontrol khusus ke driver miniport khusus HBA. |
IOCTL_SCSI_MINIPORT_DIAGNOSTIC Kode kontrol IOCTL_SCSI_MINIPORT_DIAGNOSTIC digunakan untuk melakukan permintaan diagnostik ke Miniport. |
IOCTL_SCSI_MINIPORT_HYBRID Kode kontrol IOCTL_SCSI_MINIPORT_HYBRID mengirimkan permintaan kontrol disk hibrid ke driver miniport khusus HBA. |
IOCTL_SCSI_MINIPORT_NVCACHE Operasi Manajemen Cache NV yang ditentukan di sini dapat dipanggil oleh kode aplikasi mode pengguna yang berjalan dengan hak istimewa administrator, menggunakan DeviceIoControl dan kode kontrol IOCTL_SCSI_MINIPORT. |
IOCTL_SCSI_PASS_THROUGH Memungkinkan aplikasi mengirim hampir semua perintah SCSI ke perangkat target, dengan batasan berikut:Perintah multitarget, seperti COPY, tidak diizinkan. Operasi transfer data dua arah tidak didukung. Jika driver kelas untuk jenis target perangkat ada, permintaan harus dikirim ke driver kelas tersebut. Dengan demikian, aplikasi dapat mengirim permintaan ini langsung ke driver port sistem untuk unit logis target (LU) hanya jika tidak ada driver kelas untuk jenis perangkat yang terhubung ke LU tersebut. Driver port sistem tidak memeriksa untuk menentukan apakah perangkat telah diklaim oleh driver kelas sebelum memproses permintaan pass-through. Oleh karena itu, jika aplikasi melewati driver kelas yang telah mengklaim perangkat dan mengirim permintaan pass-through untuk perangkat tersebut langsung ke driver port, konflik untuk kontrol perangkat dapat terjadi antara driver kelas dan aplikasi. Jika permintaan pass-through dikirim ke objek perangkat adaptor dan jika berasal dari mode pengguna dan menargetkan LU yang diklaim oleh driver kelas, Storport gagal permintaan dengan STATUS_INVALID_DEVICE_REQUEST. Jika permintaan dikirim ke objek perangkat LU, berasal dari mode kernel, atau menargetkan LU yang tidak diklaim, permintaan tersebut diteruskan ke driver miniport. Permintaan ini tidak dapat digunakan jika CDB mungkin memerlukan driver miniport yang mendasar untuk mengakses memori secara langsung. Jika CDB penelepon mungkin memerlukan akses langsung ke memori, gunakan IOCTL_SCSI_PASS_THROUGH_DIRECT sebagai gantinya. Aplikasi tidak boleh mencoba mengirim permintaan pass-through secara asinkron. Semua permintaan pass-through harus sinkron. Aplikasi tidak memerlukan hak administratif untuk mengirim permintaan pass-through ke perangkat, tetapi mereka harus memiliki akses baca/tulis ke perangkat. Aplikasi panggilan membuat blok deskriptor perintah SCSI, yang dapat menyertakan permintaan untuk data pengertian permintaan jika KONDISI PEMERIKSAAN terjadi. IOCTL_SCSI_PASS_THROUGH adalah permintaan kontrol perangkat yang di-buffer. Untuk melewati buffering dalam memori sistem, penelepon harus menggunakan IOCTL_SCSI_PASS_THROUGH_DIRECT. Saat menangani permintaan IOCTL_SCSI_PASS_THROUGH_DIRECT, sistem mengunci buffer dalam memori pengguna dan perangkat mengakses memori ini secara langsung. Permintaan ini biasanya digunakan untuk mentransfer data dalam jumlah kecil (<16K). Aplikasi dapat mengirim permintaan ini dengan permintaan IRP_MJ_DEVICE_CONTROL. Driver kelas penyimpanan mengatur nomor IRP kecil ke IRP_MN_SCSI_CLASS untuk menunjukkan bahwa permintaan telah diproses oleh driver kelas penyimpanan. |
IOCTL_SCSI_PASS_THROUGH_DIRECT Memungkinkan aplikasi mengirim hampir semua perintah SCSI ke perangkat target, dengan batasan berikut:Perintah multitarget, seperti COPY, tidak diizinkan. Operasi transfer data dua arah tidak didukung. Jika driver kelas untuk jenis target perangkat ada, permintaan harus dikirim ke driver kelas tersebut. Dengan demikian, aplikasi dapat mengirim permintaan ini langsung ke driver port sistem untuk unit logis target hanya jika tidak ada driver kelas untuk jenis perangkat yang terhubung ke LU tersebut. Permintaan ini harus dibuat jika CDB input mungkin memerlukan driver miniport yang mendasar untuk mengakses memori secara langsung. Aplikasi panggilan membuat blok deskriptor perintah SCSI, yang dapat menyertakan permintaan untuk data pengertian permintaan jika KONDISI PEMERIKSAAN terjadi. Jika CDB meminta operasi transfer data, pemanggil harus menyiapkan buffer selaras perangkat adaptor dari mana atau ke mana driver miniport dapat mentransfer data secara langsung. Permintaan ini biasanya digunakan untuk mentransfer data dalam jumlah yang lebih besar (>16K). Aplikasi dapat mengirim permintaan ini dengan permintaan IRP_MJ_DEVICE_CONTROL. Driver kelas penyimpanan mengatur nomor IRP kecil ke IRP_MN_SCSI_CLASS untuk menunjukkan bahwa permintaan telah diproses oleh driver kelas penyimpanan. |
IOCTL_SCSI_PASS_THROUGH_DIRECT_EX Permintaan kode kontrol IOCTL_SCSI_PASS_THROUGH_DIRECT_EX adalah versi yang diperluas dari permintaan IOCTL_SCSI_PASS_THROUGH_DIRECT. Permintaan ini menyediakan dukungan untuk transfer data dua arah dan memungkinkan blok data perintah (CDB) > 16 byte. |
IOCTL_SCSI_PASS_THROUGH_EX Permintaan kode kontrol IOCTL_SCSI_PASS_THROUGH_EX adalah versi yang diperluas dari permintaan IOCTL_SCSI_PASS_THROUGH. Permintaan ini menyediakan dukungan untuk transfer data dua arah dan memungkinkan blok data perintah (CDB) > 16 byte. |
IOCTL_SCSI_RESCAN_BUS Mecantumkan kembali LUN di bus. |
Struktur
ATA_PASS_THROUGH_DIRECT Struktur ATA_PASS_THROUGH_DIRECT digunakan bersama dengan permintaan IOCTL_ATA_PASS_THROUGH_DIRECT untuk menginstruksikan driver port untuk mengirim perintah ATA yang disematkan ke perangkat target. |
ATA_PASS_THROUGH_EX Struktur ATA_PASS_THROUGH_EX digunakan bersama dengan permintaan IOCTL_ATA_PASS_THROUGH untuk menginstruksikan driver port untuk mengirim perintah ATA yang disematkan ke perangkat target. |
HYBRID_INFORMATION Struktur HYBRID_INFORMATION berisi informasi kemampuan disk hibrid. |
IO_SCSI_CAPABILITIES Struktur IO_SCSI_CAPABILITIES digunakan bersama dengan permintaan IOCTL_SCSI_GET_CAPABILITIES untuk mengambil kemampuan dan batasan adaptor host SCSI yang mendasar. Perhatikan bahwa driver port SCSI dan model driver miniport SCSI dapat diubah atau tidak tersedia di masa mendatang. Sebagai gantinya, sebaiknya gunakan model driver Storport dan driver miniport Storport. |
MPIO_PASS_THROUGH_PATH Struktur MPIO_PASS_THROUGH_PATH digunakan bersama dengan permintaan IOCTL_MPIO_PASS_THROUGH_PATH untuk menginstruksikan driver port untuk mengirim perintah SCSI yang disematkan ke perangkat target. |
MPIO_PASS_THROUGH_PATH_DIRECT Struktur MPIO_PASS_THROUGH_PATH_DIRECT digunakan bersama dengan permintaan IOCTL_MPIO_PASS_THROUGH_PATH_DIRECT untuk menginstruksikan driver port untuk mengirim perintah SCSI yang disematkan ke perangkat target. |
MPIO_PASS_THROUGH_PATH_DIRECT_EX Struktur MPIO_PASS_THROUGH_PATH_DIRECT_EX digunakan bersama dengan permintaan IOCTL_MPIO_PASS_THROUGH_PATH_DIRECT_EX untuk menginstruksikan driver port untuk mengirim perintah SCSI yang disematkan ke perangkat target. |
MPIO_PASS_THROUGH_PATH_EX Struktur MPIO_PASS_THROUGH_PATH_EX digunakan bersama dengan permintaan IOCTL_MPIO_PASS_THROUGH_PATH_EX untuk menginstruksikan driver port untuk mengirim perintah SCSI yang disematkan ke perangkat target. |
NTSCSI_UNICODE_STRING Driver port penyimpanan dapat menggunakan struktur NTSCSI_UNICODE_STRING untuk menentukan string Unicode. |
NV_FEATURE_PARAMETER Struktur NV_FEATURE_PARAMETER digunakan bersama dengan permintaan IOCTL_SCSI_MINIPORT_NVCACHE untuk mendapatkan informasi dukungan fitur NV Cache Manager dari perangkat. |
NVCACHE_REQUEST_BLOCK Struktur NVCACHE_REQUEST_BLOCK digunakan bersama dengan permintaan IOCTL_SCSI_MINIPORT untuk mengelola perangkat hybrid-hard disk drive (H-HDD) (misalnya, teknologi Microsoft ReadyDrive). |
SCSI_ADAPTER_BUS_INFO Struktur SCSI_ADAPTER_BUS_INFO digunakan bersama dengan permintaan IOCTL_SCSI_GET_INQUIRY_DATA untuk mengambil data pertanyaan SCSI untuk semua perangkat di bus SCSI tertentu. |
SCSI_ADDRESS Struktur SCSI_ADDRESS digunakan bersama dengan permintaan IOCTL_SCSI_GET_ADDRESS untuk mengambil informasi alamat, seperti ID target (TID) dan nomor unit logis (LUN) dari target SCSI tertentu. |
SCSI_BUS_DATA Struktur SCSI_BUS_DATA digunakan bersama dengan permintaan IOCTL_SCSI_GET_INQUIRY_DATA dan struktur SCSI_ADAPTER_BUS_INFO untuk mengambil data pertanyaan SCSI untuk semua perangkat pada bus SCSI tertentu. |
SCSI_INQUIRY_DATA Struktur SCSI_INQUIRY_DATA digunakan bersama dengan permintaan IOCTL_SCSI_GET_INQUIRY_DATA untuk mengambil data pertanyaan SCSI untuk semua perangkat pada bus SCSI tertentu. |
SCSI_PASS_THROUGH Struktur SCSI_PASS_THROUGH digunakan bersama dengan permintaan IOCTL_SCSI_PASS_THROUGH untuk menginstruksikan driver port untuk mengirim perintah SCSI yang disematkan ke perangkat target. |
SCSI_PASS_THROUGH_DIRECT Struktur SCSI_PASS_THROUGH_DIRECT digunakan bersama dengan permintaan IOCTL_SCSI_PASS_THROUGH_DIRECT untuk menginstruksikan driver port untuk mengirim perintah SCSI yang disematkan ke perangkat target. |
SCSI_PASS_THROUGH_DIRECT_EX Struktur SCSI_PASS_THROUGH_DIRECT_EX digunakan bersama dengan permintaan IOCTL_SCSI_PASS_THROUGH_DIRECT_EX untuk menginstruksikan driver port untuk mengirim perintah SCSI yang disematkan ke perangkat target. |
SCSI_PASS_THROUGH_EX Struktur SCSI_PASS_THROUGH_EX digunakan bersama dengan permintaan IOCTL_SCSI_PASS_THROUGH_EX untuk menginstruksikan driver port untuk mengirim perintah SCSI yang disematkan ke perangkat target. |
SRB_IO_CONTROL struktur SRB_IO_CONTROL |
STORAGE_DIAGNOSTIC_MP_REQUEST Menjelaskan permintaan diagnostik ke Miniport. Struktur STORAGE_DIAGNOSTIC_MP_REQUEST disediakan dalam buffer input/output permintaan IOCTL_SCSI_MINIPORT_DIAGNOSTIC. |
STORAGE_ENDURANCE_DATA_DESCRIPTOR Miniport menggunakan STORAGE_ENDURANCE_DATA_DESCRIPTOR untuk melaporkan informasi ketahanan perangkat ke driver port penyimpanan. |
STORAGE_ENDURANCE_INFO Miniport menggunakan struktur STORAGE_ENDURANCE_INFO untuk melaporkan informasi daya tahan perangkat. |
STORAGE_FIRMWARE_SLOT_INFO Pelajari tentang struktur STORAGE_FIRMWARE_SLOT_INFO. |
Enumerasi
MP_STORAGE_DIAGNOSTIC_LEVEL Enumerasi MP_STORAGE_DIAGNOSTIC_LEVEL memungkinkan pemanggil untuk mengontrol jenis data apa yang harus dikembalikan penyedia. |
MP_STORAGE_DIAGNOSTIC_TARGET_TYPE Enumerasi MP_STORAGE_DIAGNOSTIC_TARGET_TYPE menentukan jenis target diagnostik penyimpanan. |