estructura CERT_STORE_PROV_INFO (wincrypt.h)

La estructura CERT_STORE_PROV_INFO contiene información devuelta por la función CertDllOpenStoreProv instalada cuando se abre un almacén mediante el uso de .
Función CertOpenStore .

Al abrir un almacén, la función CertOpenStore establece todos los campos de la estructura CERT_STORE_PROV_INFO en cero excepto cbSize, que se establece en el tamaño de CERT_STORE_PROV_INFO. La estructura se actualiza mediante la función installable CertDllOpenStoreProv . Si no hay ninguna función de devolución de llamada adicional a la que se va a llamar, cStoreProvFunc permanece cero al devolverse.

Sintaxis

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;

Miembros

cbSize

Contiene el tamaño, en bytes, de esta estructura.

cStoreProvFunc

Contiene el número de elementos de la matriz rgpvStoreProvFunc . Este recuento debe incluir los valores NULL que se usan en los índices antes de la última función de devolución de llamada implementada. Por ejemplo, si solo se implementa una función de devolución de llamada, pero está en el índice 2 (CERT_STORE_PROV_WRITE_CERT_FUNC), con NULL para los índices 0 y 1, se debe pasar el número 3 para este parámetro.

rgpvStoreProvFunc

Matriz de punteros a las funciones de devolución de llamada que implementa el proveedor. Esta matriz se indexa mediante los valores especificados en la tabla siguiente y deben estar en el orden que se muestra. También se muestra la función de devolución de llamada asociada. Todas las funciones de devolución de llamada que no están implementadas deben establecerse en NULL. La matriz no tiene que contener todos los índices de función de devolución de llamada, solo debe contener el índice de función de devolución de llamada más alto implementado. Por ejemplo, si solo se implementa la función de devolución de llamada de CERT_STORE_PROV_WRITE_CERT_FUNC (2), la matriz solo debe contener tres 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

Valor definido por la aplicación de 32 bits que es el primer parámetro pasado a todas las devoluciones de llamada. Una aplicación puede especificar el contenido de este miembro según sea necesario. Normalmente, se trata de un puntero a los datos específicos de la aplicación, como la información de estado del proveedor para cada almacén abierto.

dwStoreProvFlags

Contiene un conjunto de marcas que especifican cómo funciona el proveedor. Contiene cero o una combinación de uno o varios de los valores siguientes.

Valor Significado
CERT_STORE_PROV_EXTERNAL_FLAG
1 (0x1)
El proveedor almacena certificados, listas de revocación de certificados y listas de confianza de certificados que son externos a la memoria caché del almacén.
CERT_STORE_PROV_DELETED_FLAG
2 (0x2)
El almacén se eliminó correctamente. No se llama a la devolución de llamada CertStoreProvCloseCallback .
CERT_STORE_PROV_NO_PERSIST_FLAG
4 (0x4)
De forma predeterminada, el proveedor conservará los cambios realizados en el almacén. Si se establece esta marca, el proveedor no conserva los cambios realizados en el almacén.
CERT_STORE_PROV_SYSTEM_STORE_FLAG
8 (0x8)
El proveedor conserva los contextos en un almacén del sistema.
CERT_STORE_PROV_LM_SYSTEM_STORE_FLAG
16 (0x10)
El proveedor conserva los contextos en un almacén del sistema LocalMachine.

hStoreProvFuncAddr2

Contiene el identificador devuelto por CryptGetOIDFunctionAddress. CertCloseStore llama a CryptFreeOIDFunctionAddress para liberar un hStoreProvFuncAddr2 distinto de null. Esto permite que la devolución de llamada llame a una otra función instalable que se liberará cuando se cierre el almacén.

Requisitos

Requisito Value
Cliente mínimo compatible Windows XP [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2003 [solo aplicaciones de escritorio]
Encabezado wincrypt.h