PFN_CERT_DLL_OPEN_STORE_PROV_FUNC funzione di callback (wincrypt.h)

La funzione CertDllOpenStoreProv viene implementata da un provider di archivi e viene usata per aprire un archivio. Questa funzione viene chiamata dalla funzione CertOpenStore .

Nota I primi cinque parametri sono identici ai parametri corrispondenti in CertOpenStore.
 

Sintassi

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
)
{...}

Parametri

[in] lpszStoreProvider

Puntatore a una stringa ANSI con terminazione null contenente il tipo di provider dell'archivio.

I valori seguenti rappresentano i tipi di archivio predefiniti. Il tipo di provider dell'archivio determina il contenuto del parametro pvPara e il significato e il significato della parola alta del parametro dwFlags . È possibile installare o registrare altri provider di archivi usando la funzione CryptInstallOIDFunctionAddress o CryptRegisterOIDFunction . Per altre informazioni sull'aggiunta di provider di archiviazione, vedere Estensione della funzionalità di CertOpenStore.

Identificatore provider Descrizione contenuto pvPara
CERT_STORE_PROV_MEMORY

sz_CERT_STORE_PROV_MEMORY

Crea un archivio certificati nella memoria memorizzata nella cache. Nessun certificato, elenchi di revoche di certificati o elenchi di attendibilità certificati (CTLs) vengono inizialmente caricati nell'archivio. In genere usato per creare un archivio temporaneo.

Qualsiasi aggiunta di certificati, CCL o CTL o modifiche alle proprietà dei certificati, dei certificati, degli ELENCHI di controllo di accesso o degli elenchi di controllo di accesso in un archivio memoria non viene salvato automaticamente. Possono essere salvati in un file o in un BLOB di memoria usando CertSaveStore.

Non usato.
CERT_STORE_PROV_FILE Inizializza l'archivio con certificati, CCL e CTLs letti da un file aperto specificato. Questo provider prevede che il file contenga solo un archivio serializzato e non i messaggi firmati PKCS #7 o un singolo certificato codificato.

Il puntatore file deve essere posizionato all'inizio delle informazioni sull'archivio serializzato. Dopo che i dati nell'archivio serializzato sono stati caricati nell'archivio certificati, il puntatore file viene posizionato all'inizio di tutti i dati che possono seguire i dati dell'archivio serializzato nel file. Se CERT_FILE_STORE_COMMIT_ENABLE è impostato in dwFlags, l'handle di file viene duplicato e l'archivio viene sempre eseguito il commit come archivio serializzato. Il file non viene chiuso quando l'archivio viene chiuso.

Puntatore all'handle di un file aperto con CreateFile.
CERT_STORE_PROV_FILENAME_A Inizializza l'archivio con certificati, CCL e CTL da un file. Il provider apre il file e tenta prima di tutto di leggere il file come archivio serializzato, quindi come messaggio firmato PKCS #7 e infine come singolo certificato codificato.

Il parametro dwEncodingType deve contenere i tipi di codifica da usare con i messaggi e i certificati. Se il file contiene un certificato con codifica X.509 , l'operazione aperta ha esito negativo con GetLastError e restituisce ERROR_ACCESS_DENIED. Se il flag di CERT_FILE_STORE_COMMIT_ENABLE è impostato in dwFlags, il valore dwCreationDisposition passato a CreateFile è il seguente:

  • Se il flag di CERT_STORE_CREATE_NEW_FLAG è impostato, CreateFile usa CREATE_NEW.
  • Se il flag di CERT_STORE_OPEN_EXISTING_FLAG è impostato, CreateFile usa OPEN_EXISTING.
  • Per tutte le altre impostazioni di dwFlags, CreateFile usa OPEN_ALWAYS.

Se dwFlags include CERT_FILE_STORE_COMMIT_ENABLE, il file viene eseguito il commit come un archivio PKCS #7 o un archivio serializzato a seconda del tipo di file aperto. Se il file è vuoto o se il nome del file ha un'estensione con estensione p7c o spc, il file viene eseguito il commit come PKCS #7. In caso contrario, il file viene eseguito il commit come archivio serializzato.

Puntatore alla stringa ANSI con terminazione null contenente il nome di un file esistente non aperto.
CERT_STORE_PROV_FILENAME

