Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Struktur SP_DRVINFO_DETAIL_DATA berisi informasi terperinci tentang struktur informasi driver tertentu.
Sintaksis
typedef struct _SP_DRVINFO_DETAIL_DATA_A {
DWORD cbSize;
FILETIME InfDate;
DWORD CompatIDsOffset;
DWORD CompatIDsLength;
ULONG_PTR Reserved;
CHAR SectionName[LINE_LEN];
CHAR InfFileName[MAX_PATH];
CHAR DrvDescription[LINE_LEN];
CHAR HardwareID[ANYSIZE_ARRAY];
} SP_DRVINFO_DETAIL_DATA_A, *PSP_DRVINFO_DETAIL_DATA_A;
Anggota
cbSize
Ukurannya, dalam byte, dari struktur SP_DRVINFO_DETAIL_DATA.
InfDate
Tanggal file INF untuk driver ini.
CompatIDsOffset
Offset, dalam karakter, dari awal buffer
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 CompatID mulai dari offset
Jika CompatIDsLength bukan nol, daftar CompatIDs berisi satu atau beberapa string yang dihentikan NULL dengan karakter NULL tambahan di akhir daftar.
Jika CompatIDsLength nol, daftar CompatIDs kosong. Dalam hal ini, tidak ada karakter NULL tambahan di akhir daftar.
Reserved
Dipesan. 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
InfFileName[MAX_PATH]
String yang dihentikan NULL yang berisi nama lengkap file INF yang memenuhi syarat untuk driver ini.
DrvDescription[LINE_LEN]
String yang dihentikan NULL yang menjelaskan driver.
HardwareID[ANYSIZE_ARRAY]
Buffer yang berisi daftar ID (id perangkat keras tunggal diikuti oleh 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 yang dihentikan NULL tunggal 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.
Komentar
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)
}
Nota
Header setupapi.h mendefinisikan SP_DRVINFO_DETAIL_DATA sebagai alias yang secara otomatis memilih versi ANSI atau Unicode dari fungsi ini berdasarkan definisi konstanta preprosektor 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
| Syarat | Nilai |
|---|---|
| Header |
setupapi.h (termasuk Setupapi.h) |
Lihat juga
ID yang Kompatibel
ID Perangkat Keras
Bagian
Bagian Model INF