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