Compartilhar via


PFN_CERT_DLL_OPEN_STORE_PROV_FUNC função de retorno de chamada (wincrypt.h)

A função CertDllOpenStoreProv é implementada por um provedor de lojas e é usada para abrir um repositório. Essa função é chamada pela função CertOpenStore .

Nota Os primeiros cinco parâmetros são idênticos aos parâmetros correspondentes no CertOpenStore.
 

Sintaxe

PFN_CERT_DLL_OPEN_STORE_PROV_FUNC PfnCertDllOpenStoreProvFunc;

BOOL PfnCertDllOpenStoreProvFunc(
  [in]      LPCSTR lpszStoreProvider,
  [in]      DWORD dwEncodingType,
  [in]      HCRYPTPROV_LEGACY hCryptProv,
  [in]      DWORD dwFlags,
  [in]      const void *pvPara,
  [in]      HCERTSTORE hCertStore,
  [in, out] PCERT_STORE_PROV_INFO pStoreProvInfo
)
{...}

Parâmetros

[in] lpszStoreProvider

Um ponteiro para uma cadeia de caracteres ANSI terminada em nulo que contém o tipo de provedor de repositório.

Os valores a seguir representam os tipos de repositório predefinidos. O tipo de provedor de repositório determina o conteúdo do parâmetro pvPara e o uso e o significado da palavra alta do parâmetro dwFlags . Provedores de repositório adicionais podem ser instalados ou registrados usando a função CryptInstallOIDFunctionAddress ou CryptRegisterOIDFunction . Para obter mais informações sobre como adicionar provedores de repositório, consulte Estendendo a funcionalidade CertOpenStore.

Identificador do provedor Descrição conteúdo pvPara
CERT_STORE_PROV_MEMORY

sz_CERT_STORE_PROV_MEMORY

Cria um repositório de certificados na memória armazenada em cache. Nenhum certificado, CRLs ( listas de certificados revogados ) ou CTLs ( listas de certificados confiáveis ) são inicialmente carregados no repositório. Normalmente usado para criar um repositório temporário.

Qualquer adição de certificados, CRLs ou CTLs ou alterações nas propriedades de certificados, CRLs ou CTLs em um repositório de memória não é salva automaticamente. Eles podem ser salvos em um arquivo ou em um BLOB de memória usando CertSaveStore.

Não usado.
CERT_STORE_PROV_FILE Inicializa o repositório com certificados, CRLs e CTLs lidos de um arquivo aberto especificado. Esse provedor espera que o arquivo contenha apenas um repositório serializado e não mensagens assinadas PKCS nº 7 ou um único certificado codificado.

O ponteiro do arquivo deve ser posicionado no início das informações do repositório serializado. Depois que os dados no repositório serializado forem carregados no repositório de certificados, o ponteiro do arquivo será posicionado no início de quaisquer dados que possam seguir os dados do repositório serializado no arquivo. Se CERT_FILE_STORE_COMMIT_ENABLE for definido em dwFlags, o identificador de arquivo será duplicado e o repositório sempre será confirmado como um repositório serializado. O arquivo não é fechado quando o repositório é fechado.

Um ponteiro para o identificador de um arquivo aberto com CreateFile.
CERT_STORE_PROV_FILENAME_A Inicializa o repositório com certificados, CRLs e CTLs de um arquivo. O provedor abre o arquivo e primeiro tenta ler o arquivo como um repositório serializado, depois como uma mensagem assinada PKCS nº 7 e, por fim, como um único certificado codificado.

O parâmetro dwEncodingType deve conter os tipos de codificação a serem usados com mensagens e certificados. Se o arquivo contiver um certificado codificado em X.509 , a operação aberta falhará com GetLastError e retornará ERROR_ACCESS_DENIED. Se o sinalizador CERT_FILE_STORE_COMMIT_ENABLE for definido em dwFlags, o valor dwCreationDisposition passado para CreateFile será o seguinte:

  • Se o sinalizador CERT_STORE_CREATE_NEW_FLAG estiver definido, CreateFile usará CREATE_NEW.
  • Se o sinalizador CERT_STORE_OPEN_EXISTING_FLAG estiver definido, CreateFile usará OPEN_EXISTING.
  • Para todas as outras configurações de dwFlags, CreateFile usa OPEN_ALWAYS.

