struttura CERT_SELECT_STRUCT_W (cryptdlg.h)

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

Sintassi

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

Members

dwSize

Dimensione, in byte, della struttura.

hwndParent

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

hInstance

Handle per il 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 utilizzato da DialogBoxIndirectParam 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 aggiuntivi di dati 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 di risorsa del modello della finestra di dialogo. Se specifica un identificatore di risorsa, la parola di ordine elevato deve essere zero e la parola in ordine basso 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 procedura hook in pfnHook.
CSS_ALLOWMULTISELECT
Abilitare la selezione multipla dei certificati. Questa opzione non è attualmente supportata e viene ignorata.
CSS_SHOW_HELP
Mostra il pulsante ? .
CSS_ENABLETEMPLATE
Fare in modo che la funzione CertSelectCertificate chiami la funzione DialogBoxIndirectParam per creare una finestra di dialogo. Per altre informazioni, vedere pTemplateName.
CSS_ENABLETEMPLATEHANDLE
Fare in modo che la funzione 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 arrayCertStore .

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 arrayCertContext . Dopo la restituzione della funzione 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 viene visualizzata inizialmente la finestra di dialogo visualizzata dalla funzione CertSelectCertificate . 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 in questa matrice è NULL, nella finestra di dialogo non vengono selezionati inizialmente certificati.

Dopo la restituzione della funzione CertSelectCertificate , 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 a 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 a 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 ulteriori informazioni, vedere
WinHelp.

hprov

Handle per il provider di servizi di crittografia (CSP) da usare per la verifica del certificato.

Commenti

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 che non è indipendente dalla codifica può causare mancate corrispondenze che generano errori di compilazione o di runtime. Per altre informazioni, vedere Convenzioni per i prototipi di funzioni.

Requisiti

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

Vedi anche

CertSelectCertificate