Função SetupGetInfDriverStoreLocationA (setupapi.h)

A função SetupGetInfDriverStoreLocation recupera o nome de arquivo totalmente qualificado (caminho do diretório e nome do arquivo) de um arquivo INF no repositório de driver que corresponde a um arquivo INF especificado no diretório de arquivos INF do sistema ou um arquivo INF especificado no repositório de driver.

Sintaxe

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

Um ponteiro para uma cadeia de caracteres terminada em NULL que contém o nome e, opcionalmente, o caminho completo do diretório, de um arquivo INF no diretório de arquivos INF do sistema. Como alternativa, esse parâmetro é um ponteiro para uma cadeia de caracteres terminada em NULL que contém o nome de arquivo totalmente qualificado (caminho do diretório e nome do arquivo) de um arquivo INF no repositório de driver.

Para obter mais informações sobre como especificar o arquivo INF, consulte a seção Comentários a seguir.

[in, optional] AlternatePlatformInfo

Reservado para uso do sistema.

[in, optional] LocaleName

Reservado para uso do sistema.

[out] ReturnBuffer

Um ponteiro para um buffer no qual a função retorna uma cadeia de caracteres terminada em NULL que contém o nome de arquivo totalmente qualificado do arquivo INF especificado. Esse parâmetro pode ser definido como NULL. O tamanho máximo do caminho com suporte é MAX_PATH. Para obter informações sobre como determinar o tamanho necessário do buffer, consulte a seção Comentários a seguir.

[in] ReturnBufferSize

O tamanho, em caracteres, do buffer fornecido por ReturnBuffer.

[out, optional] RequiredSize

Um ponteiro para uma variável do tipo DWORD que recebe o tamanho, em caracteres, do buffer ReturnBuffer . Esse parâmetro é opcional e pode ser definido como NULL.

Retornar valor

Se SetupGetInfDriverStoreLocation for bem-sucedido, a função retornará TRUE; caso contrário, a função retornará FALSE. Para obter informações de erro estendidas, chame GetLastError.

Se o tamanho, em caracteres, do nome de arquivo totalmente qualificado do arquivo INF solicitado, incluindo um terminador nulo, for maior que ReturnBufferSize, a função falhará e uma chamada para GetLastError retornará ERROR_INSUFFICIENT_BUFFER.

Comentários

Para determinar o tamanho do buffer de retorno necessário para conter o nome de arquivo totalmente qualificado do arquivo INF especificado no repositório de driver, chame SetupGetInfDriverStoreLocation e defina ReturnBuffer como NULL, ReturnBufferSize como zero e forneça RequiredSize. SetupGetInfDriverStoreLocation retornará o tamanho do buffer necessário em RequiredSize.

Quando a instalação do dispositivo pré-instala um pacote de driver no repositório de driver, ele cria duas cópias do arquivo INF do pacote de driver. A instalação do dispositivo instala uma cópia no diretório INF do sistema e atribui a essa cópia do arquivo INF um nome de arquivo publicado exclusivo do formulário OEMnnn.inf. A instalação do dispositivo instala uma segunda cópia do arquivo INF no repositório de driver e atribui que copia o nome do arquivo INF original.

SetupGetInfDriverStoreLocation retorna o nome de arquivo totalmente qualificado do arquivo INF no repositório de driver que corresponde ao arquivo INF, se houver, fornecido pelo FileName. Filename deve especificar o nome do arquivo e, opcionalmente, o caminho do diretório, de um arquivo INF no diretório INF do sistema. Como alternativa, Filename deve especificar o nome de arquivo totalmente qualificado de um arquivo INF no repositório de driver.

Por exemplo, suponha que o arquivo INF de um pacote de driver seja Myinf.inf e que, para esse pacote de driver, a instalação do dispositivo instale o arquivo INF OEM1.inf no diretório INF do sistema C:\Windows\inf. Suponha ainda que a instalação do dispositivo instale a cópia de arquivo INF correspondente C:\windows\system32\driverstore\filerepository\myinf_12345678\myinf.inf no repositório de driver. Nesse caso, a função retornará C:\windows\system32\driverstore\filerepository\myinf_12345678\myinf.inf se FileName fornecer uma das seguintes cadeias de caracteres: OEM1.inf, C:\Windows\inf\OEM1.inf ou C:\windows\system32\driverstore\filerepository\myinf_12345678\myinf.inf.

Os instaladores de classe e os co-instaladores podem usar SetupGetInfDriverStoreLocation para acessar arquivos em um pacote de driver pré-instalado no repositório de driver. Para determinar o caminho do pacote de driver no repositório de driver, o instalador faz o seguinte:

  1. Chame SetupDiGetDriverInfoDetail para recuperar uma estrutura de SP_DRVINFO_DETAIL_DATA para um driver. O membro InfFileName dessa estrutura contém o nome de arquivo totalmente qualificado do arquivo INF do driver no diretório INF do sistema.
  2. Chame SetupGetInfDriverStoreLocation e forneça o nome de arquivo totalmente qualificado do arquivo INF do driver que foi recuperado chamando SetupDiGetDriverInfoDetail. SetupGetInfDriverStoreLocation retornará o nome de arquivo totalmente qualificado do arquivo INF do driver no repositório de driver. A parte do caminho do diretório do nome de arquivo totalmente qualificado do arquivo INF é o caminho dos arquivos do pacote de driver .
ObservaçãoSetupGetInfDriverStoreLocation não processa o conteúdo do arquivo INF especificado em FileName. Você não pode usar essa função para executar uma pesquisa específica de conteúdo para um arquivo INF no repositório de driver.
 
Chame a função SetupGetInfPublishedName para recuperar o nome de arquivo totalmente qualificado de um arquivo INF no diretório de arquivos INF do sistema que corresponde a um arquivo INF especificado no diretório de arquivos INF do sistema ou um arquivo especificado no repositório de driver.

Observação

O cabeçalho setupapi.h define SetupGetInfDriverStoreLocation 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

Requisito Valor
Cliente mínimo com suporte Disponível no Windows Vista e versões posteriores do Windows.
Plataforma de Destino Área de Trabalho
Cabeçalho setupapi.h (inclua Setupapi.h)
Biblioteca Setupapi.lib

Confira também

SP_ALTPLATFORM_INFO

SP_DRVINFO_DETAIL_DATA

SetupDiGetDriverInfoDetail

SetupGetInfPublishedName