Compartilhar via


Diretiva INF RegisterDlls

Cuidado

A partir do Windows 11 versão 22H2, um pacote de driver que usa essa diretiva não está mais qualificado para uma assinatura da Central do Desenvolvedor para Hardware.

Os pacotes de driver Universais e os Drivers do Windows não podem usar essa diretiva.

Observação

Você pode usar a ferramenta Reg2inf para converter as diretivas INF RegisterDlls existentes em diretivas INF AddReg para criar um pacote de driver Universal.

Uma diretiva RegisterDlls faz referência a uma ou mais seções INF usadas para especificar arquivos que são controles OLE e exigem registro automático.

[DDInstall]
  
RegisterDlls=register-dll-section[,register-dll-section]...

Cada seção INF referenciada por uma diretiva RegisterDlls deve ter o seguinte formato de entrada:

[register-dll-section] 
  
dirid,[subdir],filename,registration-flags[,[timeout][,argument]] 

Uma register-dll-section pode ter qualquer número de entradas, cada uma em uma linha separada.

Entradas

dirid
Especifica a ID do diretório de destino do arquivo a ser registrado. Para obter mais informações, confira Como usar Dirids.

subdir
Especifica o caminho do diretório, relativo ao diretório atual, para o arquivo a ser registrado. Caso não seja especificado, o arquivo está no diretório atual.

filename
Identifica o nome do arquivo do controle OLE a ser registrado.

registration-flags
Indica as operações de registro a serem executadas no controle OLE. Deve-se especificar um ou ambos os sinalizadores a seguir.

0x00000001 (FLG_REGSVR_DLLREGISTER)
Chame a função DllRegisterServer do controle OLE (descrita na documentação do SDK do Windows).

0x00000002 (FLG_REGSVR_DLLINSTALL)
Chame a função DllInstall do controle OLE (descrita na documentação do SDK do Windows).

timeout
Especifica o tempo limite, em unidades de segundos, para que um controle OLE conclua as chamadas de registro especificadas. O tempo limite padrão é de 60 segundos.

argument
Se o controle for um arquivo executável, essa é uma cadeia de caracteres de comando que é passada para o executável. O argumento padrão é /RegServer.

Se o controle não for um arquivo executável, isso especificará o argumento de linha de comando a ser passado para a função DllInstall.

Comentários

Cada nome de register-dll-section deve ser exclusivo dentro do arquivo INF e deve seguir as regras gerais para definir nomes de seção. Para mais informações sobre essas regras, consulte Regras gerais de sintaxe para arquivos INF.

As seguintes regras se aplicam ao uso da diretiva RegisterDlls para instalações de dispositivos:

  • Embora a sintaxe permita que filename seja uma DLL ou um arquivo executável, apenas uma DLL é permitida para instalações de dispositivos.

  • O código a ser registrado não deve solicitar a entrada de usuário.

  • As instalações no servidor são executadas em um contexto de sistema. Portanto, você deve ter certeza de que o código que está sendo registrado não contém vulnerabilidades de segurança e que as permissões de arquivo impedem que o código seja modificado de forma mal-intencionada.

Para obter mais informações sobre controles OLE e registro automático, consulte a documentação do SDK do Windows.

Exemplos

[Dialer]
RegisterDlls = DialerRegSvr

[DialerUninstall]
UnregisterDlls = DialerRegSvr

[DialerRegSvr]
11,,avtapi.dll, 1

Confira também

UnregisterDlls