1 // Generated .IDL file (by the OLE/COM Object Viewer)
4 // typelib filename: SSAPI.DLL
7 uuid(783CD4E0
-9D54
-11CF
-B8EE
-00608CC9A71F
),
9 helpstring("Microsoft SourceSafe 6.0 Type Library"),
10 helpfile("ssauto.hlp"),
13 library SourceSafeTypeLib
15 // TLib : // TLib : OLE Automation : {00020430-0000-0000-C000-000000000046}
16 importlib
("Stdole2.tlb");
18 // Forward declare all types defined in this typelib
19 interface IVSSItemOld
;
21 interface IVSSVersions
;
22 interface IVSSVersionOld
;
23 interface IVSSVersion
;
25 interface IVSSCheckouts
;
26 interface IVSSCheckout
;
27 interface IVSSDatabaseOld
;
28 interface IVSSDatabase
;
31 interface IVSSEventsOld
;
34 interface IVSSEventHandler
;
36 typedef [uuid(783CD4EF
-9D54
-11CF
-B8EE
-00608CC9A71F
), helpstring("SourceSafe operation flags")]
39 VSSFLAG_USERROYES
= 2,
47 VSSFLAG_REPREPLACE
= 128,
48 VSSFLAG_REPSKIP
= 192,
49 VSSFLAG_REPMERGE
= 256,
50 VSSFLAG_CMPFULL
= 512,
51 VSSFLAG_CMPTIME
= 1024,
52 VSSFLAG_CMPCHKSUM
= 1536,
53 VSSFLAG_CMPFAIL
= 2048,
54 VSSFLAG_RECURSNO
= 4096,
55 VSSFLAG_RECURSYES
= 8192,
56 VSSFLAG_FORCEDIRNO
= 16384,
57 VSSFLAG_FORCEDIRYES
= 32768,
58 VSSFLAG_KEEPNO
= 65536,
59 VSSFLAG_KEEPYES
= 131072,
60 VSSFLAG_DELNO
= 262144,
61 VSSFLAG_DELYES
= 524288,
62 VSSFLAG_DELNOREPLACE
= 786432,
63 VSSFLAG_BINTEST
= 1048576,
64 VSSFLAG_BINBINARY
= 2097152,
65 VSSFLAG_BINTEXT
= 3145728,
66 VSSFLAG_DELTAYES
= 4194304,
67 VSSFLAG_DELTANO
= 8388608,
68 VSSFLAG_UPDASK
= 16777216,
69 VSSFLAG_UPDUPDATE
= 33554432,
70 VSSFLAG_UPDUNCH
= 50331648,
71 VSSFLAG_GETYES
= 67108864,
72 VSSFLAG_GETNO
= 134217728,
73 VSSFLAG_CHKEXCLUSIVEYES
= 268435456,
74 VSSFLAG_CHKEXCLUSIVENO
= 536870912,
75 VSSFLAG_HISTIGNOREFILES
= 1073741824
78 typedef [uuid(783CD4ED
-9D54
-11CF
-B8EE
-00608CC9A71F
), helpstring("SourceSafe file checkout status")]
80 VSSFILE_NOTCHECKEDOUT
= 0,
81 VSSFILE_CHECKEDOUT
= 1,
82 VSSFILE_CHECKEDOUT_ME
= 2
85 typedef [uuid(783CD4EE
-9D54
-11CF
-B8EE
-00608CC9A71F
), helpstring("SourceSafe item type")]
91 typedef [uuid(2A0DE0E6
-2E9F
-11D0
-9236-00AA00A1EB95
), helpstring("SourceSafe rights values")]
95 VSSRIGHTS_ADDRENREM
= 4,
96 VSSRIGHTS_DESTROY
= 8,
98 VSSRIGHTS_INHERITED
= 16
103 uuid(783CD4E1
-9D54
-11CF
-B8EE
-00608CC9A71F
),
104 helpstring("SourceSafe item interface"),
108 interface IVSSItemOld
: IDispatch
{
109 [id(0x00000001), propget]
110 HRESULT Spec
([out, retval] BSTR* pSpec
);
111 [id(0x00000002), propget]
112 HRESULT Binary
([out, retval] VARIANT_BOOL* pbBinary
);
113 [id(0x00000002), propput]
114 HRESULT Binary
([in] VARIANT_BOOL pbBinary
);
115 [id(0x00000003), propget]
116 HRESULT Deleted
([out, retval] VARIANT_BOOL* pbDeleted
);
117 [id(0x00000003), propput]
118 HRESULT Deleted
([in] VARIANT_BOOL pbDeleted
);
119 [id(0x00000004), propget]
120 HRESULT Type
([out, retval] int* piType
);
121 [id(0x00000005), propget]
122 HRESULT LocalSpec
([out, retval] BSTR* pLocal
);
123 [id(0x00000005), propput]
124 HRESULT LocalSpec
([in] BSTR pLocal
);
125 [id(0x00000006), propget]
126 HRESULT Name
([out, retval] BSTR* pName
);
127 [id(0x00000006), propput]
128 HRESULT Name
([in] BSTR pName
);
129 [id(0x00000007), propget]
130 HRESULT Parent
([out, retval] IVSSItem
** ppIParent
);
131 [id(0x00000008), propget]
132 HRESULT VersionNumber
([out, retval] long* piVersion
);
133 [id(0x00000009), propget]
135 [in, optional, defaultvalue(0)] VARIANT_BOOL IncludeDeleted
,
136 [out, retval] IVSSItems
** ppIItems
);
139 // [in, out, optional, defaultvalue("")] BSTR* Local,
140 [in, out, optional] BSTR* Local,
141 [in, optional, defaultvalue(0)] long iFlags
);
144 [in, optional, defaultvalue("")] BSTR Comment
,
145 [in, optional, defaultvalue("")] BSTR Local,
146 [in, optional, defaultvalue(0)] long iFlags
);
149 [in, optional, defaultvalue("")] BSTR Comment
,
150 [in, optional, defaultvalue("")] BSTR Local,
151 [in, optional, defaultvalue(0)] long iFlags
);
153 HRESULT UndoCheckout
(
154 [in, optional, defaultvalue("")] BSTR Local,
155 [in, optional, defaultvalue(0)] long iFlags
);
156 [id(0x0000000e), propget]
157 HRESULT IsCheckedOut
([out, retval] long* piStatus
);
158 [id(0x0000000f), propget]
159 HRESULT Checkouts
([out, retval] IVSSCheckouts
** ppICheckouts
);
160 [id(0x00000010), propget]
162 [in, optional, defaultvalue("")] BSTR Local,
163 [out, retval] VARIANT_BOOL* pbDifferent
);
167 [in, optional, defaultvalue("")] BSTR Comment
,
168 [in, optional, defaultvalue(0)] long iFlags
,
169 [out, retval] IVSSItem
** ppIItem
);
171 HRESULT NewSubproject
(
173 [in, optional, defaultvalue("")] BSTR Comment
,
174 [out, retval] IVSSItem
** ppIItem
);
177 [in] IVSSItem
* pIItem
,
178 [in, optional, defaultvalue("")] BSTR Comment
,
179 [in, optional, defaultvalue(0)] long iFlags
);
183 HRESULT Move
([in] IVSSItem
* pINewParent
);
187 [in, optional, defaultvalue("")] BSTR Comment
);
188 [id(0x00000017), propget]
190 [in, optional, defaultvalue(0)] long iFlags
,
191 [out, retval] IVSSVersions
** pIVersions
);
192 [id(0x00000018), propget]
194 [in, optional] VARIANT Version,
195 [out, retval] IVSSItem
** ppIItem
);
200 uuid(2A0DE0E7
-2E9F
-11D0
-9236-00AA00A1EB95
),
201 helpstring("SourceSafe item interface"),
205 interface IVSSItem
: IVSSItemOld
{
206 [id(0x00000019), propget]
207 HRESULT Links
([out, retval] IVSSItems
** ppIItems
);
210 [in, optional, defaultvalue("")] BSTR Comment
,
211 [in, optional, defaultvalue(0)] long iFlags
,
212 [out, retval] IVSSItem
** ppIItem
);
217 uuid(783CD4E7
-9D54
-11CF
-B8EE
-00608CC9A71F
),
218 helpstring("SourceSafe versions collection"),
222 interface IVSSVersions
: IDispatch
{
223 [id(0xfffffffc), restricted, hidden]
224 HRESULT _NewEnum
([out, retval] IUnknown
** ppIEnum
);
229 uuid(783CD4E8
-9D54
-11CF
-B8EE
-00608CC9A71F
),
230 helpstring("SourceSafe version information"),
234 interface IVSSVersionOld
: IDispatch
{
235 [id(0x00000001), propget]
236 HRESULT Username
([out, retval] BSTR* pUsername
);
237 [id(0x00000002), propget]
238 HRESULT VersionNumber
([out, retval] long* piVersion
);
239 [id(0x00000003), propget]
240 HRESULT Action
([out, retval] BSTR* pAction
);
241 [id(0x00000004), propget]
242 HRESULT Date
([out, retval] DATE
* pDate
);
243 [id(0x00000005), propget]
244 HRESULT Comment
([out, retval] BSTR* pComment
);
245 [id(0x00000006), propget]
246 HRESULT Label
([out, retval] BSTR* pLabel
);
247 [id(0x00000007), propget]
248 HRESULT VSSItem
([out, retval] IVSSItem
** ppIItem
);
253 uuid(2A0DE0E9
-2E9F
-11D0
-9236-00AA00A1EB95
),
254 helpstring("SourceSafe version information"),
258 interface IVSSVersion
: IVSSVersionOld
{
259 [id(0x00000008), propget]
260 HRESULT LabelComment
([out, retval] BSTR* pComment
);
265 uuid(783CD4E5
-9D54
-11CF
-B8EE
-00608CC9A71F
),
266 helpstring("SourceSafe items collection interface"),
270 interface IVSSItems
: IDispatch
{
271 [id(0x00000001), propget]
272 HRESULT Count
([out, retval] long* piCount
);
273 [id(00000000), propget]
276 [out, retval] IVSSItem
** ppIItem
);
277 [id(0xfffffffc), restricted, hidden]
278 HRESULT _NewEnum
([out, retval] IUnknown
** ppIEnum
);
283 uuid(8903A770
-F55F
-11CF
-9227-00AA00A1EB95
),
284 helpstring("SourceSafe checkouts collection interface"),
288 interface IVSSCheckouts
: IDispatch
{
289 [id(0x00000001), propget]
290 HRESULT Count
([out, retval] long* piCount
);
291 [id(00000000), propget]
294 [out, retval] IVSSCheckout
** ppICheckout
);
295 [id(0xfffffffc), restricted, hidden]
296 HRESULT _NewEnum
([out, retval] IUnknown
** ppIEnum
);
301 uuid(783CD4E6
-9D54
-11CF
-B8EE
-00608CC9A71F
),
302 helpstring("SourceSafe checkouts interface"),
306 interface IVSSCheckout
: IDispatch
{
307 [id(0x00000001), propget]
308 HRESULT Username
([out, retval] BSTR* pUsername
);
309 [id(0x00000002), propget]
310 HRESULT Date
([out, retval] DATE
* pDate
);
311 [id(0x00000003), propget]
312 HRESULT LocalSpec
([out, retval] BSTR* pLocal
);
313 [id(0x00000004), propget]
314 HRESULT Machine
([out, retval] BSTR* pMachine
);
315 [id(0x00000005), propget]
316 HRESULT Project
([out, retval] BSTR* pProject
);
317 [id(0x00000006), propget]
318 HRESULT Comment
([out, retval] BSTR* pComment
);
319 [id(0x00000007), propget]
320 HRESULT VersionNumber
([out, retval] long* piVersion
);
325 uuid(783CD4E2
-9D54
-11CF
-B8EE
-00608CC9A71F
),
326 helpstring("SourceSafe database object interface"),
330 interface IVSSDatabaseOld
: IDispatch
{
333 [in, optional, defaultvalue("")] BSTR SrcSafeIni
,
334 [in, optional, defaultvalue("")] BSTR Username
,
335 [in, optional, defaultvalue("")] BSTR Password
);
336 [id(0x00000002), propget]
337 HRESULT SrcSafeIni
([out, retval] BSTR* pSrcSafeIni
);
338 [id(0x00000003), propget]
339 HRESULT DatabaseName
([out, retval] BSTR* pDatabaseName
);
340 [id(0x00000004), propget]
341 HRESULT Username
([out, retval] BSTR* pUsername
);
342 [id(0x00000005), propget]
343 HRESULT CurrentProject
([out, retval] BSTR* pPrj
);
344 [id(0x00000005), propput]
345 HRESULT CurrentProject
([in] BSTR pPrj
);
346 [id(0x00000006), propget]
349 [in, optional, defaultvalue(0)] VARIANT_BOOL Deleted
,
350 [out, retval] IVSSItem
** ppIVSSItem
);
355 uuid(2A0DE0E2
-2E9F
-11D0
-9236-00AA00A1EB95
),
356 helpstring("SourceSafe database object interface"),
360 interface IVSSDatabase
: IVSSDatabaseOld
{
365 [in] VARIANT_BOOL ReadOnly,
366 [out, retval] IVSSUser
** ppIUser
);
367 [id(0x00000008), propget]
370 [out, retval] IVSSUser
** ppIUser
);
371 [id(0x00000009), propget]
372 HRESULT Users
([out, retval] IVSSUsers
** ppIUsers
);
373 [id(0x0000000a), propget]
374 HRESULT ProjectRightsEnabled
([out, retval] VARIANT_BOOL* pEnabled
);
375 [id(0x0000000a), propput]
376 HRESULT ProjectRightsEnabled
([in] VARIANT_BOOL pEnabled
);
377 [id(0x0000000b), propget]
378 HRESULT DefaultProjectRights
([out, retval] long* pRights
);
379 [id(0x0000000b), propput]
380 HRESULT DefaultProjectRights
([in] long pRights
);
385 uuid(2A0DE0E3
-2E9F
-11D0
-9236-00AA00A1EB95
),
386 helpstring("SourceSafe user object interface"),
390 interface IVSSUser
: IDispatch
{
393 [id(0x00000002), propget]
394 HRESULT Name
([out, retval] BSTR* pName
);
395 [id(0x00000002), propput]
396 HRESULT Name
([in] BSTR pName
);
397 [id(0x00000003), propput]
398 HRESULT Password
([in] BSTR rhs
);
399 [id(0x00000004), propget]
400 HRESULT ReadOnly([out, retval] VARIANT_BOOL* pReadOnly
);
401 [id(0x00000004), propput]
402 HRESULT ReadOnly([in] VARIANT_BOOL pReadOnly
);
403 [id(0x00000005), propget]
404 HRESULT ProjectRights
(
405 [in, optional, defaultvalue("$/")] BSTR Project
,
406 [out, retval] long* piRightsOut
);
407 [id(0x00000005), propput]
408 HRESULT ProjectRights
(
409 [in, optional, defaultvalue("$/")] BSTR Project
,
410 [in] long piRightsOut
);
412 HRESULT RemoveProjectRights
([in] BSTR Project
);
417 uuid(2A0DE0E4
-2E9F
-11D0
-9236-00AA00A1EB95
),
418 helpstring("SourceSafe users collection interface"),
422 interface IVSSUsers
: IDispatch
{
423 [id(0x00000001), propget]
424 HRESULT Count
([out, retval] long* piCount
);
425 [id(00000000), propget]
428 [out, retval] IVSSUser
** ppIUser
);
429 [id(0xfffffffc), restricted, hidden]
430 HRESULT _NewEnum
([out, retval] IUnknown
** ppIEnum
);
434 uuid(783CD4E3
-9D54
-11CF
-B8EE
-00608CC9A71F
),
438 [default] interface IVSSItem
;
439 interface IVSSItemOld
;
443 uuid(783CD4F0
-9D54
-11CF
-B8EE
-00608CC9A71F
),
447 [default] interface IVSSItems
;
451 uuid(783CD4F1
-9D54
-11CF
-B8EE
-00608CC9A71F
),
452 helpstring("VSSVersions Class")
456 [default] interface IVSSVersions
;
460 uuid(783CD4EC
-9D54
-11CF
-B8EE
-00608CC9A71F
),
464 [default] interface IVSSVersion
;
468 uuid(2A0DE0E0
-2E9F
-11D0
-9236-00AA00A1EB95
),
471 coclass VSSCheckout
{
472 [default] interface IVSSCheckout
;
476 uuid(783CD4E4
-9D54
-11CF
-B8EE
-00608CC9A71F
)
478 coclass VSSDatabase
{
479 [default] interface IVSSDatabase
;
480 interface IVSSDatabaseOld
;
484 uuid(2A0DE0E5
-2E9F
-11D0
-9236-00AA00A1EB95
),
488 [default] interface IVSSUser
;
493 uuid(783CD4E9
-9D54
-11CF
-B8EE
-00608CC9A71F
),
494 helpstring("SourceSafe event interface")
496 interface IVSSEventsOld
: IUnknown
{
497 HRESULT _stdcall BeforeAdd
(
498 [in] IVSSItem
* pIPrj
,
500 [out, retval] VARIANT_BOOL* pbContinue
);
501 HRESULT _stdcall AfterAdd
(
502 [in] IVSSItem
* pIItem
,
504 HRESULT _stdcall BeforeCheckout
(
505 [in] IVSSItem
* pIItem
,
507 [out, retval] VARIANT_BOOL* pbContinue
);
508 HRESULT _stdcall AfterCheckout
(
509 [in] IVSSItem
* pIItem
,
511 HRESULT _stdcall BeforeCheckin
(
512 [in] IVSSItem
* pIItem
,
514 [out, retval] VARIANT_BOOL* pbContinue
);
515 HRESULT _stdcall AfterCheckin
(
516 [in] IVSSItem
* pIItem
,
518 HRESULT _stdcall BeforeUndoCheckout
(
519 [in] IVSSItem
* pIItem
,
521 [out, retval] VARIANT_BOOL* pbContinue
);
522 HRESULT _stdcall AfterUndoCheckout
(
523 [in] IVSSItem
* pIItem
,
525 HRESULT _stdcall BeforeRename
(
526 [in] IVSSItem
* pIItem
,
528 [out, retval] VARIANT_BOOL* pbContinue
);
529 HRESULT _stdcall AfterRename
(
530 [in] IVSSItem
* pIItem
,
532 HRESULT _stdcall BeforeBranch
(
533 [in] IVSSItem
* pIItem
,
534 [out, retval] VARIANT_BOOL* pbContinue
);
535 HRESULT _stdcall AfterBranch
([in] IVSSItem
* pIItem
);
536 HRESULT _stdcall BeforeEvent
(
538 [in] IVSSItem
* pIItem
,
541 [out, retval] VARIANT_BOOL* pbContinue
);
542 HRESULT _stdcall AfterEvent
(
544 [in] IVSSItem
* pIItem
,
551 uuid(2A0DE0E8
-2E9F
-11D0
-9236-00AA00A1EB95
),
552 helpstring("SourceSafe event interface")
554 interface IVSSEvents
: IUnknown
{
555 HRESULT _stdcall BeforeAdd
(
556 [in] IVSSItem
* pIPrj
,
559 [out, retval] VARIANT_BOOL* pbContinue
);
560 HRESULT _stdcall AfterAdd
(
561 [in] IVSSItem
* pIItem
,
564 HRESULT _stdcall BeforeCheckout
(
565 [in] IVSSItem
* pIItem
,
568 [out, retval] VARIANT_BOOL* pbContinue
);
569 HRESULT _stdcall AfterCheckout
(
570 [in] IVSSItem
* pIItem
,
573 HRESULT _stdcall BeforeCheckin
(
574 [in] IVSSItem
* pIItem
,
577 [out, retval] VARIANT_BOOL* pbContinue
);
578 HRESULT _stdcall AfterCheckin
(
579 [in] IVSSItem
* pIItem
,
582 HRESULT _stdcall BeforeUndoCheckout
(
583 [in] IVSSItem
* pIItem
,
585 [out, retval] VARIANT_BOOL* pbContinue
);
586 HRESULT _stdcall AfterUndoCheckout
(
587 [in] IVSSItem
* pIItem
,
589 HRESULT _stdcall BeforeRename
(
590 [in] IVSSItem
* pIItem
,
592 [out, retval] VARIANT_BOOL* pbContinue
);
593 HRESULT _stdcall AfterRename
(
594 [in] IVSSItem
* pIItem
,
596 HRESULT _stdcall BeforeBranch
(
597 [in] IVSSItem
* pIItem
,
599 [out, retval] VARIANT_BOOL* pbContinue
);
600 HRESULT _stdcall AfterBranch
(
601 [in] IVSSItem
* pIItem
,
603 HRESULT _stdcall BeginCommand
(
605 [out, retval] VARIANT_BOOL* pbContinue
);
606 HRESULT _stdcall EndCommand
([in] long unused
);
607 HRESULT _stdcall BeforeEvent
(
609 [in] IVSSItem
* pIItem
,
612 [out, retval] VARIANT_BOOL* pbContinue
);
613 HRESULT _stdcall AfterEvent
(
615 [in] IVSSItem
* pIItem
,
622 uuid(783CD4EB
-9D54
-11CF
-B8EE
-00608CC9A71F
),
623 helpstring("SourceSafe application interface"),
627 interface IVSS
: IDispatch
{
628 [id(0x00000001), propget]
629 HRESULT VSSDatabase
([out, retval] IVSSDatabase
** ppIVSSDatabase
);
634 uuid(783CD4EA
-9D54
-11CF
-B8EE
-00608CC9A71F
),
635 helpstring("SourceSafe event interface")
637 interface IVSSEventHandler
: IUnknown
{
638 HRESULT _stdcall Init
([in] IVSS
* pIVSS
);
642 uuid(2A0DE0E1
-2E9F
-11D0
-9236-00AA00A1EB95
),
646 [default] interface IVSS
;
647 [default, source] interface IVSSEvents
;
648 [source] interface IVSSEventsOld
;