Función SetupGetSourceFileLocationW (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 SetupGetSourceFileLocation recupera la ubicación de un archivo de origen enumerado en un archivo INF.
Sintaxis
WINSETUPAPI BOOL SetupGetSourceFileLocationW(
[in] HINF InfHandle,
[in] PINFCONTEXT InfContext,
[in] PCWSTR FileName,
[in, out] PUINT SourceId,
[in, out] PWSTR ReturnBuffer,
[out] DWORD ReturnBufferSize,
[in, out] PDWORD RequiredSize
);
Parámetros
[in] InfHandle
Controle el archivo INF que contiene las secciones SourceDisksNames y SourceDisksFiles . Si existen secciones específicas de la plataforma para el sistema del usuario (por ejemplo, SourceDisksNames.x86 y SourceDisksFiles.x86), se usará la sección específica de la plataforma.
[in] InfContext
Puntero opcional al contexto de una línea en una sección Copiar archivos para el que se va a recuperar la ruta de acceso de origen completa. Si este parámetro es NULL, FileName se busca en la sección SourceDisksFiles del archivo INF especificado por InfHandle.
[in] FileName
Puntero opcional a una cadena terminada en null que contiene el nombre de archivo (sin ruta de acceso) para el que se va a devolver la ubicación de origen completa. Este parámetro puede ser NULL, pero se debe especificar FileName o InfContext .
[in, out] SourceId
Puntero a una variable que recibe el identificador de origen del medio donde se encuentra el archivo desde la sección SourceDisksNames del archivo INF.
[in, out] ReturnBuffer
Puntero opcional a un búfer para recibir la ruta de acceso de origen relativa. La ruta de acceso de origen no incluye el propio nombre de archivo, ni incluye una letra de unidad o un nombre de recurso compartido de red. La ruta de acceso no comienza ni termina con una barra diagonal inversa (), por lo que la cadena vacía especifica el directorio raíz. Debe usar un búfer de cadena terminada en null. La cadena terminada en null no debe superar el tamaño del búfer de destino. 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. Consulte la sección Comentarios. Este parámetro puede ser NULL.
[out] ReturnBufferSize
Tamaño del búfer al que apunta ReturnBuffer, en caracteres. Este número incluye el terminador null .
[in, 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. Este número incluye el terminador null . Si el tamaño necesario es mayor que el valor especificado por ReturnBufferSize, se produce un error en la función y GetLastError devuelve ERROR_INSUFFICIENT_BUFFER.
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.
Nota
El encabezado setupapi.h define SetupGetSourceFileLocation 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 |