Freigeben über


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
CSS_HIDE_PROPERTIES
Blenden Sie die Schaltfläche Eigenschaften aus.
CSS_ENABLEHOOK
Übergeben Sie eine Hook-Prozedur in pfnHook.
CSS_ALLOWMULTISELECT
Aktivieren Sie die Mehrfachauswahl von Zertifikaten. Diese Option wird derzeit nicht unterstützt und wird ignoriert.
CSS_SHOW_HELP
Zeigen Sie die Schaltfläche Hilfe- an.
CSS_ENABLETEMPLATE
Führen Sie dazu, dass CertSelectCertificate-Funktion die DialogBoxIndirectParam--Funktion aufrufen, um ein Dialogfeld zu erstellen. Weitere Informationen finden Sie unter pTemplateName.
CSS_ENABLETEMPLATEHANDLE
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

Siehe auch

CertSelectCertificate-