struktur STORAGE_DEVICE_NUMBER_EX (ntddstor.h)
Struktur STORAGE_DEVICE_NUMBER_EX digunakan bersama dengan permintaan IOCTL_STORAGE_GET_DEVICE_NUMBER_EX untuk mengambil jenis perangkat FILE_DEVICE_XXX , nomor perangkat, GUID perangkat, dan, untuk perangkat yang dapat dipartisi, nomor partisi yang ditetapkan ke perangkat oleh driver saat perangkat dimulai.
Sintaks
typedef struct _STORAGE_DEVICE_NUMBER_EX {
ULONG Version;
ULONG Size;
ULONG Flags;
DEVICE_TYPE DeviceType;
ULONG DeviceNumber;
GUID DeviceGuid;
ULONG PartitionNumber;
} STORAGE_DEVICE_NUMBER_EX, *PSTORAGE_DEVICE_NUMBER_EX;
Anggota
Version
Versi struktur ini. Akan diatur ke sizeof(STORAGE_DEVICE_NUMBER_EX).
Size
Ukuran total struktur ini, termasuk data tambahan apa pun. Saat ini, ini akan selalu diatur ke sizeof(STORAGE_DEVICE_NUMBER_EX).
Flags
Dapat berupa kombinasi bendera STORAGE_DEVICE_FLAGS_XXX yang memberikan informasi lebih lanjut tentang anggota struktur ini. Lihat Keterangan untuk detailnya.
DeviceType
Menentukan salah satu konstanta FILE_DEVICE_XXXX yang ditentukan sistem yang menunjukkan jenis perangkat (seperti FILE_DEVICE_DISK) atau nilai yang ditentukan vendor untuk jenis perangkat baru. IOCTL ini hanya didukung untuk perangkat disk. Untuk informasi selengkapnya, lihat Menentukan Jenis Perangkat.
DeviceNumber
Menunjukkan jumlah perangkat ini. Nilai ini diatur ke 0xFFFFFFFF (-1) untuk disk yang mewakili jalur fisik disk MPIO.
DeviceGuid
Nomor identifikasi unik global untuk perangkat ini. GUID {0} menunjukkan bahwa GUID tidak dapat dihasilkan. GUID didasarkan pada informasi perangkat keras yang tidak berubah dengan pembaruan firmware; misalnya, nomor seri dapat digunakan untuk membentuk GUID, tetapi bukan revisi firmware.
PartitionNumber
Menunjukkan nomor partisi perangkat dikembalikan dalam anggota ini, jika perangkat dapat dipartisi. Jika tidak, -1 dikembalikan.
Keterangan
Permintaan IOCTL_STORAGE_GET_DEVICE_NUMBER_EX biasanya dikeluarkan oleh driver disk yang toleran terhadap kesalahan.
Secara umum, jika perangkat mengekspos pengidentifikasi unik global, driver penyimpanan akan menggunakan pengidentifikasi tersebut untuk membentuk GUID. Jika tidak, driver penyimpanan akan menggabungkan ID vendor perangkat, ID produk, dan nomor seri untuk membuat GUID.
Jika driver penyimpanan mendeteksi dua perangkat dengan informasi perangkat keras yang sama (yang merupakan indikasi masalah dengan perangkat), driver akan menghasilkan GUID acak untuk salah satu dari dua perangkat. Saat menangani IOCTL_STORAGE_GET_DEVICE_NUMBER_EX untuk perangkat dengan GUID acak, driver akan menambahkan STORAGE_DEVICE_FLAGS_RANDOM_DEVICEGUID_REASON_CONFLICT ke anggota Bendera struktur ini.
Jika perangkat penyimpanan tidak memberikan informasi identifikasi apa pun, driver akan menghasilkan GUID acak dan menambahkan STORAGE_DEVICE_FLAGS_RANDOM_DEVICEGUID_REASON_NOHWID ke anggota Bendera struktur ini.
Jika bendera STORAGE_DEVICE_FLAGS_PAGE_83_DEVICEGUID diatur, deviceguid dibuat dari data halaman SCSI83. Jika bendera ini tidak diatur, ini menyiratkan bahwa bendera dibuat dari nomor seri atau dibuat secara acak.
Nilai dalam struktur STORAGE_DEVICE_NUMBER_EX dijamin tetap tidak berubah sampai sistem di-boot ulang. Mereka tidak dijamin persisten di seluruh sepatu bot. GUID perangkat tetap sama di seluruh reboot. GUID acak tidak bertahan dan tidak akan sama setelah boot ulang.
Persyaratan
Persyaratan | Nilai |
---|---|
Header | ntddstor.h (termasuk Ntddstor.h) |
Lihat juga
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