Condividi tramite


struttura CERT_SELECT_STRUCT_A (cryptdlg.h)

La struttura CERT_SELECT_STRUCT contiene criteri su cui selezionare i certificati presentati in una finestra di dialogo di selezione del certificato. Questa struttura viene usata nella funzione CertSelectCertificate .

Sintassi

typedef struct tagCSSA {
  DWORD           dwSize;
  HWND            hwndParent;
  HINSTANCE       hInstance;
  LPCSTR          pTemplateName;
  DWORD           dwFlags;
  LPCSTR          szTitle;
  DWORD           cCertStore;
  HCERTSTORE      *arrayCertStore;
  LPCSTR          szPurposeOid;
  DWORD           cCertContext;
  PCCERT_CONTEXT  *arrayCertContext;
  LPARAM          lCustData;
  PFNCMHOOKPROC   pfnHook;
  PFNCMFILTERPROC pfnFilter;
  LPCSTR          szHelpFileName;
  DWORD           dwHelpId;
  HCRYPTPROV      hprov;
} CERT_SELECT_STRUCT_A, *PCERT_SELECT_STRUCT_A;

Membri

dwSize

Dimensione, in byte, di questa struttura.

hwndParent

Handle per la finestra padre di tutte le finestre di dialogo generate CertSelectCertificate.

hInstance

Handle del modulo il cui file eseguibile contiene il modello della finestra di dialogo.

pTemplateName

Se il flag CSS_ENABLETEMPLATE è impostato nel membro dwFlags, impostare pTemplateName su un puntatore a un oggetto memoria globale contenente il modello che DialogBoxIndirectParam utilizzare per creare la finestra di dialogo. Un modello di finestra di dialogo è costituito da un'intestazione che descrive la finestra di dialogo. L'intestazione è seguita da uno o più blocchi di dati aggiuntivi che descrivono ognuno dei controlli nella finestra di dialogo. Il modello può usare il formato standard o il formato esteso.

Se il flag CSS_ENABLETEMPLATEHANDLE è impostato in dwFlags, pTemplateName specifica il modello di finestra di dialogo. pTemplateName è il puntatore a una stringa di caratteri con terminazione Null che specifica il nome del modello di finestra di dialogo o un valore intero che specifica l'identificatore della risorsa del modello della finestra di dialogo. Se l'oggetto specifica un identificatore di risorsa, la parola dell'ordine elevato deve essere zero e la parola con ordine minimo deve contenere l'identificatore. Un modo per creare questo valore intero consiste nell'usare la macro MAKEINTRESOURCE.

dwFlags

Questo membro può essere uno o più dei valori seguenti.

Valore Significato
CSS_HIDE_PROPERTIES
Nascondere il pulsante Proprietà .
CSS_ENABLEHOOK
Passare una routine hook in pfnHook.
CSS_ALLOWMULTISELECT
Abilitare la selezione multipla dei certificati. Questa opzione non è attualmente supportata e viene ignorata.
CSS_SHOW_HELP
Visualizzare il pulsante guida .
CSS_ENABLETEMPLATE
Causa funzione CertSelectCertificate chiamare la funzione DialogBoxIndirectParam per creare una finestra di dialogo. Per altre informazioni, vedere pTemplateName.
CSS_ENABLETEMPLATEHANDLE
Fare in modo che la funzione di CertSelectCertificate chiami la funzione DialogBoxParam per creare una finestra di dialogo. Per altre informazioni, vedere pTemplateName.

szTitle

Puntatore a una stringa contenente il testo per il titolo della finestra di dialogo.

cCertStore

Numero di elementi nella matrice MatriceCertStore.

arrayCertStore

Puntatore alla matrice di archivi certificati da cui la finestra di dialogo enumera e visualizza i certificati. Il membro cCertStore contiene il numero di elementi in questa matrice.

szPurposeOid

Puntatore a una rappresentazione di stringa di un identificatore di oggetto (OID) per un utilizzo avanzato della chiave (EKU). Se viene fornito un OID, verranno visualizzati solo i certificati che includono questo EKU.

cCertContext

Numero di elementi nella matrice matriceCertContext. Dopo che la funzione di CertSelectCertificate, questo membro contiene il numero di certificati selezionati dall'utente. Attualmente, è possibile selezionare un solo certificato dall'utente.

arrayCertContext

Puntatore a una matrice di strutture CERT_CONTEXT. Il membro cCertContext specifica il numero di elementi in questa matrice. Questa matrice deve contenere almeno un elemento.

I certificati rappresentati da queste strutture vengono selezionati quando la finestra di dialogo visualizzata dalla funzione CertSelectCertificate viene inizialmente visualizzata. Attualmente viene usato solo il primo certificato in questa matrice. Il primo certificato in questa matrice verrà rilasciato con la funzione CertFreeCertificateContext se la funzione CertSelectCertificate ha esito positivo. Se il primo elemento di questa matrice è NULL, non viene inizialmente selezionato alcun certificato nella finestra di dialogo.

Dopo che la funzione CertSelectCertificate restituisce, questa matrice contiene i certificati selezionati dall'utente. Attualmente, è possibile selezionare un solo certificato dall'utente.

lCustData

Puntatore a una matrice di valori di byte che contengono dati personalizzati passati alla routine di filtro a cui fa riferimento pfnFilter. Questi dati personalizzati non vengono usati dalla funzione CertSelectCertificate.

pfnHook

Puntatore funzione PFNCMHOOKPROC alla funzione di callback hook. Questa funzione viene chiamata prima che i messaggi vengano elaborati dalla finestra di dialogo. Per altre informazioni, vedere hook.

pfnFilter

Puntatore di funzione PFNCMFILTERPROC alla funzione di callback del filtro. Viene chiamato per determinare quali certificati verranno visualizzati dalla finestra di dialogo.

szHelpFileName

Puntatore a una stringa con terminazione Null contenente il percorso completo del file della Guida.

dwHelpId

Identificatore di contesto per l'argomento. Per altre informazioni, vedere
WinHelp.

hprov

Handle per l'Provider del servizio di crittografia (CSP) da usare per la verifica del certificato.

Osservazioni

Nota

L'intestazione cryptdlg.h definisce CERT_SELECT_STRUCT come alias che seleziona automaticamente la versione ANSI o Unicode di questa funzione in base alla definizione della costante del preprocessore UNICODE. La combinazione dell'utilizzo dell'alias indipendente dalla codifica con il codice non indipendente dalla codifica può causare mancate corrispondenze che generano errori di compilazione o di runtime. Per altre informazioni, vedere convenzioni di per i prototipi di funzioni.

Fabbisogno

Requisito Valore
client minimo supportato Windows XP [solo app desktop]
server minimo supportato Windows Server 2003 [solo app desktop]
intestazione cryptdlg.h

Vedere anche

CertSelectCertificate