Compartir a través de


Función SetupGetStringFieldA (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 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 de 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 el cadena terminadanull. 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 de 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 de null .

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.

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, incluida la terminación NULL. 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 varios tokens de %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 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

SetupGetMultiSzField