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.
 
 
 
 
 
 

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);
}