348 lines
12 KiB
Plaintext
348 lines
12 KiB
Plaintext
//+--------------------------------------------------------------------------
|
|
//
|
|
// Microsoft Windows
|
|
// Copyright (C) Microsoft Corporation, 1996 - 1999
|
|
//
|
|
// File: certsrvi.idl
|
|
//
|
|
// Contents: Definition of DCOM Interface for RPC services
|
|
//
|
|
//---------------------------------------------------------------------------
|
|
|
|
import "unknwn.idl";
|
|
import "certbase.idl";
|
|
import "esent.idl";
|
|
import "certbcli.idl";
|
|
import "oaidl.idl";
|
|
|
|
// Interface ICertRequestD
|
|
[
|
|
object,
|
|
uuid(d99e6e70-fc88-11d0-b498-00a0c90312f3),
|
|
helpstring("ICertRequest DCOM Interface"),
|
|
pointer_default(unique)
|
|
]
|
|
interface ICertRequestD: IUnknown
|
|
{
|
|
HRESULT Request(
|
|
[in] DWORD dwFlags,
|
|
[in, string, unique] wchar_t const *pwszAuthority,
|
|
[in, out, ref] DWORD *pdwRequestId,
|
|
[out] DWORD *pdwDisposition,
|
|
[in, string, unique] wchar_t const *pwszAttributes,
|
|
[in, ref] CERTTRANSBLOB const *pctbRequest,
|
|
[out, ref] CERTTRANSBLOB *pctbCertChain,
|
|
[out, ref] CERTTRANSBLOB *pctbEncodedCert,
|
|
[out, ref] CERTTRANSBLOB *pctbDispositionMessage);
|
|
|
|
HRESULT GetCACert(
|
|
[in] DWORD fchain,
|
|
[in, string, unique] wchar_t const *pwszAuthority,
|
|
[out, ref] CERTTRANSBLOB *pctbOut);
|
|
|
|
// this is a test function
|
|
HRESULT Ping(
|
|
[in, string, unique] wchar_t const *pwszAuthority);
|
|
};
|
|
|
|
|
|
// Interface ICertRequestD2
|
|
[
|
|
object,
|
|
uuid(5422fd3a-d4b8-4cef-a12e-e87d4ca22e90),
|
|
helpstring("ICertRequest2 DCOM Interface"),
|
|
pointer_default(unique)
|
|
]
|
|
interface ICertRequestD2: ICertRequestD
|
|
{
|
|
HRESULT Request2(
|
|
[in, string, unique] wchar_t const *pwszAuthority,
|
|
[in] DWORD dwFlags,
|
|
[in, string, unique] wchar_t const *pwszSerialNumber, // OPTIONAL
|
|
[in, out, ref] DWORD *pdwRequestId, //-1:use Serial
|
|
[out] DWORD *pdwDisposition,
|
|
[in, string, unique] wchar_t const *pwszAttributes,
|
|
[in, ref] CERTTRANSBLOB const *pctbRequest,
|
|
[out, ref] CERTTRANSBLOB *pctbFullResponse,
|
|
[out, ref] CERTTRANSBLOB *pctbEncodedCert,
|
|
[out, ref] CERTTRANSBLOB *pctbDispositionMessage);
|
|
|
|
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);
|
|
|
|
HRESULT GetCAPropertyInfo(
|
|
[in, string, unique] wchar_t const *pwszAuthority,
|
|
[out] LONG *pcProperty,
|
|
[out, ref] CERTTRANSBLOB *pctbPropInfo);
|
|
|
|
// this is a test function
|
|
HRESULT Ping2(
|
|
[in, string, unique] wchar_t const *pwszAuthority);
|
|
};
|
|
|
|
|
|
// 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,
|
|
[in] DWORD dwFlags,
|
|
[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);
|
|
|
|
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,
|
|
[out] LONG *pDisposition);
|
|
|
|
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);
|
|
|
|
HRESULT RevokeCertificate(
|
|
[in, string, unique] wchar_t const *pwszAuthority,
|
|
[in, string, unique] wchar_t const *pwszSerialNumber,
|
|
[in] DWORD 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);
|
|
|
|
HRESULT GetViewDefaultColumnSet(
|
|
[in, string, unique] wchar_t const *pwszAuthority,
|
|
[in] DWORD iColumnSetDefault,
|
|
[out] DWORD *pcColumn,
|
|
[out, ref] CERTTRANSBLOB *pctbColumnInfo);
|
|
|
|
HRESULT EnumAttributesOrExtensions(
|
|
[in, string, unique] wchar_t const *pwszAuthority,
|
|
[in] DWORD RowId,
|
|
[in] DWORD Flags,
|
|
[in, string, unique] wchar_t const *pwszLast,
|
|
[in] DWORD celt,
|
|
[out] DWORD *pceltFetched,
|
|
[out, ref] CERTTRANSBLOB *pctbOut);
|
|
|
|
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);
|
|
|
|
HRESULT EnumView(
|
|
[in, string, unique] wchar_t const *pwszAuthority,
|
|
[in] DWORD ielt,
|
|
[in] DWORD celt,
|
|
[out] DWORD *pceltFetched,
|
|
[out, ref] CERTTRANSBLOB *pctbResultRows);
|
|
|
|
HRESULT CloseView(
|
|
[in, string, unique] wchar_t const *pwszAuthority);
|
|
|
|
HRESULT ServerControl(
|
|
[in, string, unique] wchar_t const *pwszAuthority,
|
|
[in] DWORD dwControlFlags,
|
|
[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);
|
|
|
|
HRESULT BackupPrepare(
|
|
[in, string, unique] wchar_t const *pwszAuthority,
|
|
[in] unsigned long grbitJet,
|
|
[in] unsigned long dwBackupFlags,
|
|
[in] WCHAR const *pwszBackupAnnotation,
|
|
[in] DWORD dwClientIdentifier);
|
|
|
|
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,
|
|
[in] LONG dwFlags,
|
|
[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);
|
|
|
|
HRESULT SetCAProperty(
|
|
[in, string, unique] wchar_t const *pwszAuthority,
|
|
[in] LONG PropId, // CR_PROP_*
|
|
[in] LONG PropIndex,
|
|
[in] LONG PropType, // PROPTYPE_*
|
|
[in] CERTTRANSBLOB *pctbPropertyValue);
|
|
|
|
HRESULT GetCAPropertyInfo(
|
|
[in, string, unique] wchar_t const *pwszAuthority,
|
|
[out] LONG *pcProperty,
|
|
[out, ref] CERTTRANSBLOB *pctbPropInfo);
|
|
|
|
HRESULT EnumViewColumnTable(
|
|
[in, string, unique] wchar_t const *pwszAuthority,
|
|
[in] DWORD iTable,
|
|
[in] DWORD iColumn,
|
|
[in] DWORD cColumn,
|
|
[out] DWORD *pcColumn,
|
|
[out, ref] CERTTRANSBLOB *pctbColumnInfo);
|
|
|
|
HRESULT GetCASecurity(
|
|
[in, string, unique] wchar_t const *pwszAuthority,
|
|
[out, ref] CERTTRANSBLOB *pctbSD);
|
|
|
|
HRESULT SetCASecurity(
|
|
[in, string, unique] wchar_t const *pwszAuthority,
|
|
[in, ref] CERTTRANSBLOB *pctbSD);
|
|
|
|
// 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);
|
|
|
|
HRESULT GetAuditFilter(
|
|
[in, string, unique] wchar_t const *pwszAuthority,
|
|
[out] DWORD *pdwFilter);
|
|
|
|
HRESULT SetAuditFilter(
|
|
[in, string, unique] wchar_t const *pwszAuthority,
|
|
[in] DWORD dwFilter);
|
|
|
|
HRESULT GetOfficerRights(
|
|
[in, string, unique] wchar_t const *pwszAuthority,
|
|
[out] BOOL *pfEnabled,
|
|
[out, ref] CERTTRANSBLOB *pctbSD);
|
|
|
|
HRESULT SetOfficerRights(
|
|
[in, string, unique] wchar_t const *pwszAuthority,
|
|
[in] BOOL fEnable,
|
|
[in, ref] CERTTRANSBLOB *pctbSD);
|
|
|
|
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);
|
|
|
|
HRESULT GetMyRoles(
|
|
[in, string, unique] wchar_t const *pwszAuthority,
|
|
[out] LONG *pdwRoles);
|
|
|
|
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);
|
|
}
|