структура 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
Типы критериев, которые учитываются при оценке этой структуры. Некоторые флаги могут игнорироваться автоматически, если некоторые или все связанные с ними элементы структуры не предоставляются. Если указать ноль для этого параметра, содержимое всей структуры игнорируется.
В следующей таблице приводятся возможные значения. Эти значения можно объединить с помощью побитовой операции ИЛИ .
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
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
Указывает тип используемого пользовательского интерфейса. В следующей таблице приводятся возможные значения.
Значение | Значение |
---|---|
|
Отображение всего пользовательского интерфейса. |
|
Не отображает пользовательский интерфейс. |
|
Отображать пользовательский интерфейс только в том случае, если ошибок не было. |
|
Отображать пользовательский интерфейс только в том случае, если произошла ошибка. |
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 |