Se dwFlags incluir CERT_FILE_STORE_COMMIT_ENABLE, o arquivo será confirmado como um PKCS nº 7 ou um repositório serializado, dependendo do tipo de arquivo aberto. Se o arquivo estiver vazio ou se o nome do arquivo tiver uma extensão .p7c ou .spc, o arquivo será confirmado como um PKCS #7. Caso contrário, o arquivo será confirmado como um repositório serializado.

Um ponteiro para a cadeia de caracteres ANSI terminada em nulo que contém o nome de um arquivo não aberto existente.
CERT_STORE_PROV_FILENAME

CERT_STORE_PROV_FILENAME_W

sz_CERT_STORE_PROV_FILENAME

sz_CERT_STORE_PROV_FILENAME_W

O mesmo que CERT_STORE_PROV_FILENAME_A. Um ponteiro para a cadeia de caracteres Unicode terminada em nulo que contém o nome de um arquivo não aberto existente.
CERT_STORE_PROV_COLLECTION

sz_CERT_STORE_PROV_COLLECTION

Abre um repositório que será uma coleção de outras lojas. Os repositórios são adicionados ou removidos da coleção usando CertAddStoreToCollection e CertRemoveStoreFromCollection. Quando um repositório é adicionado a uma coleção, todos os certificados, CRLs e CTLs nesse repositório ficam disponíveis para pesquisas ou enumerações do repositório de coleção.

A palavra alta de dwFlags é definida como zero.

Deve ser NULL.
CERT_STORE_PROV_REG Inicializa o repositório com certificados, CRLs e CTLs de uma subchave do Registro.

Esse provedor abre ou cria as subchaves do Registro Certificados, CRLs e CTLs sob a chave passada em pvPara. A chave de entrada não é fechada pelo provedor. Antes de retornar, o provedor abre sua própria cópia da chave passada em pvPara. Se CERT_STORE_READONLY_FLAG estiver definido na palavra baixa de dwFlags, as subchaves do Registro serão abertas usando RegOpenKey com KEY_READ_ACCESS. Caso contrário, as subchaves do Registro são criadas usando RegCreateKey com KEY_ALL_ACCESS. Todas as alterações no conteúdo do repositório aberto são persistidas imediatamente no registro. No entanto, se CERT_STORE_READONLY_FLAG estiver definido na palavra baixa de dwFlags, qualquer tentativa de adicionar ao conteúdo do repositório ou alterar a propriedade de um contexto resultará em um erro com GetLastError retornando o código E_ACCESSDENIED.

O identificador de uma chave do Registro aberta.
CERT_STORE_PROV_SYSTEM_A Inicializa o repositório com certificados, CRLs e CTLs do repositório do sistema especificado.

O repositório do sistema é um repositório de coleções lógico que consiste em um ou mais repositórios físicos. Um repositório físico associado a um repositório do sistema é registrado com a função CertRegisterPhysicalStore . Depois que o repositório do sistema é aberto, todos os repositórios físicos associados a ele também são abertos por chamadas para CertOpenStore e são adicionados à coleção de repositórios do sistema usando a função CertAddStoreToCollection . A palavra alta de dwFlags indica o local do repositório do sistema, geralmente definido como CERT_SYSTEM_STORE_CURRENT_USER. Para obter detalhes sobre os locais do Registro, consulte dwFlags mais adiante neste tópico e Localizações do Repositório do Sistema. Alguns locais de repositório do sistema podem ser abertos remotamente; para obter mais informações, consulte Locais do Repositório do Sistema.

Um ponteiro para uma cadeia de caracteres ANSI terminada em nulo que contém um nome de repositório do sistema, como "My" ou "Root".
CERT_STORE_PROV_SYSTEM

CERT_STORE_PROV_SYSTEM_W

sz_CERT_STORE_PROV_SYSTEM

sz_CERT_STORE_PROV_SYSTEM_W

O mesmo que CERT_STORE_PROV_SYSTEM_A. Um ponteiro para uma cadeia de caracteres Unicode terminada em nulo que contém um nome de repositório do sistema, como "My" ou "Root".
CERT_STORE_PROV_SYSTEM_REGISTRY_A Inicializa o repositório com certificados, CRLs e CTLs de um repositório de registro físico. O repositório físico não é aberto como um repositório de coleção. Enumerações e pesquisas passam apenas pelos certificados, CRLs e CTLs nesse repositório físico.

