Compartir a través de


Función SetupGetMultiSzFieldA (setupapi.h)

[Esta función está disponible para su uso en los sistemas operativos indicados en la sección Requisitos. Puede modificarse o no estar disponible en versiones posteriores. 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 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 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 es -terminated null, con un null adicional al final de la lista de cadenas. El cadena terminada en nullno 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 de 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 de null . Si el tamaño necesario es mayor que el valor especificado por ReturnBufferSize, se produce un error en la función y se produce un error en la llamada a GetLastError devuelve ERROR_INSUFFICIENT_BUFFER.

Valor devuelto

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

Si se produce un error en la función, el valor devuelto es cero. Para obtener información de error extendida, llame a GetLastError.

Observaciones

Si se llama a esta función con un returnBuffer de null y un 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 valores de cadena en una línea INF. En su lugar, debe usar setupGetStringField. SetupGetMultiSzField devuelve un valor en el formato de REG_MULTI_SZ. Se trata de una matriz de cadenas terminadas en nullterminadas por un carácter de null 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 Conventions for Function Prototypes.

Requisitos

Requisito Valor
cliente mínimo admitido Windows XP [solo aplicaciones de escritorio]
servidor mínimo admitido Windows Server 2003 [solo aplicaciones de escritorio]
de la plataforma de destino de Windows
encabezado de setupapi.h
biblioteca de Setupapi.lib
DLL de Setupapi.dll
conjunto de API de ext-ms-win-setupapi-inf-l1-1-1 (introducido en Windows 10, versión 10.0.14393)

Consulte también

funciones de

información general

setupGetBinaryField

setupGetIntField

setupGetStringField