estructura CERT_SELECT_STRUCT_A (cryptdlg.h)

La estructura de CERT_SELECT_STRUCT contiene criterios sobre los que seleccionar los certificados que se presentan en un cuadro de diálogo de selección de certificados. Esta estructura se usa en la función CertSelectCertificate .

Sintaxis

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;

Miembros

dwSize

Tamaño, en bytes, de esta estructura.

hwndParent

Identificador de la ventana primaria de los cuadros de diálogo que genera CertSelectCertificate .

hInstance

Identificador del módulo cuyo archivo ejecutable contiene la plantilla del cuadro de diálogo.

pTemplateName

Si la marca CSS_ENABLETEMPLATE se establece en el miembro dwFlags , establezca pTemplateName en un puntero a un objeto de memoria global que contenga la plantilla que DialogBoxIndirectParam usa para crear el cuadro de diálogo. Una plantilla de cuadro de diálogo consta de un encabezado que describe el cuadro de diálogo. El encabezado va seguido de uno o varios bloques adicionales de datos que describen cada uno de los controles del cuadro de diálogo. La plantilla puede usar el formato estándar o el formato extendido.

Si la marca CSS_ENABLETEMPLATEHANDLE se establece en dwFlags, pTemplateName especifica la plantilla del cuadro de diálogo. pTemplateName es el puntero a una cadena de caracteres terminada en null que especifica el nombre de la plantilla del cuadro de diálogo o un valor entero que especifica el identificador de recurso de la plantilla de cuadro de diálogo. Si especifica un identificador de recurso, su palabra de orden superior debe ser cero y su palabra de orden bajo debe contener el identificador. Una manera de crear este valor entero es usar la macro MAKEINTRESOURCE .

dwFlags

Este miembro puede ser uno o varios de los valores siguientes.

Valor Significado
CSS_HIDE_PROPERTIES
Oculte el botón Propiedades .
CSS_ENABLEHOOK
Pase un procedimiento de enlace en pfnHook.
CSS_ALLOWMULTISELECT
Habilite la selección múltiple de certificados. Esta opción no se admite actualmente y se omite.
CSS_SHOW_HELP
Muestra el botón Ayuda .
CSS_ENABLETEMPLATE
Haga que la función CertSelectCertificate llame a la función DialogBoxIndirectParam para crear un cuadro de diálogo. Para obtener más información, vea pTemplateName.
CSS_ENABLETEMPLATEHANDLE
Haga que la función CertSelectCertificate llame a la función DialogBoxParam para crear un cuadro de diálogo. Para obtener más información, vea pTemplateName.

szTitle

Puntero a una cadena que contiene el texto del título del cuadro de diálogo.

cCertStore

Número de elementos de la matriz arrayCertStore .

arrayCertStore

Puntero a la matriz de almacenes de certificados de los que el cuadro de diálogo enumera y muestra los certificados. El miembro cCertStore contiene el número de elementos de esta matriz.

szPurposeOid

Puntero a una representación de cadena de un identificador de objeto (OID) para un uso mejorado de clave (EKU). Si se proporciona un OID, solo se mostrarán los certificados que incluyan esta EKU.

cCertContext

Número de elementos de la matriz arrayCertContext . Una vez que se devuelve la función CertSelectCertificate , este miembro contiene el número de certificados seleccionados por el usuario. Actualmente, solo el usuario puede seleccionar un certificado.

arrayCertContext

Puntero a una matriz de estructuras de CERT_CONTEXT . El miembro cCertContext especifica el número de elementos de esta matriz. Esta matriz debe contener al menos un elemento .

Los certificados representados por estas estructuras se seleccionan cuando se muestra inicialmente el cuadro de diálogo que muestra la función CertSelectCertificate . Actualmente, solo se usa el primer certificado de esta matriz. El primer certificado de esta matriz se publicará con la función CertFreeCertificateContext si la función CertSelectCertificate es correcta. Si el primer elemento de esta matriz es NULL, no se selecciona inicialmente ningún certificado en el cuadro de diálogo.

Una vez que se devuelve la función CertSelectCertificate , esta matriz contiene los certificados seleccionados por el usuario. Actualmente, solo el usuario puede seleccionar un certificado.

lCustData

Puntero a una matriz de valores de bytes que contienen datos personalizados que se pasan al procedimiento de filtro al que hace referencia pfnFilter. La función CertSelectCertificate no usa estos datos personalizados.

pfnHook

Puntero de función PFNCMHOOKPROC a la función de devolución de llamada Hook. Se llama a esta función antes de que el cuadro de diálogo procese los mensajes. Para obtener más información, consulte Enlaces.

pfnFilter

Puntero de función PFNCMFILTERPROC a la función de devolución de llamada de filtro. Se llama a para determinar qué certificados mostrará el cuadro de diálogo.

szHelpFileName

Puntero a una cadena terminada en null que contiene la ruta de acceso completa al archivo de Ayuda.

dwHelpId

Identificador de contexto del tema. Para obtener más información, vea
WinHelp.

hprov

Identificador del proveedor de servicios criptográficos (CSP) que se va a usar para la comprobación de certificados.

Comentarios

Nota

El encabezado cryptdlg.h define CERT_SELECT_STRUCT como alias que selecciona automáticamente la versión ANSI o Unicode de esta función en función de la definición de la constante de preprocesador UNICODE. La combinación del uso del alias neutro de codificación con código que no es neutral de codificación puede provocar discrepancias que dan lugar a errores de compilación o en tiempo de ejecución. Para obtener más información, vea Convenciones para prototipos de función.

Requisitos

Requisito Value
Cliente mínimo compatible Windows XP [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2003 [solo aplicaciones de escritorio]
Encabezado cryptdlg.h

Consulte también

CertSelectCertificate