A palavra alta de dwFlags indica o local do repositório do sistema, geralmente definido como CERT_SYSTEM_STORE_CURRENT_USER. Para obter mais informações, consulte dwFlags mais adiante neste tópico. Alguns locais de repositório do sistema podem ser abertos remotamente; para obter mais informações, consulte Locais do Repositório do Sistema.

Um ponteiro para uma cadeia de caracteres ANSI terminada em nulo que contém um nome de repositório do sistema, como "My" ou "Root".
CERT_STORE_PROV_SYSTEM_REGISTRY

CERT_STORE_PROV_SYSTEM_REGISTRY_W

sz_CERT_STORE_PROV_SYSTEM_REGISTRY

sz_CERT_STORE_PROV_SYSTEM_REGISTRY_W

O mesmo que CERT_STORE_PROV_SYSTEM_REGISTRY_A. Um ponteiro para uma cadeia de caracteres Unicode terminada em nulo que contém um nome de repositório do sistema, como "My" ou "Root".
CERT_STORE_PROV_PHYSICAL

CERT_STORE_PROV_PHYSICAL_W

sz_CERT_STORE_PROV_PHYSICAL

sz_CERT_STORE_PROV_PHYSICAL_W

Inicializa o repositório com certificados, CRLs e CTLs de um repositório físico especificado que é membro de um repositório de sistema lógico.

Dois nomes são separados com uma barra invertida (\), por exemplo, "Root.LocalMachine". Aqui, "Raiz" é o nome do repositório do sistema e ". LocalMachine" é o nome do repositório físico. Os nomes do sistema e do repositório físico não podem conter barras invertidas. A palavra alta de dwFlags indica o local do repositório do sistema, geralmente CERT_SYSTEM_STORE_CURRENT_USER. Para obter mais informações, consulte dwFlags mais adiante neste tópico. Alguns locais de repositório físico podem ser abertos remotamente.

Um ponteiro para uma cadeia de caracteres Unicode terminada em nulo que contém o nome do repositório do sistema e os nomes físicos.
CERT_STORE_PROV_MSG Inicializa o repositório com certificados, CRLs e CTLs da mensagem criptográfica especificada. O parâmetro dwEncodingType deve conter os tipos de codificação usados com mensagens e certificados. Um identificador HCRYPTMSG da mensagem codificada, retornado por uma chamada para CryptMsgOpenToDecode.
CERT_STORE_PROV_PKCS7

sz_CERT_STORE_PROV_PKCS7

Inicializa o repositório com certificados, CRLs e CTLs de uma mensagem assinada PKCS nº 7 codificada. O parâmetro dwEncodingType deve especificar os tipos de codificação a serem usados com mensagens e certificados. Um ponteiro para uma estrutura CRYPT_DATA_BLOB que representa a mensagem codificada.
CERT_STORE_PROV_SERIALIZED

sz_CERT_STORE_PROV_SERIALIZED

Inicializa o repositório com certificados, CRLs e CTLs de um local de memória que contém um repositório serializado. Um ponteiro para uma estrutura CRYPT_DATA_BLOB que contém o BLOB de memória serializada.
CERT_STORE_PROV_LDAP

CERT_STORE_PROV_LDAP_W

sz_CERT_STORE_PROV_LDAP

sz_CERT_STORE_PROV_LDAP_W

Inicializa o repositório com certificados, CRLs e CTLs dos resultados de uma consulta LDAP.

Para executar operações de gravação no repositório, a cadeia de caracteres de consulta deve especificar uma consulta BASE sem filtro e um único atributo.

Se o parâmetro dwFlags contiver o sinalizador CERT_LDAP_STORE_OPENED_FLAG , esse será o endereço de uma estrutura CERT_LDAP_STORE_OPENED_PARA que especifica a sessão LDAP estabelecida a ser usada.

Caso contrário, esse é um ponteiro para uma cadeia de caracteres Unicode terminada em nulo que contém a cadeia de caracteres de consulta LDAP. Para obter mais informações sobre cadeias de caracteres de consulta LDAP, consulte Dialeto LDAP.

CERT_STORE_PROV_SMART_CARD

CERT_STORE_PROV_SMART_CARD_W

sz_CERT_STORE_PROV_SMART_CARD

sz_CERT_STORE_PROV_SMART_CARD_W

Não usado no momento.  

[in] dwEncodingType

