Share via


Función SetupGetStringFieldA (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 SetupGetStringField recupera una cadena del campo especificado de una línea en un archivo INF.

Sintaxis

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

Parámetros

[in] Context

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

[in] FieldIndex

Índice basado en 1 del campo dentro de la línea especificada desde la que se debe recuperar la cadena. Use un FieldIndex de 0 para recuperar una clave de cadena, si está presente.

[in, out] ReturnBuffer

Puntero opcional a un búfer que recibe la cadena terminada en null. Debe asegurarse de que el búfer de destino tenga el mismo tamaño o mayor que el búfer de origen. Este parámetro puede ser NULL. Consulte la sección Comentarios.

[in] ReturnBufferSize

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

[out] RequiredSize

Puntero opcional a una variable que recibe el tamaño necesario para el búfer al que apunta el parámetro ReturnBuffer , en caracteres. Si se especifica ReturnBuffer y el tamaño real necesario es mayor que el valor especificado por ReturnBufferSize, se produce un error en la función y no almacena la cadena en el búfer. En este caso, una llamada a GetLastError devuelve ERROR_INSUFFICIENT_BUFFER. Para la versión Unicode de esta función, el tamaño necesario está en caracteres. Esto incluye el terminador null .

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.

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.

Tenga en cuenta que la longitud máxima de cualquier cadena única especificada en una sección cadenas INF es de 512 caracteres, incluido el valor NULL de terminación. Si la longitud de la cadena es mayor que 512, se truncará y no se devolverá ningún error. La longitud máxima de cualquier cadena concatenada creada a partir de uno o más tokens %strkey% es de 4096 caracteres.

Nota

El encabezado setupapi.h define SetupGetStringField 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

SetupGetMultiSzField