Función SetupGetInfPublishedNameW (setupapi.h)

La función SetupGetInfPublishedName recupera el nombre de archivo completo (ruta de acceso de directorio y nombre de archivo) de un archivo INF en el directorio de archivos INF del sistema que corresponde a un archivo INF especificado en el almacén de controladores o un archivo INF especificado en el directorio de archivos INF del sistema.

Sintaxis

WINSETUPAPI BOOL SetupGetInfPublishedNameW(
  [in]            PCWSTR DriverStoreLocation,
  [out]           PWSTR  ReturnBuffer,
  [in]            DWORD  ReturnBufferSize,
  [out, optional] PDWORD RequiredSize
);

Parámetros

[in] DriverStoreLocation

Puntero a una cadena terminada en NULL que contiene el nombre de archivo completo (ruta de acceso de directorio y nombre de archivo) de un archivo INF en el almacén de controladores. Como alternativa, este parámetro es un puntero a una cadena terminada en NULL que contiene el nombre y, opcionalmente, la ruta de acceso completa del directorio, de un archivo INF en el directorio de archivos INF del sistema. Para obtener más información sobre cómo especificar el archivo INF, vea la siguiente sección Comentarios .

[out] ReturnBuffer

Puntero al búfer en el que SetupGetInfPublishedName devuelve una cadena terminada en NULL que contiene el nombre de archivo completo del archivo INF especificado en el directorio INF del sistema. El tamaño máximo de ruta de acceso es MAX_PATH. Este puntero se puede establecer en NULL. Para obtener información sobre cómo determinar el tamaño necesario del búfer de retorno, consulte la sección Comentarios siguiente.

[in] ReturnBufferSize

Tamaño, en caracteres, del búfer proporcionado por ReturnBuffer.

[out, optional] RequiredSize

Puntero a una variable con tipo DWORD que recibe el tamaño, en caracteres, del búfer ReturnBuffer . Este parámetro es opcional y se puede establecer en NULL.

Valor devuelto

Si SetupGetInfPublishedName se realiza correctamente, la función devuelve TRUE; de lo contrario, la función devuelve FALSE. Para obtener información de error extendida, llame a GetLastError.

Si el tamaño, en caracteres, del nombre de archivo completo del archivo INF solicitado, incluido un terminador null, es mayor que ReturnBufferSize, se producirá un error en la función y se devolverá una llamada a GetLastError ERROR_INSUFFICIENT_BUFFER.

Comentarios

Para determinar el tamaño del búfer de retorno necesario para contener el nombre de archivo completo del archivo INF especificado en el directorio INF del sistema, llame a SetupGetInfPublishedName y establezca ReturnBuffer en NULL, ReturnBufferSize en cero y proporcione RequiredSize. SetupGetInfPublishedName devolverá el tamaño de búfer necesario en RequiredSize.

Cuando la instalación del dispositivo preinstala un paquete de controladores en el almacén de controladores, crea dos copias del archivo INF del paquete de controladores. La instalación del dispositivo agrega una copia al directorio INF del sistema y asigna esa copia del archivo INF un nombre de archivo publicado único del formulario OEMnnn.inf. La instalación del dispositivo agrega una segunda copia del archivo INF al almacén de controladores y asigna ese nombre de archivo INF original.

SetupGetInfPublishedName devuelve el nombre de archivo completo del archivo INF en el directorio de archivos INF del sistema que coincide con el archivo INF, si existe, proporcionado por DriverStoreLocation. DriverStoreLocation debe especificar el nombre de archivo completo de un archivo INF en el almacén de controladores o debe especificar el nombre de archivo y, opcionalmente, la ruta de acceso del directorio, de un archivo INF en el directorio INF del sistema. Por ejemplo, supongamos que el archivo INF para un paquete de controladores es myinf.inf y que para este paquete de controladores, la instalación del dispositivo instala el archivo INF OEM1.inf en el directorio INF del sistema C:\Windows\inf. Supongamos además que la instalación del dispositivo instala la copia del archivo INF correspondiente C:\windows\system32\driverstore\filerepository\myinf_12345678\myinf.inf en el almacén de controladores. En este caso, la función devuelve C:\Windows\inf\OEM1.inf si DriverStoreLocation proporciona una de las siguientes cadenas: C:\windows\system32\driverstore\filerepository\myinf_12345678\myinf.inf, OEM1.inf o C:\Windows\inf\OEM1.inf.

Llame a la función SetupGetInfDriverStoreLocation para recuperar el nombre de archivo completo de un archivo INF en el almacén de controladores que corresponde a un archivo INF especificado en el directorio de archivos INF del sistema o un archivo especificado en el almacén de controladores.

Nota

El encabezado setupapi.h define SetupGetInfPublishedName 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 Disponible en Windows Vista y versiones posteriores de Windows.
Plataforma de destino Escritorio
Encabezado setupapi.h (incluya Setupapi.h)
Library Setupapi.lib

Consulte también

SetupGetInfDriverStoreLocation