Especifica o tipo de codificação de certificado e o tipo de codificação de mensagem. A codificação é usada somente quando o parâmetro dwSaveAs da função CertSaveStore contém CERT_STORE_SAVE_AS_PKCS7. Caso contrário, o parâmetro dwEncodingType não será usado.

Esse parâmetro só é aplicável quando o tipo de provedor CERT_STORE_PROV_MSG, CERT_STORE_PROV_PKCS7 ou CERT_STORE_PROV_FILENAME é especificado no parâmetro lpszStoreProvider . Para todos os outros tipos de provedor, esse parâmetro não é usado e deve ser definido como zero.

Esse parâmetro pode ser uma combinação de um ou mais dos valores a seguir.

Valor Significado
PKCS_7_ASN_ENCODING
65536 (0x10000)
Especifica a codificação de mensagens PKCS nº 7.
X509_ASN_ENCODING
1 (0x1)
Especifica a codificação de certificado X.509.

[in] hCryptProv

Um identificador para um provedor criptográfico. Este parâmetro pode ser NULL.

[in] dwFlags

Esses valores consistem em valores de palavra alta e palavra baixa combinados usando uma operação OR bit a bit.

A parte de palavra baixa de dwFlags controla uma variedade de características gerais do repositório de certificados aberto. Essa parte pode ser usada com todos os tipos de provedor de repositório. A parte de palavra baixa de dwFlags pode ser um dos valores a seguir.

Valor Significado
CERT_STORE_CREATE_NEW_FLAG
Crie um novo repositório se um não existir. Essa função deverá falhar se o repositório já existir.

Se nem CERT_STORE_OPEN_EXISTING_FLAG nem CERT_STORE_CREATE_NEW_FLAG estiver definido, abra um repositório existente ou crie e abra um repositório se ele ainda não existir.

CERT_STORE_DEFER_CLOSE_UNTIL_LAST_FREE_FLAG
Adie o fechamento do provedor do repositório até que todos os certificados, CRLs ou CTLs obtidos do repositório não estejam mais em uso. Na verdade, o repositório é fechado quando o último certificado, CRL ou CTL obtido do repositório é liberado. Todas as alterações feitas nas propriedades desses certificados, CRLs e CTLs, mesmo após a chamada a essa função, devem ser mantidas.

Se esse sinalizador não estiver definido e certificados, CRLs ou CTLs obtidos do repositório ainda estiverem em uso, quaisquer alterações nas propriedades desses certificados, CRLs e CTLs não deverão ser mantidas.

Se essa função for chamada com CERT_CLOSE_STORE_FORCE_FLAG, CERT_STORE_DEFER_CLOSE_UNTIL_LAST_FREE_FLAG deverá ser ignorado.

Quando esse sinalizador é definido e um valor HCRYPTPROV não NULL é passado, esse provedor continuará a ser usado mesmo após a chamada para essa função.

