estrutura SAFER_CODE_PROPERTIES_V1 (winsafer.h)

A estrutura SAFER_CODE_PROPERTIES_V1 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_V1 é passada para a função SaferIdentifyLevel .

SAFER_CODE_PROPERTIES_V1 não inclui os 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_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;

Membros

cbSize

O tamanho, em bytes, dessa estrutura. 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.

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é-compilado 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.

Comentários

SAFER_CODE_PROPERTIES foi redefinido para incluir membros adicionais que permitem que o aplicativo da Windows Store use a estrutura. Verifique o membro cbSize quanto ao tamanho apropriado da estrutura e se você deve usar a estrutura SAFER_CODE_PROPERTIES ou a estrutura SAFER_CODE_PROPERTIES_V1 .

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