You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
192 lines
6.1 KiB
192 lines
6.1 KiB
//+-------------------------------------------------------------------------
|
|
//
|
|
// Microsoft Windows
|
|
//
|
|
// Copyright (C) Microsoft Corporation, 1998 - 1999
|
|
//
|
|
// File: scrdenrl.idl
|
|
//
|
|
//--------------------------------------------------------------------------
|
|
|
|
// scrdenrl.idl : IDL source for scrdenrl.dll
|
|
//
|
|
|
|
// This file will be processed by the MIDL tool to
|
|
// produce the type library (scrdenrl.tlb) and marshalling code.
|
|
|
|
import "oaidl.idl";
|
|
import "ocidl.idl";
|
|
|
|
[
|
|
object,
|
|
uuid(753988a1-1357-436d-9cf5-f089bdd67d64),
|
|
dual,
|
|
helpstring("ISCrdEnr Interface"),
|
|
pointer_default(unique)
|
|
]
|
|
interface ISCrdEnr : IDispatch
|
|
{
|
|
[propget]
|
|
HRESULT CSPCount(
|
|
[out, retval] long *pVal);
|
|
|
|
[propget]
|
|
HRESULT CSPName(
|
|
[out, retval] BSTR *pVal);
|
|
|
|
[propput]
|
|
HRESULT CSPName(
|
|
[in] BSTR newVal);
|
|
|
|
HRESULT selectUserName(
|
|
[in] DWORD dwFlags);
|
|
|
|
HRESULT enroll(
|
|
[in] DWORD dwFlags);
|
|
|
|
HRESULT getEnrolledCertificateName(
|
|
[in] DWORD dwFlags,
|
|
[retval][out] BSTR *pBstrCertName );
|
|
|
|
HRESULT selectSigningCertificate(
|
|
[in] DWORD dwFlags,
|
|
[in] BSTR bstrCertTemplateName);
|
|
|
|
HRESULT resetUser();
|
|
|
|
HRESULT enumCSPName(
|
|
[in] DWORD dwIndex,
|
|
[in] DWORD dwFlags,
|
|
[retval][out] BSTR *pbstrCSPName);
|
|
|
|
HRESULT enumCertTemplateName(
|
|
[in] DWORD dwIndex,
|
|
[in] DWORD dwFlags,
|
|
[retval][out] BSTR *pbstrCertTemplateName);
|
|
|
|
HRESULT getCACount(
|
|
[in] BSTR bstrCertTemplateName,
|
|
[retval][out] long *pdwCACount);
|
|
|
|
HRESULT getCAName(
|
|
[in] DWORD dwFlags,
|
|
[in] BSTR bstrCertTemplateName,
|
|
[retval][out] BSTR *pbstrCAName);
|
|
|
|
HRESULT setCAName(
|
|
[in] DWORD dwFlags,
|
|
[in] BSTR bstrCertTemplateName,
|
|
[in] BSTR bstrCAName);
|
|
|
|
HRESULT enumCAName(
|
|
[in] DWORD dwIndex,
|
|
[in] DWORD dwFlags,
|
|
[in] BSTR bstrCertTemplateName,
|
|
[retval][out] BSTR *pbstrCAName);
|
|
|
|
HRESULT getSigningCertificateName(
|
|
[in] DWORD dwFlags,
|
|
[retval][out] BSTR *pbstrSigningCertName);
|
|
|
|
HRESULT getUserName(
|
|
[in] DWORD dwFlags,
|
|
[retval][out] BSTR *pbstrUserName);
|
|
|
|
HRESULT setUserName(
|
|
[in] DWORD dwFlags,
|
|
[in] BSTR bstrUserName);
|
|
|
|
HRESULT setSigningCertificate(
|
|
[in] DWORD dwFlags,
|
|
[in] BSTR bstrCertTemplateName);
|
|
|
|
HRESULT getCertTemplateCount(
|
|
[in] DWORD dwFlags,
|
|
[retval][out] long *pdwCertTemplateCount);
|
|
|
|
HRESULT getCertTemplateName(
|
|
[in] DWORD dwFlags,
|
|
[retval][out] BSTR *pbstrCertTemplateName);
|
|
|
|
HRESULT setCertTemplateName(
|
|
[in] DWORD dwFlags,
|
|
[in] BSTR bstrCertTemplateName);
|
|
|
|
[propget]
|
|
HRESULT EnrollmentStatus(
|
|
[out, retval] LONG *plEnrollStatus);
|
|
|
|
HRESULT getCertTemplateInfo(
|
|
[in] BSTR bstrCertTemplateName,
|
|
[in] LONG lType,
|
|
[retval][out] VARIANT *pvarCertTemplateInfo);
|
|
};
|
|
|
|
[
|
|
uuid(a7f33724-809a-4159-af92-de049a933a05),
|
|
version(1.0),
|
|
helpstring("scrdenrl 1.0 Type Library")
|
|
]
|
|
library SCRDENRLLib
|
|
{
|
|
importlib("stdole32.tlb");
|
|
importlib("stdole2.tlb");
|
|
|
|
[
|
|
uuid(c2bbea20-1f2b-492f-8a06-b1c5ffeace3b),
|
|
helpstring("SCrdEnr Class")
|
|
]
|
|
coclass SCrdEnr
|
|
{
|
|
[default] interface ISCrdEnr;
|
|
};
|
|
};
|
|
|
|
//flags for both getCertTemplateCount and enumCertTemplateName
|
|
// By default, all cert template will be returned.
|
|
// SCARD_ENROLL_CERT_TEMPLATE_DISPLAY_NAME is for enumCertTemplateName
|
|
// by default, the name parameter will be the certificate template's real name
|
|
cpp_quote("#define SCARD_ENROLL_USER_CERT_TEMPLATE 0x01")
|
|
cpp_quote("#define SCARD_ENROLL_MACHINE_CERT_TEMPLATE 0x02")
|
|
cpp_quote("#define SCARD_ENROLL_CERT_TEMPLATE_DISPLAY_NAME 0x04")
|
|
cpp_quote("#define SCARD_ENROLL_ENTERPRISE_CERT_TEMPLATE 0x08")
|
|
cpp_quote("#define SCARD_ENROLL_OFFLINE_CERT_TEMPLATE 0x10")
|
|
cpp_quote("#define SCARD_ENROLL_CROSS_CERT_TEMPLATE 0x20")
|
|
|
|
//flags for setCAName, getCAName, and enumCAName
|
|
// SCARD_ENROLL_CA_MACHINE_NAME treats the name as the CA's machine name.
|
|
// SCARD_ENROLL_CA_UNIQUE_NAMEwill treats the name as the CA's unique name.
|
|
// ie, the machinename\realName
|
|
// by default, the name parameter will be the CA's real name.
|
|
cpp_quote("#define SCARD_ENROLL_CA_MACHINE_NAME 0x01")
|
|
cpp_quote("#define SCARD_ENROLL_CA_DISPLAY_NAME 0x02")
|
|
cpp_quote("#define SCARD_ENROLL_CA_UNIQUE_NAME 0x03")
|
|
|
|
|
|
// flags for getSigningCertificateName, getEnrolledCertificateName
|
|
// If this flag is set, we will not diaplay the certiifcate common dialogue.
|
|
cpp_quote("#define SCARD_ENROLL_NO_DISPLAY_CERT 0x01")
|
|
|
|
// flag for setUserName and getUserName. This flag will allow setUserName
|
|
// and getUserName to treat the name parameter as the user's UPN name.
|
|
// By default, the name parameter will be the user's SAM compatible name
|
|
cpp_quote("#define SCARD_ENROLL_UPN_NAME 0x01")
|
|
|
|
//flags for getCertTemplateInfo
|
|
cpp_quote("#define SCARD_CTINFO_KEYSPEC 0x01")
|
|
cpp_quote("#define SCARD_CTINFO_KEYFLAGS 0x02")
|
|
cpp_quote("#define SCARD_CTINFO_EXT_OID 0x03")
|
|
cpp_quote("#define SCARD_CTINFO_EXT_MAJOR 0x04")
|
|
cpp_quote("#define SCARD_CTINFO_EXT_MINOR 0x05")
|
|
cpp_quote("#define SCARD_CTINFO_EXT_MINOR_FLAG 0x06")
|
|
cpp_quote("#define SCARD_CTINFO_SUBJECTFLAG 0x07")
|
|
cpp_quote("#define SCARD_CTINFO_CSPLIST_FIRST 0x08")
|
|
cpp_quote("#define SCARD_CTINFO_CSPLIST_NEXT 0x09")
|
|
cpp_quote("#define SCARD_CTINFO_GENERALFLAGS 0x0A")
|
|
cpp_quote("#define SCARD_CTINFO_ENROLLMENTFLAGS 0x0B")
|
|
cpp_quote("#define SCARD_CTINFO_PRIVATEKEYFLAGS 0x0C")
|
|
cpp_quote("#define SCARD_CTINFO_RA_SIGNATURES 0x0D")
|
|
|
|
//flags for selectSigningCertificate
|
|
cpp_quote("#define SCARD_SELECT_TEMPLATENAME 0x0")
|
|
cpp_quote("#define SCARD_SELECT_EKU 0x1")
|