Compartir a través de


estructura SAFER_CODE_PROPERTIES_V1 (winsafer.h)

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

SAFER_CODE_PROPERTIES_V1 no incluye los nuevos miembros de 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_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;

Miembros

cbSize

Tamaño, en bytes, de esta estructura. 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.

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 precalado 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 vuelve a calcular automáticamente mediante:

  • Con el miembro ImageSize y el miembro pByteBlock , si ambos son distintos de cero.
  • Con el miembro hImageFileHandle , si no es NULL.
  • 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 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.

Comentarios

SAFER_CODE_PROPERTIES se redefinió para incluir miembros adicionales que permiten que la aplicación de la Tienda Windows use la estructura . Compruebe el miembro cbSize para conocer el tamaño adecuado de la estructura y si debe usar la estructura SAFER_CODE_PROPERTIES o la estructura SAFER_CODE_PROPERTIES_V1 .

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