Compartilhar via


Função SetupGetSourceFileLocationA (setupapi.h)

[Essa função está disponível para uso nos sistemas operacionais indicados na seção Requisitos. Ele poderá ser alterado ou ficar indisponível em versões subsequentes. SetupAPI não deve mais ser usado para instalar aplicativos. Em vez disso, use o Windows Installer para desenvolver instaladores de aplicativos. SetupAPI continua a ser usado para instalar drivers de dispositivo.]

A função SetupGetSourceFileLocation recupera o local de um arquivo de origem listado em um arquivo INF.

Sintaxe

WINSETUPAPI BOOL SetupGetSourceFileLocationA(
  [in]      HINF        InfHandle,
  [in]      PINFCONTEXT InfContext,
  [in]      PCSTR       FileName,
  [in, out] PUINT       SourceId,
  [in, out] PSTR        ReturnBuffer,
  [out]     DWORD       ReturnBufferSize,
  [in, out] PDWORD      RequiredSize
);

Parâmetros

[in] InfHandle

Manipule para o arquivo INF que contém as seções SourceDisksNames e SourceDisksFiles . Se houver seções específicas da plataforma para o sistema do usuário (por exemplo, SourceDisksNames.x86 e SourceDisksFiles.x86), a seção específica da plataforma será usada.

[in] InfContext

Ponteiro opcional para o contexto de uma linha em uma seção Copiar Arquivos para a qual o caminho de origem completo deve ser recuperado. Se esse parâmetro for NULL, FileName será pesquisado na seção SourceDisksFiles do arquivo INF especificado por InfHandle.

[in] FileName

Ponteiro opcional para uma cadeia de caracteres terminada em nulo que contém o nome do arquivo (sem caminho) para o qual retornar o local de origem completo. Esse parâmetro pode ser NULL, mas FileName ou InfContext devem ser especificados.

[in, out] SourceId

Ponteiro para uma variável que recebe o identificador de origem da mídia em que o arquivo está localizado na seção SourceDisksNames do arquivo INF.

[in, out] ReturnBuffer

Ponteiro opcional para um buffer para receber o caminho de origem relativo. O caminho de origem não inclui o nome de arquivo em si, nem inclui um nome de compartilhamento de rede/letra da unidade. O caminho não inicia ou termina com uma barra invertida (), portanto, a cadeia de caracteres vazia especifica o diretório raiz. Você deve usar um buffer de cadeia de caracteres com terminação nula. A cadeia de caracteres terminada em nulo não deve exceder o tamanho do buffer de destino. Você pode chamar a função uma vez para obter o tamanho do buffer necessário, alocar a memória necessária e, em seguida, chamar a função uma segunda vez para recuperar os dados. Usando essa técnica, você pode evitar erros devido a um tamanho de buffer insuficiente. Consulte a seção Comentários. Este parâmetro pode ser NULL.

[out] ReturnBufferSize

Tamanho do buffer apontado por ReturnBuffer, em caracteres. Esse número inclui o terminador nulo .

[in, out] RequiredSize

Ponteiro opcional para uma variável que recebe o tamanho necessário para o buffer apontado pelo parâmetro ReturnBuffer , em caracteres. Esse número inclui o terminador nulo . Se o tamanho necessário for maior que o valor especificado por ReturnBufferSize, a função falhará e GetLastError retornará ERROR_INSUFFICIENT_BUFFER.

Valor retornado

Se a função for bem-sucedida, o valor retornado será um valor diferente de zero.

Se a função falhar, o valor retornado será zero. Para obter informações de erro estendidas, chame GetLastError.

Comentários

Se essa função for chamada com um ReturnBuffer de NULL e um ReturnBufferSize de zero, a função colocará o tamanho do buffer necessário para manter os dados especificados na variável apontada por RequiredSize. Se a função tiver êxito nisso, o valor retornado será um valor diferente de zero. Caso contrário, o valor retornado será zero e as informações de erro estendidas poderão ser obtidas chamando GetLastError.

Observação

O cabeçalho setupapi.h define SetupGetSourceFileLocation como um alias que seleciona automaticamente a versão ANSI ou Unicode dessa função com base na definição da constante de pré-processador UNICODE. Misturar o uso do alias neutro de codificação com código que não seja neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Convenções para protótipos de função.

Requisitos

   
Cliente mínimo com suporte Windows XP [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2003 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho setupapi.h
Biblioteca Setupapi.lib
DLL Setupapi.dll

Confira também

Funções

Visão geral

SetupGetSourceFileSize

SetupGetSourceInfo