summaryrefslogtreecommitdiff
path: root/Interfaces/CmptIfaces.idl
blob: c6170f789e14010e59f3a5f27c5707678b4918a4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
// NightSec Worker.idl : IDL source for NightSec Worker.dll
//

// This file will be processed by the MIDL tool to
// produce the type library (NightSec Worker.tlb) and marshalling code.

import "oaidl.idl";
import "ocidl.idl";

	[
		uuid(34F11690-F275-11d2-A589-0020182B97FC),
		helpstring("Info Types"),
	]
	typedef [v1_enum] enum NightSecInfo
	{
		[ helpstring("Component Name (String)") ] nsName,
		[ helpstring("Command Line Parameter (String)") ] nsCmdLine,
		[ helpstring("Help Text (String)") ] nsHelpText,
		[ helpstring("Component Needs to be Setup ie: Defaults not enough (Bool)") ] nsForceShow,
		[ helpstring("If Disabled Only show in advanced setup (Bool)") ] nsHideNormal,
		[ helpstring("Can make a second copy of component (Bool)") ] nsCopyAble,
		[ helpstring("Component HelpFile (String)") ] nsHelpFile,
		[ helpstring("Component Help Topic Number (Int)") ] nsHelpTopic

	} NightSecInfo; 

	/*[
		uuid(34F11689-F275-11d2-A589-0020182B97FC),
		helpstring("Options for Shutdown"),
	]
	typedef [v1_enum] enum NightSecOptions
	{
		[ helpstring("Don't display Prompts") ] nsNoPrompt = 0x00000002,
		[ helpstring("Don't display any UI") ] nsQuiet = 0x00000004

	} NightSecOptions; */

	[ helpstring("Don't display Prompts") ] const long nsNoPrompt = 0x00000002;
	[ helpstring("Don't display any UI") ] const long nsQuiet = 0x00000004;

	[
		object,
		uuid(34F11691-F275-11d2-A589-0020182B97FC),
		dual,
		helpstring("Interface for performing Secure Shutdown Functions Before Exiting to DOS"),
		pointer_default(unique)
	]
	interface ISecureShutdownWin : IDispatch
	{
		[id(1), helpstring("Runs this component's shutdown")] 
		HRESULT DoShutdown([in] long hParent, [in] long Mode);

		[id(2), helpstring("Gives the component an IPropertyBag to store it's properties in")] 
		HRESULT SetData([in] IUnknown* pUnk);

		[propget, id(3), helpstring("Get's a comonents properties and options")] 
		HRESULT Info([in] NightSecInfo nsItem, [out, retval] VARIANT* pvVal);
	};

	[
		object,
		uuid(34F11692-F275-11d2-A589-0020182B97FC),
		dual,
		helpstring("Interface for retrieving Batch File Text to be run in a Secure Shutdown going into MS-DOS Mode"),
		pointer_default(unique)
	]
	interface ISecureShutdownDOS : IDispatch
	{
		[id(1), helpstring("Gets the components batch file text")] 
		HRESULT GetBatchText([out, retval] BSTR* psText);

		[id(2), helpstring("Gives the component an IPropertyBag to store it's properties in")] 
		HRESULT SetData([in] IUnknown* pUnk);

		[propget, id(3), helpstring("Get's a comonents properties and options")] 
		HRESULT Info([in] NightSecInfo nsItem, [out, retval] VARIANT* pvVal);
	};

	[
		object,
		uuid(409C4B09-9310-11d3-BFC1-0020182B97FC),
		dual,
		helpstring("Interface for retrieving misc information from a Night Security Container"),
		pointer_default(unique)
	]
	interface INightSecError : IUnknown
	{
		[propget, id(1)] HRESULT Err([out, retval] HRESULT* pbsRet);
		[propget, id(2)] HRESULT Description([out, retval] BSTR* pbsRet);
		[propget, id(3)] HRESULT HelpFile([out, retval] BSTR* pbsRet);
		[propget, id(4)] HRESULT HelpContext([out, retval] long* plRet);
	};

	[
		object,
		uuid(409C4B04-9310-11d3-BFC1-0020182B97FC),
		dual,
		helpstring("Interface for retrieving misc information from a Night Security Container"),
		pointer_default(unique)
	]
	interface INightSecErrorFix : IUnknown
	{
		[propget, id(1)] HRESULT Fixable([out, retval] BOOL* pbRet);
		[id(2)]			 HRESULT Fix();
		[propget, id(3)] HRESULT Retryable([out, retval] BOOL* pbRet);
		[id(4)]			 HRESULT Retry();
	};