Função SetupGetMultiSzFieldA (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 SetupGetMultiSzField recupera várias cadeias de caracteres armazenadas em uma linha de um arquivo INF, do campo especificado até o final da linha.

Sintaxe

WINSETUPAPI BOOL SetupGetMultiSzFieldA(
  [in]      PINFCONTEXT Context,
  [in]      DWORD       FieldIndex,
  [in, out] PSTR        ReturnBuffer,
  [in]      DWORD       ReturnBufferSize,
  [in]      LPDWORD     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 inicial dentro da linha especificada da qual as cadeias de caracteres devem ser recuperadas. A lista de cadeias de caracteres é criada de cada campo começando neste ponto até o final da linha. Um FieldIndex de zero não é válido com essa função.

[in, out] ReturnBuffer

Ponteiro opcional para um buffer de caracteres que recebe as cadeias de caracteres. Cada cadeia de caracteres é terminada em nulo, com um nulo extra no final da lista de cadeias de caracteres. A cadeia de caracteres terminada em nulo não deve exceder o tamanho do buffer de destino. 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. Consulte a seção Comentários. Este parâmetro pode ser NULL.

[in] ReturnBufferSize

Tamanho do buffer apontado por ReturnBuffer, em caracteres. Isso inclui o terminador nulo .

[in] RequiredSize

Ponteiro opcional para uma variável que recebe o tamanho necessário para o buffer apontado por ReturnBuffer, em caracteres. Isso inclui o terminador nulo . Se o tamanho necessário for maior do que o valor especificado por ReturnBufferSize, a função falhará e uma chamada para GetLastError retornará ERROR_INSUFFICIENT_BUFFER.

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.

SetupGetMultiSzField não deve ser usado para iterar por meio de valores de cadeia de caracteres em uma linha INF. Em vez disso, você deve usar SetupGetStringField. SetupGetMultiSzField retorna um valor no formato de REG_MULTI_SZ. Essa é uma matriz de cadeias de caracteres terminadas em nulo terminadas por um caractere nulo extra. Esse formato não permite cadeias de caracteres de comprimento zero. Se a lista de cadeias de caracteres contiver cadeias de caracteres de comprimento zero, SetupGetMultiSzField retornará prematuramente quando encontrar o primeiro valor de cadeia de caracteres em branco.

Observação

O cabeçalho setupapi.h define SetupGetMultiSzField 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)

Confira também

Funções

Visão geral

SetupGetBinaryField

SetupGetIntField

SetupGetStringField