Condividi tramite


CERT_STORE_PROV_INFO struttura (wincrypt.h)

La struttura CERT_STORE_PROV_INFO contiene informazioni restituite dalla funzione CertDllOpenStoreProv installata quando un archivio viene aperto usando
Funzione CertOpenStore .

Quando si apre un archivio, la funzione CertOpenStore imposta tutti i campi nella struttura CERT_STORE_PROV_INFO su zero tranne cbSize, impostato sulle dimensioni di CERT_STORE_PROV_INFO. La struttura viene aggiornata dalla funzione installabile CertDllOpenStoreProv . Se non sono presenti altre funzioni di callback da chiamare, cStoreProvFunc rimane zero al ritorno.

Sintassi

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;

Members

cbSize

Contiene le dimensioni, in byte, di questa struttura.

cStoreProvFunc

Contiene il numero di elementi nella matrice rgpvStoreProvFunc . Questo conteggio deve includere tutti i valori NULL usati negli indici prima dell'ultima funzione di callback implementata. Ad esempio, se viene implementata una sola funzione di callback, ma è all'indice 2 (CERT_STORE_PROV_WRITE_CERT_FUNC), con NULL per indici 0 e 1, il numero 3 deve essere passato per questo parametro.

rgpvStoreProvFunc

Matrice di puntatori alle funzioni di callback implementate dal provider. Questa matrice viene indicizzata dai valori specificati nella tabella seguente e devono trovarsi nell'ordine visualizzato. Viene visualizzata anche la funzione di callback associata. Tutte le funzioni di callback non implementate devono essere impostate su NULL. La matrice non deve contenere tutti gli indici delle funzioni di callback, deve contenere solo l'indice di funzione callback più alto implementato. Ad esempio, se viene implementata solo la funzione di callback CERT_STORE_PROV_WRITE_CERT_FUNC (2), la matrice deve contenere solo tre elementi.

Valore Significato
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

Valore definito dall'applicazione a 32 bit che è il primo parametro passato a tutti i callback. Un'applicazione può specificare il contenuto di questo membro in base alle esigenze. In genere, si tratta di un puntatore ai dati specifici dell'applicazione, ad esempio informazioni sullo stato del provider per ogni archivio aperto.

dwStoreProvFlags

Contiene un set di flag che specificano il funzionamento del provider. Contiene zero o una combinazione di uno o più dei valori seguenti.

Valore Significato
CERT_STORE_PROV_EXTERNAL_FLAG
1 (0x1)
Il provider archivia i certificati, gli elenchi di revoche di certificati e gli elenchi di attendibilità dei certificati esterni alla cache dell'archivio.
CERT_STORE_PROV_DELETED_FLAG
2 (0x2)
L'archivio è stato eliminato correttamente. Il callback CertStoreProvCloseCallback non viene chiamato.
CERT_STORE_PROV_NO_PERSIST_FLAG
4 (0x4)
Per impostazione predefinita, il provider mantiene le modifiche apportate all'archivio. Se questo flag è impostato, il provider non mantiene le modifiche apportate all'archivio.
CERT_STORE_PROV_SYSTEM_STORE_FLAG
8 (0x8)
Il provider rende persistenti i contesti in un archivio di sistema.
CERT_STORE_PROV_LM_SYSTEM_STORE_FLAG
16 (0x10)
Il provider rende persistenti i contesti in un archivio di sistema LocalMachine.

hStoreProvFuncAddr2

Contiene l'handle restituito da CryptGetOIDFunctionAddress. CertCloseStore chiama CryptFreeOIDFunctionAddress per liberare un hStoreProvFuncAddr2 diverso da null. In questo modo il callback può chiamare un'altra funzione installabile che verrà liberata quando l'archivio viene chiuso.

Requisiti

Requisito Valore
Client minimo supportato Windows XP [solo app desktop]
Server minimo supportato Windows Server 2003 [solo app desktop]
Intestazione wincrypt.h