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.
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
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 |
---|---|
|
Mostrar toda la interfaz de usuario. |
|
No muestra ninguna interfaz de usuario. |
|
Mostrar la interfaz de usuario solo si no se produjeron errores. |
|
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 |