CERT_STORE_PROV_FILENAME_W

sz_CERT_STORE_PROV_FILENAME

sz_CERT_STORE_PROV_FILENAME_W

Uguale a CERT_STORE_PROV_FILENAME_A. Puntatore a stringa Unicode con terminazione null contenente il nome di un file esistente non aperto.
CERT_STORE_PROV_COLLECTION

sz_CERT_STORE_PROV_COLLECTION

Apre un archivio che sarà una raccolta di altri negozi. Gli archivi vengono aggiunti o rimossi dalla raccolta usando CertAddStoreToCollection e CertRemoveStoreFromCollection. Quando un archivio viene aggiunto a una raccolta, tutti i certificati, gli elenchi di controllo di accesso e le dll in tale archivio diventano disponibili per le ricerche o le enumerazioni dell'archivio raccolte.

La parola alta di dwFlags è impostata su zero.

Deve essere NULL.
CERT_STORE_PROV_REG Inizializza l'archivio con certificati, CCL e CTL da una sottochiave del Registro di sistema.

Questo provider apre o crea le sottochiavi del Registro di sistema Certificati, CRLs e CTL nella chiave passata in pvPara. La chiave di input non viene chiusa dal provider. Prima di restituire, il provider apre la propria copia della chiave passata in pvPara. Se CERT_STORE_READONLY_FLAG è impostato nella parola bassa di dwFlags, le sottochiavi del Registro di sistema vengono aperte usando RegOpenKey con KEY_READ_ACCESS. In caso contrario, le sottochiavi del Registro di sistema vengono create usando RegCreateKey con KEY_ALL_ACCESS. Le modifiche apportate al contenuto dell'archivio aperto vengono immediatamente mantenute nel Registro di sistema. Tuttavia, se CERT_STORE_READONLY_FLAG è impostato nella parola bassa di dwFlags, qualsiasi tentativo di aggiungere al contenuto dell'archivio o di modificare la proprietà di un contesto genera un errore con GetLastError che restituisce il codice E_ACCESSDENIED.

Handle di una chiave del Registro di sistema aperta.
CERT_STORE_PROV_SYSTEM_A Inizializza l'archivio con certificati, CCL e CTL dall'archivio di sistema specificato.

L'archivio di sistema è un archivio di raccolta logico e logico costituito da uno o più archivi fisici. Un archivio fisico associato a un archivio di sistema viene registrato con la funzione CertRegisterPhysicalStore . Dopo l'apertura dell'archivio di sistema, tutti gli archivi fisici associati vengono aperti anche dalle chiamate a CertOpenStore e vengono aggiunti alla raccolta di archivi di sistema usando la funzione CertAddStoreToCollection . La parola alta di dwFlags indica la posizione dell'archivio di sistema, in genere impostata su CERT_SYSTEM_STORE_CURRENT_USER. Per informazioni dettagliate sulle posizioni del Registro di sistema, vedere dwFlags più avanti in questo argomento e percorsi di System Store. Alcune posizioni dell'archivio di sistema possono essere aperte in remoto; per altre informazioni, vedere Percorsi dell'archivio di sistema.

Puntatore a una stringa ANSI con terminazione null contenente un nome dell'archivio di sistema, ad esempio "My" o "Root".
CERT_STORE_PROV_SYSTEM

CERT_STORE_PROV_SYSTEM_W

sz_CERT_STORE_PROV_SYSTEM

sz_CERT_STORE_PROV_SYSTEM_W

Uguale a CERT_STORE_PROV_SYSTEM_A. Puntatore a una stringa Unicode con terminazione null contenente un nome dell'archivio di sistema, ad esempio "My" o "Root".
CERT_STORE_PROV_SYSTEM_REGISTRY_A Inizializza l'archivio con certificati, CCL e CTL da un archivio del Registro di sistema fisico. L'archivio fisico non viene aperto come archivio raccolta. Le enumerazioni e le ricerche passano attraverso solo i certificati, gli elenchi di controllo di accesso e le dll in tale archivio fisico.