CERT_STORE_DELETE_FLAG
O repositório é excluído em vez de ser aberto. Essa função retorna FALSE para êxito e falha da exclusão. Para indicar o sucesso da exclusão, chame SetLastError com zero. Para indicar a falha da exclusão, chame SetLastError com o código de erro apropriado.
CERT_STORE_ENUM_ARCHIVED_FLAG
Normalmente, uma enumeração de todos os certificados no repositório ignorará qualquer certificado com a propriedade CERT_ARCHIVED_PROP_ID definida. Se esse sinalizador for definido, uma enumeração dos certificados no repositório conterá todos os certificados no repositório, incluindo aqueles que têm a propriedade CERT_ARCHIVED_PROP_ID .
CERT_STORE_MAXIMUM_ALLOWED
Abra o repositório com o conjunto máximo de permissões permitidas. Se esse sinalizador for especificado, os repositórios do Registro serão abertos pela primeira vez com acesso de gravação e, se isso falhar, eles serão reabertos com acesso somente leitura.
CERT_STORE_NO_CRYPT_RELEASE_FLAG
Esse sinalizador não é usado quando o parâmetro hCryptProv é NULL. Esse sinalizador só é válido quando um identificador CSP não NULL é passado como o parâmetro hCryptProv . Definir esse sinalizador impede a versão automática de um CSP não padrão quando o repositório de certificados é fechado.
CERT_STORE_OPEN_EXISTING_FLAG
Abra apenas um repositório existente. Se o repositório não existir, a função falhará.
CERT_STORE_READONLY_FLAG
Abra o repositório no modo somente leitura. Qualquer tentativa de alterar o conteúdo do repositório resultará em um erro. Quando esse sinalizador é definido e um provedor de repositório baseado em registro está sendo usado, as subchaves do Registro são abertas usando RegOpenKey com KEY_READ_ACCESS. Caso contrário, as subchaves do Registro são criadas usando RegCreateKey com KEY_ALL_ACCESS.
CERT_STORE_SET_LOCALIZED_NAME_FLAG
Se esse sinalizador tiver suporte, o provedor definirá a propriedade CERT_STORE_LOCALIZED_NAME_PROP_ID do repositório. O nome localizado pode ser recuperado chamando a função CertGetStoreProperty com dwPropID definido como CERT_STORE_LOCALIZED_NAME_PROP_ID. Esse sinalizador tem suporte para provedores de tipos CERT_STORE_PROV_FILENAME, CERT_STORE_PROV_SYSTEM, CERT_STORE_PROV_SYSTEM_REGISTRY e CERT_STORE_PROV_PHYSICAL_W.
CERT_STORE_SHARE_CONTEXT_FLAG
Ao abrir um repositório várias vezes, você pode definir esse sinalizador para garantir o uso eficiente da memória reutilizando a memória para as partes codificadas de um contexto de certificado, CRL ou CTL nas instâncias abertas dos repositórios.
CERT_STORE_UPDATE_KEYID_FLAG
Listas de identificadores de chave existem em CurrentUser e LocalMachine. Esses identificadores de chave têm propriedades muito semelhantes às propriedades dos certificados. Se o CERT_STORE_UPDATE_KEYID_FLAG estiver definido, para cada identificador de chave no local do repositório que tem uma propriedade CERT_KEY_PROV_INFO_PROP_ID , essa propriedade será atualizada automaticamente da propriedade do identificador de chave CERT_KEY_PROV_INFO_PROP_ID ou do CERT_KEY_IDENTIFIER_PROP_ID do certificado relacionado a esse identificador de chave.
CERT_STORE_BACKUP_RESTORE_FLAG
Use os privilégios de SE_BACKUP_NAME e SE_RESTORE_NAME do thread para abrir repositórios de sistema baseados em arquivo ou registro. Se o thread não tiver esses privilégios, essa função deverá falhar com um erro de acesso negado.
 

Os tipos de provedor CERT_STORE_PROV_SYSTEM, CERT_STORE_PROV_SYSTEM_REGISTRY e CERT_STORE_PROV_PHYSICAL usam as seguintes palavras altas de dwFlags para especificar locais de registro do repositório do sistema:

CERT_SYSTEM_STORE_CURRENT_SERVICE

CERT_SYSTEM_STORE_CURRENT_USER

CERT_SYSTEM_STORE_CURRENT_USER_GROUP_POLICY

CERT_SYSTEM_STORE_LOCAL_MACHINE

CERT_SYSTEM_STORE_LOCAL_MACHINE_ENTERPRISE

CERT_SYSTEM_STORE_LOCAL_MACHINE_GROUP_POLICY

CERT_SYSTEM_STORE_SERVICES

CERT_SYSTEM_STORE_USERS

Por padrão, um local de repositório do sistema é aberto em relação ao HKEY_CURRENT_USER, HKEY_LOCAL_MACHINE ou HKEY_USERS chave predefinida do Registro. Para obter mais informações, consulte Locais do Repositório do Sistema.

Os sinalizadores de palavra alta a seguir substituem esse comportamento padrão.

Valor Significado
CERT_SYSTEM_STORE_RELOCATE_FLAG
Quando definido, pvPara deve conter um ponteiro para uma estrutura CERT_SYSTEM_STORE_RELOCATE_PARA em vez de uma cadeia de caracteres. A estrutura indica o nome do repositório e sua localização no registro.
CERT_SYSTEM_STORE_UNPROTECTED_FLAG
Por padrão, quando o repositório "Raiz" do CurrentUser é aberto, todas as raízes SystemRegistry que não estão na lista raiz protegida são excluídas do cache antes que essa função retorne. Quando esse sinalizador é definido, esse padrão é substituído e todas as raízes no SystemRegistry são retornadas e nenhuma marcar da lista raiz protegida é feita.
 

O provedor de CERT_STORE_PROV_REGISTRY usa os seguintes sinalizadores de palavra alta.

