Função SetupGetInfDriverStoreLocationW (setupapi.h)
A função SetupGetInfDriverStoreLocation
Sintaxe
WINSETUPAPI BOOL SetupGetInfDriverStoreLocationW(
[in] PCWSTR FileName,
[in, optional] PSP_ALTPLATFORM_INFO AlternatePlatformInfo,
[in, optional] PCWSTR LocaleName,
[out] PWSTR ReturnBuffer,
[in] DWORD ReturnBufferSize,
[out, optional] PDWORD RequiredSize
);
Parâmetros
[in] FileName
Um ponteiro para uma cadeia de caracteres terminada por NULL que contém o nome e, opcionalmente, o caminho de diretório completo, 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 por NULL que contém o nome do 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
[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 por 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
[in] ReturnBufferSize
O tamanho, em caracteres, do buffer fornecido pelo ReturnBuffer .
[out, optional] RequiredSize
Um ponteiro para uma variável do tipo DWORD que recebe o tamanho, em caracteres, do buffer
Valor de retorno
Se SetupGetInfDriverStoreLocation for bem-sucedida, a função retornará VERDADEIRO; 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.
Observações
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 para 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 copie 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 por FileName. nome de arquivo 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, nome de arquivo 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.infe que, para esse pacote de driver, A instalação do dispositivo instala o arquivo INF OEM1.inf no diretório do 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 retorna C:\windows\system32\driverstore\filerepository\myinf_12345678\myinf.inf se FileName fornecer uma das seguintes cadeias de caracteres: OEM1.inf, C:\Windows\inf\OEM1.infou C:\windows\system32\driverstore\filerepository\myinf_12345678\myinf.inf.
instaladores de classe e 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:
- Chame SetupDiGetDriverInfoDetail para recuperar uma estrutura de SP_DRVINFO_DETAIL_DATA para um driver. O InfFileName membro dessa estrutura contém o nome de arquivo totalmente qualificado do arquivo INF do driver no diretório INF do sistema.
- 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 do pacote de driver arquivos.
Nota
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 do pré-processador UNICODE. A combinação do uso do alias neutro de codificação com código que não é neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Conventions for Function Prototypes.
Requisitos
Requisito | Valor |
---|---|
de cliente com suporte mínimo | Disponível no Windows Vista e versões posteriores do Windows. |
da Plataforma de Destino |
Área de trabalho |
cabeçalho | setupapi.h (inclua Setupapi.h) |
biblioteca | Setupapi.lib |
Consulte também