La parola alta di dwFlags indica la posizione dell'archivio di sistema, in genere impostata su CERT_SYSTEM_STORE_CURRENT_USER. Per altre informazioni, vedere dwFlags più avanti in questo argomento. Alcune posizioni dell'archivio di sistema possono essere aperte in remoto; per altre informazioni, vedere Percorsi dell'archivio di sistema.

Puntatore a una stringa ANSI con terminazione null contenente un nome dell'archivio di sistema, ad esempio "My" o "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

Uguale a CERT_STORE_PROV_SYSTEM_REGISTRY_A. Puntatore a una stringa Unicode con terminazione null contenente un nome dell'archivio di sistema, ad esempio "My" o "Root".
CERT_STORE_PROV_PHYSICAL

CERT_STORE_PROV_PHYSICAL_W

sz_CERT_STORE_PROV_PHYSICAL

sz_CERT_STORE_PROV_PHYSICAL_W

Inizializza l'archivio con certificati, CCL e CTL da un archivio fisico specificato che è un membro di un archivio di sistema logico.

Due nomi sono separati da una barra rovesciata (\), ad esempio "Root.LocalMachine". In questo caso, "Radice" è il nome dell'archivio di sistema e ". LocalMachine" è il nome dell'archivio fisico. I nomi dell'archivio fisico e del sistema non possono contenere barre rovesciata. La parola alta di dwFlags indica la posizione dell'archivio di sistema, in genere CERT_SYSTEM_STORE_CURRENT_USER. Per altre informazioni, vedere dwFlags più avanti in questo argomento. Alcune posizioni dell'archivio fisico possono essere aperte in remoto.

Puntatore a una stringa Unicode con terminazione null contenente sia il nome dell'archivio di sistema che i nomi fisici.
CERT_STORE_PROV_MSG Inizializza l'archivio con certificati, CCL e CTL dal messaggio di crittografia specificato. Il parametro dwEncodingType deve contenere i tipi di codifica usati con i messaggi e i certificati. Handle HCRYPTMSG del messaggio codificato, restituito da una chiamata a CryptMsgOpenToDecode.
CERT_STORE_PROV_PKCS7

sz_CERT_STORE_PROV_PKCS7

Inizializza l'archivio con certificati, CCL e CTL da un messaggio PKCS #7 codificato. Il parametro dwEncodingType deve specificare i tipi di codifica da usare con i messaggi e i certificati. Puntatore a una struttura CRYPT_DATA_BLOB che rappresenta il messaggio codificato.
CERT_STORE_PROV_SERIALIZED

sz_CERT_STORE_PROV_SERIALIZED

Inizializza l'archivio con certificati, CCL e DLL da una posizione di memoria contenente un archivio serializzato. Puntatore a una struttura CRYPT_DATA_BLOB che contiene il BLOB di memoria serializzato.
CERT_STORE_PROV_LDAP

CERT_STORE_PROV_LDAP_W

sz_CERT_STORE_PROV_LDAP

sz_CERT_STORE_PROV_LDAP_W

Inizializza l'archivio con certificati, CCL e DLL dai risultati di una query LDAP.

Per eseguire operazioni di scrittura nell'archivio, la stringa di query deve specificare una query BASE senza filtro e un singolo attributo.

Se il parametro dwFlags contiene il flag di CERT_LDAP_STORE_OPENED_FLAG , si tratta dell'indirizzo di una struttura CERT_LDAP_STORE_OPENED_PARA che specifica la sessione LDAP stabilita da usare.

In caso contrario, si tratta di un puntatore a una stringa Unicode con terminazione null contenente la stringa di query LDAP. Per altre informazioni sulle stringhe di query LDAP, vedere Dialetto 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

Attualmente non utilizzato.  

[in] dwEncodingType

Specifica il tipo di codifica del certificato e il tipo di codifica dei messaggi. La codifica viene usata solo quando il parametro dwSaveAs della funzione CertSaveStore contiene CERT_STORE_SAVE_AS_PKCS7. In caso contrario, il parametro dwEncodingType non viene usato.

Questo parametro è applicabile solo quando il tipo di provider CERT_STORE_PROV_MSG, CERT_STORE_PROV_PKCS7 o CERT_STORE_PROV_FILENAME viene specificato nel parametro lpszStoreProvider . Per tutti gli altri tipi di provider, questo parametro è inutilizzato e deve essere impostato su zero.

