summaryrefslogtreecommitdiffstats
path: root/Src/Elevator/IFileTypeRegistrar.idl
blob: 187855449afa11a97dbd0bfe7fdaaf15ef76762b (plain) (blame)
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
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
import "oaidl.idl";
import "ocidl.idl";
import "wtypes.idl";

[
	object,
//	dual,
//	nonextensible,
	uuid(2E74C695-8E9C-4179-B0A0-BC2EBDEB5C2B),
	helpstring("IFileTypeRegistrar Interface"),
	pointer_default(unique)
]
interface IFileTypeRegistrar : IUnknown
{
	HRESULT  RegisterMIMEType(
		 [in, string]  LPCWSTR mimeType, 
		 [in, string]  LPCWSTR programName, 
		 [in, string]  LPCWSTR extension, 
		 [in] BOOL netscapeOnly
		);

	HRESULT  RegisterCDPlayer(
		 [in, string]  LPCWSTR programName
		);

	HRESULT  UnregisterCDPlayer(
		 [in, string]  LPCWSTR programName
		);

	HRESULT  RegisterType(
		 [in, string]  LPCWSTR extension,
		 [in, string]  LPCWSTR which_str, 
		 [in, string]  LPCWSTR prog_name
		);

	HRESULT  UnregisterType(
		 [in, string]  LPCWSTR extension, 
		 [in, string]  LPCWSTR which_str, 
		 [in, string]  LPCWSTR prog_name,
		 [in] int is_playlist
		);

	HRESULT  AddDirectoryContext(
		 [in, string]  LPCWSTR commandLine, 
		 [in, string]  LPCWSTR which_str, 
		 [in, string]  LPCWSTR description
		);

	HRESULT  RemoveDirectoryContext(
		 [in, string]  LPCWSTR which_str
		);

	HRESULT  AddAgent(
		 [in, string]  LPCWSTR agentFilename
		);

	HRESULT  RemoveAgent();

	HRESULT  RegisterMediaPlayer(
		 [in] DWORD accessEnabled, 
		 [in, string]  LPCWSTR programName, 
		 [in, string]  LPCWSTR prog_name, 
		 [in] int iconNumber
		 );

	HRESULT RegisterMediaPlayerProtocol(
		[in, string] LPCWSTR protocol, 
		[in, string] LPCWSTR prog_name
		);

	HRESULT UnregisterMediaPlayerProtocol(
		[in, string] LPCWSTR protocol, 
		[in, string] LPCWSTR prog_name
		);

	HRESULT  SetupFileType(
		 [in, string]  LPCWSTR programName, 
		 [in, string]  LPCWSTR winamp_file, 
		 [in, string]  LPCWSTR name, 
		 [in] int iconNumber, 
		 [in, string]  LPCWSTR defaultShellCommand,
		 [in, string]  LPCWSTR iconPath
		);

	HRESULT  SetupShell(
		 [in, string] LPCWSTR commandLine, 
		 [in, string] LPCWSTR winamp_file, 
		 [in, string] LPCWSTR description, 
		 [in, string] LPCWSTR commandName,
		 [in, string] LPCWSTR dragAndDropGUID
		);

	HRESULT  RemoveShell(
		 [in, string] LPCWSTR winamp_file,
		 [in, string] LPCWSTR commandName
		);

	HRESULT SetupDefaultFileType(
		 [in, string] LPCWSTR winamp_file,
		 [in, string] LPCWSTR defaultShellCommand
		);

	HRESULT  RegisterTypeShell(
		 [in, string]  LPCWSTR programName, 
		 [in, string]  LPCWSTR which_file, 
		 [in, string]  LPCWSTR description, 
		 [in] int iconNumber,
		 [in, string] LPCWSTR commandName
		);

	HRESULT  RegisterGUID(
		 [in, string] LPCWSTR programName, 
		 [in, string] LPCWSTR guidString
		);

	HRESULT RegisterDVDPlayer(
		[in, string] LPCWSTR programName,
		[in] int iconNumber,
		[in, string] LPCWSTR which_file,
		[in, string] LPCWSTR commandName,
		[in, string] LPCWSTR provider, 
		[in, string] LPCWSTR description
		);

	HRESULT InstallItem(
		[in, string] LPCWSTR sourceFile,
		[in, string] LPCWSTR destinationFolder,
		[in, string] LPCWSTR destinationFilename
		);

	HRESULT DeleteItem(
		[in, string] LPCWSTR file
		);

	HRESULT RenameItem(
		[in, string] LPCWSTR oldFile,
		[in, string] LPCWSTR newFile,
		[in] BOOL force
		);

	HRESULT CleanupDirectory(
		[in, string] LPCWSTR directory
		);

	HRESULT MoveDirectoryContents(
		[in, string] LPCWSTR oldDirectory,
		[in, string] LPCWSTR newDirectory
		);

	HRESULT WriteProKey(
		[in, string] LPCWSTR name, 
		[in, string] LPCWSTR key
		);

	HRESULT WriteClientUIDKey(
		[in, string] LPCWSTR path, 
		[in, string] LPCWSTR uid_str
		);

	HRESULT RegisterProtocol(
		[in, string] LPCWSTR protocol, 
		[in, string] LPCWSTR command,
		[in, string] LPCWSTR icon
		);

	HRESULT RegisterCapability(
		[in, string] LPCWSTR programName, 
		[in, string] LPCWSTR winamp_file,
		[in, string] LPCWSTR extension
		);
};

[
	uuid(B3600382-8669-402B-81B2-3D18B0E2318B),
	version(1.1),
	helpstring("Elevator 1.1 Type Library")
]
library ElevatorLib
{
	importlib("stdole2.tlb");
	[
		uuid(3B29AB5C-52CB-4a36-9314-E3FEE0BA7468),
		appobject,
	]
	coclass WFileTypeRegistrar
	{
		[default] interface IFileTypeRegistrar;
	};
};