Partager via


structure SAFER_CODE_PROPERTIES_V2 (winsafer.h)

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

SAFER_CODE_PROPERTIES_V2 est une redéfinition de SAFER_CODE_PROPERTIES et est une version étendue de SAFER_CODE_PROPERTIES_V1 , car elle inclut de nouveaux membres pour les packages d’applications du Windows Store. Les appelants binaires existants peuvent distinguer quelle version en vérifiant le membre cbSize .

Syntaxe

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;

Membres

cbSize

Taille de cette structure en octets. 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 tout ou partie de leurs é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 de 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 doivent être définis.
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.
SAFER_CRITERIA_APPX_PACKAGE
0x00020
Recherchez un package d’application du Windows Store. À utiliser par les applications du Windows Store.

ImagePath

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

hImageFileHandle

Handle de fichier à 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 avoir la valeur NULL ; toutefois, si dwCheckFlags inclut SAFER_CRITERIA_AUTHENTICODE, ce membre ou le membre ImagePath doivent être définis.

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 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 ne sont pas nulles.
  • 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 contenant 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
Affichez toute l’interface utilisateur.
WTD_UI_NONE
N’affiche aucune interface utilisateur.
WTD_UI_NOBAD
Affichez l’interface utilisateur uniquement s’il n’y a pas eu d’erreurs.
WTD_UI_NOGOOD
Affichez l’interface utilisateur uniquement si une erreur se produit.

PackageMoniker

Propriété moniker de package. À utiliser par les applications du Windows Store.

Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 et Windows XP : Ce membre n’est pas disponible.

PackagePublisher

Propriété d’éditeur de package. À utiliser par les applications du Windows Store.

Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 et Windows XP : Ce membre n’est pas disponible.

PackageName

Propriété du nom du package. À utiliser par les applications du Windows Store.

Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 et Windows XP : Ce membre n’est pas disponible.

PackageVersion

Propriété de version du package. À utiliser par les applications du Windows Store.

Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 et Windows XP : Ce membre n’est pas disponible.

PackageIsFramework

Le package est un package d’infrastructure. À utiliser par les applications du Windows Store.

Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 et Windows XP : Ce membre n’est pas disponible.

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