Compartir a través de


estructura SAFER_CODE_PROPERTIES_V2 (winsafer.h)

La estructura SAFER_CODE_PROPERTIES contiene información de imagen de código y criterios que se van a comprobar en la imagen de código. Una matriz de estructuras SAFER_CODE_PROPERTIES se pasa a la función SaferIdentifyLevel .

SAFER_CODE_PROPERTIES_V2 es una redefinición de SAFER_CODE_PROPERTIES y es una versión extendida de SAFER_CODE_PROPERTIES_V1 porque incluye nuevos miembros para los paquetes de aplicaciones de la Tienda Windows. Los llamadores binarios existentes pueden distinguir qué versión comprobando el miembro cbSize .

Sintaxis

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;

Miembros

cbSize

Tamaño de esta estructura en bytes. Se usa para compatibilidad futura y con versiones anteriores.

dwCheckFlags

Los tipos de criterios que se tienen en cuenta al evaluar esta estructura. Es posible que algunas marcas se omitan silenciosamente si no se proporcionan algunos o todos sus elementos de estructura asociados. Si se especifica cero para este parámetro, se omitirá el contenido de toda la estructura.

En la siguiente tabla se muestran los valores posibles. Estos valores se pueden combinar mediante una operación OR bit a bit.

Valor Significado
SAFER_CRITERIA_IMAGEPATH
0x00001
Compruebe la ruta de acceso de la imagen de código.
SAFER_CRITERIA_IMAGEHASH
0x00004
Compruebe el hash de código.
SAFER_CRITERIA_AUTHENTICODE
0x00008
Compruebe la firma Authenticode. Si se usa este valor, se debe establecer el miembro hImageFileHandle o el miembro ImagePath .
SAFER_CRITERIA_URLZONE
0x00010
Compruebe la dirección URL del origen.
SAFER_CRITERIA_IMAGEPATH_NT
0x01000
Compruebe la ruta de acceso de la imagen de Windows NT.
SAFER_CRITERIA_APPX_PACKAGE
0x00020
Busca un paquete de aplicación de la Tienda Windows. Para su uso por parte de las aplicaciones de la Tienda Windows.

ImagePath

Cadena que especifica la ruta de acceso completa y el nombre de archivo que se usará para las comprobaciones de discriminación en función de la ruta de acceso. La ruta de acceso de la imagen también se usa para abrir y leer el archivo para identificar cualquier otro criterio de discriminación no proporcionado en esta estructura. Este miembro puede ser NULL; sin embargo, si el miembro dwCheckFlags incluye SAFER_CRITERIA_AUTHENTICODE, este miembro o el miembro hImageFileHandle deben establecerse.

hImageFileHandle

Identificador de archivo para una imagen de código con al menos GENERIC_READ acceso. El identificador se usa en lugar de volver a abrir explícitamente el archivo para calcular los criterios de discriminación no proporcionados en esta estructura. Este miembro puede ser NULL; Sin embargo, si dwCheckFlags incluye SAFER_CRITERIA_AUTHENTICODE, se debe establecer este miembro o el miembro ImagePath .

UrlZoneId

Zonas de seguridad predeterminadas de Internet Explorer. Se definen las siguientes zonas:

  • URLZONE_LOCAL_MACHINE
  • URLZONE_INTRANET
  • URLZONE_TRUSTED
  • URLZONE_INTERNET
  • URLZONE_UNTRUSTED
Este miembro se puede establecer en 0.

ImageHash[SAFER_MAX_HASH_SIZE]

Hash calculado previamente de la imagen. El hash proporcionado se interpreta como válido si tanto el miembro ImageSize como el miembro dwImageHashSize son distintos de cero y el miembro HashAlgorithm contiene un algoritmo hash válido de Wincrypt.h.

Si el hash proporcionado no cumple estas condiciones, el hash se volverá a calcular automáticamente mediante:

  • Si ambos son distintos de cero, use el miembro ImageSize y el miembro pByteBlock .
  • Si no es NULL, use el miembro hImageFileHandle.
  • Abrir y usar el miembro ImagePath si no es NULL.

dwImageHashSize

Tamaño en bytes del miembro ImageHash .

ImageSize

Tamaño en bytes del miembro pByteBlock . Este miembro no se usa si el miembro pByteBlock es NULL.

HashAlgorithm

Algoritmo hash usado para crear el miembro ImageHash .

pByteBlock

Bloque de memoria que contiene la imagen del código que se está comprobando. Este miembro es opcional. Si se especifica este miembro, también se debe proporcionar el miembro ImageSize .

hWndParent

Argumentos usados para la comprobación del certificado del firmante de Authenticode. Estos argumentos se pasan a la función WinVerifyTrust y controlan la interfaz de usuario (UI) que pide al usuario que acepte o rechace los certificados de confianza.

dwWVTUIChoice

Indica el tipo de interfaz de usuario usada. En la siguiente tabla se muestran los valores posibles.

Valor Significado
WTD_UI_ALL
Mostrar toda la interfaz de usuario.
WTD_UI_NONE
No muestra ninguna interfaz de usuario.
WTD_UI_NOBAD
Mostrar la interfaz de usuario solo si no se produjeron errores.
WTD_UI_NOGOOD
Mostrar la interfaz de usuario solo si se produce un error.

PackageMoniker

La propiedad de moniker del paquete. Para su uso por parte de las aplicaciones de la Tienda Windows.

Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 y Windows XP: Este miembro no está disponible.

PackagePublisher

Propiedad del publicador del paquete. Para su uso por parte de las aplicaciones de la Tienda Windows.

Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 y Windows XP: Este miembro no está disponible.

PackageName

Propiedad de nombre del paquete. Para su uso por parte de las aplicaciones de la Tienda Windows.

Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 y Windows XP: Este miembro no está disponible.

PackageVersion

La propiedad de versión del paquete. Para su uso por parte de las aplicaciones de la Tienda Windows.

Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 y Windows XP: Este miembro no está disponible.

PackageIsFramework

El paquete es un paquete de marco. Para su uso por parte de las aplicaciones de la Tienda Windows.

Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 y Windows XP: Este miembro no está disponible.

Requisitos

Requisito Value
Cliente mínimo compatible Windows XP [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2003 [solo aplicaciones de escritorio]
Encabezado winsafer.h