Función SetupGetInfDriverStoreLocationA (setupapi.h)
La función setupGetInfDriverStoreLocation
Sintaxis
WINSETUPAPI BOOL SetupGetInfDriverStoreLocationA(
[in] PCSTR FileName,
[in, optional] PSP_ALTPLATFORM_INFO AlternatePlatformInfo,
[in, optional] PCSTR LocaleName,
[out] PSTR ReturnBuffer,
[in] DWORD ReturnBufferSize,
[out, optional] PDWORD RequiredSize
);
Parámetros
[in] FileName
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. Como alternativa, este parámetro es un 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.
Para obtener más información sobre cómo especificar el archivo INF, vea la siguiente sección Comentarios.
[in, optional] AlternatePlatformInfo
Reservado para uso del sistema.
[in, optional] LocaleName
Reservado para uso del sistema.
[out] ReturnBuffer
Puntero a un búfer en el que la función devuelve una cadena terminada en NULL que contiene el nombre de archivo completo del archivo INF especificado. Este parámetro se puede establecer en NULL. El tamaño máximo de ruta de acceso admitido es MAX_PATH. Para obtener información sobre cómo determinar el tamaño necesario del búfer, consulte la siguiente sección Comentarios.
[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 de ReturnBuffer. Este parámetro es opcional y se puede establecer en NULL.
Valor devuelto
Si setupGetInfDriverStoreLocation 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 devolverá ERROR_INSUFFICIENT_BUFFER.
Observaciones
Para determinar el tamaño del búfer de retorno necesario para contener el nombre de archivo completo del archivo INF especificado en el almacén de controladores, llame a SetupGetInfDriverStoreLocation y establezca ReturnBuffer en NULL, ReturnBufferSize a cero y proporcione RequiredSize. setupGetInfDriverStoreLocation 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 instala una copia en el 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 instala una segunda copia del archivo INF en el almacén de controladores y asigna esa copia del nombre de archivo INF original.
setupGetInfDriverStoreLocation devuelve el nombre de archivo completo del archivo INF en el almacén de controladores que coincide con el archivo INF, si existe, proporcionado por FileName. Nombre de archivo debe especificar el nombre de archivo y, opcionalmente, la ruta de acceso del directorio, de un archivo INF en el directorio INF del sistema. Como alternativa, nombre de archivo debe especificar el nombre de archivo completo de un archivo INF en el almacén de controladores.
Por ejemplo, supongamos que el archivo INF de un paquete de controladores es Myinf.infy 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 aún má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\system32\driverstore\filerepository\myinf_12345678\myinf.inf si FileName proporciona una de las siguientes cadenas: OEM1.inf, C:\Windows\inf\OEM1.info C:\windows\system32\driverstore\filerepository\myinf_12345678\myinf.inf.
los instaladores de clase y pueden usar SetupGetInfDriverStoreLocation para acceder a los archivos de un paquete de controladores de que está preinstalado en el almacén de controladores. Para determinar la ruta de acceso del paquete de controladores en el almacén de controladores, el instalador hace lo siguiente:
- Llame a setupDiGetDriverInfoDetail para recuperar una estructura de SP_DRVINFO_DETAIL_DATA para un controlador. El miembro InfFileName de esta estructura contiene el nombre de archivo completo del archivo INF del controlador en el directorio INF del sistema.
- Llame a setupGetInfDriverStoreLocation y proporcione el nombre de archivo completo del archivo INF del controlador que se recuperó llamando a SetupDiGetDriverInfoDetail. setupGetInfDriverStoreLocation devolverá el nombre de archivo completo del archivo INF del controlador en el almacén de controladores. La parte de ruta de acceso del directorio del nombre de archivo completo del archivo INF es la ruta de acceso del paquete de controladores archivos.
Nota
El encabezado setupapi.h define SetupGetInfDriverStoreLocation 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 | Disponible en Windows Vista y versiones posteriores de Windows. |
de la plataforma de destino de |
Escritorio |
encabezado de |
setupapi.h (incluya Setupapi.h) |
biblioteca de |
Setupapi.lib |