Função SetupGetStringFieldA (setupapi.h)
[Essa função está disponível para uso nos sistemas operacionais indicados na seção Requisitos. Ele poderá ser alterado ou ficar indisponível em versões subsequentes. SetupAPI não deve mais ser usado para instalar aplicativos. Em vez disso, use o Windows Installer para desenvolver instaladores de aplicativos. SetupAPI continua a ser usado para instalar drivers de dispositivo.]
A função SetupGetStringField recupera uma cadeia de caracteres do campo especificado de uma linha em um arquivo INF.
Sintaxe
WINSETUPAPI BOOL SetupGetStringFieldA(
[in] PINFCONTEXT Context,
[in] DWORD FieldIndex,
[in, out] PSTR ReturnBuffer,
[in] DWORD ReturnBufferSize,
[out] PDWORD RequiredSize
);
Parâmetros
[in] Context
Ponteiro para o contexto de uma linha em um arquivo INF.
[in] FieldIndex
O índice baseado em 1 do campo dentro da linha especificada da qual a cadeia de caracteres deve ser recuperada. Use um FieldIndex de 0 para recuperar uma chave de cadeia de caracteres, se presente.
[in, out] ReturnBuffer
Ponteiro opcional para um buffer que recebe a cadeia de caracteres terminada em nulo. Você deve garantir que o buffer de destino tenha o mesmo tamanho ou maior que o buffer de origem. Este parâmetro pode ser NULL. Consulte a seção Comentários.
[in] ReturnBufferSize
Tamanho do buffer apontado por ReturnBuffer, em caracteres. Isso inclui o terminador nulo .
[out] RequiredSize
Ponteiro opcional para uma variável que recebe o tamanho necessário para o buffer apontado pelo parâmetro ReturnBuffer , em caracteres. Se ReturnBuffer for especificado e o tamanho real necessário for maior do que o valor especificado por ReturnBufferSize, a função falhará e não armazenará a cadeia de caracteres no buffer. Nesse caso, uma chamada para GetLastError retorna ERROR_INSUFFICIENT_BUFFER. Para a versão Unicode dessa função, o tamanho necessário está em caracteres. Isso inclui o terminador nulo .
Retornar valor
Se a função for bem-sucedida, o valor retornado será um valor diferente de zero.
Se a função falhar, o valor retornado será zero. Para obter informações de erro estendidas, chame GetLastError.
Comentários
Se essa função for chamada com um ReturnBuffer de NULL e um ReturnBufferSize de zero, a função colocará o tamanho do buffer necessário para manter os dados especificados na variável apontada por RequiredSize. Se a função tiver êxito nisso, o valor retornado será um valor diferente de zero. Caso contrário, o valor retornado será zero e as informações de erro estendidas poderão ser obtidas chamando GetLastError.
Você pode chamar a função uma vez para obter o tamanho do buffer necessário, alocar a memória necessária e, em seguida, chamar a função uma segunda vez para recuperar os dados. Usando essa técnica, você pode evitar erros devido a um tamanho de buffer insuficiente.
Observe que o comprimento máximo de qualquer cadeia de caracteres única especificada em uma seção cadeias de caracteres INF é de 512 caracteres, incluindo o NULL de terminação. Se o comprimento da cadeia de caracteres for maior que 512, ele será truncado e nenhum erro será retornado. O comprimento máximo de qualquer cadeia de caracteres concatenada criada a partir de um ou mais tokens %strkey% é de 4.096 caracteres.
Observação
O cabeçalho setupapi.h define SetupGetStringField 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 |
---|---|
Cliente mínimo com suporte | Windows XP [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows Server 2003 [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | setupapi.h |
Biblioteca | Setupapi.lib |
DLL | Setupapi.dll |
Conjunto de APIs | ext-ms-win-setupapi-inf-l1-1-1 (introduzido no Windows 10, versão 10.0.14393) |