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 |
---|---|
|
Oculte el botón Propiedades . |
|
Pase un procedimiento de enlace en pfnHook. |
|
Habilite la selección múltiple de certificados. Esta opción no se admite actualmente y se omite. |
|
Muestra el botón Ayuda . |
|
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. |
|
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
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente GitHub Issues como mecanismo de comentarios sobre el contenido y lo sustituiremos por un nuevo sistema de comentarios. Para más información, vea:Enviar y ver comentarios de