Leaked source code of windows server 2003
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

//+-------------------------------------------------------------------------
//
// 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")