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.
279 lines
10 KiB
279 lines
10 KiB
//+--------------------------------------------------------------------------
|
|
//
|
|
// Microsoft Windows
|
|
// Copyright (C) Microsoft Corporation, 1996 - 2001
|
|
//
|
|
// File: certreqd.idl
|
|
//
|
|
// Contents: Definition of DCOM Interface for Certificate Services
|
|
//
|
|
//---------------------------------------------------------------------------
|
|
|
|
import "certbase.idl";
|
|
import "esent.idl";
|
|
import "oaidl.idl";
|
|
|
|
// Interface ICertAdminD
|
|
[
|
|
object,
|
|
uuid(d99e6e71-fc88-11d0-b498-00a0c90312f3),
|
|
helpstring("ICertAdmin DCOM Interface"),
|
|
pointer_default(unique)
|
|
]
|
|
interface ICertAdminD: IUnknown
|
|
{
|
|
HRESULT SetExtension(
|
|
[in, string, unique] wchar_t const *pwszAuthority,
|
|
[in] DWORD dwRequestId,
|
|
[in, string, unique] wchar_t const *pwszExtensionName,
|
|
[in] DWORD dwType, // PROPTYPE_*
|
|
[in] DWORD dwFlags, // EXTENSION_*
|
|
[in, ref] CERTTRANSBLOB *pctbValue);
|
|
|
|
HRESULT SetAttributes(
|
|
[in, string, unique] wchar_t const *pwszAuthority,
|
|
[in] DWORD dwRequestId,
|
|
[in, string, unique] wchar_t const *pwszAttributes);
|
|
|
|
HRESULT ResubmitRequest(
|
|
[in, string, unique] wchar_t const *pwszAuthority,
|
|
[in] DWORD dwRequestId,
|
|
[out] DWORD *pdwDisposition); // CA_DISP_*
|
|
|
|
HRESULT DenyRequest(
|
|
[in, string, unique] wchar_t const *pwszAuthority,
|
|
[in] DWORD dwRequestId);
|
|
|
|
HRESULT IsValidCertificate(
|
|
[in, string, unique] wchar_t const *pwszAuthority,
|
|
[in, string, unique] wchar_t const *pSerialNumber,
|
|
[out] LONG *pRevocationReason, // CRL_REASON_*
|
|
[out] LONG *pDisposition); // CA_DISP_*
|
|
|
|
HRESULT PublishCRL(
|
|
[in, string, unique] wchar_t const *pwszAuthority,
|
|
[in] FILETIME FileTime);
|
|
|
|
HRESULT GetCRL(
|
|
[in, string, unique] wchar_t const *pwszAuthority,
|
|
[out, ref] CERTTRANSBLOB *pctbCRL); // CRL
|
|
|
|
HRESULT RevokeCertificate(
|
|
[in, string, unique] wchar_t const *pwszAuthority,
|
|
[in, string, unique] wchar_t const *pwszSerialNumber,
|
|
[in] DWORD Reason, // CRL_REASON_*
|
|
[in] FILETIME FileTime);
|
|
|
|
HRESULT EnumViewColumn(
|
|
[in, string, unique] wchar_t const *pwszAuthority,
|
|
[in] DWORD iColumn,
|
|
[in] DWORD cColumn,
|
|
[out] DWORD *pcColumn,
|
|
[out, ref] CERTTRANSBLOB *pctbColumnInfo); // CERTTRANSDBCOLUMN
|
|
|
|
HRESULT GetViewDefaultColumnSet(
|
|
[in, string, unique] wchar_t const *pwszAuthority,
|
|
[in] DWORD iColumnSetDefault,
|
|
[out] DWORD *pcColumn,
|
|
[out, ref] CERTTRANSBLOB *pctbColumnInfo); // DWORD ColIds
|
|
|
|
HRESULT EnumAttributesOrExtensions(
|
|
[in, string, unique] wchar_t const *pwszAuthority,
|
|
[in] DWORD RowId,
|
|
[in] DWORD Flags, // CDBENUM_*
|
|
[in, string, unique] wchar_t const *pwszLast,
|
|
[in] DWORD celt,
|
|
[out] DWORD *pceltFetched,
|
|
[out, ref] CERTTRANSBLOB *pctbOut);
|
|
// CERTTRANSDBATTRIBUTE or CERTTRANSDBEXTENSION
|
|
|
|
HRESULT OpenView(
|
|
[in, string, unique] wchar_t const *pwszAuthority,
|
|
[in] DWORD ccvr,
|
|
[in, size_is(ccvr)] CERTVIEWRESTRICTION const *acvr,
|
|
[in] DWORD ccolOut,
|
|
[in, size_is(ccolOut)] DWORD const *acolOut,
|
|
[in] DWORD ielt,
|
|
[in] DWORD celt,
|
|
[out] DWORD *pceltFetched,
|
|
[out, ref] CERTTRANSBLOB *pctbResultRows);
|
|
// CERTTRANSDBRESULTROW, containing CERTTRANSDBRESULTCOLUMN
|
|
|
|
HRESULT EnumView(
|
|
[in, string, unique] wchar_t const *pwszAuthority,
|
|
[in] DWORD ielt,
|
|
[in] DWORD celt,
|
|
[out] DWORD *pceltFetched,
|
|
[out, ref] CERTTRANSBLOB *pctbResultRows);
|
|
// CERTTRANSDBRESULTROW, containing CERTTRANSDBRESULTCOLUMN
|
|
|
|
HRESULT CloseView(
|
|
[in, string, unique] wchar_t const *pwszAuthority);
|
|
|
|
HRESULT ServerControl(
|
|
[in, string, unique] wchar_t const *pwszAuthority,
|
|
[in] DWORD dwControlFlags, // CSCONTROL_*
|
|
[out, ref] CERTTRANSBLOB *pctbOut);
|
|
|
|
// this is a test function
|
|
HRESULT Ping(
|
|
[in, string, unique] wchar_t const *pwszAuthority);
|
|
|
|
HRESULT GetServerState(
|
|
[in, string, unique] wchar_t const *pwszAuthority,
|
|
[out] DWORD *pdwState); // 0 or 1
|
|
|
|
HRESULT BackupPrepare(
|
|
[in, string, unique] wchar_t const *pwszAuthority,
|
|
[in] unsigned long grbitJet, // JET_bitBackup
|
|
[in] unsigned long dwBackupFlags, // must be zero
|
|
[in] WCHAR const *pwszBackupAnnotation, // not used
|
|
[in] DWORD dwClientIdentifier); // not used
|
|
|
|
HRESULT BackupEnd();
|
|
|
|
HRESULT BackupGetAttachmentInformation(
|
|
[out, size_is( , *pcwcDBFiles)] WCHAR **ppwszzDBFiles,
|
|
[out] LONG *pcwcDBFiles);
|
|
|
|
HRESULT BackupGetBackupLogs(
|
|
[out, size_is( , *pcwcLogFiles)] WCHAR **ppwszzLogFiles,
|
|
[out] LONG *pcwcLogFiles);
|
|
|
|
HRESULT BackupOpenFile(
|
|
[in, string, unique] wchar_t const *pwszPath,
|
|
[out] unsigned hyper *pliLength);
|
|
|
|
HRESULT BackupReadFile(
|
|
[ref, out, size_is(cbBuffer)] BYTE *pbBuffer,
|
|
[in] LONG cbBuffer,
|
|
[out] LONG *pcbRead);
|
|
|
|
HRESULT BackupCloseFile();
|
|
|
|
HRESULT BackupTruncateLogs();
|
|
|
|
HRESULT ImportCertificate(
|
|
[in, string, unique] wchar_t const *pwszAuthority,
|
|
[in, ref] CERTTRANSBLOB *pctbCertificate, // Cert
|
|
[in] LONG dwFlags, // ICF_*
|
|
[out] LONG *pdwRequestId);
|
|
|
|
HRESULT BackupGetDynamicFiles(
|
|
[out, size_is( , *pcwcFiles)] WCHAR **ppwszzFiles,
|
|
[out] LONG *pcwcFiles);
|
|
|
|
HRESULT RestoreGetDatabaseLocations(
|
|
[out, size_is( , *pcwcPaths)] WCHAR **ppwszzDatabaseLocations,
|
|
[out] LONG *pcwcPaths);
|
|
};
|
|
|
|
|
|
// Interface ICertAdminD2
|
|
[
|
|
object,
|
|
uuid(7fe0d935-dda6-443f-85d0-1cfb58fe41dd),
|
|
helpstring("ICertAdmin2 DCOM Interface"),
|
|
pointer_default(unique)
|
|
]
|
|
interface ICertAdminD2: ICertAdminD
|
|
{
|
|
HRESULT PublishCRLs(
|
|
[in, string, unique] wchar_t const *pwszAuthority,
|
|
[in] FILETIME FileTime,
|
|
[in] DWORD Flags); // CA_CRL_*
|
|
|
|
HRESULT GetCAProperty(
|
|
[in, string, unique] wchar_t const *pwszAuthority,
|
|
[in] LONG PropId, // CR_PROP_*
|
|
[in] LONG PropIndex,
|
|
[in] LONG PropType, // PROPTYPE_*
|
|
[out, ref] CERTTRANSBLOB *pctbPropertyValue); // varies
|
|
|
|
HRESULT SetCAProperty(
|
|
[in, string, unique] wchar_t const *pwszAuthority,
|
|
[in] LONG PropId, // CR_PROP_*
|
|
[in] LONG PropIndex,
|
|
[in] LONG PropType, // PROPTYPE_*
|
|
[in] CERTTRANSBLOB *pctbPropertyValue); // varies
|
|
|
|
HRESULT GetCAPropertyInfo(
|
|
[in, string, unique] wchar_t const *pwszAuthority,
|
|
[out] LONG *pcProperty,
|
|
[out, ref] CERTTRANSBLOB *pctbPropInfo); // CATRANSPROP
|
|
|
|
HRESULT EnumViewColumnTable(
|
|
[in, string, unique] wchar_t const *pwszAuthority,
|
|
[in] DWORD iTable, // CVRC_TABLE_*
|
|
[in] DWORD iColumn,
|
|
[in] DWORD cColumn,
|
|
[out] DWORD *pcColumn,
|
|
[out, ref] CERTTRANSBLOB *pctbColumnInfo); // CERTTRANSDBCOLUMN
|
|
|
|
HRESULT GetCASecurity(
|
|
[in, string, unique] wchar_t const *pwszAuthority,
|
|
[out, ref] CERTTRANSBLOB *pctbSD); // SD
|
|
|
|
HRESULT SetCASecurity(
|
|
[in, string, unique] wchar_t const *pwszAuthority,
|
|
[in, ref] CERTTRANSBLOB *pctbSD); // SD
|
|
|
|
// this is a test function
|
|
HRESULT Ping2(
|
|
[in, string, unique] wchar_t const *pwszAuthority);
|
|
|
|
HRESULT GetArchivedKey(
|
|
[in, string, unique] wchar_t const *pwszAuthority,
|
|
[in] DWORD dwRequestId,
|
|
[out, ref] CERTTRANSBLOB *pctbArchivedKey);
|
|
// encrypted PKCS7 inside a signed PKCS7
|
|
|
|
HRESULT GetAuditFilter(
|
|
[in, string, unique] wchar_t const *pwszAuthority,
|
|
[out] DWORD *pdwFilter); // SE_AUDITID_CERTSRV_*
|
|
|
|
HRESULT SetAuditFilter(
|
|
[in, string, unique] wchar_t const *pwszAuthority,
|
|
[in] DWORD dwFilter); // SE_AUDITID_CERTSRV_*
|
|
|
|
HRESULT GetOfficerRights(
|
|
[in, string, unique] wchar_t const *pwszAuthority,
|
|
[out] BOOL *pfEnabled,
|
|
[out, ref] CERTTRANSBLOB *pctbSD); // custom SD
|
|
|
|
HRESULT SetOfficerRights(
|
|
[in, string, unique] wchar_t const *pwszAuthority,
|
|
[in] BOOL fEnable,
|
|
[in, ref] CERTTRANSBLOB *pctbSD); // custom SD
|
|
|
|
HRESULT GetConfigEntry(
|
|
[in, string, unique] wchar_t const *pwszAuthority,
|
|
[in, string, unique] wchar_t const *pwszNodePath,
|
|
[in, string, ref] wchar_t const *pwszEntry,
|
|
[out, ref] VARIANT *pVariant);
|
|
|
|
HRESULT SetConfigEntry(
|
|
[in, string, unique] wchar_t const *pwszAuthority,
|
|
[in, string, unique] wchar_t const *pwszNodePath,
|
|
[in, string, ref] wchar_t const *pwszEntry,
|
|
[in, ref] VARIANT *pVariant);
|
|
|
|
HRESULT ImportKey(
|
|
[in, string, unique] wchar_t const *pwszAuthority,
|
|
[in] DWORD dwRequestId,
|
|
[in, string, unique] wchar_t const *pwszCertHash,
|
|
[in] DWORD dwFlags,
|
|
[in, ref] CERTTRANSBLOB *pctbKey); // IKF_*
|
|
|
|
HRESULT GetMyRoles(
|
|
[in, string, unique] wchar_t const *pwszAuthority,
|
|
[out] LONG *pdwRoles); // CA_ACCESS_*
|
|
|
|
HRESULT DeleteRow(
|
|
[in, string, unique] wchar_t const *pwszAuthority,
|
|
[in] DWORD dwFlags, // CDR_*
|
|
[in] FILETIME FileTime,
|
|
[in] DWORD dwTable, // CVRC_TABLE_*
|
|
[in] DWORD dwRowId,
|
|
[out, retval] LONG *pcDeleted);
|
|
}
|