структура SAFER_CODE_PROPERTIES_V1 (winsafer.h)
Структура SAFER_CODE_PROPERTIES_V1 содержит сведения об изображении кода и критерии, которые необходимо проверить на изображении кода. Массив структур SAFER_CODE_PROPERTIES_V1 передается в функцию SaferIdentifyLevel .
SAFER_CODE_PROPERTIES_V1 не включает новые члены для пакетов приложений Магазина Windows. Существующие двоичные вызывающие элементы могут различать версию, проверяя элемент cbSize .
Синтаксис
typedef struct _SAFER_CODE_PROPERTIES_V1 {
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;
} SAFER_CODE_PROPERTIES_V1, *PSAFER_CODE_PROPERTIES_V1;
Члены
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
Указывает тип используемого пользовательского интерфейса. В следующей таблице приводятся возможные значения.
Значение | Значение |
---|---|
|
Отображение всех пользовательских интерфейсов. |
|
Отображение без пользовательского интерфейса. |
|
Отображать пользовательский интерфейс только в том случае, если ошибок не было. |
|
Отображение пользовательского интерфейса только в случае возникновения ошибки. |
Комментарии
SAFER_CODE_PROPERTIES было переопределено, чтобы включить дополнительные члены, которые позволяют приложению Магазина Windows использовать структуру. Проверьте член cbSize на наличие соответствующего размера структуры и на наличие SAFER_CODE_PROPERTIES структуры или структуры SAFER_CODE_PROPERTIES_V1 .
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows XP [только классические приложения] |
Минимальная версия сервера | Windows Server 2003 [только классические приложения] |
Верхняя часть | winsafer.h |