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