Questo parametro può essere una combinazione di uno o più dei valori seguenti.

Valore Significato
PKCS_7_ASN_ENCODING
65536 (0x10000)
Specifica la codifica dei messaggi PKCS #7.
X509_ASN_ENCODING
1 (0x1)
Specifica la codifica del certificato X.509.

[in] hCryptProv

Handle a un provider di crittografia. Questo parametro può essere NULL.

[in] dwFlags

Questi valori sono costituiti da valori con parole elevate e di parole basse combinate usando un'operazione BIT-OR .

La parte bassa di dwFlags controlla un'ampia gamma di caratteristiche generali dell'archivio certificati aperto. Questa parte può essere usata con tutti i tipi di provider di archiviazione. La parte bassa di dwFlags può essere uno dei valori seguenti.

Valore Significato
CERT_STORE_CREATE_NEW_FLAG
Creare un nuovo archivio se non esiste. Questa funzione deve non riuscire se l'archivio esiste già.

Se non è impostato né CERT_STORE_OPEN_EXISTING_FLAGCERT_STORE_CREATE_NEW_FLAG , aprire un archivio esistente o creare e aprire un archivio se non esiste già.

CERT_STORE_DEFER_CLOSE_UNTIL_LAST_FREE_FLAG
Rinviare la chiusura del provider dell'archivio fino a quando tutti i certificati, gli elenchi di controllo di accesso o gli elenchi di controllo di accesso ottenuti dall'archivio non sono più in uso. L'archivio viene effettivamente chiuso quando l'ultimo certificato, CRL o CTL ottenuto dall'archivio viene liberato. Tutte le modifiche apportate alle proprietà di questi certificati, CCL e DLL, anche dopo la chiamata a questa funzione, devono essere mantenute.

Se questo flag non è impostato e i certificati, gli elenchi di controllo di accesso o gli elenchi di controllo di dominio ottenuti dall'archivio sono ancora in uso, tutte le modifiche apportate alle proprietà di tali certificati, CCL e CTLs non devono essere mantenute.

Se questa funzione viene chiamata con CERT_CLOSE_STORE_FORCE_FLAG, CERT_STORE_DEFER_CLOSE_UNTIL_LAST_FREE_FLAG deve essere ignorata.

Quando questo flag è impostato e viene passato un valore HCRYPTPROV diverso da NULL, tale provider continuerà a essere usato anche dopo la chiamata a questa funzione.

