estrutura SP_DRVINFO_DETAIL_DATA_A (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_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;
Membros
cbSize
O tamanho, em bytes, da estrutura SP_DRVINFO_DETAIL_DATA.
InfDate
Data do arquivo INF para este driver.
CompatIDsOffset
O deslocamento, em caracteres, desde o início do hardwareID buffer 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 DepatIDs. Se esse valor for maior que 1, a primeira cadeia de caracteres no hardwareID buffer será a ID de hardware. Se esse valor for menor ou igual a 1, não haverá nenhuma ID de hardware.
CompatIDsLength
O comprimento, em caracteres, da lista CompatIDs começando no deslocamento
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. Somente 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 por 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.
Observações
As IDs de hardware e compatíveis para 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 ID 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)
}
Nota
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 do pré-processador UNICODE. A combinação do uso do alias neutro de codificação com código que não é neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Conventions for Function Prototypes.
Requisitos
Requisito | Valor |
---|---|
cabeçalho | setupapi.h (inclua Setupapi.h) |
Consulte também
Seção INF DDInstall