struktur SP_DRVINFO_DETAIL_DATA_W (setupapi.h)
Struktur SP_DRVINFO_DETAIL_DATA berisi informasi terperinci tentang struktur informasi driver tertentu.
Sintaks
typedef struct _SP_DRVINFO_DETAIL_DATA_W {
DWORD cbSize;
FILETIME InfDate;
DWORD CompatIDsOffset;
DWORD CompatIDsLength;
ULONG_PTR Reserved;
WCHAR SectionName[LINE_LEN];
WCHAR InfFileName[MAX_PATH];
WCHAR DrvDescription[LINE_LEN];
WCHAR HardwareID[ANYSIZE_ARRAY];
} SP_DRVINFO_DETAIL_DATA_W, *PSP_DRVINFO_DETAIL_DATA_W;
Anggota
cbSize
Ukuran, dalam byte, dari struktur SP_DRVINFO_DETAIL_DATA.
InfDate
Tanggal file INF untuk driver ini.
CompatIDsOffset
Offset, dalam karakter, dari awal buffer HardwareID tempat daftar CompatID dimulai.
Nilai ini juga dapat digunakan untuk menentukan apakah ada ID perangkat keras yang mendahului daftar CompatID. Jika nilai ini lebih besar dari 1, string pertama dalam buffer HardwareID adalah ID perangkat keras. Jika nilai ini kurang dari atau sama dengan 1, tidak ada ID perangkat keras.
CompatIDsLength
Panjangnya, dalam karakter, dari daftar CompatIDs mulai dari offset CompatIDsOffset dari awal buffer HardwareID .
Jika CompatIDsLength bukan nol, daftar CompatID berisi satu atau beberapa string yang dihentikan NULL dengan karakter NULL tambahan di akhir daftar.
Jika CompatIDsLength adalah nol, daftar CompatIDs kosong. Dalam hal ini, tidak ada karakter NULL tambahan di akhir daftar.
Reserved
Dicadangkan. Hanya untuk penggunaan internal.
SectionName[LINE_LEN]
String yang dihentikan NULL yang berisi nama bagian INF DDInstall untuk driver ini. Ini harus menjadi nama bagian DDInstall dasar, seperti InstallSec, tanpa ekstensi KHUSUS OS/arsitektur.
InfFileName[MAX_PATH]
String yang dihentikan NULL yang berisi nama lengkap file INF untuk driver ini.
DrvDescription[LINE_LEN]
String yang dihentikan NULL yang menjelaskan driver.
HardwareID[ANYSIZE_ARRAY]
Buffer yang berisi daftar ID (satu ID perangkat keras diikuti dengan daftar ID yang kompatibel). ID ini sesuai dengan ID perangkat keras dan ID yang kompatibel di bagian Model INF.
Setiap ID dalam daftar adalah string yang dihentikan NULL.
Jika ID perangkat keras ada (yaitu, jika CompatIDsOffset lebih besar dari satu), string tunggal yang dihentikan NULL ini ditemukan di awal buffer.
Jika daftar CompatIDs tidak kosong (yaitu, jika CompatIDsLength bukan nol), daftar CompatIDs dimulai pada offset CompatIDsOffset dari awal buffer ini, dan dihentikan dengan karakter NULL tambahan di akhir daftar.
Keterangan
ID perangkat keras dan ID yang kompatibel untuk perangkat ditentukan di bagian Model INF dalam urutan berikut:
- ID pertama (jika ditentukan) adalah ID perangkat keras untuk perangkat.
- ID yang tersisa (jika ditentukan) adalah ID yang kompatibel untuk perangkat.
Misalnya, tergantung pada bagaimana daftar ID perangkat keras dan ID yang kompatibel ditentukan di bagian Model INF, buffer HardwareID dapat menyerupai salah satu hal berikut:
- \0
- <HWID>\0
- <HWID>\0<COMPATID_1>\0...<>COMPATID_N\0\0
- \0<COMPATID_1>\0...<>COMPATID_N\0\0
// parse the hardware ID, if it exists
if (CompatIDsOffset > 1)
{
// Parse for hardware ID from index 0.
// This is a single NULL-terminated string
}
// Parse the compatible IDs, if they exist
if (CompatIDsLength > 0)
{
// Parse for list of compatible IDs from CompatIDsOffset.
// This is a double NULL-terminated list of strings (i.e. MULTI-SZ)
}
Catatan
Header setupapi.h mendefinisikan SP_DRVINFO_DETAIL_DATA sebagai alias yang secara otomatis memilih versi ANSI atau Unicode dari fungsi ini berdasarkan definisi konstanta pra-prosesor UNICODE. Mencampur penggunaan alias encoding-netral dengan kode yang tidak mengodekan-netral dapat menyebabkan ketidakcocokan yang mengakibatkan kesalahan kompilasi atau runtime. Untuk informasi selengkapnya, lihat Konvensi untuk Prototipe Fungsi.
Persyaratan
Persyaratan | Nilai |
---|---|
Header | setupapi.h (termasuk Setupapi.h) |