Directiva RegisterDlls de INF
Precaución
A partir de Windows 11 versión 22H2, un paquete de controladores que usa esta directiva ya no es apto para una firma del Centro para desarrolladores de hardware.
Los paquetes de controladores universales y los controladores de Windows no pueden usar esta directiva.
Nota:
Puede usar la herramienta Reg2inf para convertir las directivas RegisterDlls de INF existentes en directivas AddReg de INF con el fin de crear un paquete de controladores universal.
Una directiva RegisterDlls hace referencia a una o varias secciones INF que se usan para especificar archivos que son controles OLE y requieren el registro automático.
[DDInstall]
RegisterDlls=register-dll-section[,register-dll-section]...
Cada sección INF a la que hace referencia una directiva RegisterDlls debe tener el siguiente formato de entrada:
[register-dll-section]
dirid,[subdir],filename,registration-flags[,[timeout][,argument]]
Una register-dll-section puede tener cualquier número de entradas, cada una en una línea independiente.
Entries
dirid
Especifica el identificador de directorio de destino del archivo que se va a registrar. Para obtener más información, consulte Uso de Dirids.
subdir
Especifica la ruta de acceso al directorio, relativa al directorio actual, del archivo que se va a registrar. Si no se especifica, el archivo está en el directorio actual.
filename
Identifica el nombre de archivo del control OLE que se va a registrar.
registration-flags
Indica las operaciones de registro que se van a realizar en el control OLE. Debe especificarse una o ambas de las siguientes marcas.
0x00000001 (FLG_REGSVR_DLLREGISTER)
Llama a la función DllRegisterServer del control OLE (que se describe en la documentación del SDK de Windows).
0x00000002 (FLG_REGSVR_DLLINSTALL)
Llama a la función DllInstall del control OLE (que se describe en la documentación del SDK de Windows).
timeout
Especifica el tiempo de espera, en unidades de segundos, para que un control OLE complete las llamadas de registro especificadas. El tiempo de espera predeterminado es de 60 segundos.
argument
Si el control es un archivo ejecutable, se trata de una cadena de comandos que se pasa al ejecutable. El argumento predeterminado es /RegServer.
Si el control no es un archivo ejecutable, especifica el argumento de la línea de comandos que se va a pasar a la función DllInstall.
Comentarios
Cada nombre de register-dll-section debe ser único en el archivo INF y debe seguir las reglas generales para definir nombres de sección. Para obtener más información sobre estas reglas, consulte Reglas generales de sintaxis para archivos INF.
Las reglas siguientes se aplican al uso de la directiva RegisterDlls para las instalaciones de dispositivos:
Aunque la sintaxis permite que el nombre de archivo sea un archivo DLL o ejecutable, para las instalaciones del dispositivo solo se permite un archivo DLL.
El código que se va a registrar no debe solicitar la entrada del usuario.
Las instalaciones del lado de servidor se ejecutan en un contexto del sistema. Por lo tanto, debe estar muy seguro de que el código que se está registrando no contiene vulnerabilidades de seguridad y que los permisos de archivo impiden que el código se modifique de forma malintencionada.
Para obtener más información sobre los controles OLE y el registro automático, consulte la documentación del SDK de Windows.
Ejemplos
[Dialer]
RegisterDlls = DialerRegSvr
[DialerUninstall]
UnregisterDlls = DialerRegSvr
[DialerRegSvr]
11,,avtapi.dll, 1