unit Exoledb_TLB;
// ************************************************************************ //
// WARNING
// -------
// The types declared in this file were generated from data read from a
// Type Library. If this type library is explicitly or indirectly (via
// another type library referring to this type library) re-imported, or the
// 'Refresh' command of the Type Library Editor activated while editing the
// Type Library, the contents of this file will be regenerated and all
// manual modifications will be lost.
// ************************************************************************ //
// PASTLWTR : 1.2
// File generated on 10.4.2006 20:32:51 from Type Library described below.
// ************************************************************************ //
// Type Lib: E:\Documents\Borland Studio Projects\Exchange Events\exoledb.dll (2)
// LIBID: {9DA0E107-86CE-11D1-8699-00C04FB98036}
// LCID: 0
// Helpfile:
// HelpString: EXOLEDB Type Library
// DepndLst:
// (1) v2.0 stdole, (C:\WINDOWS\system32\STDOLE2.TLB)
// Parent TypeLibrary:
// (0) v1.0 MyExchangeEvents, (E:\Documents\Borland Studio Projects\Exchange Events\MyExchangeEvents.tlb)
// ************************************************************************ //
{$TYPEDADDRESS OFF} // Unit must be compiled without type-checked pointers.
{$WARN SYMBOL_PLATFORM OFF}
{$WRITEABLECONST ON}
{$VARPROPSETTER ON}
interface
uses Windows,
ActiveX, Classes, Graphics, StdVCL, Variants;
// *********************************************************************//
// GUIDS declared in the TypeLibrary. Following prefixes are used:
// Type Libraries : LIBID_xxxx
// CoClasses : CLASS_xxxx
// DISPInterfaces : DIID_xxxx
// Non-DISP interfaces: IID_xxxx
// *********************************************************************//
const
// TypeLibrary Major and minor versions
ExoledbMajorVersion = 1;
ExoledbMinorVersion = 0;
LIBID_Exoledb: TGUID = '
{9DA0E107-86CE-11D1-8699-00C04FB98036}';
IID_IExStoreEventInfo: TGUID = '
{9DA0E100-86CE-11D1-8699-00C04FB98036}';
IID_IExStoreDispEventInfo: TGUID = '
{9DA0E110-86CE-11D1-8699-00C04FB98036}';
IID_IExStoreAsyncEvents: TGUID = '
{9DA0E0FE-86CE-11D1-8699-00C04FB98036}';
IID_IExStoreSyncEvents: TGUID = '
{9DA0E0FF-86CE-11D1-8699-00C04FB98036}';
IID_IExStoreSystemEvents: TGUID = '
{9DA0E101-86CE-11D1-8699-00C04FB98036}';
IID_IExStoreLockEvents: TGUID = '
{9DA0E10E-86CE-11D1-8699-00C04FB98036}';
IID_IGetLockRow: TGUID = '
{9DA0E0EF-86CE-11D1-8699-00C04FB98036}';
IID_IExStoreEventLogonInfo: TGUID = '
{9DA0E111-86CE-11D1-8699-00C04FB98036}';
IID_IGetSourceURL: TGUID = '
{9DA0E10B-86CE-11D1-8699-00C04FB98036}';
IID_IExStoreEventRegistrationURL: TGUID = '
{9DA0E117-86CE-11D1-8699-00C04FB98036}';
IID_ICreateRegistration: TGUID = '
{9DA0E11C-86CE-11D1-8699-00C04FB98036}';
IID_IExStoreNotification: TGUID = '
{9DA0E129-86CE-11D1-8699-00C04FB98036}';
IID_IExStoreRegisterNotification: TGUID = '
{9DA0E12A-86CE-11D1-8699-00C04FB98036}';
IID_IExoledbUrlMapper: TGUID = '
{9DA0E11D-86CE-11D1-8699-00C04FB98036}';
CLASS_ExoledbUrlMapper: TGUID = '
{9DA0E11E-86CE-11D1-8699-00C04FB98036}';
IID_IStoreGuidFromUrl: TGUID = '
{9DA0E10C-86CE-11D1-8699-00C04FB98036}';
CLASS_StoreGuidFromUrl: TGUID = '
{9DA0E10D-86CE-11D1-8699-00C04FB98036}';
// *********************************************************************//
// Declaration of Enumerations defined in Type Library
// *********************************************************************//
// Constants for enum EVT_SINK_FLAGS
type
EVT_SINK_FLAGS = TOleEnum;
const
EVT_NEW_ITEM = $00000001;
EVT_IS_COLLECTION = $00000002;
EVT_REPLICATED_ITEM = $00000004;
EVT_IS_DELIVERED = $00000008;
EVT_SYNC_BEGIN = $01000000;
EVT_SYNC_COMMITTED = $02000000;
EVT_SYNC_ABORTED = $04000000;
EVT_SOFTDELETE = $00000010;
EVT_HARDDELETE = $00000020;
EVT_INITNEW = $00000040;
EVT_MOVE = $00000100;
EVT_COPY = $00000200;
EVT_DRAFT_CREATE = $00000400;
EVT_DRAFT_SAVE = $00000800;
EVT_DRAFT_CHECKIN = $00001000;
EVT_INVALID_SOURCE_URL = $20000000;
EVT_INVALID_URL = $40000000;
EVT_ERROR = $80000000;
EVT_LOCKTYPE_READ = $00010000;
EVT_LOCKTYPE_WRITE = $00020000;
EVT_LOCKTYPE_CHECKOUT = $00040000;
EVT_LOCKTYPE_READWRITE = $00030000;
EVT_LOCKSCOPE_SHARED = $00080000;
EVT_LOCKSCOPE_EXCLUSIVE = $00100000;
EVT_UNLOCK_CHECKIN_ABORT = $00200000;
EVT_UNLOCK_CHECKIN_KEEP_LOCKED = $00400000;
EVT_LOCKDEPTH_DEEP = $00800000;
EVT_LOCK_TRANSIENT = $00002000;
EVT_VIRUS_CLEANED = $00004000;
type
// *********************************************************************//
// Forward declaration of types defined in TypeLibrary
// *********************************************************************//
IExStoreEventInfo =
interface;
IExStoreDispEventInfo =
interface;
IExStoreDispEventInfoDisp =
dispinterface;
IExStoreAsyncEvents =
interface;
IExStoreSyncEvents =
interface;
IExStoreSystemEvents =
interface;
IExStoreLockEvents =
interface;
IGetLockRow =
interface;
IExStoreEventLogonInfo =
interface;
IGetSourceURL =
interface;
IExStoreEventRegistrationURL =
interface;
IExStoreEventRegistrationURLDisp =
dispinterface;
ICreateRegistration =
interface;
IExStoreNotification =
interface;
IExStoreRegisterNotification =
interface;
IExoledbUrlMapper =
interface;
IExoledbUrlMapperDisp =
dispinterface;
IStoreGuidFromUrl =
interface;
IStoreGuidFromUrlDisp =
dispinterface;
// *********************************************************************//
// Declaration of CoClasses defined in Type Library
// (NOTE: Here we map each CoClass to its Default Interface)
// *********************************************************************//
ExoledbUrlMapper = IExoledbUrlMapper;
StoreGuidFromUrl = IStoreGuidFromUrl;
// *********************************************************************//
// Declaration of structures, unions and aliases.
// *********************************************************************//
PUserType1 = ^TGUID;
{*}
PUserType2 = ^_SID;
{*}
LONG_PTR = Integer;
_SID_IDENTIFIER_AUTHORITY =
packed record
Value:
array[0..5]
of Byte;
end;
_SID =
packed record
Revision: Byte;
SubAuthorityCount: Byte;
IdentifierAuthority: _SID_IDENTIFIER_AUTHORITY;
SubAuthority: ^LongWord;
end;
ULONG_PTR = LongWord;
// *********************************************************************//
// Interface: IExStoreEventInfo
// Flags: (0)
// GUID: {9DA0E100-86CE-11D1-8699-00C04FB98036}
// *********************************************************************//
IExStoreEventInfo =
interface(IUnknown)
['
{9DA0E100-86CE-11D1-8699-00C04FB98036}']
function RemoteGetEventItem(
var riid: TGUID;
out pdwBindStatus: LongWord;
out ppunkEventItem: IUnknown): HResult;
stdcall;
function RemoteGetEventSession(
var riid: TGUID;
out ppSession: IUnknown): HResult;
stdcall;
function Abort(lErrorCode: Integer): HResult;
stdcall;
end;
// *********************************************************************//
// Interface: IExStoreDispEventInfo
// Flags: (4416) Dual OleAutomation Dispatchable
// GUID: {9DA0E110-86CE-11D1-8699-00C04FB98036}
// *********************************************************************//
IExStoreDispEventInfo =
interface(IDispatch)
['
{9DA0E110-86CE-11D1-8699-00C04FB98036}']
function Get_EventConnection: IDispatch;
safecall;
function Get_EventRecord: IDispatch;
safecall;
procedure AbortChange(lErrorCode: Integer);
safecall;
function Get_SourceURL: WideString;
safecall;
function Get_UserGuid: WideString;
safecall;
function Get_StoreGuid: WideString;
safecall;
function Get_UserSid: OleVariant;
safecall;
function Get_Data: LONG_PTR;
safecall;
procedure Set_Data(plData: LONG_PTR);
safecall;
property EventConnection: IDispatch
read Get_EventConnection;
property EventRecord: IDispatch
read Get_EventRecord;
property SourceURL: WideString
read Get_SourceURL;
property UserGuid: WideString
read Get_UserGuid;
property StoreGuid: WideString
read Get_StoreGuid;
property UserSid: OleVariant
read Get_UserSid;
property Data: LONG_PTR
read Get_Data
write Set_Data;
end;
// *********************************************************************//
// DispIntf: IExStoreDispEventInfoDisp
// Flags: (4416) Dual OleAutomation Dispatchable
// GUID: {9DA0E110-86CE-11D1-8699-00C04FB98036}
// *********************************************************************//
IExStoreDispEventInfoDisp =
dispinterface
['
{9DA0E110-86CE-11D1-8699-00C04FB98036}']
property EventConnection: IDispatch
readonly dispid 1610743808;
property EventRecord: IDispatch
readonly dispid 1610743809;
procedure AbortChange(lErrorCode: Integer);
dispid 1610743810;
property SourceURL: WideString
readonly dispid 1610743811;
property UserGuid: WideString
readonly dispid 1610743812;
property StoreGuid: WideString
readonly dispid 1610743813;
property UserSid: OleVariant
readonly dispid 1610743814;
property Data: LONG_PTR
dispid 1610743815;
end;
// *********************************************************************//
// Interface: IExStoreAsyncEvents
// Flags: (0)
// GUID: {9DA0E0FE-86CE-11D1-8699-00C04FB98036}
// *********************************************************************//
IExStoreAsyncEvents =
interface(IUnknown)
['
{9DA0E0FE-86CE-11D1-8699-00C04FB98036}']
function OnSave(
const pEventInfo: IExStoreEventInfo;
const bstrURLItem: WideString;
lFlags: Integer): HResult;
stdcall;
function OnDelete(
const pEventInfo: IExStoreEventInfo;
const bstrURLItem: WideString;
lFlags: Integer): HResult;
stdcall;
end;
// *********************************************************************//
// Interface: IExStoreSyncEvents
// Flags: (0)
// GUID: {9DA0E0FF-86CE-11D1-8699-00C04FB98036}
// *********************************************************************//
IExStoreSyncEvents =
interface(IUnknown)
['
{9DA0E0FF-86CE-11D1-8699-00C04FB98036}']
function OnSyncSave(
const pEventInfo: IExStoreEventInfo;
const bstrURLItem: WideString;
lFlags: Integer): HResult;
stdcall;
function OnSyncDelete(
const pEventInfo: IExStoreEventInfo;
const bstrURLItem: WideString;
lFlags: Integer): HResult;
stdcall;
end;
// *********************************************************************//
// Interface: IExStoreSystemEvents
// Flags: (0)
// GUID: {9DA0E101-86CE-11D1-8699-00C04FB98036}
// *********************************************************************//
IExStoreSystemEvents =
interface(IUnknown)
['
{9DA0E101-86CE-11D1-8699-00C04FB98036}']
function OnTimer(
const bstrURLItem: WideString; lFlags: Integer): HResult;
stdcall;
function OnMDBStartUp(
const bstrMDBGuid: WideString;
const bstrMDBName: WideString;
lFlags: Integer): HResult;
stdcall;
function OnMDBShutDown(
const bstrMDBGuid: WideString; lFlags: Integer): HResult;
stdcall;
end;
// *********************************************************************//
// Interface: IExStoreLockEvents
// Flags: (0)
// GUID: {9DA0E10E-86CE-11D1-8699-00C04FB98036}
// *********************************************************************//
IExStoreLockEvents =
interface(IUnknown)
['
{9DA0E10E-86CE-11D1-8699-00C04FB98036}']
function OnSyncLock(
const pEventInfo: IExStoreEventInfo;
const bstrURLItem: WideString;
lFlags: Integer): HResult;
stdcall;
function OnSyncUnlock(
const pEventInfo: IExStoreEventInfo;
const bstrURLItem: WideString;
lFlags: Integer): HResult;
stdcall;
end;
// *********************************************************************//
// Interface: IGetLockRow
// Flags: (0)
// GUID: {9DA0E0EF-86CE-11D1-8699-00C04FB98036}
// *********************************************************************//
IGetLockRow =
interface(IUnknown)
['
{9DA0E0EF-86CE-11D1-8699-00C04FB98036}']
function GetLockRow(
var riid: TGUID;
out pdwBindStatus: LongWord;
out ppunkLockRow: IUnknown): HResult;
stdcall;
end;
// *********************************************************************//
// Interface: IExStoreEventLogonInfo
// Flags: (0)
// GUID: {9DA0E111-86CE-11D1-8699-00C04FB98036}
// *********************************************************************//
IExStoreEventLogonInfo =
interface(IUnknown)
['
{9DA0E111-86CE-11D1-8699-00C04FB98036}']
function GetUserGuid(
var pguid: TGUID): HResult;
stdcall;
function GetStoreGuid(
var pguid: TGUID): HResult;
stdcall;
function GetUserSid(
out ppsid: PUserType2): HResult;
stdcall;
end;
// *********************************************************************//
// Interface: IGetSourceURL
// Flags: (0)
// GUID: {9DA0E10B-86CE-11D1-8699-00C04FB98036}
// *********************************************************************//
IGetSourceURL =
interface(IUnknown)
['
{9DA0E10B-86CE-11D1-8699-00C04FB98036}']
function GetSourceURL(
out pbstrURL: WideString): HResult;
stdcall;
end;
// *********************************************************************//
// Interface: IExStoreEventRegistrationURL
// Flags: (4416) Dual OleAutomation Dispatchable
// GUID: {9DA0E117-86CE-11D1-8699-00C04FB98036}
// *********************************************************************//
IExStoreEventRegistrationURL =
interface(IDispatch)
['
{9DA0E117-86CE-11D1-8699-00C04FB98036}']
function Get_EventRegistrationURL: WideString;
safecall;
property EventRegistrationURL: WideString
read Get_EventRegistrationURL;
end;
// *********************************************************************//
// DispIntf: IExStoreEventRegistrationURLDisp
// Flags: (4416) Dual OleAutomation Dispatchable
// GUID: {9DA0E117-86CE-11D1-8699-00C04FB98036}
// *********************************************************************//
IExStoreEventRegistrationURLDisp =
dispinterface
['
{9DA0E117-86CE-11D1-8699-00C04FB98036}']
property EventRegistrationURL: WideString
readonly dispid 1610743808;
end;
// *********************************************************************//
// Interface: ICreateRegistration
// Flags: (0)
// GUID: {9DA0E11C-86CE-11D1-8699-00C04FB98036}
// *********************************************************************//
ICreateRegistration =
interface(IUnknown)
['
{9DA0E11C-86CE-11D1-8699-00C04FB98036}']
function Register(
const pEventInfo: IExStoreEventInfo;
const bstrURLItem: WideString;
lFlags: Integer;
out phr: Integer): HResult;
stdcall;
end;
// *********************************************************************//
// Interface: IExStoreNotification
// Flags: (0)
// GUID: {9DA0E129-86CE-11D1-8699-00C04FB98036}
// *********************************************************************//
IExStoreNotification =
interface(IUnknown)
['
{9DA0E129-86CE-11D1-8699-00C04FB98036}']
function OnChange(dwHandle: ULONG_PTR; dwFlags: LongWord): HResult;
stdcall;
end;
// *********************************************************************//
// Interface: IExStoreRegisterNotification
// Flags: (0)
// GUID: {9DA0E12A-86CE-11D1-8699-00C04FB98036}
// *********************************************************************//
IExStoreRegisterNotification =
interface(IUnknown)
['
{9DA0E12A-86CE-11D1-8699-00C04FB98036}']
function Register(
const bstrURL: WideString;
const pSink: IExStoreNotification;
dwFlags: LongWord;
out pdwHandle: ULONG_PTR): HResult;
stdcall;
function UnRegister(dwHandle: ULONG_PTR): HResult;
stdcall;
function Ready(dwHandle: ULONG_PTR;
out pdwRemaining: LongWord): HResult;
stdcall;
end;
// *********************************************************************//
// Interface: IExoledbUrlMapper
// Flags: (4416) Dual OleAutomation Dispatchable
// GUID: {9DA0E11D-86CE-11D1-8699-00C04FB98036}
// *********************************************************************//
IExoledbUrlMapper =
interface(IDispatch)
['
{9DA0E11D-86CE-11D1-8699-00C04FB98036}']
function HttpUrlToFilePath(
const bstrHttpUrl: WideString): WideString;
safecall;
function FilePathToHttpUrls(
const bstrFilePath: WideString): PSafeArray;
safecall;
function FilePathToExoledbFileUrl(
const bstrFilePath: WideString): WideString;
safecall;
function ExoledbFileUrlToFilePath(
const bstrExoledbFileUrl: WideString): WideString;
safecall;
end;
// *********************************************************************//
// DispIntf: IExoledbUrlMapperDisp
// Flags: (4416) Dual OleAutomation Dispatchable
// GUID: {9DA0E11D-86CE-11D1-8699-00C04FB98036}
// *********************************************************************//
IExoledbUrlMapperDisp =
dispinterface
['
{9DA0E11D-86CE-11D1-8699-00C04FB98036}']
function HttpUrlToFilePath(
const bstrHttpUrl: WideString): WideString;
dispid 1610743808;
function FilePathToHttpUrls(
const bstrFilePath: WideString):
{??PSafeArray}OleVariant;
dispid 1610743809;
function FilePathToExoledbFileUrl(
const bstrFilePath: WideString): WideString;
dispid 1610743810;
function ExoledbFileUrlToFilePath(
const bstrExoledbFileUrl: WideString): WideString;
dispid 1610743811;
end;
// *********************************************************************//
// Interface: IStoreGuidFromUrl
// Flags: (4416) Dual OleAutomation Dispatchable
// GUID: {9DA0E10C-86CE-11D1-8699-00C04FB98036}
// *********************************************************************//
IStoreGuidFromUrl =
interface(IDispatch)
['
{9DA0E10C-86CE-11D1-8699-00C04FB98036}']
function StoreGuidFromUrl(
const bstrURL: WideString): WideString;
safecall;
end;
// *********************************************************************//
// DispIntf: IStoreGuidFromUrlDisp
// Flags: (4416) Dual OleAutomation Dispatchable
// GUID: {9DA0E10C-86CE-11D1-8699-00C04FB98036}
// *********************************************************************//
IStoreGuidFromUrlDisp =
dispinterface
['
{9DA0E10C-86CE-11D1-8699-00C04FB98036}']
function StoreGuidFromUrl(
const bstrURL: WideString): WideString;
dispid 1610743808;
end;
// *********************************************************************//
// The Class CoExoledbUrlMapper provides a Create and CreateRemote method to
// create instances of the default interface IExoledbUrlMapper exposed by
// the CoClass ExoledbUrlMapper. The functions are intended to be used by
// clients wishing to automate the CoClass objects exposed by the
// server of this typelibrary.
// *********************************************************************//
CoExoledbUrlMapper =
class
class function Create: IExoledbUrlMapper;
class function CreateRemote(
const MachineName:
string): IExoledbUrlMapper;
end;
// *********************************************************************//
// The Class CoStoreGuidFromUrl provides a Create and CreateRemote method to
// create instances of the default interface IStoreGuidFromUrl exposed by
// the CoClass StoreGuidFromUrl. The functions are intended to be used by
// clients wishing to automate the CoClass objects exposed by the
// server of this typelibrary.
// *********************************************************************//
CoStoreGuidFromUrl =
class
class function Create: IStoreGuidFromUrl;
class function CreateRemote(
const MachineName:
string): IStoreGuidFromUrl;
end;
implementation
uses ComObj;
class function CoExoledbUrlMapper.Create: IExoledbUrlMapper;
begin
Result := CreateComObject(CLASS_ExoledbUrlMapper)
as IExoledbUrlMapper;
end;
class function CoExoledbUrlMapper.CreateRemote(
const MachineName:
string): IExoledbUrlMapper;
begin
Result := CreateRemoteComObject(MachineName, CLASS_ExoledbUrlMapper)
as IExoledbUrlMapper;
end;
class function CoStoreGuidFromUrl.Create: IStoreGuidFromUrl;
begin
Result := CreateComObject(CLASS_StoreGuidFromUrl)
as IStoreGuidFromUrl;
end;
class function CoStoreGuidFromUrl.CreateRemote(
const MachineName:
string): IStoreGuidFromUrl;
begin
Result := CreateRemoteComObject(MachineName, CLASS_StoreGuidFromUrl)
as IStoreGuidFromUrl;
end;
end.