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


структура SAFER_CODE_PROPERTIES_V2 (winsafer.h)

Структура SAFER_CODE_PROPERTIES содержит сведения об изображении кода и критерии для проверки на изображении кода. Массив SAFER_CODE_PROPERTIES структур передается в функцию SaferIdentifyLevel .

SAFER_CODE_PROPERTIES_V2 — это переопределение SAFER_CODE_PROPERTIES и расширенная версия SAFER_CODE_PROPERTIES_V1 , так как она включает в себя новых членов для пакетов приложений Магазина Windows. Существующие двоичные вызывающие элементы могут различать версию, проверяя член cbSize .

Синтаксис

typedef struct _SAFER_CODE_PROPERTIES_V2 {
  DWORD         cbSize;
  DWORD         dwCheckFlags;
  LPCWSTR       ImagePath;
  HANDLE        hImageFileHandle;
  DWORD         UrlZoneId;
  BYTE          ImageHash[SAFER_MAX_HASH_SIZE];
  DWORD         dwImageHashSize;
  LARGE_INTEGER ImageSize;
  ALG_ID        HashAlgorithm;
  LPBYTE        pByteBlock;
  HWND          hWndParent;
  DWORD         dwWVTUIChoice;
  LPCWSTR       PackageMoniker;
  LPCWSTR       PackagePublisher;
  LPCWSTR       PackageName;
  ULONG64       PackageVersion;
  BOOL          PackageIsFramework;
} SAFER_CODE_PROPERTIES_V2, *PSAFER_CODE_PROPERTIES_V2;

Члены

cbSize

Размер этой структуры в байтах. Используется для обеспечения будущей и обратной совместимости.

dwCheckFlags

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

В следующей таблице приводятся возможные значения. Эти значения можно объединить с помощью побитовой операции ИЛИ .

Значение Значение
SAFER_CRITERIA_IMAGEPATH
0x00001
Проверьте путь к изображению кода.
SAFER_CRITERIA_IMAGEHASH
0x00004
Проверьте хэш кода.
SAFER_CRITERIA_AUTHENTICODE
0x00008
Проверьте подпись Authenticode. Если используется это значение, необходимо задать элемент hImageFileHandle или элемент ImagePath .
SAFER_CRITERIA_URLZONE
0x00010
Проверьте URL-адрес источника.
SAFER_CRITERIA_IMAGEPATH_NT
0x01000
Проверьте путь Windows NT изображения.
SAFER_CRITERIA_APPX_PACKAGE
0x00020
Проверьте наличие пакета приложения Магазина Windows. Для использования приложениями Магазина Windows.

ImagePath

Строка, указывающая полный путь и имя файла, которые будут использоваться для проверок дискриминации на основе пути. Путь к изображению также используется для открытия и чтения файла, чтобы определить любые другие критерии дискриминации, не указанные в этой структуре. Этот элемент может иметь значение NULL; Однако если элемент dwCheckFlags включает SAFER_CRITERIA_AUTHENTICODE, необходимо задать этот элемент или элемент hImageFileHandle .

hImageFileHandle

Дескриптор файла для изображения кода с доступом по крайней мере GENERIC_READ. Дескриптор используется вместо явного повторного открытия файла для вычисления критериев дискриминации, не указанных в этой структуре. Этот элемент может иметь значение NULL; Однако если dwCheckFlags включает SAFER_CRITERIA_AUTHENTICODE, необходимо задать этот элемент или элемент ImagePath .

UrlZoneId

Предопределенные зоны безопасности Обозреватель Интернета. Определены следующие зоны:

  • URLZONE_LOCAL_MACHINE
  • URLZONE_INTRANET
  • URLZONE_TRUSTED
  • URLZONE_INTERNET
  • URLZONE_UNTRUSTED
Для этого элемента можно задать значение 0.

ImageHash[SAFER_MAX_HASH_SIZE]

Предварительно вычисленный хэш образа. Предоставленный хэш интерпретируется как допустимый, если член ImageSize и член dwImageHashSize являются ненулевыми, а член HashAlgorithm содержит допустимый алгоритм хэширования из Wincrypt.h.

Если предоставленный хэш не соответствует этим условиям, хэш будет автоматически перекомпьютерирован:

  • Использование элемента ImageSize и элемента pByteBlock , если оба элемента не являются нулями.
  • Использование элемента hImageFileHandle , если он не имеет значение NULL.
  • Открытие и использование элемента ImagePath , если он не имеет значение NULL.

dwImageHashSize

Размер элемента ImageHash в байтах .

ImageSize

Размер элемента pByteBlock в байтах. Этот элемент не используется, если элемент pByteBlock имеет значение NULL.

HashAlgorithm

Хэш-алгоритм, используемый для создания элемента ImageHash .

pByteBlock

Блок памяти, содержащий изображение проверяемого кода. Этот член является необязательным. Если этот элемент указан, необходимо также указать элемент ImageSize .

hWndParent

Аргументы, используемые для проверки сертификата подписывателя Authenticode. Эти аргументы передаются в функцию WinVerifyTrust и управляют пользовательским интерфейсом, который предлагает пользователю принять или отклонить доверенные сертификаты.

dwWVTUIChoice

Указывает тип используемого пользовательского интерфейса. В следующей таблице приводятся возможные значения.

Значение Значение
WTD_UI_ALL
Отображение всего пользовательского интерфейса.
WTD_UI_NONE
Не отображает пользовательский интерфейс.
WTD_UI_NOBAD
Отображать пользовательский интерфейс только в том случае, если ошибок не было.
WTD_UI_NOGOOD
Отображать пользовательский интерфейс только в том случае, если произошла ошибка.

PackageMoniker

Свойство моникера пакета. Для использования приложениями Магазина Windows.

Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 и Windows XP: Этот элемент недоступен.

PackagePublisher

Свойство издателя пакета. Для использования приложениями Магазина Windows.

Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 и Windows XP: Этот элемент недоступен.

PackageName

Свойство имени пакета. Для использования приложениями Магазина Windows.

Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 и Windows XP: Этот элемент недоступен.

PackageVersion

Свойство версии пакета. Для использования приложениями Магазина Windows.

Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 и Windows XP: Этот элемент недоступен.

PackageIsFramework

Пакет является пакетом платформы. Для использования приложениями Магазина Windows.

Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 и Windows XP: Этот элемент недоступен.

Требования

Требование Значение
Минимальная версия клиента Windows XP [только классические приложения]
Минимальная версия сервера Windows Server 2003 [только классические приложения]
Верхняя часть winsafer.h