CERT_STORE_DELETE_FLAG
L'archivio viene eliminato invece di essere aperto. Questa funzione restituisce FALSE sia per esito positivo che per l'errore dell'eliminazione. Per indicare l'esito positivo dell'eliminazione, chiamare SetLastError con zero. Per indicare l'errore dell'eliminazione, chiamare SetLastError con il codice di errore appropriato.
CERT_STORE_ENUM_ARCHIVED_FLAG
In genere, un'enumerazione di tutti i certificati nell'archivio ignorerà qualsiasi certificato con il set di proprietà CERT_ARCHIVED_PROP_ID . Se questo flag è impostato, un'enumerazione dei certificati nell'archivio conterrà tutti i certificati nell'archivio, inclusi quelli con la proprietà CERT_ARCHIVED_PROP_ID .
CERT_STORE_MAXIMUM_ALLOWED
Aprire l'archivio con il set massimo di autorizzazioni consentite. Se questo flag viene specificato, gli archivi del Registro di sistema vengono prima aperti con l'accesso in scrittura e, se non riesce, vengono riaperti con accesso di sola lettura.
CERT_STORE_NO_CRYPT_RELEASE_FLAG
Questo flag non viene usato quando il parametro hCryptProv è NULL. Questo flag è valido solo quando un handle CSP non NULL viene passato come parametro hCryptProv . L'impostazione di questo flag impedisce la versione automatica di un CSP non predefinito quando l'archivio certificati viene chiuso.
CERT_STORE_OPEN_EXISTING_FLAG
Aprire solo un archivio esistente. Se l'archivio non esiste, la funzione ha esito negativo.
CERT_STORE_READONLY_FLAG
Aprire l'archivio in modalità di sola lettura. Qualsiasi tentativo di modifica del contenuto dell'archivio genera un errore. Quando questo flag è impostato e viene usato un provider di archivi basato sul Registro di sistema, le sottochiave del Registro di sistema vengono aperte usando RegOpenKey con KEY_READ_ACCESS. In caso contrario, le sottochiavi del Registro di sistema vengono create usando RegCreateKey con KEY_ALL_ACCESS.
CERT_STORE_SET_LOCALIZED_NAME_FLAG
Se questo flag è supportato, il provider imposta la proprietà CERT_STORE_LOCALIZED_NAME_PROP_ID dell'archivio. Il nome localizzato può essere recuperato chiamando la funzione CertGetStoreProperty con dwPropID impostata su CERT_STORE_LOCALIZED_NAME_PROP_ID. Questo flag è supportato per i provider di tipi CERT_STORE_PROV_FILENAME, CERT_STORE_PROV_SYSTEM, CERT_STORE_PROV_SYSTEM_REGISTRY eCERT_STORE_PROV_PHYSICAL_W.
CERT_STORE_SHARE_CONTEXT_FLAG
Quando si apre un archivio più volte, è possibile impostare questo flag per garantire un utilizzo efficiente della memoria riutilizzando la memoria per le parti codificate di un certificato, CRL o contesto CTL nelle istanze aperte degli archivi.
CERT_STORE_UPDATE_KEYID_FLAG
Elenchi degli identificatori di chiave esistono all'interno di CurrentUser e LocalMachine. Questi identificatori di chiave hanno proprietà molto simili alle proprietà dei certificati. Se la CERT_STORE_UPDATE_KEYID_FLAG è impostata, per ogni identificatore di chiave nel percorso dell'archivio con una proprietà CERT_KEY_PROV_INFO_PROP_ID , tale proprietà viene aggiornata automaticamente dalla proprietà dell'identificatore di chiave CERT_KEY_PROV_INFO_PROP_ID o dall'CERT_KEY_IDENTIFIER_PROP_ID del certificato correlato a tale identificatore di chiave.
CERT_STORE_BACKUP_RESTORE_FLAG
Usare i privilegi di SE_BACKUP_NAME e SE_RESTORE_NAME del thread per aprire archivi di sistema basati su file o registro. Se il thread non dispone di questi privilegi, questa funzione deve non riuscire con un errore di accesso negato.
 

I tipi di provider CERT_STORE_PROV_SYSTEM, CERT_STORE_PROV_SYSTEM_REGISTRY e CERT_STORE_PROV_PHYSICAL usano le parole elevate seguenti di dwFlags per specificare i percorsi del Registro di 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

Per impostazione predefinita, un percorso dell'archivio di sistema viene aperto rispetto alla HKEY_CURRENT_USER, HKEY_LOCAL_MACHINE o HKEY_USERS chiave predefinita del Registro di sistema. Per altre informazioni, vedere Percorsi dell'archivio di sistema.

I flag ad alta parola seguenti eseguono l'override di questo comportamento predefinito.

Valore Significato
CERT_SYSTEM_STORE_RELOCATE_FLAG
Se impostato, pvPara deve contenere un puntatore a una struttura CERT_SYSTEM_STORE_RELOCATE_PARA anziché una stringa. La struttura indica sia il nome dell'archivio che il relativo percorso nel Registro di sistema.
CERT_SYSTEM_STORE_UNPROTECTED_FLAG
Per impostazione predefinita, quando l'archivio CurrentUser "Root" viene aperto, tutte le radici systemRegistry non nell'elenco radice protetto vengono eliminate dalla cache prima che questa funzione venga restituita. Quando questo flag è impostato, questo valore predefinito viene sottoposto a override e tutte le radici in SystemRegistry vengono restituite e non viene effettuata alcuna verifica dell'elenco radice protetto.
 

Il provider di CERT_STORE_PROV_REGISTRY usa i flag di parola elevati seguenti.

Valore Significato
CERT_REGISTRY_STORE_SERIALIZED_FLAG
Il provider di CERT_STORE_PROV_REG salva i certificati, gli elenchi di controllo di accesso e le DLL in una singola sottochiave dell'archivio serializzato anziché eseguire l'operazione di salvataggio predefinita. Il valore predefinito è che ogni certificato, CRL o CTL viene salvato come sottochiave del Registro di sistema separato nella sottochiave appropriata.

