CERT_SELECT_STRUCT_A Struktur (cryptdlg.h)
Die CERT_SELECT_STRUCT-Struktur enthält Kriterien, nach denen Zertifikate ausgewählt werden sollen, die in einem Dialogfeld für die Zertifikatauswahl angezeigt werden. Diese Struktur wird in der CertSelectCertificate-Funktion verwendet.
Syntax
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;
Angehörige
dwSize
Die Größe dieser Struktur in Byte.
hwndParent
Ein Handle für das übergeordnete Fenster aller Dialogfelder, die CertSelectCertificate generiert.
hInstance
Ein Handle für das Modul, dessen ausführbare Datei die Dialogfeldvorlage enthält.
pTemplateName
Wenn das CSS_ENABLETEMPLATE Flag im dwFlags-element festgelegt ist, legen Sie pTemplateName- auf ein globales Speicherobjekt fest, das die Vorlage enthält, die DialogBoxIndirectParam verwendet, um das Dialogfeld zu erstellen. Eine Dialogfeldvorlage besteht aus einer Kopfzeile, die das Dialogfeld beschreibt. Auf die Kopfzeile folgt ein oder mehrere zusätzliche Datenblöcke, die die einzelnen Steuerelemente im Dialogfeld beschreiben. Die Vorlage kann entweder das Standardformat oder das erweiterte Format verwenden.
Wenn das CSS_ENABLETEMPLATEHANDLE Flag in dwFlagsfestgelegt ist, gibt pTemplateName die Dialogfeldvorlage an. pTemplateName- ist entweder der Zeiger auf eine mit Null beendete Zeichenfolge, die den Namen der Dialogfeldvorlage oder einen ganzzahligen Wert angibt, der den Ressourcenbezeichner der Dialogfeldvorlage angibt. Wenn der Ressourcenbezeichner angibt, muss das Wort mit hoher Reihenfolge null sein, und das Wort mit niedriger Reihenfolge muss den Bezeichner enthalten. Eine Möglichkeit zum Erstellen dieses ganzzahligen Werts ist die Verwendung des MAKEINTRESOURCE Makros.
dwFlags
Bei diesem Element kann es sich um einen oder mehrere der folgenden Werte handeln.
Wert | Bedeutung |
---|---|
|
Blenden Sie die Schaltfläche Eigenschaften aus. |
|
Übergeben Sie eine Hook-Prozedur in pfnHook. |
|
Aktivieren Sie die Mehrfachauswahl von Zertifikaten. Diese Option wird derzeit nicht unterstützt und wird ignoriert. |
|
Zeigen Sie die Schaltfläche Hilfe- an. |
|
Führen Sie dazu, dass CertSelectCertificate-Funktion die DialogBoxIndirectParam--Funktion aufrufen, um ein Dialogfeld zu erstellen. Weitere Informationen finden Sie unter pTemplateName. |
|
Führen Sie dazu, dass die CertSelectCertificate-Funktion die DialogBoxParam--Funktion aufruft, um ein Dialogfeld zu erstellen. Weitere Informationen finden Sie unter pTemplateName. |
szTitle
Ein Zeiger auf eine Zeichenfolge, die den Text für den Titel des Dialogfelds enthält.
cCertStore
Die Anzahl der Elemente in arrayCertStore Array.
arrayCertStore
Ein Zeiger auf das Array von Zertifikaten speichert, aus dem das Dialogfeld die Zertifikate aufzählt und anzeigt. Das cCertStore Member enthält die Anzahl der Elemente in diesem Array.
szPurposeOid
Ein Zeiger auf eine Zeichenfolgendarstellung eines Objektbezeichners (OID) für eine erweiterte Schlüsselverwendung (EKU). Wenn ein OID bereitgestellt wird, werden nur Zertifikate angezeigt, die diese EKU enthalten.
cCertContext
Die Anzahl der Elemente im arrayCertContext Arrays. Nachdem die CertSelectCertificate-Funktion zurückgegeben wurde, enthält dieses Element die Anzahl der Zertifikate, die vom Benutzer ausgewählt wurden. Derzeit kann nur ein Zertifikat vom Benutzer ausgewählt werden.
arrayCertContext
Ein Zeiger auf ein Array von CERT_CONTEXT Strukturen. Das cCertContext Member gibt die Anzahl der Elemente in diesem Array an. Dieses Array muss mindestens ein Element enthalten.
Die zertifikate, die durch diese Strukturen dargestellt werden, werden ausgewählt, wenn das Dialogfeld, das von der CertSelectCertificate-Funktion angezeigt wird, anfänglich angezeigt wird. Derzeit wird nur das erste Zertifikat in diesem Array verwendet. Das erste Zertifikat in diesem Array wird mit der funktion CertFreeCertificateContext freigegeben, wenn die CertSelectCertificate-Funktion erfolgreich ist. Wenn das erste Element in diesem Array NULL-ist, werden im Dialogfeld zunächst keine Zertifikate ausgewählt.
Nachdem die CertSelectCertificate-Funktion zurückgegeben wurde, enthält dieses Array die Zertifikate, die vom Benutzer ausgewählt wurden. Derzeit kann nur ein Zertifikat vom Benutzer ausgewählt werden.
lCustData
Ein Zeiger auf ein Array von Bytewerten, die benutzerdefinierte Daten enthalten, die an die Filterprozedur übergeben werden, auf die von pfnFilterverwiesen wird. Diese benutzerdefinierten Daten werden von der CertSelectCertificate-Funktion nicht verwendet.
pfnHook
Ein PFNCMHOOKPROC Funktionszeiger auf die Hook-Rückruffunktion. Diese Funktion wird aufgerufen, bevor Nachrichten vom Dialogfeld verarbeitet werden. Weitere Informationen finden Sie unter Hooks.
pfnFilter
Ein PFNCMFILTERPROC Funktionszeiger auf die Filterrückruffunktion. Dies wird aufgerufen, um zu bestimmen, welche Zertifikate im Dialogfeld angezeigt werden.
szHelpFileName
Ein Zeiger auf eine mit Null beendete Zeichenfolge, die den vollständigen Pfad zur Hilfedatei enthält.
dwHelpId
Der Kontextbezeichner für das Thema. Weitere Informationen finden Sie unter
WinHelp.
hprov
Ein Handle für den Kryptografiedienstanbieter (CSP), der für die Zertifikatüberprüfung verwendet werden soll.
Bemerkungen
Anmerkung
Der Header "cryptdlg.h" definiert CERT_SELECT_STRUCT als Alias, der die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante automatisch auswählt. Das Mischen der Verwendung des codierungsneutralen Alias mit Code, der nicht codierungsneutral ist, kann zu Nichtübereinstimmungen führen, die zu Kompilierungs- oder Laufzeitfehlern führen. Weitere Informationen finden Sie unter Konventionen für Funktionsprototypen.
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Windows XP [nur Desktop-Apps] |
mindestens unterstützte Server- | Windows Server 2003 [Nur Desktop-Apps] |
Header- | cryptdlg.h |