estrutura SAFER_CODE_PROPERTIES_V2 (winsafer.h)

A estrutura SAFER_CODE_PROPERTIES contém informações de imagem de código e critérios a serem verificados na imagem de código. Uma matriz de estruturas SAFER_CODE_PROPERTIES é passada para a função SaferIdentifyLevel .

SAFER_CODE_PROPERTIES_V2 é uma redefinição de SAFER_CODE_PROPERTIES e é uma versão estendida do SAFER_CODE_PROPERTIES_V1 porque inclui novos membros para pacotes de aplicativos da Windows Store. Os chamadores binários existentes podem distinguir qual versão verificando o membro cbSize .

Sintaxe

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;

Membros

cbSize

O tamanho dessa estrutura em bytes. Isso é usado para compatibilidade futura e com versões anteriores.

dwCheckFlags

Os tipos de critérios considerados ao avaliar essa estrutura. Alguns sinalizadores poderão ser ignorados silenciosamente se alguns ou todos os elementos de estrutura associados não forem fornecidos. Especificar zero para esse parâmetro faz com que todo o conteúdo da estrutura seja ignorado.

A tabela a seguir mostra os valores possíveis. Esses valores podem ser combinados usando uma operação OR bit a bit.

Valor Significado
SAFER_CRITERIA_IMAGEPATH
0x00001
Verifique o caminho da imagem de código.
SAFER_CRITERIA_IMAGEHASH
0x00004
Verifique o hash de código.
SAFER_CRITERIA_AUTHENTICODE
0x00008
Verifique a assinatura authenticode. Se esse valor for usado, o membro hImageFileHandle ou o membro ImagePath deverão ser definidos.
SAFER_CRITERIA_URLZONE
0x00010
Verifique a URL de origem.
SAFER_CRITERIA_IMAGEPATH_NT
0x01000
Verifique o caminho da imagem Windows NT.
SAFER_CRITERIA_APPX_PACKAGE
0x00020
Verifique se há um pacote de aplicativos da Windows Store. Para uso por aplicativos da Windows Store.

ImagePath

Uma cadeia de caracteres que especifica o caminho totalmente qualificado e o nome do arquivo a ser usado para verificações de discriminação com base no caminho. O caminho da imagem também é usado para abrir e ler o arquivo para identificar quaisquer outros critérios de discriminação não fornecidos nessa estrutura. Esse membro pode ser NULL; no entanto, se o membro dwCheckFlags incluir SAFER_CRITERIA_AUTHENTICODE, esse membro ou o membro hImageFileHandle deverá ser definido.

hImageFileHandle

Um identificador de arquivo para uma imagem de código com pelo menos GENERIC_READ acesso. O identificador é usado em vez de reabrir explicitamente o arquivo para calcular critérios de discriminação não fornecidos nessa estrutura. Esse membro pode ser NULL; no entanto, se dwCheckFlags incluir SAFER_CRITERIA_AUTHENTICODE, esse membro ou o membro ImagePath deverão ser definidos.

UrlZoneId

A Internet predeterminada Explorer zonas de segurança. As seguintes zonas são definidas:

  • URLZONE_LOCAL_MACHINE
  • URLZONE_INTRANET
  • URLZONE_TRUSTED
  • URLZONE_INTERNET
  • URLZONE_UNTRUSTED
Esse membro pode ser definido como 0.

ImageHash[SAFER_MAX_HASH_SIZE]

O hash pré-calculado da imagem. O hash fornecido será interpretado como válido se o membro ImageSize e o membro dwImageHashSize forem diferentes de zero e o membro HashAlgorithm contiver um algoritmo de hash válido de Wincrypt.h.

Se o hash fornecido não atender a essas condições, o hash será recomputado automaticamente por:

  • Usando o membro ImageSize e o membro pByteBlock se ambos forem diferentes de zero.
  • Usando o membro hImageFileHandle se ele não for NULL.
  • Abrir e usar o membro ImagePath se ele não for NULL.

dwImageHashSize

O tamanho em bytes do membro ImageHash .

ImageSize

O tamanho em bytes do membro pByteBlock . Esse membro não será usado se o membro pByteBlock for NULL.

HashAlgorithm

O algoritmo de hash usado para criar o membro ImageHash .

pByteBlock

O bloco de memória que contém a imagem do código que está sendo verificado. Esse membro é opcional. Se esse membro for especificado, o membro ImageSize também deverá ser fornecido.

hWndParent

Os argumentos usados para a verificação do certificado do signatário authenticode. Esses argumentos são passados para a função WinVerifyTrust e controlam a interface do usuário que solicita que o usuário aceite ou rejeite certificados confiados.

dwWVTUIChoice

Indica o tipo de interface do usuário usada. A tabela a seguir mostra os valores possíveis.

Valor Significado
WTD_UI_ALL
Exibir toda a interface do usuário.
WTD_UI_NONE
Não exibir nenhuma interface do usuário.
WTD_UI_NOBAD
Exibir interface do usuário somente se não houver erros.
WTD_UI_NOGOOD
Exibir interface do usuário somente se ocorrer um erro.

PackageMoniker

A propriedade moniker do pacote. Para uso por aplicativos da Windows Store.

Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 e Windows XP: Este membro não está disponível.

PackagePublisher

A propriedade do editor do pacote. Para uso por aplicativos da Windows Store.

Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 e Windows XP: Este membro não está disponível.

PackageName

A propriedade de nome do pacote. Para uso por aplicativos da Windows Store.

Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 e Windows XP: Este membro não está disponível.

PackageVersion

A propriedade de versão do pacote. Para uso por aplicativos da Windows Store.

Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 e Windows XP: Este membro não está disponível.

PackageIsFramework

O pacote é um pacote de estrutura. Para uso por aplicativos da Windows Store.

Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 e Windows XP: Este membro não está disponível.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows XP [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2003 [somente aplicativos da área de trabalho]
Cabeçalho winsafer.h