Share via


CERT_SELECT_STRUCT_A-Struktur (cryptdlg.h)

Die CERT_SELECT_STRUCT-Struktur enthält Kriterien zum Auswählen von Zertifikaten, die in einem Zertifikatauswahldialogfeld angezeigt werden. Diese Struktur wird in der Funktion CertSelectCertificate 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;

Member

dwSize

Die Größe (in Bytes) dieser Struktur.

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 flag CSS_ENABLETEMPLATE im dwFlags-Element festgelegt ist, legen Sie pTemplateName auf einen Zeiger auf ein globales Speicherobjekt fest, das die Vorlage enthält, die DialogBoxIndirectParam zum Erstellen des Dialogfelds verwendet. Eine Dialogfeldvorlage besteht aus einem Header, der das Dialogfeld beschreibt. Auf den Header 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 dwFlags festgelegt ist, gibt pTemplateName die Dialogfeldvorlage an. pTemplateName ist entweder der Zeiger auf eine NULL-Zeichenfolge, die den Namen der Dialogfeldvorlage angibt, oder ein ganzzahliger Wert, der den Ressourcenbezeichner der Dialogfeldvorlage angibt. Wenn der einen Ressourcenbezeichner angibt, muss das Wort mit hoher Reihenfolge null sein, und sein Wort mit niedriger Reihenfolge muss den Bezeichner enthalten. Eine Möglichkeit, diesen ganzzahligen Wert zu erstellen, besteht darin, das MAKEINTRESOURCE-Makro zu verwenden.

dwFlags

Bei diesem Member kann es sich um einen oder mehrere der folgenden Werte handeln.

Wert Bedeutung
CSS_HIDE_PROPERTIES
Blenden Sie die Schaltfläche Eigenschaften aus.
CSS_ENABLEHOOK
Übergeben Sie eine Hookprozedur in pfnHook.
CSS_ALLOWMULTISELECT
Aktivieren Sie die mehrfache Auswahl von Zertifikaten. Diese Option wird derzeit nicht unterstützt und ignoriert.
CSS_SHOW_HELP
Zeigen Sie die Schaltfläche Hilfe an.
CSS_ENABLETEMPLATE
Bewirkt , dass die CertSelectCertificate-Funktion die DialogBoxIndirectParam-Funktion aufruft , um ein Dialogfeld zu erstellen. Weitere Informationen finden Sie unter pTemplateName.
CSS_ENABLETEMPLATEHANDLE
Bewirkt, 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 im ArrayCertStore.The number of elements in arrayCertStore array.

arrayCertStore

Ein Zeiger auf das Array von Zertifikatspeichern, von dem das Dialogfeld die Zertifikate aufzählt und anzeigt. Das cCertStore-Element enthält die Anzahl der Elemente in diesem Array.

szPurposeOid

Ein Zeiger auf eine Zeichenfolgendarstellung eines Objektbezeichners (Object Identifier, OID) für eine erweiterte Schlüsselverwendung (Enhanced Key Usage, EKU). Wenn eine OID bereitgestellt wird, werden nur Zertifikate angezeigt, die diese EKU enthalten.

cCertContext

Die Anzahl der Elemente im ArrayCertContext.The number of elements in the arrayCertContext array. 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-Element gibt die Anzahl der Elemente in diesem Array an. Dieses Array muss mindestens ein Element enthalten.

Die von diesen Strukturen dargestellten Zertifikate werden ausgewählt, wenn das von der CertSelectCertificate-Funktion angezeigte Dialogfeld zunächst 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 zunächst keine Zertifikate im Dialogfeld 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 pfnFilter verwiesen wird. Diese benutzerdefinierten Daten werden nicht von der CertSelectCertificate-Funktion 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 vom Dialogfeld angezeigt werden.

szHelpFileName

Ein Zeiger auf eine NULL-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 (Cryptographic Service Provider , CSP), der für die Zertifikatüberprüfung verwendet werden soll.

Hinweise

Hinweis

Der cryptdlg.h-Header 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 nicht codierungsneutralem Code 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
Unterstützte Mindestversion (Client) Windows XP [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2003 [nur Desktop-Apps]
Kopfzeile cryptdlg.h

Weitere Informationen

CertSelectCertificate