|
|
//+-------------------------------------------------------------------------- // // Microsoft Windows // Copyright (C) Microsoft Corporation, 1996 - 1999 // // File: certdb.idl // // Contents: IDL source for certdb.dll // //---------------------------------------------------------------------------
import "wtypes.idl"; import "certbase.idl"; import "certbcli.idl";
interface ICertDB; interface ICertDBRow;
typedef struct _CERTTRANSDBATTRIBUTE // Marshalled form { ULONG obwszName; ULONG obwszValue; } CERTTRANSDBATTRIBUTE;
typedef struct _CERTDBATTRIBUTE // Native form { WCHAR *pwszName; WCHAR *pwszValue; } CERTDBATTRIBUTE;
typedef struct _CERTTRANSDBEXTENSION // Marshalled form { ULONG obwszName; LONG ExtFlags; DWORD cbValue; ULONG obValue; } CERTTRANSDBEXTENSION;
typedef struct _CERTDBEXTENSION // Native form { WCHAR *pwszName; LONG ExtFlags; DWORD cbValue; BYTE *pbValue; } CERTDBEXTENSION;
const LONG CDBENUM_ATTRIBUTES = 0x00000000; const LONG CDBENUM_EXTENSIONS = 0x00000001;
//+-------------------------------------------------------------------------- // IEnumCERTDBCOLUMN class -- local COM interface //+--------------------------------------------------------------------------
// IEnumCERTDBCOLUMN:Next return type
typedef struct _CERTTRANSDBCOLUMN // Marshalled form { DWORD Type; DWORD Index; DWORD cbMax; ULONG obwszName; ULONG obwszDisplayName; } CERTTRANSDBCOLUMN;
typedef struct _CERTDBCOLUMN // Native form { DWORD Type; DWORD Index; DWORD cbMax; WCHAR *pwszName; WCHAR *pwszDisplayName; } CERTDBCOLUMN;
[ object, uuid(90a27030-8bd5-11d3-b32e-00c04f79dc72), local, helpstring("IEnumCERTDBCOLUMN Interface"), pointer_default(unique) ]
interface IEnumCERTDBCOLUMN: IUnknown { import "oaidl.idl";
HRESULT Next( [in] ULONG celt, [out] CERTDBCOLUMN *rgelt, [out] ULONG *pceltFetched); HRESULT Skip( [in] LONG celt, [out] LONG *pielt); HRESULT Reset(void); HRESULT Clone( [out] IEnumCERTDBCOLUMN **ppenum); };
//+-------------------------------------------------------------------------- // ICertDBComputedColumn class -- local COM interface //+--------------------------------------------------------------------------
[ object, uuid(5ed15981-4055-43a5-b853-58c2cd3ec101), local, helpstring("ICertDBComputedColumn Interface"), pointer_default(unique) ]
interface ICertDBComputedColumn: IUnknown { import "oaidl.idl";
HRESULT GetAlternateColumnId( [in] DWORD ComputedColumnId, [out] DWORD *pAlternateColumnId, [out] DWORD *pPropType);
HRESULT ComputeColumnValue( [in] DWORD ComputedColumnId, [in] DWORD AlternateColumnId, [in] DWORD PropType, [in] DWORD cbProp, [in] BYTE const *pbProp, [out] DWORD *pdwValue); };
//+-------------------------------------------------------------------------- // IEnumCERTDBRESULTROW class -- local COM interface //+--------------------------------------------------------------------------
// IEnumCERTDBRESULTROW:Next return type
typedef struct _CERTTRANSDBRESULTCOLUMN // Marshalled form { DWORD Type; DWORD Index; ULONG obValue; DWORD cbValue; } CERTTRANSDBRESULTCOLUMN;
typedef struct _CERTDBRESULTCOLUMN // Native form { DWORD Type; DWORD Index; BYTE *pbValue; DWORD cbValue; } CERTDBRESULTCOLUMN;
typedef struct _CERTTRANSDBRESULTROW // Marshalled form { DWORD rowid; DWORD ccol; ULONG cbrow; } CERTTRANSDBRESULTROW;
typedef struct _CERTDBRESULTROW // Native form { DWORD rowid; DWORD ccol; CERTDBRESULTCOLUMN *acol; } CERTDBRESULTROW;
[ object, uuid(915feb70-8bd5-11d3-b32e-00c04f79dc72), local, helpstring("IEnumCERTDBRESULTROW Interface"), pointer_default(unique) ]
interface IEnumCERTDBRESULTROW: IUnknown { import "oaidl.idl";
HRESULT Next( [in] ICertDBComputedColumn *pIComputedColumn, [in] ULONG celt, [out] CERTDBRESULTROW *rgelt, [out] ULONG *pceltFetched);
HRESULT ReleaseResultRow( [in] ULONG celt, [in, out] CERTDBRESULTROW *rgelt); HRESULT Skip( [in] LONG celt, [out] LONG *pielt); HRESULT Reset(void); HRESULT Clone( [out] IEnumCERTDBRESULTROW **ppenum); };
//+-------------------------------------------------------------------------- // IEnumCERTDBNAME class -- local COM interface //+--------------------------------------------------------------------------
// IEnumCERTDBName:Next return type
typedef struct _CERTDBNAME { WCHAR *pwszName; } CERTDBNAME;
[ object, uuid(91dbb1a0-8bd5-11d3-b32e-00c04f79dc72), local, helpstring("IEnumCERTDBNAME Interface"), pointer_default(unique) ]
interface IEnumCERTDBNAME: IUnknown { import "oaidl.idl";
HRESULT Next( [in] ULONG celt, [out] CERTDBNAME *rgelt, [out] ULONG *pceltFetched); HRESULT Skip( [in] LONG celt, [out] LONG *pielt); HRESULT Reset(void); HRESULT Clone( [out] IEnumCERTDBNAME **ppenum); };
//+-------------------------------------------------------------------------- // ICertDBRow class -- local COM interface //+--------------------------------------------------------------------------
const LONG CDBROW_COMMIT_ROLLBACK = 0x00000000; const LONG CDBROW_COMMIT_COMMIT = 0x00000001; const LONG CDBROW_COMMIT_SOFTCOMMIT= 0x00000002;
[ object, uuid(924b3e50-8bd5-11d3-b32e-00c04f79dc72), local, helpstring("ICertDBRow Interface"), pointer_default(unique) ]
interface ICertDBRow: IUnknown { import "oaidl.idl";
HRESULT BeginTransaction();
HRESULT CommitTransaction( [in] DWORD dwCommitFlags);
HRESULT GetRowId( [out] DWORD *pRowId);
HRESULT Delete();
HRESULT SetProperty( [in] WCHAR const *pwszPropName, [in] DWORD dwFlags, [in] DWORD cbProp, [in] BYTE const *pbProp); // OPTIONAL
HRESULT GetProperty( [in] WCHAR const *pwszPropName, [in] DWORD dwFlags, [in] ICertDBComputedColumn *pIComputedColumn, [in, out] DWORD *pcbProp, [out] BYTE *pbProp); // OPTIONAL
HRESULT SetExtension( [in] WCHAR const *pwszExtensionName, [in] DWORD dwExtFlags, [in] DWORD cbValue, [in] BYTE const *pbValue); // OPTIONAL
HRESULT GetExtension( [in] WCHAR const *pwszExtensionName, [out] DWORD *pdwExtFlags, [in, out] DWORD *pcbValue, [out] BYTE *pbValue); // OPTIONAL
HRESULT CopyRequestNames();
HRESULT EnumCertDBName( [in] DWORD dwFlags, [out] IEnumCERTDBNAME **ppenum); };
//+-------------------------------------------------------------------------- // ICertDBBackup class -- local COM interface //+--------------------------------------------------------------------------
[ object, uuid(92a56660-8bd5-11d3-b32e-00c04f79dc72), local, helpstring("ICertDBBackup Interface"), pointer_default(unique) ]
interface ICertDBBackup: IUnknown { import "oaidl.idl";
HRESULT GetDBFileList( [in, out] DWORD *pcwcList, [out] WCHAR *pwszzList); // OPTIONAL
HRESULT GetLogFileList( [in, out] DWORD *pcwcList, [out] WCHAR *pwszzList); // OPTIONAL
HRESULT OpenFile( [in] WCHAR const *pwszFile, [out] ULARGE_INTEGER *pliSize); // OPTIONAL
HRESULT ReadFile( [in, out] DWORD *pcb, [out] BYTE *pb);
HRESULT CloseFile();
HRESULT TruncateLog(); }
//+-------------------------------------------------------------------------- // ICertDBRestore class -- local COM interface //+--------------------------------------------------------------------------
[ object, uuid(93042400-8bd5-11d3-b32e-00c04f79dc72), local, helpstring("ICertDBRestore Interface"), pointer_default(unique) ]
interface ICertDBRestore: IUnknown { import "oaidl.idl";
HRESULT RecoverAfterRestore( [in] DWORD cSession, [in] DWORD DBFlags, [in] WCHAR const *pwszEventSource, [in] WCHAR const *pwszLogDir, [in] WCHAR const *pwszSystemDir, [in] WCHAR const *pwszTempDir, [in] WCHAR const *pwszCheckPointFile, [in] WCHAR const *pwszLogPath, [in] CSEDB_RSTMAPW rgrstmap[], [in] LONG crstmap, [in] WCHAR const *pwszBackupLogPath, [in] DWORD genLow, [in] DWORD genHigh); }
//+-------------------------------------------------------------------------- // ICertDB class -- local COM interface //+--------------------------------------------------------------------------
// ICertDB::OpenView dwFlags: const LONG CDBOPENVIEW_WORKERTHREAD = 1;
// ICertDB::ShutDown dwFlags: const LONG CDBSHUTDOWN_PENDING = 1;
[ object, uuid(93582f50-8bd5-11d3-b32e-00c04f79dc72), local, helpstring("ICertDB Interface"), pointer_default(unique) ]
interface ICertDB: IUnknown { import "oaidl.idl";
HRESULT Open( [in] DWORD dwFlags, // DBFLAGS_* [in] DWORD cSession, [in] WCHAR const *pwszEventSource, [in] WCHAR const *pwszDBFile, [in] WCHAR const *pwszLogDir, [in] WCHAR const *pwszSystemDir, [in] WCHAR const *pwszTempDir);
HRESULT ShutDown( [in] DWORD dwFlags);
HRESULT OpenRow( [in] DWORD dwFlags, [in] DWORD RowId, [in] WCHAR const *pwszSerialNumberOrCertHash, // OPTIONAL [out] ICertDBRow **pprow);
HRESULT OpenView( [in] DWORD ccvr, [in] CERTVIEWRESTRICTION const *acvr, [in] DWORD ccolOut, [in] DWORD const *acolOut, [in] DWORD const dwFlags, [out] IEnumCERTDBRESULTROW **ppenum);
HRESULT EnumCertDBColumn( [in] DWORD dwTable, [out] IEnumCERTDBCOLUMN **ppenum);
HRESULT OpenBackup( [in] LONG grbitJet, [out] ICertDBBackup **ppBackup);
HRESULT GetDefaultColumnSet( [in] DWORD iColumnSetDefault, [in] DWORD cColumnIds, [out] DWORD *pcColumnIds, [out, ref] DWORD *pColumnIds); };
//+-------------------------------------------------------------------------- // certdb Type library //+--------------------------------------------------------------------------
[ uuid(93adc1d0-8bd5-11d3-b32e-00c04f79dc72), version(2.0), helpstring("CertDB 2.0 Type Library") ]
library CERTDBLib { importlib("stdole2.tlb");
[ uuid(94142360-8bd5-11d3-b32e-00c04f79dc72), helpstring("CertDBRestore Class") ] coclass CCertDBRestore { [default] interface ICertDBRestore; };
[ uuid(946e4b70-8bd5-11d3-b32e-00c04f79dc72), helpstring("CertDB Class") ] coclass CCertDB { [default] interface ICertDB; }; };
|