estrutura CERT_STORE_PROV_INFO (wincrypt.h)

A estrutura CERT_STORE_PROV_INFO contém informações retornadas pela função CertDllOpenStoreProv instalada quando um repositório é aberto usando o
Função CertOpenStore .

Ao abrir um repositório, a função CertOpenStore define todos os campos na estrutura CERT_STORE_PROV_INFO como zero, exceto cbSize, que é definido como o tamanho de CERT_STORE_PROV_INFO. A estrutura é atualizada pela função instalável CertDllOpenStoreProv . Se não houver funções de retorno de chamada adicionais a serem chamadas, cStoreProvFunc permanecerá zero após o retorno.

Sintaxe

typedef struct _CERT_STORE_PROV_INFO {
  DWORD             cbSize;
  DWORD             cStoreProvFunc;
  void              **rgpvStoreProvFunc;
  HCERTSTOREPROV    hStoreProv;
  DWORD             dwStoreProvFlags;
  HCRYPTOIDFUNCADDR hStoreProvFuncAddr2;
} CERT_STORE_PROV_INFO, *PCERT_STORE_PROV_INFO;

Membros

cbSize

Contém o tamanho, em bytes, dessa estrutura.

cStoreProvFunc

Contém o número de elementos na matriz rgpvStoreProvFunc . Essa contagem deve incluir todos os valores NULL usados em índices antes da última função de retorno de chamada implementada. Por exemplo, se apenas uma função de retorno de chamada for implementada, mas estiver no índice 2 (CERT_STORE_PROV_WRITE_CERT_FUNC), com NULL para índices 0 e 1, o número 3 deverá ser passado para esse parâmetro.

rgpvStoreProvFunc

Uma matriz de ponteiros para as funções de retorno de chamada implementadas pelo provedor. Essa matriz é indexada pelos valores fornecidos na tabela a seguir e eles devem estar na ordem mostrada. A função de retorno de chamada associada também é mostrada. Todas as funções de retorno de chamada que não são implementadas devem ser definidas como NULL. A matriz não precisa conter todos os índices de função de retorno de chamada, ela só precisa conter o índice de função de retorno de chamada mais alto implementado. Por exemplo, se apenas a função de retorno de chamada CERT_STORE_PROV_WRITE_CERT_FUNC (2) for implementada, a matriz só precisará conter três elementos.

Valor Significado
CERT_STORE_PROV_CLOSE_FUNC
0 (0x0)

CertStoreProvCloseCallback

CERT_STORE_PROV_READ_CERT_FUNC
1 (0x1)

CertStoreProvReadCertCallback

CERT_STORE_PROV_WRITE_CERT_FUNC
2 (0x2)

CertStoreProvWriteCertCallback

CERT_STORE_PROV_DELETE_CERT_FUNC
3 (0x3)

CertStoreProvDeleteCertCallback

CERT_STORE_PROV_SET_CERT_PROPERTY_FUNC
4 (0x4)

CertStoreProvSetCertPropertyCallback

CERT_STORE_PROV_READ_CRL_FUNC
5 (0x5)

CertStoreProvReadCRLCallback

CERT_STORE_PROV_WRITE_CRL_FUNC
6 (0x6)

CertStoreProvWriteCRLCallback

CERT_STORE_PROV_DELETE_CRL_FUNC
7 (0x7)

CertStoreProvDeleteCRLCallback

CERT_STORE_PROV_SET_CRL_PROPERTY_FUNC
8 (0x8)

CertStoreProvSetCRLPropertyCallback

CERT_STORE_PROV_READ_CTL_FUNC
9 (0x9)

CertStoreProvReadCTL

CERT_STORE_PROV_WRITE_CTL_FUNC
10 (0xA)

CertStoreProvWriteCTL

CERT_STORE_PROV_DELETE_CTL_FUNC
11 (0xB)

CertStoreProvDeleteCTL

CERT_STORE_PROV_SET_CTL_PROPERTY_FUNC
12 (0xC)

CertStoreProvSetCTLProperty

CERT_STORE_PROV_CONTROL_FUNC
13 (0xD)

CertStoreProvControl

CERT_STORE_PROV_FIND_CERT_FUNC
14 (0xE)

CertStoreProvFindCert

CERT_STORE_PROV_FREE_FIND_CERT_FUNC
15 (0xF)

CertStoreProvFreeFindCert

CERT_STORE_PROV_GET_CERT_PROPERTY_FUNC
16 (0x10)

CertStoreProvGetCertProperty

CERT_STORE_PROV_FIND_CRL_FUNC
17 (0x11)

CertStoreProvFindCRL

CERT_STORE_PROV_FREE_FIND_CRL_FUNC
18 (0x12)

CertStoreProvFreeFindCRL

CERT_STORE_PROV_GET_CRL_PROPERTY_FUNC
19 (0x13)

CertStoreProvGetCRLProperty

CERT_STORE_PROV_FIND_CTL_FUNC
20 (0x14)

CertStoreProvFindCTL

CERT_STORE_PROV_FREE_FIND_CTL_FUNC
21 (0x15)

CertStoreProvFreeFindCTL

CERT_STORE_PROV_GET_CTL_PROPERTY_FUNC
22 (0x16)

CertStoreProvGetCTLProperty

hStoreProv

Um valor definido pelo aplicativo de 32 bits que é o primeiro parâmetro passado para todos os retornos de chamada. Um aplicativo pode especificar o conteúdo desse membro conforme desejado. Normalmente, esse é um ponteiro para dados específicos do aplicativo, como informações de estado do provedor para cada repositório aberto.

dwStoreProvFlags

Contém um conjunto de sinalizadores que especificam como o provedor funciona. Contém zero ou uma combinação de um ou mais dos valores a seguir.

Valor Significado
CERT_STORE_PROV_EXTERNAL_FLAG
1 (0x1)
O provedor armazena certificados, listas de revogação de certificados e listas de certificados confiáveis externas ao cache do repositório.
CERT_STORE_PROV_DELETED_FLAG
2 (0x2)
O repositório foi excluído com êxito. O retorno de chamada CertStoreProvCloseCallback não é chamado.
CERT_STORE_PROV_NO_PERSIST_FLAG
4 (0x4)
Por padrão, o provedor persistirá as alterações feitas no repositório. Se esse sinalizador for definido, o provedor não persistirá as alterações feitas no repositório.
CERT_STORE_PROV_SYSTEM_STORE_FLAG
8 (0x8)
O provedor persiste contextos em um repositório do sistema.
CERT_STORE_PROV_LM_SYSTEM_STORE_FLAG
16 (0x10)
O provedor persiste contextos em um repositório de sistema LocalMachine.

hStoreProvFuncAddr2

Contém o identificador retornado por CryptGetOIDFunctionAddress. CertCloseStore chama CryptFreeOIDFunctionAddress para liberar um hStoreProvFuncAddr2 não nulo. Isso permite que o retorno de chamada chame uma outra função instalável que será liberada quando o repositório for fechado.

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