SAFER_CODE_PROPERTIES_V2 Struktur (winsafer.h)

Die SAFER_CODE_PROPERTIES-Struktur enthält Codebildinformationen und Kriterien, die im Codeimage überprüft werden sollen. Ein Array von SAFER_CODE_PROPERTIES Strukturen wird an die SaferIdentifyLevel-Funktion übergeben.

SAFER_CODE_PROPERTIES_V2 ist eine Neudefinition von SAFER_CODE_PROPERTIES und eine erweiterte Version von SAFER_CODE_PROPERTIES_V1 , da sie neue Mitglieder für Windows Store-App-Pakete enthält. Vorhandene binäre Aufrufer können die Version unterscheiden, indem sie den cbSize-Member überprüfen.

Syntax

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;

Member

cbSize

Die Größe dieser Struktur in Bytes. Dies wird für zukünftige und Abwärtskompatibilität verwendet.

dwCheckFlags

Die Arten von Kriterien, die bei der Bewertung dieser Struktur berücksichtigt werden. Einige Flags werden möglicherweise unbeaufsichtigt ignoriert, wenn einige oder alle der zugeordneten Strukturelemente nicht bereitgestellt werden. Wenn Sie für diesen Parameter null angeben, wird der Inhalt der gesamten Struktur ignoriert.

In der folgenden Tabelle sind die möglichen Werte aufgeführt. Diese Werte können mithilfe eines bitweisen OR-Vorgangs kombiniert werden.

Wert Bedeutung
SAFER_CRITERIA_IMAGEPATH
0x00001
Überprüfen Sie den Codebildpfad.
SAFER_CRITERIA_IMAGEHASH
0x00004
Überprüfen Sie den Codehash.
SAFER_CRITERIA_AUTHENTICODE
0x00008
Überprüfen Sie die Authenticode-Signatur. Wenn dieser Wert verwendet wird, muss entweder das hImageFileHandle-Element oder das ImagePath-Element festgelegt werden.
SAFER_CRITERIA_URLZONE
0x00010
Überprüfen Sie die URSPRUNGS-URL.
SAFER_CRITERIA_IMAGEPATH_NT
0x01000
Überprüfen Sie den Windows NT-Imagepfad.
SAFER_CRITERIA_APPX_PACKAGE
0x00020
Suchen Sie nach einem Windows Store-App-Paket. Zur Verwendung durch Windows Store-Apps.

ImagePath

Eine Zeichenfolge, die den vollqualifizierten Pfad und den Dateinamen angibt, die für Diskriminierungsprüfungen basierend auf dem Pfad verwendet werden sollen. Der Imagepfad wird auch verwendet, um die Datei zu öffnen und zu lesen, um andere Diskriminierungskriterien zu identifizieren, die in dieser Struktur nicht angegeben sind. Dieses Element kann NULL sein. Wenn der dwCheckFlags-Member jedoch SAFER_CRITERIA_AUTHENTICODE enthält, muss entweder dieses Element oder das hImageFileHandle-Element festgelegt werden.

hImageFileHandle

Ein Dateihandle für ein Codeimage mit mindestens GENERIC_READ Zugriff. Das Handle wird verwendet, anstatt die Datei explizit erneut zu öffnen, um Diskriminierungskriterien zu berechnen, die in dieser Struktur nicht angegeben sind. Dieses Element kann NULL sein. Wenn dwCheckFlags jedoch SAFER_CRITERIA_AUTHENTICODE enthält, muss entweder dieser Member oder das ImagePath-Element festgelegt werden.

UrlZoneId

Das vordefinierte Internet Explorer Sicherheitszonen. Die folgenden Zonen werden definiert:

  • URLZONE_LOCAL_MACHINE
  • URLZONE_INTRANET
  • URLZONE_TRUSTED
  • URLZONE_INTERNET
  • URLZONE_UNTRUSTED
Dieses Element kann auf 0 festgelegt werden.

ImageHash[SAFER_MAX_HASH_SIZE]

Der vorab berechnete Hash des Images. Der angegebene Hash wird als gültig interpretiert, wenn sowohl der ImageSize-Member als auch der dwImageHashSize-Member nichtzero sind und das HashAlgorithm-Element einen gültigen Hashingalgorithmus von Wincrypt.h enthält.

Wenn der angegebene Hash diese Bedingungen nicht erfüllt, wird der Hash automatisch neu berechnet:

  • Verwenden Sie den ImageSize-Member und den pByteBlock-Member , wenn beide nichtzero sind.
  • Verwenden des hImageFileHandle-Members , wenn es nicht NULL ist.
  • Öffnen und Verwenden des ImagePath-Members , wenn er nicht NULL ist.

dwImageHashSize

Die Größe des ImageHash-Elements in Bytes.

ImageSize

Die Größe des pByteBlock-Elements in Bytes. Dieser Member wird nicht verwendet, wenn das pByteBlock-ElementNULL ist.

HashAlgorithm

Der Hashalgorithmus, der zum Erstellen des ImageHash-Elements verwendet wird.

pByteBlock

Der Speicherblock, der das Image des zu überprüfenden Codes enthält. Dieses Member ist optional. Wenn dieser Member angegeben ist, muss auch das ImageSize-Element angegeben werden.

hWndParent

Die Argumente, die für die Zertifikatüberprüfung des Authenticode-Signaturgebers verwendet werden. Diese Argumente werden an die WinVerifyTrust-Funktion übergeben und steuern die Benutzeroberfläche , die den Benutzer auffordert, anvertraute Zertifikate zu akzeptieren oder abzulehnen.

dwWVTUIChoice

Gibt den Typ der verwendeten Benutzeroberfläche an. In der folgenden Tabelle sind die möglichen Werte aufgeführt.

Wert Bedeutung
WTD_UI_ALL
Zeigt die gesamte Benutzeroberfläche an.
WTD_UI_NONE
Zeigt keine Benutzeroberfläche an.
WTD_UI_NOBAD
Die Benutzeroberfläche wird nur angezeigt, wenn keine Fehler aufgetreten sind.
WTD_UI_NOGOOD
Die Benutzeroberfläche wird nur angezeigt, wenn ein Fehler auftritt.

PackageMoniker

Die Paketmoniker-Eigenschaft. Zur Verwendung durch Windows Store-Apps.

Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 und Windows XP: Dieser Member ist nicht verfügbar.

PackagePublisher

Die Eigenschaft des Paketherausgebers. Zur Verwendung durch Windows Store-Apps.

Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 und Windows XP: Dieser Member ist nicht verfügbar.

PackageName

Die Paketname-Eigenschaft. Zur Verwendung durch Windows Store-Apps.

Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 und Windows XP: Dieser Member ist nicht verfügbar.

PackageVersion

Die Paketversionseigenschaft. Zur Verwendung durch Windows Store-Apps.

Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 und Windows XP: Dieser Member ist nicht verfügbar.

PackageIsFramework

Das Paket ist ein Frameworkpaket. Zur Verwendung durch Windows Store-Apps.

Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 und Windows XP: Dieser Member ist nicht verfügbar.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows XP [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2003 [nur Desktop-Apps]
Kopfzeile winsafer.h