estrutura SP_DRVINFO_DETAIL_DATA_W (setupapi.h)
Uma estrutura SP_DRVINFO_DETAIL_DATA contém informações detalhadas sobre uma estrutura de informações de driver específica.
Sintaxe
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;
Membros
cbSize
O tamanho, em bytes, da estrutura SP_DRVINFO_DETAIL_DATA.
InfDate
Data do arquivo INF para esse driver.
CompatIDsOffset
O deslocamento, em caracteres, desde o início do buffer HardwareID em que a lista CompatIDs começa.
Esse valor também pode ser usado para determinar se há uma ID de hardware que precede a lista CompatIDs. Se esse valor for maior que 1, a primeira cadeia de caracteres no buffer HardwareID será a ID de hardware. Se esse valor for menor ou igual a 1, não haverá ID de hardware.
CompatIDsLength
O comprimento, em caracteres, da lista CompatIDs começando no deslocamento CompatIDsOffset desde o início do buffer HardwareID .
Se CompatIDsLength não for zero, a lista CompatIDs conterá uma ou mais cadeias de caracteres terminadas em NULL com um caractere NULL adicional no final da lista.
Se CompatIDsLength for zero, a lista CompatIDs estará vazia. Nesse caso, não há nenhum caractere NULL adicional no final da lista.
Reserved
Reservado. Apenas para uso interno.
SectionName[LINE_LEN]
Uma cadeia de caracteres terminada em NULL que contém o nome da seção INF DDInstall para esse driver. Esse deve ser o nome básico da seção DDInstall , como InstallSec, sem extensões específicas do sistema operacional/arquitetura.
InfFileName[MAX_PATH]
Uma cadeia de caracteres terminada em NULL que contém o nome totalmente qualificado do arquivo INF para esse driver.
DrvDescription[LINE_LEN]
Uma cadeia de caracteres terminada em NULL que descreve o driver.
HardwareID[ANYSIZE_ARRAY]
Um buffer que contém uma lista de IDs (uma única ID de hardware seguida por uma lista de IDs compatíveis). Essas IDs correspondem à ID de hardware e às IDs compatíveis na seção Modelos INF.
Cada ID na lista é uma cadeia de caracteres terminada em NULL.
Se a ID de hardware existir (ou seja, se CompatIDsOffset for maior que uma), essa única cadeia de caracteres terminada em NULL será encontrada no início do buffer.
Se a lista CompatIDs não estiver vazia (ou seja, se CompatIDsLength não for zero), a lista CompatIDs começará no deslocamento CompatIDsOffset do início desse buffer e será encerrada com um caractere NULL adicional no final da lista.
Comentários
A ID de hardware e as IDs compatíveis de um dispositivo são especificadas na seção Modelos INF na seguinte ordem:
- A primeira ID (se especificada) é a ID de hardware do dispositivo.
- As IDs restantes (se especificadas) são IDs compatíveis para o dispositivo.
Por exemplo, dependendo de como a lista de IDs de hardware e IDs compatíveis são especificadas na seção Modelos INF, o buffer HardwareID pode ser semelhante a qualquer um dos seguintes:
- \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)
}
Observação
O cabeçalho setupapi.h define SP_DRVINFO_DETAIL_DATA como um alias que seleciona automaticamente a versão ANSI ou Unicode dessa função com base na definição da constante de pré-processador UNICODE. Misturar o uso do alias neutro de codificação com código que não seja neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Convenções para protótipos de função.
Requisitos
Requisito | Valor |
---|---|
Cabeçalho | setupapi.h (inclua Setupapi.h) |