Questo flag viene usato principalmente per gli archivi scaricati dal modello di criteri di gruppo (GPT), ad esempio gli archivi CurrentUserGroupPolicy e LocalMachineGroupPolicy.

Quando CERT_REGISTRY_STORE_SERIALIZED_FLAG è impostato, le aggiunte, le eliminazioni o le modifiche delle proprietà non vengono mantenute finché non viene eseguita una chiamata a CertCloseStore o CertControlStore usando CERT_STORE_CTRL_COMMIT.

CERT_REGISTRY_STORE_REMOTE_FLAG
pvPara contiene un handle per una chiave del Registro di sistema in un computer remoto. Per accedere a una chiave del Registro di sistema in un computer remoto, è necessario impostare le autorizzazioni di sicurezza nel computer remoto per consentire l'accesso. Per altre informazioni, vedere la sezione Osservazioni.
 

I tipi di provider CERT_STORE_PROV_FILE e CERT_STORE_PROV_FILENAME usano i flag di parola elevati seguenti.

Valore Significato
CERT_FILE_STORE_COMMIT_ENABLE
L'impostazione di questo flag esegue il commit di eventuali aggiunte all'archivio o alle modifiche apportate alle proprietà dei contesti nell'archivio file nell'archivio file quando viene chiamato CertCloseStore o quando CertControlStore viene chiamato con CERT_STORE_CONTROL_COMMIT.

CertOpenStore non riesce con E_INVALIDARG se sia CERT_FILE_STORE_COMMIT_ENABLE che CERT_STORE_READONLY_FLAG sono impostati in dwFlags.

 

Il tipo di provider CERT_STORE_PROV_LDAP usa i flag di parola elevati seguenti.

Valore Significato
CERT_LDAP_STORE_SIGN_FLAG
Per garantire l'integrità richiesta da alcune applicazioni, firmare digitalmente tutto il traffico LDAP verso e da un server LDAP usando il protocollo di autenticazione Kerberos.
CERT_LDAP_STORE_OPENED_FLAG
Usare questo flag per usare una sessione LDAP esistente. Quando viene specificato questo flag, il parametro pvPara è l'indirizzo di una struttura CERT_LDAP_STORE_OPENED_PARA che contiene informazioni sulla sessione LDAP da usare.
CERT_LDAP_STORE_AREC_EXCLUSIVE_FLAG
Esegue una ricerca DNS solo record A nell'URL denominato nel parametro pvPara . Ciò impedisce la generazione di query DNS false durante la risoluzione dei nomi host URL. Usare questo flag quando si passa un nome host anziché un nome di dominio per il parametro pvPara .
CERT_LDAP_STORE_UNBIND_FLAG
Usare questo flag con il flag CERT_LDAP_STORE_OPENED_FLAG per causare l'annullamento della sessione LDAP quando l'archivio è chiuso. Il sistema annulla la sessione LDAP usando la funzione ldap_unbind quando l'archivio viene chiuso.

[in] pvPara

Valore a 32 bit che può contenere informazioni aggiuntive per questa funzione. Il contenuto di questo parametro dipende dal valore di lpszStoreProvider e altri parametri.

[in] hCertStore

L'handle dell'archivio in memoria aperto e può essere usato per effettuare chiamate ad altre chiamate API correlate all'archivio, ad esempio CertAddSerializedElementToStore.

[in, out] pStoreProvInfo

Puntatore alla struttura CERT_STORE_PROV_INFO da aggiornare. La struttura dei dati è stata zero e cbSize impostata prima della chiamata.

Il membro cStoreProvFunc della struttura CERT_STORE_PROV_INFO è il numero di funzioni di callback implementate e devono essere impostate l'ultima. Dopo aver impostato cStoreProvFunc , tutte le chiamate di archivio successive, ad esempio CertAddEncodedCertificateToStore, chiameranno la funzione di callback del provider appropriata.

Valore restituito

TRUE se ha esito positivo; in caso contrario, FALSE.

Requisiti

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

Vedi anche

CERT_STORE_PROV_INFO

Funzioni di callback

CertAddEncodedCertificateToStore

CertOpenStore