Valor Significado
CERT_REGISTRY_STORE_SERIALIZED_FLAG
O provedor CERT_STORE_PROV_REG salva certificados, CRLs e CTLs em uma única subchave de repositório serializada em vez de executar a operação de salvamento padrão. O padrão é que cada certificado, CRL ou CTL seja salvo como uma subchave separada do Registro sob a subchave apropriada.

Esse sinalizador é usado principalmente para repositórios baixados do modelo de política de grupo (GPT), como os repositórios CurrentUserGroupPolicy e LocalMachineGroupPolicy.

Quando CERT_REGISTRY_STORE_SERIALIZED_FLAG é definido, as adições de repositório, exclusões ou alterações de propriedade não são mantidas até que haja uma chamada para CertCloseStore ou CertControlStore usando CERT_STORE_CTRL_COMMIT.

CERT_REGISTRY_STORE_REMOTE_FLAG
pvPara contém um identificador para uma chave do Registro em um computador remoto. Para acessar uma chave do Registro em um computador remoto, as permissões de segurança no computador remoto devem ser definidas para permitir o acesso. Para obter mais informações, consulte Comentários.
 

Os tipos de provedor CERT_STORE_PROV_FILE e CERT_STORE_PROV_FILENAME usam os sinalizadores de palavra alta a seguir.

Valor Significado
CERT_FILE_STORE_COMMIT_ENABLE
Definir esse sinalizador confirma quaisquer adições ao repositório ou quaisquer alterações feitas em propriedades de contextos no repositório para o repositório de arquivos quando CertCloseStore é chamado ou quando CertControlStore é chamado com CERT_STORE_CONTROL_COMMIT.

O CertOpenStore falhará com E_INVALIDARG se CERT_FILE_STORE_COMMIT_ENABLE e CERT_STORE_READONLY_FLAG estiverem definidos em dwFlags.

 

O tipo de provedor CERT_STORE_PROV_LDAP usa os seguintes sinalizadores de palavra alta.

Valor Significado
CERT_LDAP_STORE_SIGN_FLAG
Para fornecer integridade exigida por alguns aplicativos, assine digitalmente todo o tráfego LDAP de e para um servidor LDAP usando o protocolo de autenticação Kerberos.
CERT_LDAP_STORE_OPENED_FLAG
Use esse sinalizador para usar uma sessão LDAP existente. Quando esse sinalizador é especificado, o parâmetro pvPara é o endereço de uma estrutura CERT_LDAP_STORE_OPENED_PARA que contém informações sobre a sessão LDAP a ser usada.
CERT_LDAP_STORE_AREC_EXCLUSIVE_FLAG
Executa uma pesquisa DNS somente registro A na URL nomeada no parâmetro pvPara . Isso impede que consultas DNS falsas sejam geradas ao resolver nomes de host de URL. Use esse sinalizador ao passar um nome de host em vez de um nome de domínio para o parâmetro pvPara .
CERT_LDAP_STORE_UNBIND_FLAG
Use esse sinalizador com o sinalizador CERT_LDAP_STORE_OPENED_FLAG para fazer com que a sessão LDAP seja desvinculada quando o repositório for fechado. O sistema desvinmará a sessão LDAP usando a função ldap_unbind quando o repositório for fechado.

[in] pvPara

Um valor de 32 bits que pode conter informações adicionais para essa função. O conteúdo desse parâmetro depende do valor do lpszStoreProvider e de outros parâmetros.

[in] hCertStore

O identificador do repositório na memória que foi aberto e pode ser usado para fazer chamadas para outras chamadas à API relacionadas ao repositório, como CertAddSerializedElementToStore.

[in, out] pStoreProvInfo

Um ponteiro para a estrutura CERT_STORE_PROV_INFO a ser atualizada. A estrutura de dados foi zerado e cbSize definido antes da chamada.

O membro cStoreProvFunc da estrutura CERT_STORE_PROV_INFO é a contagem de funções de retorno de chamada que são implementadas e devem ser definidas por último. Depois que cStoreProvFunc for definido, todas as chamadas de repositório subsequentes, como CertAddEncodedCertificateToStore, chamarão a função de retorno de chamada do provedor apropriada.

Retornar valor

TRUE se tiver êxito; caso contrário, FALSE.

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]
Plataforma de Destino Windows
Cabeçalho wincrypt.h

Confira também

CERT_STORE_PROV_INFO

Funções de retorno de chamada

CertAddEncodedCertificateToStore

Certopenstore