Función SetupOpenInfFileA (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 usándose para instalar controladores de dispositivos.
La función SetupOpenInfFile abre un archivo INF y devuelve un identificador.
Sintaxis
WINSETUPAPI HINF SetupOpenInfFileA(
[in] PCSTR FileName,
[in] PCSTR InfClass,
[in] DWORD InfStyle,
[in] PUINT ErrorLine
);
Parámetros
[in] FileName
Puntero a una cadena terminada en NULL que contiene el nombre (y la ruta de acceso opcional) del archivo INF que se va a abrir. Si el nombre de archivo no contiene caracteres separadores de ruta de acceso, se busca primero en el directorio %windir%\inf y, a continuación, en el directorio %windir%\system32. Si el nombre de archivo contiene caracteres separadores de ruta de acceso, se supone que es una especificación de ruta de acceso completa y no se realiza ningún procesamiento adicional en él.
[in] InfClass
Puntero opcional a una cadena terminada en null que contiene la clase del archivo INF deseado. Esta cadena debe coincidir con el valor class de la sección Version (por ejemplo, Class=Net). Si no hay ninguna entrada en el valor De clase, pero hay una entrada para ClassGUID en la sección Versión , el nombre de clase correspondiente para ese GUID se recupera y se usa para la comparación.
[in] InfStyle
Estilo del archivo INF para abrir o buscar. Este parámetro puede ser una combinación de las marcas siguientes.
INF_STYLE_OLDNT
Un formato de archivo INF heredado.
INF_STYLE_WIN4
Un formato de archivo INF de Windows.
[in] ErrorLine
Puntero opcional a una variable a la que esta función devuelve el número de línea (basado en 1) en el que se produjo un error durante la carga del archivo INF. Este valor es generalmente confiable solo si GetLastError no devuelve ERROR_NOT_ENOUGH_MEMORY. Si se produce una condición de memoria insuficiente, ErrorLine puede ser 0.
Valor devuelto
La función devuelve un identificador al archivo INF abierto si se realiza correctamente. De lo contrario, el valor devuelto es INVALID_HANDLE_VALUE. La información de error extendida se puede recuperar mediante una llamada a GetLastError.
Comentarios
Si se produce un error en la carga porque el tipo de archivo INF no coincide con InfClass, la función devuelve INVALID_HANDLE_VALUE y una llamada a GetLastError devuelve ERROR_CLASS_MISMATCH.
Si se especifican varios estilos de archivo INF, el estilo del archivo INF abierto se puede determinar llamando a la función SetupGetInfInformation .
Dado que puede haber más de un GUID de clase con el mismo nombre de clase, los autores de llamadas interesados en los archivos INF de una clase determinada (es decir, un GUID de clase determinado) deben recuperar el valor ClassGUID del archivo INF mediante una llamada a SetupQueryInfVersionInformation.
Para los archivos INF heredados, la cadena InfClass debe coincidir con el tipo especificado en el valor OptionType de la sección Identificación del archivo INF (por ejemplo, OptionType=NetAdapter).
Nota
El encabezado setupapi.h define SetupOpenInfFile 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 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-0 (introducido en Windows 8) |