Share via


Función SetupGetMultiSzFieldA (setupapi.h)

[Esta función está disponible para su uso en los sistemas operativos indicados en la sección Requisitos. En versiones posteriores podría modificarse o no estar disponible. SetupAPI ya no debe usarse para instalar aplicaciones. En su lugar, use Windows Installer para desarrollar instaladores de aplicaciones. SetupAPI sigue usándose para instalar controladores de dispositivos.

La función SetupGetMultiSzField recupera varias cadenas almacenadas en una línea de un archivo INF, desde el campo especificado hasta el final de la línea.

Sintaxis

WINSETUPAPI BOOL SetupGetMultiSzFieldA(
  [in]      PINFCONTEXT Context,
  [in]      DWORD       FieldIndex,
  [in, out] PSTR        ReturnBuffer,
  [in]      DWORD       ReturnBufferSize,
  [in]      LPDWORD     RequiredSize
);

Parámetros

[in] Context

Puntero al contexto de una línea de un archivo INF.

[in] FieldIndex

Índice basado en 1 del campo inicial dentro de la línea especificada desde la que se deben recuperar las cadenas. La lista de cadenas se crea a partir de cada campo que comienza en este punto hasta el final de la línea. Un FieldIndex de cero no es válido con esta función.

[in, out] ReturnBuffer

Puntero opcional a un búfer de caracteres que recibe las cadenas. Cada cadena termina en null, con un valor null adicional al final de la lista de cadenas. La cadena terminada en null no debe superar el tamaño del búfer de destino. Puede llamar a la función una vez para obtener el tamaño de búfer necesario, asignar la memoria necesaria y, a continuación, llamar a la función una segunda vez para recuperar los datos. Con esta técnica, puede evitar errores debido a un tamaño de búfer insuficiente. Consulte la sección Comentarios. Este parámetro puede ser NULL.

[in] ReturnBufferSize

Tamaño del búfer al que apunta ReturnBuffer, en caracteres. Esto incluye el terminador nulo .

[in] RequiredSize

Puntero opcional a una variable que recibe el tamaño necesario para el búfer al que apunta ReturnBuffer, en caracteres. Esto incluye el terminador nulo . Si el tamaño necesario es mayor que el valor especificado por ReturnBufferSize, se produce un error en la función y se devuelve ERROR_INSUFFICIENT_BUFFER una llamada a GetLastError .

Valor devuelto

Si la función se ejecuta correctamente, el valor devuelto es un valor distinto de cero.

Si la función no se realiza correctamente, el valor devuelto es cero. Para obtener información de error extendida, llame a GetLastError.

Comentarios

Si se llama a esta función con returnBuffer de NULL y returnBufferSize de cero, la función coloca el tamaño del búfer necesario para contener los datos especificados en la variable a la que apunta RequiredSize. Si la función se ejecuta correctamente, el valor devuelto es un valor distinto de cero. De lo contrario, el valor devuelto es cero y se puede obtener información de error extendida llamando a GetLastError.

SetupGetMultiSzField no se debe usar para recorrer en iteración los valores de cadena en una línea INF. En su lugar, debe usar SetupGetStringField. SetupGetMultiSzField devuelve un valor con el formato de REG_MULTI_SZ. Se trata de una matriz de cadenas terminadas en null terminadas por un carácter nulo adicional. Este formato no permite cadenas de longitud cero. Si la lista de cadenas contiene cadenas de longitud cero, SetupGetMultiSzField devolverá prematuramente cuando encuentre el primer valor de cadena en blanco.

Nota

El encabezado setupapi.h define SetupGetMultiSzField como alias que selecciona automáticamente la versión ANSI o Unicode de esta función en función de la definición de la constante de preprocesador UNICODE. La combinación del uso del alias neutral de codificación con código que no es neutral de codificación puede dar lugar a errores de coincidencia que dan lugar a errores de compilación o tiempo de ejecución. Para obtener más información, vea Convenciones para prototipos de función.

Requisitos

Requisito Value
Cliente mínimo compatible Windows XP [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2003 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado setupapi.h
Library Setupapi.lib
Archivo DLL Setupapi.dll
Conjunto de API ext-ms-win-setupapi-inf-l1-1-1 (introducido en Windows 10, versión 10.0.14393)

Vea también

Funciones

Información general

SetupGetBinaryField

SetupGetIntField

SetupGetStringField