Поделиться через


Директива INF RegisterDlls

Внимание

Начиная с Windows 11 версии 22H2 пакет драйвера, использующий эту директиву, больше не подходит для подписи из Центра разработчиков оборудования.

Пакеты универсальных драйверов и драйверы Windows не могут использовать эту директиву.

Примечание.

С помощью средства Reg2inf можно преобразовать существующие директивы INF RegisterDlls в директивы INF AddReg, чтобы сделать пакет драйвера универсальным.

Директива RegisterDlls ссылается на один или несколько разделов INF, используемых для указания файлов, которые являются элементами управления OLE и требуют самостоятельной регистрации.

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

Каждый раздел INF, на который ссылается директива RegisterDlls , должен иметь следующий формат записи:

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

Раздел register-dll может содержать любое количество записей, каждое из которых размещено в отдельной строке.

Операции

dirid
Указывает идентификатор целевого каталога для зарегистрированного файла. Дополнительные сведения см. в разделе "Использование Dirids".

вложенный каталог
Указывает путь к каталогу относительно текущего каталога к файлу для регистрации. Если файл не указан, файл находится в текущем каталоге.

filename
Определяет имя файла элемента управления OLE для регистрации.

флаги регистрации
Указывает операции регистрации, выполняемые в элементе управления OLE. Необходимо указать один или оба следующих флага.

0x00000001 (FLG_REGSVR_DLLREGISTER)
Вызовите функцию DllRegisterServer элемента управления OLE (описанную в документации по пакету SDK для Windows).

0x00000002 (FLG_REGSVR_DLLINSTALL)
Вызовите функцию DllInstall элемента управления OLE (описанную в документации по пакету SDK для Windows).

timeout
Указывает время ожидания (в единицах секунд) для ole Control для выполнения указанных вызовов регистрации. Время ожидания по умолчанию — 60 секунд.

argument
Если элемент управления представляет собой исполняемый файл, это командная строка, передаваемая исполняемому файлу. Аргумент по умолчанию — /RegServer.

Если элемент управления не является исполняемым файлом, это указывает аргумент командной строки для передачи функции DllInstall .

Замечания

Каждое имя раздела register-dll должно быть уникальным для INF-файла и должно соответствовать общим правилам определения имен разделов. Дополнительные сведения об этих правилах см. в разделе Общие правила синтаксиса для INF-файлов.

Следующие правила применяются к использованию директивы RegisterDlls для установки устройств:

  • Несмотря на то, что синтаксис разрешает имя файла как dll, так и исполняемый файл, для установки устройств допускается только библиотека DLL.

  • Зарегистрированный код не должен запрашивать входные данные пользователя.

  • Установка на стороне сервера выполняется в системном контексте. Таким образом, необходимо убедиться, что зарегистрированный код не содержит уязвимостей безопасности, а разрешения файлов препятствуют вредоносному изменению кода.

Дополнительные сведения об элементах управления OLE и самостоятельной регистрации см. в документации по пакету SDK для Windows.

Примеры

[Dialer]
RegisterDlls = DialerRegSvr

[DialerUninstall]
UnregisterDlls = DialerRegSvr

[DialerRegSvr]
11,,avtapi.dll, 1

См. также

Отмена регистрации