-
Notifications
You must be signed in to change notification settings - Fork 0
/
wmpplug.h
371 lines (251 loc) · 11 KB
/
wmpplug.h
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
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
/* this ALWAYS GENERATED file contains the definitions for the interfaces */
/* File created by MIDL compiler version 6.00.0365 */
/* Compiler settings for wmpplug.idl:
Oicf, W1, Zp8, env=Win32 (32b run)
protocol : dce , ms_ext, c_ext, robust
error checks: allocation ref bounds_check enum stub_data
VC __declspec() decoration level:
__declspec(uuid()), __declspec(selectany), __declspec(novtable)
DECLSPEC_UUID(), MIDL_INTERFACE()
*/
//@@MIDL_FILE_HEADING( )
#pragma warning( disable: 4049 ) /* more than 64k source lines */
/* verify that the <rpcndr.h> version is high enough to compile this file*/
#ifndef __REQUIRED_RPCNDR_H_VERSION__
#define __REQUIRED_RPCNDR_H_VERSION__ 475
#endif
#include "rpc.h"
#include "rpcndr.h"
#ifndef __RPCNDR_H_VERSION__
#error this stub requires an updated version of <rpcndr.h>
#endif // __RPCNDR_H_VERSION__
#ifndef COM_NO_WINDOWS_H
#include "windows.h"
#include "ole2.h"
#endif /*COM_NO_WINDOWS_H*/
#ifndef __wmpplug_h__
#define __wmpplug_h__
#if defined(_MSC_VER) && (_MSC_VER >= 1020)
#pragma once
#endif
/* Forward Declarations */
#ifndef __IWMPPluginUI_FWD_DEFINED__
#define __IWMPPluginUI_FWD_DEFINED__
typedef interface IWMPPluginUI IWMPPluginUI;
#endif /* __IWMPPluginUI_FWD_DEFINED__ */
/* header files for imported files */
#include "oaidl.h"
#include "wmp.h"
#ifdef __cplusplus
extern "C"{
#endif
void * __RPC_USER MIDL_user_allocate(size_t);
void __RPC_USER MIDL_user_free( void * );
/* interface __MIDL_itf_wmpplug_0000 */
/* [local] */
//=========================================================================
//
// Microsoft Windows Media Technologies
// Copyright (C) Microsoft Corporation. All rights reserved.
//
//=========================================================================
#define PLUGIN_INSTALLREGKEY L"Software\\Microsoft\\MediaPlayer\\UIPlugins"
#define PLUGIN_INSTALLREGKEY_FRIENDLYNAME L"FriendlyName"
#define PLUGIN_INSTALLREGKEY_DESCRIPTION L"Description"
#define PLUGIN_INSTALLREGKEY_CAPABILITIES L"Capabilities"
#define PLUGIN_INSTALLREGKEY_UNINSTALL L"UninstallPath"
#define PLUGIN_TYPE_BACKGROUND ( 0x1 )
#define PLUGIN_TYPE_SEPARATEWINDOW ( 0x2 )
#define PLUGIN_TYPE_DISPLAYAREA ( 0x3 )
#define PLUGIN_TYPE_SETTINGSAREA ( 0x4 )
#define PLUGIN_TYPE_METADATAAREA ( 0x5 )
#define PLUGIN_FLAGS_HASPROPERTYPAGE ( 0x80000000 )
#define PLUGIN_FLAGS_INSTALLAUTORUN ( 0x40000000 )
#define PLUGIN_FLAGS_LAUNCHPROPERTYPAGE ( 0x20000000 )
#define PLUGIN_FLAGS_ACCEPTSMEDIA ( 0x10000000 )
#define PLUGIN_FLAGS_ACCEPTSPLAYLISTS ( 0x8000000 )
#define PLUGIN_FLAGS_HASPRESETS ( 0x4000000 )
#define PLUGIN_FLAGS_HIDDEN ( 0x2000000 )
#define PLUGIN_MISC_PRESETCOUNT L"PresetCount"
#define PLUGIN_MISC_PRESETNAMES L"PresetNames"
#define PLUGIN_MISC_CURRENTPRESET L"CurrentPreset"
#define PLUGIN_SEPARATEWINDOW_RESIZABLE L"Resizable"
#define PLUGIN_SEPARATEWINDOW_DEFAULTWIDTH L"DefaultWidth"
#define PLUGIN_SEPARATEWINDOW_DEFAULTHEIGHT L"DefaultHeight"
#define PLUGIN_SEPARATEWINDOW_MINWIDTH L"MinWidth"
#define PLUGIN_SEPARATEWINDOW_MINHEIGHT L"MinHeight"
#define PLUGIN_SEPARATEWINDOW_MAXWIDTH L"MaxWidth"
#define PLUGIN_SEPARATEWINDOW_MAXHEIGHT L"MaxHeight"
#define PLUGIN_MISC_QUERYDESTROY L"QueryDestroy"
#define PLUGIN_ALL_MEDIASENDTO L"MediaSendTo"
#define PLUGIN_ALL_PLAYLISTSENDTO L"PlaylistSendTo"
__inline BOOL WMPNotifyPluginAddRemove()
{
return( ::PostMessage( HWND_BROADCAST, ::RegisterWindowMessageA( "WMPlayer_PluginAddRemove" ), 0, 0 ) );
}
extern RPC_IF_HANDLE __MIDL_itf_wmpplug_0000_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_wmpplug_0000_v0_0_s_ifspec;
#ifndef __IWMPPluginUI_INTERFACE_DEFINED__
#define __IWMPPluginUI_INTERFACE_DEFINED__
/* interface IWMPPluginUI */
/* [unique][helpstring][uuid][object] */
EXTERN_C const IID IID_IWMPPluginUI;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("4C5E8F9F-AD3E-4bf9-9753-FCD30D6D38DD")
IWMPPluginUI : public IUnknown
{
public:
virtual HRESULT STDMETHODCALLTYPE SetCore(
/* [in] */ IWMPCore *pCore) = 0;
virtual HRESULT STDMETHODCALLTYPE Create(
/* [in] */ HWND hwndParent,
/* [out] */ HWND *phwndWindow) = 0;
virtual HRESULT STDMETHODCALLTYPE Destroy( void) = 0;
virtual HRESULT STDMETHODCALLTYPE DisplayPropertyPage(
/* [in] */ HWND hwndParent) = 0;
virtual HRESULT STDMETHODCALLTYPE GetProperty(
/* [in] */ const WCHAR *pwszName,
/* [out] */ VARIANT *pvarProperty) = 0;
virtual HRESULT STDMETHODCALLTYPE SetProperty(
/* [in] */ const WCHAR *pwszName,
/* [in] */ const VARIANT *pvarProperty) = 0;
virtual HRESULT STDMETHODCALLTYPE TranslateAccelerator(
/* [in] */ LPMSG lpmsg) = 0;
};
#else /* C style interface */
typedef struct IWMPPluginUIVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IWMPPluginUI * This,
/* [in] */ REFIID riid,
/* [iid_is][out] */ void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
IWMPPluginUI * This);
ULONG ( STDMETHODCALLTYPE *Release )(
IWMPPluginUI * This);
HRESULT ( STDMETHODCALLTYPE *SetCore )(
IWMPPluginUI * This,
/* [in] */ IWMPCore *pCore);
HRESULT ( STDMETHODCALLTYPE *Create )(
IWMPPluginUI * This,
/* [in] */ HWND hwndParent,
/* [out] */ HWND *phwndWindow);
HRESULT ( STDMETHODCALLTYPE *Destroy )(
IWMPPluginUI * This);
HRESULT ( STDMETHODCALLTYPE *DisplayPropertyPage )(
IWMPPluginUI * This,
/* [in] */ HWND hwndParent);
HRESULT ( STDMETHODCALLTYPE *GetProperty )(
IWMPPluginUI * This,
/* [in] */ const WCHAR *pwszName,
/* [out] */ VARIANT *pvarProperty);
HRESULT ( STDMETHODCALLTYPE *SetProperty )(
IWMPPluginUI * This,
/* [in] */ const WCHAR *pwszName,
/* [in] */ const VARIANT *pvarProperty);
HRESULT ( STDMETHODCALLTYPE *TranslateAccelerator )(
IWMPPluginUI * This,
/* [in] */ LPMSG lpmsg);
END_INTERFACE
} IWMPPluginUIVtbl;
interface IWMPPluginUI
{
CONST_VTBL struct IWMPPluginUIVtbl *lpVtbl;
};
#ifdef COBJMACROS
#define IWMPPluginUI_QueryInterface(This,riid,ppvObject) \
(This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
#define IWMPPluginUI_AddRef(This) \
(This)->lpVtbl -> AddRef(This)
#define IWMPPluginUI_Release(This) \
(This)->lpVtbl -> Release(This)
#define IWMPPluginUI_SetCore(This,pCore) \
(This)->lpVtbl -> SetCore(This,pCore)
#define IWMPPluginUI_Create(This,hwndParent,phwndWindow) \
(This)->lpVtbl -> Create(This,hwndParent,phwndWindow)
#define IWMPPluginUI_Destroy(This) \
(This)->lpVtbl -> Destroy(This)
#define IWMPPluginUI_DisplayPropertyPage(This,hwndParent) \
(This)->lpVtbl -> DisplayPropertyPage(This,hwndParent)
#define IWMPPluginUI_GetProperty(This,pwszName,pvarProperty) \
(This)->lpVtbl -> GetProperty(This,pwszName,pvarProperty)
#define IWMPPluginUI_SetProperty(This,pwszName,pvarProperty) \
(This)->lpVtbl -> SetProperty(This,pwszName,pvarProperty)
#define IWMPPluginUI_TranslateAccelerator(This,lpmsg) \
(This)->lpVtbl -> TranslateAccelerator(This,lpmsg)
#endif /* COBJMACROS */
#endif /* C style interface */
HRESULT STDMETHODCALLTYPE IWMPPluginUI_SetCore_Proxy(
IWMPPluginUI * This,
/* [in] */ IWMPCore *pCore);
void __RPC_STUB IWMPPluginUI_SetCore_Stub(
IRpcStubBuffer *This,
IRpcChannelBuffer *_pRpcChannelBuffer,
PRPC_MESSAGE _pRpcMessage,
DWORD *_pdwStubPhase);
HRESULT STDMETHODCALLTYPE IWMPPluginUI_Create_Proxy(
IWMPPluginUI * This,
/* [in] */ HWND hwndParent,
/* [out] */ HWND *phwndWindow);
void __RPC_STUB IWMPPluginUI_Create_Stub(
IRpcStubBuffer *This,
IRpcChannelBuffer *_pRpcChannelBuffer,
PRPC_MESSAGE _pRpcMessage,
DWORD *_pdwStubPhase);
HRESULT STDMETHODCALLTYPE IWMPPluginUI_Destroy_Proxy(
IWMPPluginUI * This);
void __RPC_STUB IWMPPluginUI_Destroy_Stub(
IRpcStubBuffer *This,
IRpcChannelBuffer *_pRpcChannelBuffer,
PRPC_MESSAGE _pRpcMessage,
DWORD *_pdwStubPhase);
HRESULT STDMETHODCALLTYPE IWMPPluginUI_DisplayPropertyPage_Proxy(
IWMPPluginUI * This,
/* [in] */ HWND hwndParent);
void __RPC_STUB IWMPPluginUI_DisplayPropertyPage_Stub(
IRpcStubBuffer *This,
IRpcChannelBuffer *_pRpcChannelBuffer,
PRPC_MESSAGE _pRpcMessage,
DWORD *_pdwStubPhase);
HRESULT STDMETHODCALLTYPE IWMPPluginUI_GetProperty_Proxy(
IWMPPluginUI * This,
/* [in] */ const WCHAR *pwszName,
/* [out] */ VARIANT *pvarProperty);
void __RPC_STUB IWMPPluginUI_GetProperty_Stub(
IRpcStubBuffer *This,
IRpcChannelBuffer *_pRpcChannelBuffer,
PRPC_MESSAGE _pRpcMessage,
DWORD *_pdwStubPhase);
HRESULT STDMETHODCALLTYPE IWMPPluginUI_SetProperty_Proxy(
IWMPPluginUI * This,
/* [in] */ const WCHAR *pwszName,
/* [in] */ const VARIANT *pvarProperty);
void __RPC_STUB IWMPPluginUI_SetProperty_Stub(
IRpcStubBuffer *This,
IRpcChannelBuffer *_pRpcChannelBuffer,
PRPC_MESSAGE _pRpcMessage,
DWORD *_pdwStubPhase);
HRESULT STDMETHODCALLTYPE IWMPPluginUI_TranslateAccelerator_Proxy(
IWMPPluginUI * This,
/* [in] */ LPMSG lpmsg);
void __RPC_STUB IWMPPluginUI_TranslateAccelerator_Stub(
IRpcStubBuffer *This,
IRpcChannelBuffer *_pRpcChannelBuffer,
PRPC_MESSAGE _pRpcMessage,
DWORD *_pdwStubPhase);
#endif /* __IWMPPluginUI_INTERFACE_DEFINED__ */
/* Additional Prototypes for ALL interfaces */
unsigned long __RPC_USER HWND_UserSize( unsigned long *, unsigned long , HWND * );
unsigned char * __RPC_USER HWND_UserMarshal( unsigned long *, unsigned char *, HWND * );
unsigned char * __RPC_USER HWND_UserUnmarshal(unsigned long *, unsigned char *, HWND * );
void __RPC_USER HWND_UserFree( unsigned long *, HWND * );
unsigned long __RPC_USER VARIANT_UserSize( unsigned long *, unsigned long , VARIANT * );
unsigned char * __RPC_USER VARIANT_UserMarshal( unsigned long *, unsigned char *, VARIANT * );
unsigned char * __RPC_USER VARIANT_UserUnmarshal(unsigned long *, unsigned char *, VARIANT * );
void __RPC_USER VARIANT_UserFree( unsigned long *, VARIANT * );
/* end of Additional Prototypes */
#ifdef __cplusplus
}
#endif
#endif