estrutura CERT_SELECT_STRUCT_A (cryptdlg.h)

A estrutura CERT_SELECT_STRUCT contém critérios sobre os quais selecionar certificados apresentados em uma caixa de diálogo de seleção de certificado. Essa estrutura é usada na função CertSelectCertificate .

Sintaxe

typedef struct tagCSSA {
  DWORD           dwSize;
  HWND            hwndParent;
  HINSTANCE       hInstance;
  LPCSTR          pTemplateName;
  DWORD           dwFlags;
  LPCSTR          szTitle;
  DWORD           cCertStore;
  HCERTSTORE      *arrayCertStore;
  LPCSTR          szPurposeOid;
  DWORD           cCertContext;
  PCCERT_CONTEXT  *arrayCertContext;
  LPARAM          lCustData;
  PFNCMHOOKPROC   pfnHook;
  PFNCMFILTERPROC pfnFilter;
  LPCSTR          szHelpFileName;
  DWORD           dwHelpId;
  HCRYPTPROV      hprov;
} CERT_SELECT_STRUCT_A, *PCERT_SELECT_STRUCT_A;

Membros

dwSize

O tamanho, em bytes, dessa estrutura.

hwndParent

Um identificador para a janela pai de qualquer caixa de diálogo gerada por CertSelectCertificate .

hInstance

Um identificador para o módulo cujo arquivo executável contém o modelo de caixa de diálogo.

pTemplateName

Se o sinalizador CSS_ENABLETEMPLATE for definido no membro dwFlags , defina pTemplateName como um ponteiro para um objeto de memória global que contém o modelo que DialogBoxIndirectParam usa para criar a caixa de diálogo. Um modelo de caixa de diálogo consiste em um cabeçalho que descreve a caixa de diálogo. O cabeçalho é seguido por um ou mais blocos de dados adicionais que descrevem cada um dos controles na caixa de diálogo. O modelo pode usar o formato padrão ou o formato estendido.

Se o sinalizador CSS_ENABLETEMPLATEHANDLE estiver definido em dwFlags, pTemplateName especificará o modelo da caixa de diálogo. pTemplateName é o ponteiro para uma cadeia de caracteres terminada em nulo que especifica o nome do modelo da caixa de diálogo ou um valor inteiro que especifica o identificador de recurso do modelo da caixa de diálogo. Se o especificar um identificador de recurso, sua palavra de alta ordem deverá ser zero e sua palavra de baixa ordem deverá conter o identificador. Uma maneira de criar esse valor inteiro é usar a macro MAKEINTRESOURCE .

dwFlags

Esse membro pode ser um ou mais dos valores a seguir.

Valor Significado
CSS_HIDE_PROPERTIES
Oculte o botão Propriedades .
CSS_ENABLEHOOK
Passe um procedimento de gancho no pfnHook.
CSS_ALLOWMULTISELECT
Habilite a seleção múltipla de certificados. No momento, essa opção não tem suporte e é ignorada.
CSS_SHOW_HELP
Mostrar o botão Ajuda .
CSS_ENABLETEMPLATE
Faça com que a função CertSelectCertificate chame a função DialogBoxIndirectParam para criar uma caixa de diálogo. Para obter mais informações, consulte pTemplateName.
CSS_ENABLETEMPLATEHANDLE
Faça com que a função CertSelectCertificate chame a função DialogBoxParam para criar uma caixa de diálogo. Para obter mais informações, consulte pTemplateName.

szTitle

Um ponteiro para uma cadeia de caracteres que contém o texto do título da caixa de diálogo.

cCertStore

O número de elementos na matriz ArrayCertStore .

arrayCertStore

Um ponteiro para a matriz de certificado armazena que a caixa de diálogo enumera e exibe os certificados de . O membro cCertStore contém o número de elementos nessa matriz.

szPurposeOid

Um ponteiro para uma representação de cadeia de caracteres de um OID (identificador de objeto) para um EKU (uso avançado de chave). Se um OID for fornecido, somente os certificados que incluem esse EKU serão exibidos.

cCertContext

O número de elementos na matriz ArrayCertContext . Depois que a função CertSelectCertificate retornar, esse membro conterá o número de certificados que foram selecionados pelo usuário. Atualmente, apenas um certificado pode ser selecionado pelo usuário.

arrayCertContext

Um ponteiro para uma matriz de estruturas CERT_CONTEXT . O membro cCertContext especifica o número de elementos nessa matriz. Essa matriz deve conter pelo menos um elemento.

Os certificados representados por essas estruturas são selecionados quando a caixa de diálogo exibida pela função CertSelectCertificate é inicialmente exibida. Atualmente, somente o primeiro certificado nessa matriz é usado. O primeiro certificado nessa matriz será liberado com a função CertFreeCertificateContext se a função CertSelectCertificate for bem-sucedida. Se o primeiro elemento nessa matriz for NULL, nenhum certificado será selecionado inicialmente na caixa de diálogo.

Depois que a função CertSelectCertificate retornar, essa matriz conterá os certificados que foram selecionados pelo usuário. Atualmente, apenas um certificado pode ser selecionado pelo usuário.

lCustData

Um ponteiro para uma matriz de valores de bytes que contêm dados personalizados que são passados para o procedimento de filtro referenciado por pfnFilter. Esses dados personalizados não são usados pela função CertSelectCertificate .

pfnHook

Um ponteiro de função PFNCMHOOKPROC para a função de retorno de chamada Hook. Essa função é chamada antes que as mensagens sejam processadas pela caixa de diálogo. Para obter mais informações, consulte Ganchos.

pfnFilter

Um ponteiro de função PFNCMFILTERPROC para a função de retorno de chamada de filtro. Isso é chamado para determinar quais certificados serão exibidos pela caixa de diálogo.

szHelpFileName

Um ponteiro para uma cadeia de caracteres terminada em nulo que contém o caminho completo para o arquivo de Ajuda.

dwHelpId

O identificador de contexto do tópico. Para obter mais informações, consulte
WinHelp.

hprov

Um identificador para o CSP ( Provedor de Serviços Criptográficos ) a ser usado para verificação de certificado.

Comentários

Observação

O cabeçalho cryptdlg.h define CERT_SELECT_STRUCT como um alias que seleciona automaticamente a versão ANSI ou Unicode dessa função com base na definição da constante de pré-processador UNICODE. Misturar o uso do alias neutro de codificação com código que não seja neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Convenções para protótipos de função.

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 cryptdlg.h

Confira também

CertSelectCertificate