Share via


Función SetupGetMultiSzFieldW (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 utilizándose para instalar controladores de dispositivo.

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 SetupGetMultiSzFieldW(
  [in]      PINFCONTEXT Context,
  [in]      DWORD       FieldIndex,
  [in, out] PWSTR       ReturnBuffer,
  [in]      DWORD       ReturnBufferSize,
  [in]      LPDWORD     RequiredSize
);

Parámetros

[in] Context

Puntero al contexto de una línea en 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 a partir de este punto al final de la línea. 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 null .

[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 null . Si el tamaño necesario es mayor que el valor especificado por ReturnBufferSize, se produce un error en la función y se devuelve una llamada a GetLastError ERROR_INSUFFICIENT_BUFFER.

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 iterar 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 neutro de codificación con código que no es neutral de codificación puede provocar discrepancias que dan lugar a errores de compilación o en 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