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


AppInit_DLLs в Windows 7 и Windows Server 2008 R2

Платформа

клиентов — Windows 7
серверы — Windows Server 2008 R2

Влияние функции

серьезности — низкая
частота — низкая

Описание

AppInit_DLLs — это механизм, позволяющий загружать произвольный список БИБЛИОТЕК DLL в каждый процесс пользовательского режима в системе. Корпорация Майкрософт изменяет средство DLL AppInit в Windows 7 и Windows Server 2008 R2, чтобы добавить новое требование для подписи кода. Это поможет повысить надежность и производительность системы, а также повысить видимость происхождения программного обеспечения.

Конфигурация

Значения, хранящиеся в разделе HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion \Windows в реестре, определяют поведение инфраструктуры AppInit_DLLs. В таблице ниже описаны следующие значения реестра:

Ценность Описание Примеры значений
LoadAppInit_DLLs (REG_DWORD)${REMOVE}$
Глобально включает или отключает AppInit_DLLs.${REMOVE}$
0x0 — AppInit_DLLs отключены.
0x1 — AppInit_DLLs включены.
AppInit_DLLs (REG_SZ) Список библиотек DLL с разделителями-запятыми или запятыми для загрузки. Полный путь к библиотеке DLL должен быть указан с помощью коротких имен. C:\ PROGRA~1\WID288~1\MICROS~1.DLL
RequireSignedAppInit_DLLs (REG_DWORD)${REMOVE}$
Только загруженные библиотеки DLL, подписанные кодом.${REMOVE}$
0x0 — загрузка всех библиотек DLL.
0x1 — загрузка библиотек DLL, подписанных только кодом.

 

Windows 7

Все библиотеки DLL, загруженные инфраструктурой AppInit_DLLs, должны быть подписаны кодом. В интересах совместимости приложений операционная система Windows 7 загружает все библиотеки DLL AppInit. Однако корпорация Майкрософт рекомендует всем разработчикам приложений подписывать библиотеки DLL для повышения надежности Windows и подготовки к применению подписывания кода в будущих версиях Windows. Раздел реестра RequireSignedAppInit_DLLs управляет этим поведением и его значением в Windows 7 по умолчанию присваивается значение 0.

Windows Server 2008 R2

Все библиотеки DLL, загруженные инфраструктурой AppInit_DLLs, должны быть подписаны кодом. Раздел реестра RequireSignedAppInit_DLLs управляет этим поведением и его значением в Windows Server 2008 R2 по умолчанию имеет значение 1.

DLL AppInit в Windows 7 и Windows Server 2008 R2