VirtualBox

source: vbox/trunk/src/VBox/Devices/Graphics/shaderlib/wine/include/wmsdkidl.idl@ 96080

最後變更 在這個檔案從96080是 53206,由 vboxsync 提交於 10 年 前

Devices/vmsvga: header fixes

  • 屬性 svn:eol-style 設為 native
  • 屬性 svn:keywords 設為 Author Date Id Revision
檔案大小: 13.7 KB
 
1/*
2 * Copyright 2012 André Hentschel
3 *
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
8 *
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
13 *
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
17 */
18
19/*
20 * Oracle LGPL Disclaimer: For the avoidance of doubt, except that if any license choice
21 * other than GPL or LGPL is available it will apply instead, Oracle elects to use only
22 * the Lesser General Public License version 2.1 (LGPLv2) at this time for any software where
23 * a choice of LGPL license versions is made available with the language indicating
24 * that LGPLv2 or any later version may be used, or where a choice of which version
25 * of the LGPL is applied is otherwise unspecified.
26 */
27
28import "oaidl.idl";
29import "wmsbuffer.idl";
30/* import "drmexternals.idl"; */
31
32typedef unsigned __int64 QWORD;
33
34typedef struct _WMMediaType
35{
36 GUID majortype;
37 GUID subtype;
38 BOOL bFixedSizeSamples;
39 BOOL bTemporalCompression;
40 ULONG lSampleSize;
41 GUID formattype;
42 IUnknown *pUnk;
43 ULONG cbFormat;
44 [size_is(cbFormat)] BYTE *pbFormat;
45} WM_MEDIA_TYPE;
46
47typedef enum WMT_ATTR_DATATYPE
48{
49 WMT_TYPE_DWORD = 0,
50 WMT_TYPE_STRING = 1,
51 WMT_TYPE_BINARY = 2,
52 WMT_TYPE_BOOL = 3,
53 WMT_TYPE_QWORD = 4,
54 WMT_TYPE_WORD = 5,
55 WMT_TYPE_GUID = 6,
56} WMT_ATTR_DATATYPE;
57
58typedef enum WMT_STATUS
59{
60 WMT_ERROR = 0,
61 WMT_OPENED = 1,
62 WMT_BUFFERING_START = 2,
63 WMT_BUFFERING_STOP = 3,
64 WMT_EOF = 4,
65 WMT_END_OF_FILE = 4,
66 WMT_END_OF_SEGMENT = 5,
67 WMT_END_OF_STREAMING = 6,
68 WMT_LOCATING = 7,
69 WMT_CONNECTING = 8,
70 WMT_NO_RIGHTS = 9,
71 WMT_MISSING_CODEC = 10,
72 WMT_STARTED = 11,
73 WMT_STOPPED = 12,
74 WMT_CLOSED = 13,
75 WMT_STRIDING = 14,
76 WMT_TIMER = 15,
77 WMT_INDEX_PROGRESS = 16,
78 WMT_SAVEAS_START = 17,
79 WMT_SAVEAS_STOP = 18,
80 WMT_NEW_SOURCEFLAGS = 19,
81 WMT_NEW_METADATA = 20,
82 WMT_BACKUPRESTORE_BEGIN = 21,
83 WMT_SOURCE_SWITCH = 22,
84 WMT_ACQUIRE_LICENSE = 23,
85 WMT_INDIVIDUALIZE = 24,
86 WMT_NEEDS_INDIVIDUALIZATION = 25,
87 WMT_NO_RIGHTS_EX = 26,
88 WMT_BACKUPRESTORE_END = 27,
89 WMT_BACKUPRESTORE_CONNECTING = 28,
90 WMT_BACKUPRESTORE_DISCONNECTING = 29,
91 WMT_ERROR_WITHURL = 30,
92 WMT_RESTRICTED_LICENSE = 31,
93 WMT_CLIENT_CONNECT = 32,
94 WMT_CLIENT_DISCONNECT = 33,
95 WMT_NATIVE_OUTPUT_PROPS_CHANGED = 34,
96 WMT_RECONNECT_START = 35,
97 WMT_RECONNECT_END = 36,
98 WMT_CLIENT_CONNECT_EX = 37,
99 WMT_CLIENT_DISCONNECT_EX = 38,
100 WMT_SET_FEC_SPAN = 39,
101 WMT_PREROLL_READY = 40,
102 WMT_PREROLL_COMPLETE = 41,
103 WMT_CLIENT_PROPERTIES = 42,
104 WMT_LICENSEURL_SIGNATURE_STATE = 43,
105 WMT_INIT_PLAYLIST_BURN = 44,
106 WMT_TRANSCRYPTOR_INIT = 45,
107 WMT_TRANSCRYPTOR_SEEKED = 46,
108 WMT_TRANSCRYPTOR_READ = 47,
109 WMT_TRANSCRYPTOR_CLOSED = 48,
110 WMT_PROXIMITY_RESULT = 49,
111 WMT_PROXIMITY_COMPLETED = 50,
112 WMT_CONTENT_ENABLER = 51
113} WMT_STATUS;
114
115typedef enum WMT_STREAM_SELECTION
116{
117 WMT_OFF = 0,
118 WMT_CLEANPOINT_ONLY = 1,
119 WMT_ON = 2,
120} WMT_STREAM_SELECTION;
121
122
123[
124 object,
125 uuid(6d7cdc70-9888-11d3-8edc-00c04f6109cf),
126 pointer_default(unique),
127 local
128]
129interface IWMStatusCallback : IUnknown
130{
131 HRESULT OnStatus(
132 [in] WMT_STATUS Status,
133 [in] HRESULT hr,
134 [in] WMT_ATTR_DATATYPE dwType,
135 [in] BYTE *pValue,
136 [in] void *pvContext);
137};
138
139[
140 object,
141 uuid(96406bd8-2b2b-11d3-b36b-00c04f6108ff),
142 pointer_default(unique),
143 local
144]
145interface IWMReaderCallback : IWMStatusCallback
146{
147 HRESULT OnSample(
148 [in] DWORD dwOutputNum,
149 [in] QWORD cnsSampleTime,
150 [in] QWORD cnsSampleDuration,
151 [in] DWORD dwFlags,
152 [in] INSSBuffer *pSample,
153 [in] void *pvContext);
154};
155
156[
157 object,
158 uuid(96406bce-2b2b-11d3-b36b-00c04f6108ff),
159 pointer_default(unique),
160 local
161]
162interface IWMMediaProps : IUnknown
163{
164 HRESULT GetType(
165 [out] GUID *pguidType);
166
167 HRESULT GetMediaType(
168 [out] WM_MEDIA_TYPE *pType,
169 [in, out] DWORD *pcbType);
170
171 HRESULT SetMediaType(
172 [in] WM_MEDIA_TYPE *pType);
173};
174
175[
176 object,
177 uuid(96406bd7-2b2b-11d3-b36b-00c04f6108ff),
178 pointer_default(unique),
179 local
180]
181interface IWMOutputMediaProps : IWMMediaProps
182{
183 HRESULT GetStreamGroupName(
184 [out, size_is(*pcchName)] WCHAR *pwszName,
185 [in, out] WORD *pcchName);
186
187 HRESULT GetConnectionName(
188 [out, size_is(*pcchName)] WCHAR *pwszName,
189 [in, out] WORD *pcchName);
190};
191
192[
193 object,
194 uuid(96406bd9-2b2b-11d3-b36b-00c04f6108ff),
195 pointer_default(unique),
196 local
197]
198interface IWMMetadataEditor : IUnknown
199{
200 HRESULT Open(
201 [in] const WCHAR *pwszFilename);
202
203 HRESULT Close();
204
205 HRESULT Flush();
206};
207
208[
209 object,
210 uuid(96406bd6-2b2b-11d3-b36b-00c04f6108ff),
211 pointer_default(unique),
212 local
213]
214interface IWMReader : IUnknown
215{
216 HRESULT Open(
217 [in] const WCHAR *pwszURL,
218 [in] IWMReaderCallback *pCallback,
219 [in] void *pvContext);
220
221 HRESULT Close();
222
223 HRESULT GetOutputCount(
224 [out] DWORD *pcOutputs);
225
226 HRESULT GetOutputProps(
227 [in] DWORD dwOutputNum,
228 [out] IWMOutputMediaProps **ppOutput);
229
230 HRESULT SetOutputProps(
231 [in] DWORD dwOutputNum,
232 [in] IWMOutputMediaProps *pOutput);
233
234 HRESULT GetOutputFormatCount(
235 [in] DWORD dwOutputNumber,
236 [out] DWORD *pcFormats);
237
238 HRESULT GetOutputFormat(
239 [in] DWORD dwOutputNumber,
240 [in] DWORD dwFormatNumber,
241 [out] IWMOutputMediaProps** ppProps);
242
243 HRESULT Start(
244 [in] QWORD cnsStart,
245 [in] QWORD cnsDuration,
246 [in] float fRate,
247 [in] void *pvContext);
248
249 HRESULT Stop();
250
251 HRESULT Pause();
252
253 HRESULT Resume();
254};
255
256[
257 object,
258 uuid(9397f121-7705-4dc9-b049-98b698188414),
259 pointer_default( unique ),
260 local
261]
262interface IWMSyncReader : IUnknown
263{
264 HRESULT Open(
265 [in] const WCHAR *pwszFilename);
266
267 HRESULT Close();
268
269 HRESULT SetRange(
270 [in] QWORD cnsStartTime,
271 [in] LONGLONG cnsDuration);
272
273 HRESULT SetRangeByFrame(
274 [in] WORD wStreamNum,
275 [in] QWORD qwFrameNumber,
276 [in] LONGLONG cFramesToRead);
277
278 HRESULT GetNextSample(
279 [in] WORD wStreamNum,
280 [out] INSSBuffer **ppSample,
281 [out] QWORD *pcnsSampleTime,
282 [out] QWORD *pcnsDuration,
283 [out] DWORD *pdwFlags,
284 [out] DWORD *pdwOutputNum,
285 [out] WORD *pwStreamNum);
286
287 HRESULT SetStreamsSelected(
288 [in] WORD cStreamCount,
289 [in] WORD *pwStreamNumbers,
290 [in] WMT_STREAM_SELECTION *pSelections);
291
292 HRESULT GetStreamSelected(
293 [in] WORD wStreamNum,
294 [out] WMT_STREAM_SELECTION *pSelection);
295
296 HRESULT SetReadStreamSamples(
297 [in] WORD wStreamNum,
298 [in] BOOL fCompressed);
299
300 HRESULT GetReadStreamSamples(
301 [in] WORD wStreamNum,
302 [out] BOOL *pfCompressed);
303
304 HRESULT GetOutputSetting(
305 [in] DWORD dwOutputNum,
306 [in] LPCWSTR pszName,
307 [out] WMT_ATTR_DATATYPE *pType,
308 [out, size_is(*pcbLength)] BYTE *pValue,
309 [in, out] WORD *pcbLength);
310
311 HRESULT SetOutputSetting(
312 [in] DWORD dwOutputNum,
313 [in] LPCWSTR pszName,
314 [in] WMT_ATTR_DATATYPE Type,
315 [in, size_is(cbLength)] const BYTE *pValue,
316 [in] WORD cbLength);
317
318 HRESULT GetOutputCount(
319 [out] DWORD *pcOutputs);
320
321 HRESULT GetOutputProps(
322 [in] DWORD dwOutputNum,
323 [out] IWMOutputMediaProps **ppOutput);
324
325 HRESULT SetOutputProps(
326 [in] DWORD dwOutputNum,
327 [in] IWMOutputMediaProps *pOutput);
328
329 HRESULT GetOutputFormatCount(
330 [in] DWORD dwOutputNum,
331 [out] DWORD *pcFormats);
332
333 HRESULT GetOutputFormat(
334 [in] DWORD dwOutputNum,
335 [in] DWORD dwFormatNum,
336 [out] IWMOutputMediaProps **ppProps);
337
338 HRESULT GetOutputNumberForStream(
339 [in] WORD wStreamNum,
340 [out] DWORD *pdwOutputNum);
341
342 HRESULT GetStreamNumberForOutput(
343 [in] DWORD dwOutputNum,
344 [out] WORD *pwStreamNum);
345
346 HRESULT GetMaxOutputSampleSize(
347 [in] DWORD dwOutput,
348 [out] DWORD *pcbMax);
349
350 HRESULT GetMaxStreamSampleSize(
351 [in] WORD wStream,
352 [out] DWORD *pcbMax);
353
354 HRESULT OpenStream(
355 [in] IStream *pStream);
356};
357
358cpp_quote("EXTERN_GUID(WMMEDIASUBTYPE_Base, 0x00000000,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);")
359cpp_quote("EXTERN_GUID(WMMEDIATYPE_Video, 0x73646976,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);")
360cpp_quote("EXTERN_GUID(WMMEDIASUBTYPE_RGB1, 0xe436eb78,0x524f,0x11ce,0x9f,0x53,0x00,0x20,0xaf,0x0b,0xa7,0x70);")
361cpp_quote("EXTERN_GUID(WMMEDIASUBTYPE_RGB4, 0xe436eb79,0x524f,0x11ce,0x9f,0x53,0x00,0x20,0xaf,0x0b,0xa7,0x70);")
362cpp_quote("EXTERN_GUID(WMMEDIASUBTYPE_RGB8, 0xe436eb7a,0x524f,0x11ce,0x9f,0x53,0x00,0x20,0xaf,0x0b,0xa7,0x70);")
363cpp_quote("EXTERN_GUID(WMMEDIASUBTYPE_RGB565, 0xe436eb7b,0x524f,0x11ce,0x9f,0x53,0x00,0x20,0xaf,0x0b,0xa7,0x70);")
364cpp_quote("EXTERN_GUID(WMMEDIASUBTYPE_RGB555, 0xe436eb7c,0x524f,0x11ce,0x9f,0x53,0x00,0x20,0xaf,0x0b,0xa7,0x70);")
365cpp_quote("EXTERN_GUID(WMMEDIASUBTYPE_RGB24, 0xe436eb7d,0x524f,0x11ce,0x9f,0x53,0x00,0x20,0xaf,0x0b,0xa7,0x70);")
366cpp_quote("EXTERN_GUID(WMMEDIASUBTYPE_RGB32, 0xe436eb7e,0x524f,0x11ce,0x9f,0x53,0x00,0x20,0xaf,0x0b,0xa7,0x70);")
367cpp_quote("EXTERN_GUID(WMMEDIASUBTYPE_I420, 0x30323449,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);")
368cpp_quote("EXTERN_GUID(WMMEDIASUBTYPE_IYUV, 0x56555949,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);")
369cpp_quote("EXTERN_GUID(WMMEDIASUBTYPE_YV12, 0x32315659,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);")
370cpp_quote("EXTERN_GUID(WMMEDIASUBTYPE_YUY2, 0x32595559,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);")
371cpp_quote("EXTERN_GUID(WMMEDIASUBTYPE_P422, 0x32323450,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);")
372cpp_quote("EXTERN_GUID(WMMEDIASUBTYPE_UYVY, 0x59565955,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);")
373cpp_quote("EXTERN_GUID(WMMEDIASUBTYPE_YVYU, 0x55595659,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);")
374cpp_quote("EXTERN_GUID(WMMEDIASUBTYPE_YVU9, 0x39555659,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);")
375cpp_quote("EXTERN_GUID(WMMEDIASUBTYPE_VIDEOIMAGE, 0x1d4a45f2,0xe5f6,0x4b44,0x83,0x88,0xf0,0xae,0x5c,0x0e,0x0c,0x37);")
376cpp_quote("EXTERN_GUID(WMMEDIASUBTYPE_MP43, 0x3334504d,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);")
377cpp_quote("EXTERN_GUID(WMMEDIASUBTYPE_MP4S, 0x5334504d,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);")
378cpp_quote("EXTERN_GUID(WMMEDIASUBTYPE_M4S2, 0x3253344d,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);")
379cpp_quote("EXTERN_GUID(WMMEDIASUBTYPE_WMV1, 0x31564d57,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);")
380cpp_quote("EXTERN_GUID(WMMEDIASUBTYPE_WMV2, 0x32564d57,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);")
381cpp_quote("EXTERN_GUID(WMMEDIASUBTYPE_MSS1, 0x3153534d,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);")
382cpp_quote("EXTERN_GUID(WMMEDIASUBTYPE_MPEG2_VIDEO, 0xe06d8026,0xdb46,0x11cf,0xb4,0xd1,0x00,0x80,0x5f,0x6c,0xbb,0xea);")
383cpp_quote("EXTERN_GUID(WMMEDIATYPE_Audio, 0x73647561,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);")
384cpp_quote("EXTERN_GUID(WMMEDIASUBTYPE_PCM, 0x00000001,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);")
385cpp_quote("EXTERN_GUID(WMMEDIASUBTYPE_DRM, 0x00000009,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);")
386cpp_quote("EXTERN_GUID(WMMEDIASUBTYPE_WMAudioV9, 0x00000162,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);")
387cpp_quote("EXTERN_GUID(WMMEDIASUBTYPE_WMAudio_Lossless, 0x00000163,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);")
388cpp_quote("EXTERN_GUID(WMMEDIASUBTYPE_MSS2, 0x3253534d,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);")
389cpp_quote("EXTERN_GUID(WMMEDIASUBTYPE_WMSP1, 0x0000000a,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);")
390cpp_quote("EXTERN_GUID(WMMEDIASUBTYPE_WMSP2, 0x0000000b,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);")
391cpp_quote("EXTERN_GUID(WMMEDIASUBTYPE_WMV3, 0x33564d57,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);")
392cpp_quote("EXTERN_GUID(WMMEDIASUBTYPE_WMVP, 0x50564d57,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);")
393cpp_quote("EXTERN_GUID(WMMEDIASUBTYPE_WVP2, 0x32505657,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);")
394cpp_quote("EXTERN_GUID(WMMEDIASUBTYPE_WMVA, 0x41564d57,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);")
395cpp_quote("EXTERN_GUID(WMMEDIASUBTYPE_WVC1, 0x31435657,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);")
注意: 瀏覽 TracBrowser 來幫助您使用儲存庫瀏覽器

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette