Partager via


SAFER_CODE_PROPERTIES_V1 structure (winsafer.h)

La structure SAFER_CODE_PROPERTIES_V1 contient des informations sur l’image de code et des critères à vérifier sur l’image de code. Un tableau de structures SAFER_CODE_PROPERTIES_V1 est passé à la fonction SaferIdentifyLevel .

SAFER_CODE_PROPERTIES_V1 n’inclut pas les nouveaux membres pour les packages d’application du Windows Store. Les appelants binaires existants peuvent distinguer quelle version en vérifiant le membre cbSize .

Syntaxe

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;

Membres

cbSize

Taille, en octets, de cette structure. Il est utilisé pour la compatibilité future et descendante.

dwCheckFlags

Types de critères pris en compte lors de l’évaluation de cette structure. Certains indicateurs peuvent être ignorés en mode silencieux si une partie ou la totalité des éléments de structure associés ne sont pas fournis. Si vous spécifiez zéro pour ce paramètre, le contenu de la structure entière est ignoré.

Le tableau suivant répertorie les valeurs possibles. Ces valeurs peuvent être combinées à l’aide d’une opération OR au niveau du bit.

Valeur Signification
SAFER_CRITERIA_IMAGEPATH
0x00001
Vérifiez le chemin d’accès à l’image de code.
SAFER_CRITERIA_IMAGEHASH
0x00004
Vérifiez le hachage du code.
SAFER_CRITERIA_AUTHENTICODE
0x00008
Vérifiez la signature Authenticode. Si cette valeur est utilisée, le membre hImageFileHandle ou le membre ImagePath doit être défini.
SAFER_CRITERIA_URLZONE
0x00010
Vérifiez l’URL d’origine.
SAFER_CRITERIA_IMAGEPATH_NT
0x01000
Vérifiez le chemin d’accès de l’image Windows NT.

ImagePath

Chaîne qui spécifie le chemin complet et le nom de fichier à utiliser pour les vérifications de discrimination en fonction du chemin d’accès. Le chemin d’accès à l’image est également utilisé pour ouvrir et lire le fichier afin d’identifier d’autres critères de discrimination non fournis dans cette structure. Ce membre peut être NULL ; Toutefois, si le membre dwCheckFlags inclut SAFER_CRITERIA_AUTHENTICODE, ce membre ou le membre hImageFileHandle doit être défini.

hImageFileHandle

Handle de fichier vers une image de code avec au moins GENERIC_READ accès. Le handle est utilisé au lieu de rouvrir explicitement le fichier pour calculer les critères de discrimination non fournis dans cette structure. Ce membre peut être NULL ; Toutefois, si dwCheckFlags inclut SAFER_CRITERIA_AUTHENTICODE, ce membre ou le membre ImagePath doit être défini.

UrlZoneId

Zones de sécurité prédéterminées d’Internet Explorer. Les zones suivantes sont définies :

  • URLZONE_LOCAL_MACHINE
  • URLZONE_INTRANET
  • URLZONE_TRUSTED
  • URLZONE_INTERNET
  • URLZONE_UNTRUSTED
Ce membre peut être défini sur 0.

ImageHash[SAFER_MAX_HASH_SIZE]

Hachage précalculé de l’image. Le hachage fourni est interprété comme valide si le membre ImageSize et le membre dwImageHashSize ne sont pas nuls et si le membre HashAlgorithm contient un algorithme de hachage valide à partir de Wincrypt.h.

Si le hachage fourni ne répond pas à ces conditions, le hachage est automatiquement recalculé par :

  • Utilisation du membre ImageSize et du membre pByteBlock , si les deux sont différent de zéro.
  • Utilisation du membre hImageFileHandle , s’il n’est pas NULL.
  • Ouverture et utilisation du membre ImagePath , s’il n’est pas NULL.

dwImageHashSize

Taille, en octets, du membre ImageHash .

ImageSize

Taille, en octets, du membre pByteBlock . Ce membre n’est pas utilisé si le membre pByteBlock a la valeur NULL.

HashAlgorithm

Algorithme de hachage utilisé pour créer le membre ImageHash .

pByteBlock

Bloc de mémoire qui contient l’image du code en cours de vérification. Ce membre est facultatif. Si ce membre est spécifié, le membre ImageSize doit également être fourni.

hWndParent

Arguments utilisés pour la vérification du certificat du signataire Authenticode. Ces arguments sont passés à la fonction WinVerifyTrust et contrôlent l’interface utilisateur qui invite l’utilisateur à accepter ou à rejeter les certificats approuvés.

dwWVTUIChoice

Indique le type d’interface utilisateur utilisé. Le tableau suivant répertorie les valeurs possibles.

Value Signification
WTD_UI_ALL
Afficher toute l’interface utilisateur.
WTD_UI_NONE
N’affiche aucune interface utilisateur.
WTD_UI_NOBAD
Afficher l’interface utilisateur uniquement en l’absence d’erreurs.
WTD_UI_NOGOOD
Afficher l’interface utilisateur uniquement si une erreur se produit.

Remarques

SAFER_CODE_PROPERTIES a été redéfini pour inclure des membres supplémentaires qui permettent à l’application du Windows Store d’utiliser la structure. Vérifiez la taille appropriée du membre cbSize et indiquez si vous devez utiliser la structure SAFER_CODE_PROPERTIES ou la structure SAFER_CODE_PROPERTIES_V1 .

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows XP [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2003 [applications de bureau uniquement]
En-tête winsafer.h