'automation'에 해당되는 글 1건
- 2008/06/25 Visual SourceSafe Automaion.
Visual SourceSafe Automation에 대해 자료를 찾아보았다.
VSS 2005 버젼에서 C#코드로 간편히 Automation을 구현할 수 있으나, VSS 6.0은 여전히 COM interface를 사용해서 작업해야 하는 번거로움이.. 쿨럭;
Visual Studio 2005용 자료.
http://msdn.microsoft.com/en-us/library/4d44xhsd(VS.80).aspx
Visual Studo 6.0자료.
http://msdn.microsoft.com/en-us/library/bb509341(VS.80).aspx
6.0용 예제코드가 있어 사라지기 전 첨부해 본다.
또 번외로 VSS 6.0 Automation관련 DLL의 인터페이스를 OLE Viewer로 추적해 보았다.
레지스트리 위치 : HKEY_CLASSES_ROOT\CLSID\{783CD4E4-9D54-11CF-B8EE-00608CC9A71F}
VSS 2005 버젼에서 C#코드로 간편히 Automation을 구현할 수 있으나, VSS 6.0은 여전히 COM interface를 사용해서 작업해야 하는 번거로움이.. 쿨럭;
Visual Studio 2005용 자료.
http://msdn.microsoft.com/en-us/library/4d44xhsd(VS.80).aspx
Visual Studo 6.0자료.
http://msdn.microsoft.com/en-us/library/bb509341(VS.80).aspx
6.0용 예제코드가 있어 사라지기 전 첨부해 본다.
또 번외로 VSS 6.0 Automation관련 DLL의 인터페이스를 OLE Viewer로 추적해 보았다.
레지스트리 위치 : HKEY_CLASSES_ROOT\CLSID\{783CD4E4-9D54-11CF-B8EE-00608CC9A71F}
// Generated .IDL file (by the OLE/COM Object Viewer)
//
// typelib filename: SSAPI.DLL
[
uuid(783CD4E0-9D54-11CF-B8EE-00608CC9A71F),
version(5.1),
helpstring("Microsoft SourceSafe 6.0 Type Library"),
helpfile("ssauto.hlp"),
helpcontext(00000000),
custom(DE77BA64-517C-11D1-A2DA-0000F8773CE9, 100663643),
custom(DE77BA63-517C-11D1-A2DA-0000F8773CE9, 1043226552),
custom(DE77BA65-517C-11D1-A2DA-0000F8773CE9, Created by MIDL version 6.00.0347 at Wed Jan 22 01:09:11 2003
)
]
library SourceSafeTypeLib
{
// TLib : // TLib : OLE Automation : {00020430-0000-0000-C000-000000000046}
importlib("stdole2.tlb");
// Forward declare all types defined in this typelib
interface IVSSItemOld;
interface IVSSItem;
interface IVSSItems;
interface IVSSCheckouts;
interface IVSSCheckout;
interface IVSSVersions;
interface IVSSVersionOld;
interface IVSSVersion;
interface IVSSUsers;
interface IVSSUser;
interface IVSSDatabaseOld;
interface IVSSDatabase;
interface IVSSEventsOld;
interface IVSSEvents;
interface IVSS;
interface IVSSEventHandler;
typedef [uuid(783CD4EF-9D54-11CF-B8EE-00608CC9A71F), helpstring("SourceSafe operation flags")]
enum {
VSSFLAG_USERRONO = 1,
VSSFLAG_USERROYES = 2,
VSSFLAG_TIMENOW = 4,
VSSFLAG_TIMEMOD = 8,
VSSFLAG_TIMEUPD = 12,
VSSFLAG_EOLCR = 16,
VSSFLAG_EOLLF = 32,
VSSFLAG_EOLCRLF = 48,
VSSFLAG_REPASK = 64,
VSSFLAG_REPREPLACE = 128,
VSSFLAG_REPSKIP = 192,
VSSFLAG_REPMERGE = 256,
VSSFLAG_CMPFULL = 512,
VSSFLAG_CMPTIME = 1024,
VSSFLAG_CMPCHKSUM = 1536,
VSSFLAG_CMPFAIL = 2048,
VSSFLAG_RECURSNO = 4096,
VSSFLAG_RECURSYES = 8192,
VSSFLAG_FORCEDIRNO = 16384,
VSSFLAG_FORCEDIRYES = 32768,
VSSFLAG_KEEPNO = 0x00010000,
VSSFLAG_KEEPYES = 0x00020000,
VSSFLAG_DELNO = 0x00040000,
VSSFLAG_DELYES = 0x00080000,
VSSFLAG_DELNOREPLACE = 0x000c0000,
VSSFLAG_BINTEST = 0x00100000,
VSSFLAG_BINBINARY = 0x00200000,
VSSFLAG_BINTEXT = 0x00300000,
VSSFLAG_DELTAYES = 0x00400000,
VSSFLAG_DELTANO = 0x00800000,
VSSFLAG_UPDASK = 0x01000000,
VSSFLAG_UPDUPDATE = 0x02000000,
VSSFLAG_UPDUNCH = 0x03000000,
VSSFLAG_GETYES = 0x04000000,
VSSFLAG_GETNO = 0x08000000,
VSSFLAG_CHKEXCLUSIVEYES = 0x10000000,
VSSFLAG_CHKEXCLUSIVENO = 0x20000000,
VSSFLAG_HISTIGNOREFILES = 0x40000000
} VSSFlags;
typedef [uuid(783CD4ED-9D54-11CF-B8EE-00608CC9A71F), helpstring("SourceSafe file checkout status")]
enum {
VSSFILE_NOTCHECKEDOUT = 0,
VSSFILE_CHECKEDOUT = 1,
VSSFILE_CHECKEDOUT_ME = 2
} VSSFileStatus;
typedef [uuid(783CD4EE-9D54-11CF-B8EE-00608CC9A71F), helpstring("SourceSafe item type")]
enum {
VSSITEM_PROJECT = 0,
VSSITEM_FILE = 1
} VSSItemType;
typedef [uuid(2A0DE0E6-2E9F-11D0-9236-00AA00A1EB95), helpstring("SourceSafe rights values")]
enum {
VSSRIGHTS_READ = 1,
VSSRIGHTS_CHKUPD = 2,
VSSRIGHTS_ADDRENREM = 4,
VSSRIGHTS_DESTROY = 8,
VSSRIGHTS_ALL = 15,
VSSRIGHTS_INHERITED = 16
} VSSRights;
[
odl,
uuid(783CD4E1-9D54-11CF-B8EE-00608CC9A71F),
helpstring("SourceSafe item interface"),
dual,
oleautomation
]
interface IVSSItemOld : IDispatch {
[id(0x00000001), propget]
HRESULT Spec([out, retval] BSTR* pSpec);
[id(0x00000002), propget]
HRESULT Binary([out, retval] VARIANT_BOOL* pbBinary);
[id(0x00000002), propput]
HRESULT Binary([in] VARIANT_BOOL pbBinary);
[id(0x00000003), propget]
HRESULT Deleted([out, retval] VARIANT_BOOL* pbDeleted);
[id(0x00000003), propput]
HRESULT Deleted([in] VARIANT_BOOL pbDeleted);
[id(0x00000004), propget]
HRESULT Type([out, retval] int* piType);
[id(0x00000005), propget]
HRESULT LocalSpec([out, retval] BSTR* pLocal);
[id(0x00000005), propput]
HRESULT LocalSpec([in] BSTR pLocal);
[id(0x00000006), propget]
HRESULT Name([out, retval] BSTR* pName);
[id(0x00000006), propput]
HRESULT Name([in] BSTR pName);
[id(0x00000007), propget]
HRESULT Parent([out, retval] IVSSItem** ppIParent);
[id(0x00000008), propget]
HRESULT VersionNumber([out, retval] long* piVersion);
[id(0x00000009), propget]
HRESULT Items(
[in, optional, defaultvalue(0)] VARIANT_BOOL IncludeDeleted,
[out, retval] IVSSItems** ppIItems);
[id(0x0000000a)]
HRESULT Get(
[in, out, optional, defaultvalue("0")] BSTR* Local,
[in, optional, defaultvalue(0)] long iFlags);
[id(0x0000000b)]
HRESULT Checkout(
[in, optional, defaultvalue("")] BSTR Comment,
[in, optional, defaultvalue("")] BSTR Local,
[in, optional, defaultvalue(0)] long iFlags);
[id(0x0000000c)]
HRESULT Checkin(
[in, optional, defaultvalue("")] BSTR Comment,
[in, optional, defaultvalue("")] BSTR Local,
[in, optional, defaultvalue(0)] long iFlags);
[id(0x0000000d)]
HRESULT UndoCheckout(
[in, optional, defaultvalue("")] BSTR Local,
[in, optional, defaultvalue(0)] long iFlags);
[id(0x0000000e), propget]
HRESULT IsCheckedOut([out, retval] long* piStatus);
[id(0x0000000f), propget]
HRESULT Checkouts([out, retval] IVSSCheckouts** ppICheckouts);
[id(0x00000010), propget]
HRESULT IsDifferent(
[in, optional, defaultvalue("")] BSTR Local,
[out, retval] VARIANT_BOOL* pbDifferent);
[id(0x00000011)]
HRESULT Add(
[in] BSTR Local,
[in, optional, defaultvalue("")] BSTR Comment,
[in, optional, defaultvalue(0)] long iFlags,
[out, retval] IVSSItem** ppIItem);
[id(0x00000012)]
HRESULT NewSubproject(
[in] BSTR Name,
[in, optional, defaultvalue("")] BSTR Comment,
[out, retval] IVSSItem** ppIItem);
[id(0x00000013)]
HRESULT Share(
[in] IVSSItem* pIItem,
[in, optional, defaultvalue("")] BSTR Comment,
[in, optional, defaultvalue(0)] long iFlags);
[id(0x00000014)]
HRESULT Destroy();
[id(0x00000015)]
HRESULT Move([in] IVSSItem* pINewParent);
[id(0x00000016)]
HRESULT Label(
[in] BSTR Label,
[in, optional, defaultvalue("")] BSTR Comment);
[id(0x00000017), propget]
HRESULT Versions(
[in, optional, defaultvalue(0)] long iFlags,
[out, retval] IVSSVersions** pIVersions);
[id(0x00000018), propget]
HRESULT Version(
[in, optional] VARIANT Version,
[out, retval] IVSSItem** ppIItem);
};
[
odl,
uuid(2A0DE0E7-2E9F-11D0-9236-00AA00A1EB95),
helpstring("SourceSafe item interface"),
dual,
oleautomation
]
interface IVSSItem : IVSSItemOld {
[id(0x00000019), propget]
HRESULT Links([out, retval] IVSSItems** ppIItems);
[id(0x0000001a)]
HRESULT Branch(
[in, optional, defaultvalue("")] BSTR Comment,
[in, optional, defaultvalue(0)] long iFlags,
[out, retval] IVSSItem** ppIItem);
};
[
odl,
uuid(783CD4E5-9D54-11CF-B8EE-00608CC9A71F),
helpstring("SourceSafe items collection interface"),
dual,
oleautomation
]
interface IVSSItems : IDispatch {
[id(0x00000001), propget]
HRESULT Count([out, retval] long* piCount);
[id(00000000), propget]
HRESULT Item(
[in] VARIANT sItem,
[out, retval] IVSSItem** ppIItem);
[id(0xfffffffc), restricted, hidden]
HRESULT _NewEnum([out, retval] IUnknown** ppIEnum);
};
[
odl,
uuid(8903A770-F55F-11CF-9227-00AA00A1EB95),
helpstring("SourceSafe checkouts collection interface"),
dual,
oleautomation
]
interface IVSSCheckouts : IDispatch {
[id(0x00000001), propget]
HRESULT Count([out, retval] long* piCount);
[id(00000000), propget]
HRESULT Item(
[in] VARIANT sItem,
[out, retval] IVSSCheckout** ppICheckout);
[id(0xfffffffc), restricted, hidden]
HRESULT _NewEnum([out, retval] IUnknown** ppIEnum);
};
[
odl,
uuid(783CD4E6-9D54-11CF-B8EE-00608CC9A71F),
helpstring("SourceSafe checkouts interface"),
dual,
oleautomation
]
interface IVSSCheckout : IDispatch {
[id(0x00000001), propget]
HRESULT Username([out, retval] BSTR* pUsername);
[id(0x00000002), propget]
HRESULT Date([out, retval] DATE* pDate);
[id(0x00000003), propget]
HRESULT LocalSpec([out, retval] BSTR* pLocal);
[id(0x00000004), propget]
HRESULT Machine([out, retval] BSTR* pMachine);
[id(0x00000005), propget]
HRESULT Project([out, retval] BSTR* pProject);
[id(0x00000006), propget]
HRESULT Comment([out, retval] BSTR* pComment);
[id(0x00000007), propget]
HRESULT VersionNumber([out, retval] long* piVersion);
};
[
odl,
uuid(783CD4E7-9D54-11CF-B8EE-00608CC9A71F),
helpstring("SourceSafe versions collection"),
dual,
oleautomation
]
interface IVSSVersions : IDispatch {
[id(0xfffffffc), restricted, hidden]
HRESULT _NewEnum([out, retval] IUnknown** ppIEnum);
};
[
odl,
uuid(783CD4E8-9D54-11CF-B8EE-00608CC9A71F),
helpstring("SourceSafe version information"),
dual,
oleautomation
]
interface IVSSVersionOld : IDispatch {
[id(0x00000001), propget]
HRESULT Username([out, retval] BSTR* pUsername);
[id(0x00000002), propget]
HRESULT VersionNumber([out, retval] long* piVersion);
[id(0x00000003), propget]
HRESULT Action([out, retval] BSTR* pAction);
[id(0x00000004), propget]
HRESULT Date([out, retval] DATE* pDate);
[id(0x00000005), propget]
HRESULT Comment([out, retval] BSTR* pComment);
[id(0x00000006), propget]
HRESULT Label([out, retval] BSTR* pLabel);
[id(0x00000007), propget]
HRESULT VSSItem([out, retval] IVSSItem** ppIItem);
};
[
odl,
uuid(2A0DE0E9-2E9F-11D0-9236-00AA00A1EB95),
helpstring("SourceSafe version information"),
dual,
oleautomation
]
interface IVSSVersion : IVSSVersionOld {
[id(0x00000008), propget]
HRESULT LabelComment([out, retval] BSTR* pComment);
};
[
odl,
uuid(2A0DE0E4-2E9F-11D0-9236-00AA00A1EB95),
helpstring("SourceSafe users collection interface"),
dual,
oleautomation
]
interface IVSSUsers : IDispatch {
[id(0x00000001), propget]
HRESULT Count([out, retval] long* piCount);
[id(00000000), propget]
HRESULT Item(
[in] VARIANT sItem,
[out, retval] IVSSUser** ppIUser);
[id(0xfffffffc), restricted, hidden]
HRESULT _NewEnum([out, retval] IUnknown** ppIEnum);
};
[
odl,
uuid(2A0DE0E3-2E9F-11D0-9236-00AA00A1EB95),
helpstring("SourceSafe user object interface"),
dual,
oleautomation
]
interface IVSSUser : IDispatch {
[id(0x00000001)]
HRESULT Delete();
[id(0x00000002), propget]
HRESULT Name([out, retval] BSTR* pName);
[id(0x00000002), propput]
HRESULT Name([in] BSTR pName);
[id(0x00000003), propput]
HRESULT Password([in] BSTR rhs);
[id(0x00000004), propget]
HRESULT ReadOnly([out, retval] VARIANT_BOOL* pReadOnly);
[id(0x00000004), propput]
HRESULT ReadOnly([in] VARIANT_BOOL pReadOnly);
[id(0x00000005), propget]
HRESULT ProjectRights(
[in, optional, defaultvalue("$/")] BSTR Project,
[out, retval] long* piRightsOut);
[id(0x00000005), propput]
HRESULT ProjectRights(
[in, optional, defaultvalue("$/")] BSTR Project,
[in] long piRightsOut);
[id(0x00000006)]
HRESULT RemoveProjectRights([in] BSTR Project);
};
[
odl,
uuid(783CD4E2-9D54-11CF-B8EE-00608CC9A71F),
helpstring("SourceSafe database object interface"),
dual,
oleautomation
]
interface IVSSDatabaseOld : IDispatch {
[id(0x00000001)]
HRESULT Open(
[in, optional, defaultvalue("")] BSTR SrcSafeIni,
[in, optional, defaultvalue("")] BSTR Username,
[in, optional, defaultvalue("")] BSTR Password);
[id(0x00000002), propget]
HRESULT SrcSafeIni([out, retval] BSTR* pSrcSafeIni);
[id(0x00000003), propget]
HRESULT DatabaseName([out, retval] BSTR* pDatabaseName);
[id(0x00000004), propget]
HRESULT Username([out, retval] BSTR* pUsername);
[id(0x00000005), propget]
HRESULT CurrentProject([out, retval] BSTR* pPrj);
[id(0x00000005), propput]
HRESULT CurrentProject([in] BSTR pPrj);
[id(0x00000006), propget]
HRESULT VSSItem(
[in] BSTR Spec,
[in, optional, defaultvalue(0)] VARIANT_BOOL Deleted,
[out, retval] IVSSItem** ppIVSSItem);
};
[
odl,
uuid(2A0DE0E2-2E9F-11D0-9236-00AA00A1EB95),
helpstring("SourceSafe database object interface"),
dual,
oleautomation
]
interface IVSSDatabase : IVSSDatabaseOld {
[id(0x00000007)]
HRESULT AddUser(
[in] BSTR User,
[in] BSTR Password,
[in] VARIANT_BOOL ReadOnly,
[out, retval] IVSSUser** ppIUser);
[id(0x00000008), propget]
HRESULT User(
[in] BSTR Name,
[out, retval] IVSSUser** ppIUser);
[id(0x00000009), propget]
HRESULT Users([out, retval] IVSSUsers** ppIUsers);
[id(0x0000000a), propget]
HRESULT ProjectRightsEnabled([out, retval] VARIANT_BOOL* pEnabled);
[id(0x0000000a), propput]
HRESULT ProjectRightsEnabled([in] VARIANT_BOOL pEnabled);
[id(0x0000000b), propget]
HRESULT DefaultProjectRights([out, retval] long* pRights);
[id(0x0000000b), propput]
HRESULT DefaultProjectRights([in] long pRights);
};
[
uuid(783CD4E3-9D54-11CF-B8EE-00608CC9A71F),
noncreatable
]
coclass VSSItem {
[default] interface IVSSItem;
interface IVSSItemOld;
};
[
uuid(783CD4EC-9D54-11CF-B8EE-00608CC9A71F),
noncreatable
]
coclass VSSVersion {
[default] interface IVSSVersion;
};
[
uuid(2A0DE0E0-2E9F-11D0-9236-00AA00A1EB95),
noncreatable
]
coclass VSSCheckout {
[default] interface IVSSCheckout;
};
[
uuid(783CD4E4-9D54-11CF-B8EE-00608CC9A71F)
]
coclass VSSDatabase {
[default] interface IVSSDatabase;
interface IVSSDatabaseOld;
};
[
uuid(2A0DE0E5-2E9F-11D0-9236-00AA00A1EB95),
noncreatable
]
coclass VSSUser {
[default] interface IVSSUser;
};
[
odl,
uuid(783CD4E9-9D54-11CF-B8EE-00608CC9A71F),
helpstring("SourceSafe event interface")
]
interface IVSSEventsOld : IUnknown {
HRESULT _stdcall BeforeAdd(
[in] IVSSItem* pIPrj,
[in] BSTR Local,
[out, retval] VARIANT_BOOL* pbContinue);
HRESULT _stdcall AfterAdd(
[in] IVSSItem* pIItem,
[in] BSTR Local);
HRESULT _stdcall BeforeCheckout(
[in] IVSSItem* pIItem,
[in] BSTR Local,
[out, retval] VARIANT_BOOL* pbContinue);
HRESULT _stdcall AfterCheckout(
[in] IVSSItem* pIItem,
[in] BSTR Local);
HRESULT _stdcall BeforeCheckin(
[in] IVSSItem* pIItem,
[in] BSTR Local,
[out, retval] VARIANT_BOOL* pbContinue);
HRESULT _stdcall AfterCheckin(
[in] IVSSItem* pIItem,
[in] BSTR Local);
HRESULT _stdcall BeforeUndoCheckout(
[in] IVSSItem* pIItem,
[in] BSTR Local,
[out, retval] VARIANT_BOOL* pbContinue);
HRESULT _stdcall AfterUndoCheckout(
[in] IVSSItem* pIItem,
[in] BSTR Local);
HRESULT _stdcall BeforeRename(
[in] IVSSItem* pIItem,
[in] BSTR NewName,
[out, retval] VARIANT_BOOL* pbContinue);
HRESULT _stdcall AfterRename(
[in] IVSSItem* pIItem,
[in] BSTR OldName);
HRESULT _stdcall BeforeBranch(
[in] IVSSItem* pIItem,
[out, retval] VARIANT_BOOL* pbContinue);
HRESULT _stdcall AfterBranch([in] IVSSItem* pIItem);
HRESULT _stdcall BeforeEvent(
[in] long iEvent,
[in] IVSSItem* pIItem,
[in] BSTR Str,
[in] VARIANT var,
[out, retval] VARIANT_BOOL* pbContinue);
HRESULT _stdcall AfterEvent(
[in] long iEvent,
[in] IVSSItem* pIItem,
[in] BSTR Str,
[in] VARIANT var);
};
[
odl,
uuid(2A0DE0E8-2E9F-11D0-9236-00AA00A1EB95),
helpstring("SourceSafe event interface")
]
interface IVSSEvents : IUnknown {
HRESULT _stdcall BeforeAdd(
[in] IVSSItem* pIPrj,
[in] BSTR Local,
[in] BSTR Comment,
[out, retval] VARIANT_BOOL* pbContinue);
HRESULT _stdcall AfterAdd(
[in] IVSSItem* pIItem,
[in] BSTR Local,
[in] BSTR Comment);
HRESULT _stdcall BeforeCheckout(
[in] IVSSItem* pIItem,
[in] BSTR Local,
[in] BSTR Comment,
[out, retval] VARIANT_BOOL* pbContinue);
HRESULT _stdcall AfterCheckout(
[in] IVSSItem* pIItem,
[in] BSTR Local,
[in] BSTR Comment);
HRESULT _stdcall BeforeCheckin(
[in] IVSSItem* pIItem,
[in] BSTR Local,
[in] BSTR Comment,
[out, retval] VARIANT_BOOL* pbContinue);
HRESULT _stdcall AfterCheckin(
[in] IVSSItem* pIItem,
[in] BSTR Local,
[in] BSTR Comment);
HRESULT _stdcall BeforeUndoCheckout(
[in] IVSSItem* pIItem,
[in] BSTR Local,
[out, retval] VARIANT_BOOL* pbContinue);
HRESULT _stdcall AfterUndoCheckout(
[in] IVSSItem* pIItem,
[in] BSTR Local);
HRESULT _stdcall BeforeRename(
[in] IVSSItem* pIItem,
[in] BSTR NewName,
[out, retval] VARIANT_BOOL* pbContinue);
HRESULT _stdcall AfterRename(
[in] IVSSItem* pIItem,
[in] BSTR OldName);
HRESULT _stdcall BeforeBranch(
[in] IVSSItem* pIItem,
[in] BSTR Comment,
[out, retval] VARIANT_BOOL* pbContinue);
HRESULT _stdcall AfterBranch(
[in] IVSSItem* pIItem,
[in] BSTR Comment);
HRESULT _stdcall BeginCommand(
[in] long unused,
[out, retval] VARIANT_BOOL* pbContinue);
HRESULT _stdcall EndCommand([in] long unused);
HRESULT _stdcall BeforeEvent(
[in] long iEvent,
[in] IVSSItem* pIItem,
[in] BSTR Str,
[in] VARIANT var,
[out, retval] VARIANT_BOOL* pbContinue);
HRESULT _stdcall AfterEvent(
[in] long iEvent,
[in] IVSSItem* pIItem,
[in] BSTR Str,
[in] VARIANT var);
};
[
odl,
uuid(783CD4EB-9D54-11CF-B8EE-00608CC9A71F),
helpstring("SourceSafe application interface"),
dual,
oleautomation
]
interface IVSS : IDispatch {
[id(0x00000001), propget]
HRESULT VSSDatabase([out, retval] IVSSDatabase** ppIVSSDatabase);
};
[
odl,
uuid(783CD4EA-9D54-11CF-B8EE-00608CC9A71F),
helpstring("SourceSafe event interface")
]
interface IVSSEventHandler : IUnknown {
HRESULT _stdcall Init([in] IVSS* pIVSS);
};
[
uuid(2A0DE0E1-2E9F-11D0-9236-00AA00A1EB95),
noncreatable
]
coclass VSSApp {
[default] interface IVSS;
[default, source] interface IVSSEvents;
[source] interface IVSSEventsOld;
};
};
//
// typelib filename: SSAPI.DLL
[
uuid(783CD4E0-9D54-11CF-B8EE-00608CC9A71F),
version(5.1),
helpstring("Microsoft SourceSafe 6.0 Type Library"),
helpfile("ssauto.hlp"),
helpcontext(00000000),
custom(DE77BA64-517C-11D1-A2DA-0000F8773CE9, 100663643),
custom(DE77BA63-517C-11D1-A2DA-0000F8773CE9, 1043226552),
custom(DE77BA65-517C-11D1-A2DA-0000F8773CE9, Created by MIDL version 6.00.0347 at Wed Jan 22 01:09:11 2003
)
]
library SourceSafeTypeLib
{
// TLib : // TLib : OLE Automation : {00020430-0000-0000-C000-000000000046}
importlib("stdole2.tlb");
// Forward declare all types defined in this typelib
interface IVSSItemOld;
interface IVSSItem;
interface IVSSItems;
interface IVSSCheckouts;
interface IVSSCheckout;
interface IVSSVersions;
interface IVSSVersionOld;
interface IVSSVersion;
interface IVSSUsers;
interface IVSSUser;
interface IVSSDatabaseOld;
interface IVSSDatabase;
interface IVSSEventsOld;
interface IVSSEvents;
interface IVSS;
interface IVSSEventHandler;
typedef [uuid(783CD4EF-9D54-11CF-B8EE-00608CC9A71F), helpstring("SourceSafe operation flags")]
enum {
VSSFLAG_USERRONO = 1,
VSSFLAG_USERROYES = 2,
VSSFLAG_TIMENOW = 4,
VSSFLAG_TIMEMOD = 8,
VSSFLAG_TIMEUPD = 12,
VSSFLAG_EOLCR = 16,
VSSFLAG_EOLLF = 32,
VSSFLAG_EOLCRLF = 48,
VSSFLAG_REPASK = 64,
VSSFLAG_REPREPLACE = 128,
VSSFLAG_REPSKIP = 192,
VSSFLAG_REPMERGE = 256,
VSSFLAG_CMPFULL = 512,
VSSFLAG_CMPTIME = 1024,
VSSFLAG_CMPCHKSUM = 1536,
VSSFLAG_CMPFAIL = 2048,
VSSFLAG_RECURSNO = 4096,
VSSFLAG_RECURSYES = 8192,
VSSFLAG_FORCEDIRNO = 16384,
VSSFLAG_FORCEDIRYES = 32768,
VSSFLAG_KEEPNO = 0x00010000,
VSSFLAG_KEEPYES = 0x00020000,
VSSFLAG_DELNO = 0x00040000,
VSSFLAG_DELYES = 0x00080000,
VSSFLAG_DELNOREPLACE = 0x000c0000,
VSSFLAG_BINTEST = 0x00100000,
VSSFLAG_BINBINARY = 0x00200000,
VSSFLAG_BINTEXT = 0x00300000,
VSSFLAG_DELTAYES = 0x00400000,
VSSFLAG_DELTANO = 0x00800000,
VSSFLAG_UPDASK = 0x01000000,
VSSFLAG_UPDUPDATE = 0x02000000,
VSSFLAG_UPDUNCH = 0x03000000,
VSSFLAG_GETYES = 0x04000000,
VSSFLAG_GETNO = 0x08000000,
VSSFLAG_CHKEXCLUSIVEYES = 0x10000000,
VSSFLAG_CHKEXCLUSIVENO = 0x20000000,
VSSFLAG_HISTIGNOREFILES = 0x40000000
} VSSFlags;
typedef [uuid(783CD4ED-9D54-11CF-B8EE-00608CC9A71F), helpstring("SourceSafe file checkout status")]
enum {
VSSFILE_NOTCHECKEDOUT = 0,
VSSFILE_CHECKEDOUT = 1,
VSSFILE_CHECKEDOUT_ME = 2
} VSSFileStatus;
typedef [uuid(783CD4EE-9D54-11CF-B8EE-00608CC9A71F), helpstring("SourceSafe item type")]
enum {
VSSITEM_PROJECT = 0,
VSSITEM_FILE = 1
} VSSItemType;
typedef [uuid(2A0DE0E6-2E9F-11D0-9236-00AA00A1EB95), helpstring("SourceSafe rights values")]
enum {
VSSRIGHTS_READ = 1,
VSSRIGHTS_CHKUPD = 2,
VSSRIGHTS_ADDRENREM = 4,
VSSRIGHTS_DESTROY = 8,
VSSRIGHTS_ALL = 15,
VSSRIGHTS_INHERITED = 16
} VSSRights;
[
odl,
uuid(783CD4E1-9D54-11CF-B8EE-00608CC9A71F),
helpstring("SourceSafe item interface"),
dual,
oleautomation
]
interface IVSSItemOld : IDispatch {
[id(0x00000001), propget]
HRESULT Spec([out, retval] BSTR* pSpec);
[id(0x00000002), propget]
HRESULT Binary([out, retval] VARIANT_BOOL* pbBinary);
[id(0x00000002), propput]
HRESULT Binary([in] VARIANT_BOOL pbBinary);
[id(0x00000003), propget]
HRESULT Deleted([out, retval] VARIANT_BOOL* pbDeleted);
[id(0x00000003), propput]
HRESULT Deleted([in] VARIANT_BOOL pbDeleted);
[id(0x00000004), propget]
HRESULT Type([out, retval] int* piType);
[id(0x00000005), propget]
HRESULT LocalSpec([out, retval] BSTR* pLocal);
[id(0x00000005), propput]
HRESULT LocalSpec([in] BSTR pLocal);
[id(0x00000006), propget]
HRESULT Name([out, retval] BSTR* pName);
[id(0x00000006), propput]
HRESULT Name([in] BSTR pName);
[id(0x00000007), propget]
HRESULT Parent([out, retval] IVSSItem** ppIParent);
[id(0x00000008), propget]
HRESULT VersionNumber([out, retval] long* piVersion);
[id(0x00000009), propget]
HRESULT Items(
[in, optional, defaultvalue(0)] VARIANT_BOOL IncludeDeleted,
[out, retval] IVSSItems** ppIItems);
[id(0x0000000a)]
HRESULT Get(
[in, out, optional, defaultvalue("0")] BSTR* Local,
[in, optional, defaultvalue(0)] long iFlags);
[id(0x0000000b)]
HRESULT Checkout(
[in, optional, defaultvalue("")] BSTR Comment,
[in, optional, defaultvalue("")] BSTR Local,
[in, optional, defaultvalue(0)] long iFlags);
[id(0x0000000c)]
HRESULT Checkin(
[in, optional, defaultvalue("")] BSTR Comment,
[in, optional, defaultvalue("")] BSTR Local,
[in, optional, defaultvalue(0)] long iFlags);
[id(0x0000000d)]
HRESULT UndoCheckout(
[in, optional, defaultvalue("")] BSTR Local,
[in, optional, defaultvalue(0)] long iFlags);
[id(0x0000000e), propget]
HRESULT IsCheckedOut([out, retval] long* piStatus);
[id(0x0000000f), propget]
HRESULT Checkouts([out, retval] IVSSCheckouts** ppICheckouts);
[id(0x00000010), propget]
HRESULT IsDifferent(
[in, optional, defaultvalue("")] BSTR Local,
[out, retval] VARIANT_BOOL* pbDifferent);
[id(0x00000011)]
HRESULT Add(
[in] BSTR Local,
[in, optional, defaultvalue("")] BSTR Comment,
[in, optional, defaultvalue(0)] long iFlags,
[out, retval] IVSSItem** ppIItem);
[id(0x00000012)]
HRESULT NewSubproject(
[in] BSTR Name,
[in, optional, defaultvalue("")] BSTR Comment,
[out, retval] IVSSItem** ppIItem);
[id(0x00000013)]
HRESULT Share(
[in] IVSSItem* pIItem,
[in, optional, defaultvalue("")] BSTR Comment,
[in, optional, defaultvalue(0)] long iFlags);
[id(0x00000014)]
HRESULT Destroy();
[id(0x00000015)]
HRESULT Move([in] IVSSItem* pINewParent);
[id(0x00000016)]
HRESULT Label(
[in] BSTR Label,
[in, optional, defaultvalue("")] BSTR Comment);
[id(0x00000017), propget]
HRESULT Versions(
[in, optional, defaultvalue(0)] long iFlags,
[out, retval] IVSSVersions** pIVersions);
[id(0x00000018), propget]
HRESULT Version(
[in, optional] VARIANT Version,
[out, retval] IVSSItem** ppIItem);
};
[
odl,
uuid(2A0DE0E7-2E9F-11D0-9236-00AA00A1EB95),
helpstring("SourceSafe item interface"),
dual,
oleautomation
]
interface IVSSItem : IVSSItemOld {
[id(0x00000019), propget]
HRESULT Links([out, retval] IVSSItems** ppIItems);
[id(0x0000001a)]
HRESULT Branch(
[in, optional, defaultvalue("")] BSTR Comment,
[in, optional, defaultvalue(0)] long iFlags,
[out, retval] IVSSItem** ppIItem);
};
[
odl,
uuid(783CD4E5-9D54-11CF-B8EE-00608CC9A71F),
helpstring("SourceSafe items collection interface"),
dual,
oleautomation
]
interface IVSSItems : IDispatch {
[id(0x00000001), propget]
HRESULT Count([out, retval] long* piCount);
[id(00000000), propget]
HRESULT Item(
[in] VARIANT sItem,
[out, retval] IVSSItem** ppIItem);
[id(0xfffffffc), restricted, hidden]
HRESULT _NewEnum([out, retval] IUnknown** ppIEnum);
};
[
odl,
uuid(8903A770-F55F-11CF-9227-00AA00A1EB95),
helpstring("SourceSafe checkouts collection interface"),
dual,
oleautomation
]
interface IVSSCheckouts : IDispatch {
[id(0x00000001), propget]
HRESULT Count([out, retval] long* piCount);
[id(00000000), propget]
HRESULT Item(
[in] VARIANT sItem,
[out, retval] IVSSCheckout** ppICheckout);
[id(0xfffffffc), restricted, hidden]
HRESULT _NewEnum([out, retval] IUnknown** ppIEnum);
};
[
odl,
uuid(783CD4E6-9D54-11CF-B8EE-00608CC9A71F),
helpstring("SourceSafe checkouts interface"),
dual,
oleautomation
]
interface IVSSCheckout : IDispatch {
[id(0x00000001), propget]
HRESULT Username([out, retval] BSTR* pUsername);
[id(0x00000002), propget]
HRESULT Date([out, retval] DATE* pDate);
[id(0x00000003), propget]
HRESULT LocalSpec([out, retval] BSTR* pLocal);
[id(0x00000004), propget]
HRESULT Machine([out, retval] BSTR* pMachine);
[id(0x00000005), propget]
HRESULT Project([out, retval] BSTR* pProject);
[id(0x00000006), propget]
HRESULT Comment([out, retval] BSTR* pComment);
[id(0x00000007), propget]
HRESULT VersionNumber([out, retval] long* piVersion);
};
[
odl,
uuid(783CD4E7-9D54-11CF-B8EE-00608CC9A71F),
helpstring("SourceSafe versions collection"),
dual,
oleautomation
]
interface IVSSVersions : IDispatch {
[id(0xfffffffc), restricted, hidden]
HRESULT _NewEnum([out, retval] IUnknown** ppIEnum);
};
[
odl,
uuid(783CD4E8-9D54-11CF-B8EE-00608CC9A71F),
helpstring("SourceSafe version information"),
dual,
oleautomation
]
interface IVSSVersionOld : IDispatch {
[id(0x00000001), propget]
HRESULT Username([out, retval] BSTR* pUsername);
[id(0x00000002), propget]
HRESULT VersionNumber([out, retval] long* piVersion);
[id(0x00000003), propget]
HRESULT Action([out, retval] BSTR* pAction);
[id(0x00000004), propget]
HRESULT Date([out, retval] DATE* pDate);
[id(0x00000005), propget]
HRESULT Comment([out, retval] BSTR* pComment);
[id(0x00000006), propget]
HRESULT Label([out, retval] BSTR* pLabel);
[id(0x00000007), propget]
HRESULT VSSItem([out, retval] IVSSItem** ppIItem);
};
[
odl,
uuid(2A0DE0E9-2E9F-11D0-9236-00AA00A1EB95),
helpstring("SourceSafe version information"),
dual,
oleautomation
]
interface IVSSVersion : IVSSVersionOld {
[id(0x00000008), propget]
HRESULT LabelComment([out, retval] BSTR* pComment);
};
[
odl,
uuid(2A0DE0E4-2E9F-11D0-9236-00AA00A1EB95),
helpstring("SourceSafe users collection interface"),
dual,
oleautomation
]
interface IVSSUsers : IDispatch {
[id(0x00000001), propget]
HRESULT Count([out, retval] long* piCount);
[id(00000000), propget]
HRESULT Item(
[in] VARIANT sItem,
[out, retval] IVSSUser** ppIUser);
[id(0xfffffffc), restricted, hidden]
HRESULT _NewEnum([out, retval] IUnknown** ppIEnum);
};
[
odl,
uuid(2A0DE0E3-2E9F-11D0-9236-00AA00A1EB95),
helpstring("SourceSafe user object interface"),
dual,
oleautomation
]
interface IVSSUser : IDispatch {
[id(0x00000001)]
HRESULT Delete();
[id(0x00000002), propget]
HRESULT Name([out, retval] BSTR* pName);
[id(0x00000002), propput]
HRESULT Name([in] BSTR pName);
[id(0x00000003), propput]
HRESULT Password([in] BSTR rhs);
[id(0x00000004), propget]
HRESULT ReadOnly([out, retval] VARIANT_BOOL* pReadOnly);
[id(0x00000004), propput]
HRESULT ReadOnly([in] VARIANT_BOOL pReadOnly);
[id(0x00000005), propget]
HRESULT ProjectRights(
[in, optional, defaultvalue("$/")] BSTR Project,
[out, retval] long* piRightsOut);
[id(0x00000005), propput]
HRESULT ProjectRights(
[in, optional, defaultvalue("$/")] BSTR Project,
[in] long piRightsOut);
[id(0x00000006)]
HRESULT RemoveProjectRights([in] BSTR Project);
};
[
odl,
uuid(783CD4E2-9D54-11CF-B8EE-00608CC9A71F),
helpstring("SourceSafe database object interface"),
dual,
oleautomation
]
interface IVSSDatabaseOld : IDispatch {
[id(0x00000001)]
HRESULT Open(
[in, optional, defaultvalue("")] BSTR SrcSafeIni,
[in, optional, defaultvalue("")] BSTR Username,
[in, optional, defaultvalue("")] BSTR Password);
[id(0x00000002), propget]
HRESULT SrcSafeIni([out, retval] BSTR* pSrcSafeIni);
[id(0x00000003), propget]
HRESULT DatabaseName([out, retval] BSTR* pDatabaseName);
[id(0x00000004), propget]
HRESULT Username([out, retval] BSTR* pUsername);
[id(0x00000005), propget]
HRESULT CurrentProject([out, retval] BSTR* pPrj);
[id(0x00000005), propput]
HRESULT CurrentProject([in] BSTR pPrj);
[id(0x00000006), propget]
HRESULT VSSItem(
[in] BSTR Spec,
[in, optional, defaultvalue(0)] VARIANT_BOOL Deleted,
[out, retval] IVSSItem** ppIVSSItem);
};
[
odl,
uuid(2A0DE0E2-2E9F-11D0-9236-00AA00A1EB95),
helpstring("SourceSafe database object interface"),
dual,
oleautomation
]
interface IVSSDatabase : IVSSDatabaseOld {
[id(0x00000007)]
HRESULT AddUser(
[in] BSTR User,
[in] BSTR Password,
[in] VARIANT_BOOL ReadOnly,
[out, retval] IVSSUser** ppIUser);
[id(0x00000008), propget]
HRESULT User(
[in] BSTR Name,
[out, retval] IVSSUser** ppIUser);
[id(0x00000009), propget]
HRESULT Users([out, retval] IVSSUsers** ppIUsers);
[id(0x0000000a), propget]
HRESULT ProjectRightsEnabled([out, retval] VARIANT_BOOL* pEnabled);
[id(0x0000000a), propput]
HRESULT ProjectRightsEnabled([in] VARIANT_BOOL pEnabled);
[id(0x0000000b), propget]
HRESULT DefaultProjectRights([out, retval] long* pRights);
[id(0x0000000b), propput]
HRESULT DefaultProjectRights([in] long pRights);
};
[
uuid(783CD4E3-9D54-11CF-B8EE-00608CC9A71F),
noncreatable
]
coclass VSSItem {
[default] interface IVSSItem;
interface IVSSItemOld;
};
[
uuid(783CD4EC-9D54-11CF-B8EE-00608CC9A71F),
noncreatable
]
coclass VSSVersion {
[default] interface IVSSVersion;
};
[
uuid(2A0DE0E0-2E9F-11D0-9236-00AA00A1EB95),
noncreatable
]
coclass VSSCheckout {
[default] interface IVSSCheckout;
};
[
uuid(783CD4E4-9D54-11CF-B8EE-00608CC9A71F)
]
coclass VSSDatabase {
[default] interface IVSSDatabase;
interface IVSSDatabaseOld;
};
[
uuid(2A0DE0E5-2E9F-11D0-9236-00AA00A1EB95),
noncreatable
]
coclass VSSUser {
[default] interface IVSSUser;
};
[
odl,
uuid(783CD4E9-9D54-11CF-B8EE-00608CC9A71F),
helpstring("SourceSafe event interface")
]
interface IVSSEventsOld : IUnknown {
HRESULT _stdcall BeforeAdd(
[in] IVSSItem* pIPrj,
[in] BSTR Local,
[out, retval] VARIANT_BOOL* pbContinue);
HRESULT _stdcall AfterAdd(
[in] IVSSItem* pIItem,
[in] BSTR Local);
HRESULT _stdcall BeforeCheckout(
[in] IVSSItem* pIItem,
[in] BSTR Local,
[out, retval] VARIANT_BOOL* pbContinue);
HRESULT _stdcall AfterCheckout(
[in] IVSSItem* pIItem,
[in] BSTR Local);
HRESULT _stdcall BeforeCheckin(
[in] IVSSItem* pIItem,
[in] BSTR Local,
[out, retval] VARIANT_BOOL* pbContinue);
HRESULT _stdcall AfterCheckin(
[in] IVSSItem* pIItem,
[in] BSTR Local);
HRESULT _stdcall BeforeUndoCheckout(
[in] IVSSItem* pIItem,
[in] BSTR Local,
[out, retval] VARIANT_BOOL* pbContinue);
HRESULT _stdcall AfterUndoCheckout(
[in] IVSSItem* pIItem,
[in] BSTR Local);
HRESULT _stdcall BeforeRename(
[in] IVSSItem* pIItem,
[in] BSTR NewName,
[out, retval] VARIANT_BOOL* pbContinue);
HRESULT _stdcall AfterRename(
[in] IVSSItem* pIItem,
[in] BSTR OldName);
HRESULT _stdcall BeforeBranch(
[in] IVSSItem* pIItem,
[out, retval] VARIANT_BOOL* pbContinue);
HRESULT _stdcall AfterBranch([in] IVSSItem* pIItem);
HRESULT _stdcall BeforeEvent(
[in] long iEvent,
[in] IVSSItem* pIItem,
[in] BSTR Str,
[in] VARIANT var,
[out, retval] VARIANT_BOOL* pbContinue);
HRESULT _stdcall AfterEvent(
[in] long iEvent,
[in] IVSSItem* pIItem,
[in] BSTR Str,
[in] VARIANT var);
};
[
odl,
uuid(2A0DE0E8-2E9F-11D0-9236-00AA00A1EB95),
helpstring("SourceSafe event interface")
]
interface IVSSEvents : IUnknown {
HRESULT _stdcall BeforeAdd(
[in] IVSSItem* pIPrj,
[in] BSTR Local,
[in] BSTR Comment,
[out, retval] VARIANT_BOOL* pbContinue);
HRESULT _stdcall AfterAdd(
[in] IVSSItem* pIItem,
[in] BSTR Local,
[in] BSTR Comment);
HRESULT _stdcall BeforeCheckout(
[in] IVSSItem* pIItem,
[in] BSTR Local,
[in] BSTR Comment,
[out, retval] VARIANT_BOOL* pbContinue);
HRESULT _stdcall AfterCheckout(
[in] IVSSItem* pIItem,
[in] BSTR Local,
[in] BSTR Comment);
HRESULT _stdcall BeforeCheckin(
[in] IVSSItem* pIItem,
[in] BSTR Local,
[in] BSTR Comment,
[out, retval] VARIANT_BOOL* pbContinue);
HRESULT _stdcall AfterCheckin(
[in] IVSSItem* pIItem,
[in] BSTR Local,
[in] BSTR Comment);
HRESULT _stdcall BeforeUndoCheckout(
[in] IVSSItem* pIItem,
[in] BSTR Local,
[out, retval] VARIANT_BOOL* pbContinue);
HRESULT _stdcall AfterUndoCheckout(
[in] IVSSItem* pIItem,
[in] BSTR Local);
HRESULT _stdcall BeforeRename(
[in] IVSSItem* pIItem,
[in] BSTR NewName,
[out, retval] VARIANT_BOOL* pbContinue);
HRESULT _stdcall AfterRename(
[in] IVSSItem* pIItem,
[in] BSTR OldName);
HRESULT _stdcall BeforeBranch(
[in] IVSSItem* pIItem,
[in] BSTR Comment,
[out, retval] VARIANT_BOOL* pbContinue);
HRESULT _stdcall AfterBranch(
[in] IVSSItem* pIItem,
[in] BSTR Comment);
HRESULT _stdcall BeginCommand(
[in] long unused,
[out, retval] VARIANT_BOOL* pbContinue);
HRESULT _stdcall EndCommand([in] long unused);
HRESULT _stdcall BeforeEvent(
[in] long iEvent,
[in] IVSSItem* pIItem,
[in] BSTR Str,
[in] VARIANT var,
[out, retval] VARIANT_BOOL* pbContinue);
HRESULT _stdcall AfterEvent(
[in] long iEvent,
[in] IVSSItem* pIItem,
[in] BSTR Str,
[in] VARIANT var);
};
[
odl,
uuid(783CD4EB-9D54-11CF-B8EE-00608CC9A71F),
helpstring("SourceSafe application interface"),
dual,
oleautomation
]
interface IVSS : IDispatch {
[id(0x00000001), propget]
HRESULT VSSDatabase([out, retval] IVSSDatabase** ppIVSSDatabase);
};
[
odl,
uuid(783CD4EA-9D54-11CF-B8EE-00608CC9A71F),
helpstring("SourceSafe event interface")
]
interface IVSSEventHandler : IUnknown {
HRESULT _stdcall Init([in] IVSS* pIVSS);
};
[
uuid(2A0DE0E1-2E9F-11D0-9236-00AA00A1EB95),
noncreatable
]
coclass VSSApp {
[default] interface IVSS;
[default, source] interface IVSSEvents;
[source] interface IVSSEventsOld;
};
};

5269.exe
이올린에 북마크하기
Prev
Rss Feed