ReactOS 0.4.15-dev-7906-g1b85a5f
wmsdkidl.idl
Go to the documentation of this file.
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
19import "oaidl.idl";
20import "wmsbuffer.idl";
21import "drmexternals.idl";
22
23typedef struct _WMMediaType
24{
33 [size_is(cbFormat)] BYTE *pbFormat;
35
36typedef struct _WMWriterStatistics
37{
49
51{
60
61typedef struct _WMReaderStatistics
62{
70
71typedef struct _WMReaderClientInfo
72{
83
85{
94
95typedef enum WMT_STATUS
96{
151
153{
158
159typedef enum WMT_VERSION
160{
161 WMT_VER_4_0 = 0x00040000,
162 WMT_VER_7_0 = 0x00070000,
163 WMT_VER_8_0 = 0x00080000,
164 WMT_VER_9_0 = 0x00090000
166
167typedef enum WMT_PLAY_MODE
168{
174
176{
183
185{
190
192{
199
201{
205
206#include <pshpack2.h>
208{
212
214{
220#include <poppack.h>
221
223{
227
229
230[
231 object,
232 uuid(6d7cdc70-9888-11d3-8edc-00c04f6109cf),
234 local
235]
237{
240 [in] HRESULT hr,
241 [in] WMT_ATTR_DATATYPE dwType,
242 [in] BYTE *pValue,
243 [in] void *pvContext);
244}
245
246[
247 object,
248 uuid(96406bd8-2b2b-11d3-b36b-00c04f6108ff),
250 local
251]
253{
255 [in] DWORD dwOutputNum,
256 [in] QWORD cnsSampleTime,
257 [in] QWORD cnsSampleDuration,
258 [in] DWORD dwFlags,
259 [in] INSSBuffer *pSample,
260 [in] void *pvContext);
261}
262
263[
264 object,
265 uuid(96406Bdd-2b2b-11d3-b36b-00c04f6108ff),
267 local
268]
270{
272 [out, size_is(*pcStreams)] WORD *pwStreamNumArray,
273 [in, out] WORD *pcStreams);
274
275 HRESULT AddStream([in] WORD wStreamNum);
277}
278
279[
280 object,
281 uuid(96406Bde-2b2b-11d3-b36b-00c04f6108ff),
283 local
284]
286{
287 HRESULT GetType([out] GUID *pguidType);
289}
290
291[
292 object,
293 uuid(ad694af1-f8d9-42f8-bc47-70311b0c4f9e),
295 local
296]
298{
301
303 [out] DWORD *bitrate,
304 [out] DWORD *buffer);
305
307 [in] DWORD bitrate,
308 [in] DWORD buffer);
309}
310
311[
312 object,
313 uuid(8c1c6090-f9a8-4748-8ec3-dd1108ba1e77),
315 local
316]
318{
321 [in, out] WORD *records);
322
325 [in] WORD records);
326}
327
328[
329 object,
330 uuid(96406Bdc-2b2b-11d3-b36b-00c04f6108ff),
332 local
333]
335{
336 HRESULT GetStreamType([out] GUID *pguidStreamType);
339
341 [out, size_is(*pcchStreamName)] WCHAR *pwszStreamName,
342 [in, out] WORD *pcchStreamName);
343
345
347 [out, size_is(*pcchInputName)] WCHAR *pwszInputName,
348 [in, out] WORD *pcchInputName);
349
351 HRESULT GetBitrate([out] DWORD *pdwBitrate);
352 HRESULT SetBitrate([in] DWORD pdwBitrate);
353 HRESULT GetBufferWindow([out] DWORD *pmsBufferWindow);
354 HRESULT SetBufferWindow([in] DWORD msBufferWindow);
355}
356
357[
358 object,
359 uuid(96406bdb-2b2b-11d3-b36b-00c04f6108ff),
361 local
362]
364{
366 [out] WMT_VERSION *pdwVersion);
367
369 [out, size_is(*pcchName)] WCHAR *pwszName,
370 [in, out] DWORD *pcchName);
371
373 [in] const WCHAR *pwszName);
374
376 [out, size_is(*pcchDescription)] WCHAR *pwszDescription,
377 [in, out] DWORD *pcchDescription);
378
380 [in] const WCHAR *pwszDescription);
381
383 [out] DWORD *pcStreams);
384
386 [in] DWORD dwStreamIndex,
387 [out] IWMStreamConfig **ppConfig);
388
390 [in] WORD wStreamNum,
391 [out] IWMStreamConfig **ppConfig);
392
394 [in] IWMStreamConfig *pConfig);
395
397 [in] WORD wStreamNum);
398
400 [in] IWMStreamConfig *pConfig);
401
403 [in] IWMStreamConfig *pConfig);
404
406 [in] REFGUID guidStreamType,
407 [out] IWMStreamConfig **ppConfig);
408
410 [out] DWORD *pcME);
411
413 [in] DWORD dwMEIndex,
414 [out] IWMMutualExclusion **ppME);
415
417 [in] IWMMutualExclusion *pME);
418
420 [in] IWMMutualExclusion *pME);
421
423 [out] IWMMutualExclusion **ppME);
424}
425
426[
427 object,
428 uuid(07e72d33-d94e-4be7-8843-60ae5ff7e5f5),
430 local
431]
433{
435}
436
437[
438 object,
439 uuid(00ef96cc-a461-4546-8bcd-c9a28f0e06f5),
441 local
442]
444{
447
449
451 [in] DWORD index,
452 [out] IWMBandwidthSharing **bandwidth);
453
455
457
459
461
463
465
467
469 [in] QWORD duration,
470 [out] QWORD *packets);
471}
472
473[
474 object,
475 uuid(d16679f2-6ca0-472d-8d31-2f5d55aee155),
477 local
478]
480{
482 [in] WMT_VERSION dwVersion,
483 [out] IWMProfile **ppProfile);
484
487 [out] IWMProfile **ppProfile);
488
490 [in] const WCHAR *pwszProfile,
491 [out] IWMProfile **ppProfile);
492
494 [in] IWMProfile *pIWMProfile,
495 [in] WCHAR *pwszProfile,
496 [in, out] DWORD *pdwLength);
497
499 [out] DWORD *pcProfiles);
500
502 [in] DWORD dwProfileIndex,
503 [out] IWMProfile **ppProfile);
504}
505
506[
507 object,
508 uuid(7a924e51-73c1-494d-8019-23d37ed9b89a),
510 local
511]
513{
516};
517
518cpp_quote("HRESULT WINAPI WMCreateProfileManager(IWMProfileManager**);")
519
520[
521 object,
522 uuid(a970f41e-34de-4a98-b3ba-e4b3ca7528f0),
524 local
525]
527{
529 [in] REFGUID guid,
530 [out] DWORD *count);
531
533 [in] REFGUID guid,
534 [in] DWORD codecindex,
535 [out] DWORD *formatcount);
536
538 [in] REFGUID guid,
539 [in] DWORD codecindex,
540 [in] DWORD formatindex,
541 [out] IWMStreamConfig **streamconfig);
542}
543
544[
545 object,
546 uuid(aa65e273-b686-4056-91ec-dd768d4df710),
548 local
549]
551{
553 [in] REFGUID guid,
554 [in] DWORD codecindex,
555 [out, size_is(*namesize)] WCHAR *name,
556 [in, out] DWORD *namesize);
557
559 [in] REFGUID guid,
560 [in] DWORD codecindex,
561 [in] DWORD formatindex,
562 [out] IWMStreamConfig **streamconfig,
563 [out, size_is(*descrsize)] WCHAR *description,
564 [in, out] DWORD *descrsize);
565}
566
567[
568 object,
569 uuid(7e51f487-4d93-4f98-8ab4-27d0565adc51),
571 local
572]
574{
576 [in] REFGUID guid,
577 [in] DWORD codecindex,
578 [in] DWORD formatindex,
579 [in] const WCHAR *name,
581 [out, size_is(*size)] BYTE *value,
582 [in, out] DWORD *size);
583
585 [in] REFGUID guid,
586 [in] DWORD codecindex,
587 [in] const WCHAR *name,
589 [out, size_is(*size)] BYTE *value,
590 [in, out] DWORD *size);
591
593 [in] REFGUID guid,
594 [in] DWORD codecindex,
595 [in] const WCHAR *name,
597 [in, size_is(size)] const BYTE *value,
598 [in] DWORD size);
599
601 [in] REFGUID guid,
602 [in] DWORD codecindex,
603 [in] const WCHAR *name,
605 [out, size_is(*size)] BYTE *value,
606 [in, out] DWORD *size);
607}
608
609cpp_quote("static const WCHAR g_wszNumPasses[] = {'_','P','A','S','S','E','S','U','S','E','D',0};")
610cpp_quote("static const WCHAR g_wszVBREnabled[] = {'_','V','B','R','E','N','A','B','L','E','D',0};")
611
612[
613 object,
614 uuid(96406bce-2b2b-11d3-b36b-00c04f6108ff),
615 pointer_default(unique),
616 local
617]
618interface IWMMediaProps : IUnknown
619{
620 HRESULT GetType(
621 [out] GUID *pguidType);
622
623 HRESULT GetMediaType(
624 [out] WM_MEDIA_TYPE *pType,
625 [in, out] DWORD *pcbType);
626
627 HRESULT SetMediaType(
628 [in] WM_MEDIA_TYPE *pType);
629}
630
631[
632 object,
633 uuid(96406bd7-2b2b-11d3-b36b-00c04f6108ff),
634 pointer_default(unique),
635 local
636]
637interface IWMOutputMediaProps : IWMMediaProps
638{
639 HRESULT GetStreamGroupName(
640 [out, size_is(*pcchName)] WCHAR *pwszName,
641 [in, out] WORD *pcchName);
642
643 HRESULT GetConnectionName(
644 [out, size_is(*pcchName)] WCHAR *pwszName,
645 [in, out] WORD *pcchName);
646}
647
648[
649 object,
650 uuid(96406bd9-2b2b-11d3-b36b-00c04f6108ff),
651 pointer_default(unique),
652 local
653]
654interface IWMMetadataEditor : IUnknown
655{
656 HRESULT Open(
657 [in] const WCHAR *pwszFilename);
658
659 HRESULT Close();
660
661 HRESULT Flush();
662}
663
664[
665 object,
666 uuid(96406bd6-2b2b-11d3-b36b-00c04f6108ff),
667 pointer_default(unique),
668 local
669]
670interface IWMReader : IUnknown
671{
672 HRESULT Open(
673 [in] const WCHAR *pwszURL,
674 [in] IWMReaderCallback *pCallback,
675 [in] void *pvContext);
676
677 HRESULT Close();
678
679 HRESULT GetOutputCount(
680 [out] DWORD *pcOutputs);
681
682 HRESULT GetOutputProps(
683 [in] DWORD dwOutputNum,
684 [out] IWMOutputMediaProps **ppOutput);
685
686 HRESULT SetOutputProps(
687 [in] DWORD dwOutputNum,
688 [in] IWMOutputMediaProps *pOutput);
689
690 HRESULT GetOutputFormatCount(
691 [in] DWORD dwOutputNumber,
692 [out] DWORD *pcFormats);
693
694 HRESULT GetOutputFormat(
695 [in] DWORD dwOutputNumber,
696 [in] DWORD dwFormatNumber,
697 [out] IWMOutputMediaProps** ppProps);
698
699 HRESULT Start(
700 [in] QWORD cnsStart,
701 [in] QWORD cnsDuration,
702 [in] float fRate,
703 [in] void *pvContext);
704
705 HRESULT Stop();
706
707 HRESULT Pause();
708
709 HRESULT Resume();
710}
711
712[
713 object,
714 uuid(e5b7ca9a-0f1c-4f66-9002-74ec50d8b304),
715 pointer_default(unique),
716 local
717]
718interface IWMPlayerHook : IUnknown
719{
720 HRESULT PreDecode();
721}
722
723[
724 object,
725 uuid(96406bea-2b2b-11d3-b36b-00c04f6108ff),
726 pointer_default(unique),
727 local
728]
729interface IWMReaderAdvanced : IUnknown
730{
731 HRESULT SetUserProvidedClock(
732 [in] BOOL fUserClock);
733
734 HRESULT GetUserProvidedClock(
735 [out] BOOL *pfUserClock);
736
737 HRESULT DeliverTime(
738 [in] QWORD cnsTime);
739
740 HRESULT SetManualStreamSelection(
741 [in] BOOL fSelection);
742
743 HRESULT GetManualStreamSelection(
744 [out] BOOL *pfSelection);
745
746 HRESULT SetStreamsSelected(
747 [in] WORD cStreamCount,
748 [in] WORD *pwStreamNumbers,
749 [in] WMT_STREAM_SELECTION *pSelections);
750
751 HRESULT GetStreamSelected(
752 [in] WORD wStreamNum,
753 [out] WMT_STREAM_SELECTION *pSelection);
754
755 HRESULT SetReceiveSelectionCallbacks(
756 [in] BOOL fGetCallbacks);
757
758 HRESULT GetReceiveSelectionCallbacks(
759 [out] BOOL *pfGetCallbacks);
760
761 HRESULT SetReceiveStreamSamples(
762 [in] WORD wStreamNum,
763 [in] BOOL fReceiveStreamSamples);
764
765 HRESULT GetReceiveStreamSamples(
766 [in] WORD wStreamNum,
767 [out] BOOL *pfReceiveStreamSamples);
768
769 HRESULT SetAllocateForOutput(
770 [in] DWORD dwOutputNum,
771 [in] BOOL fAllocate);
772
773 HRESULT GetAllocateForOutput(
774 [in] DWORD dwOutputNum,
775 [out] BOOL *pfAllocate);
776
777 HRESULT SetAllocateForStream(
778 [in] WORD wStreamNum,
779 [in] BOOL fAllocate);
780
781 HRESULT GetAllocateForStream(
782 [in] WORD dwStreamNum,
783 [out] BOOL *pfAllocate);
784
785 HRESULT GetStatistics(
786 [in, out] WM_READER_STATISTICS *pStatistics);
787
788 HRESULT SetClientInfo(
789 [in] WM_READER_CLIENTINFO *pClientInfo);
790
791 HRESULT GetMaxOutputSampleSize(
792 [in] DWORD dwOutput,
793 [out] DWORD *pcbMax);
794
795 HRESULT GetMaxStreamSampleSize(
796 [in] WORD wStream,
797 [out] DWORD *pcbMax);
798
799 HRESULT NotifyLateDelivery(
800 QWORD cnsLateness);
801}
802
803[
804 object,
805 uuid(ae14a945-b90c-4d0d-9127-80d665f7d73e),
806 pointer_default(unique),
807 local
808]
809interface IWMReaderAdvanced2 : IWMReaderAdvanced
810{
811 HRESULT SetPlayMode(
812 [in] WMT_PLAY_MODE Mode);
813
814 HRESULT GetPlayMode(
815 [out] WMT_PLAY_MODE *pMode);
816
817 HRESULT GetBufferProgress(
818 [out] DWORD *pdwPercent,
819 [out] QWORD *pcnsBuffering);
820
821 HRESULT GetDownloadProgress(
822 [out] DWORD *pdwPercent,
823 [out] QWORD *pqwBytesDownloaded,
824 [out] QWORD *pcnsDownload);
825
826 HRESULT GetSaveAsProgress(
827 [out] DWORD *pdwPercent);
828
829 HRESULT SaveFileAs(
830 [in] const WCHAR *pwszFilename);
831
832 HRESULT GetProtocolName(
833 [out, size_is(*pcchProtocol)] WCHAR *pwszProtocol,
834 [in, out] DWORD *pcchProtocol);
835
836 HRESULT StartAtMarker(
837 [in] WORD wMarkerIndex,
838 [in] QWORD cnsDuration,
839 [in] float fRate,
840 [in] void *pvContext);
841
842 HRESULT GetOutputSetting(
843 [in] DWORD dwOutputNum,
844 [in] LPCWSTR pszName,
845 [out] WMT_ATTR_DATATYPE *pType,
846 [out, size_is(*pcbLength)] BYTE *pValue,
847 [in, out] WORD *pcbLength);
848
849 HRESULT SetOutputSetting(
850 [in] DWORD dwOutputNum,
851 [in] LPCWSTR pszName,
852 [in] WMT_ATTR_DATATYPE Type,
853 [in, size_is(cbLength)] const BYTE *pValue,
854 [in] WORD cbLength);
855
856 HRESULT Preroll(
857 [in] QWORD cnsStart,
858 [in] QWORD cnsDuration,
859 [in] float fRate);
860
861 HRESULT SetLogClientID(
862 [in] BOOL fLogClientID);
863
864 HRESULT GetLogClientID(
865 [out] BOOL *pfLogClientID);
866
867 HRESULT StopBuffering();
868
869 HRESULT OpenStream(
870 [in] IStream *pStream,
871 [in] IWMReaderCallback *pCallback,
872 [in] void *pvContext);
873}
874
875[
876 object,
877 uuid(5dc0674b-f04B-4a4e-9f2a-b1afde2c8100),
878 pointer_default(unique),
879 local
880]
881interface IWMReaderAdvanced3 : IWMReaderAdvanced2
882{
883 HRESULT StopNetStreaming();
884
885 HRESULT StartAtPosition(
886 [in] WORD wStreamNum,
887 [in] void *pvOffsetStart,
888 [in] void *pvDuration,
889 [in] WMT_OFFSET_FORMAT dwOffsetFormat,
890 [in] float fRate,
891 [in] void *pvContext);
892}
893
894[
895 object,
896 uuid(945a76a2-12ae-4d48-bd3c-cd1d90399b85),
897 pointer_default(unique),
898 local
899]
900interface IWMReaderAdvanced4 : IWMReaderAdvanced3
901{
902 HRESULT GetLanguageCount(
903 [in] DWORD dwOutputNum,
904 [out] WORD *pwLanguageCount);
905
906 HRESULT GetLanguage(
907 [in] DWORD dwOutputNum,
908 [in] WORD wLanguage,
909 [out, size_is(*pcchLanguageStringLength)] WCHAR *pwszLanguageString,
910 [in, out] WORD *pcchLanguageStringLength);
911
912 HRESULT GetMaxSpeedFactor(
913 [out] double *pdblFactor);
914
915 HRESULT IsUsingFastCache(
916 [out] BOOL *pfUsingFastCache);
917
918 HRESULT AddLogParam(
919 [in] LPCWSTR wszNameSpace,
920 [in] LPCWSTR wszName,
921 [in] LPCWSTR wszValue);
922
923 HRESULT SendLogParams();
924
925 HRESULT CanSaveFileAs(
926 [out] BOOL *pfCanSave);
927
928 HRESULT CancelSaveFileAs();
929
930 HRESULT GetURL(
931 [out, size_is(*pcchURL)] WCHAR *pwszURL,
932 [in, out] DWORD *pcchURL);
933}
934
935[
936 object,
937 uuid(24c44db0-55d1-49ae-a5cc-f13815e36363),
938 pointer_default(unique),
939 local
940]
941interface IWMReaderAdvanced5 : IWMReaderAdvanced4
942{
943 HRESULT SetPlayerHook(
944 [in] DWORD dwOutputNum,
945 [in] IWMPlayerHook *pHook);
946}
947
948[
949 object,
950 uuid(18a2e7f8-428f-4acd-8a00-e64639bc93de),
951 pointer_default(unique),
952 local
953]
954interface IWMReaderAdvanced6 : IWMReaderAdvanced5
955{
956 HRESULT SetProtectStreamSamples(
957 [in, size_is(cbCertificate)] BYTE *pbCertificate,
958 [in] DWORD cbCertificate,
959 [in] DWORD dwCertificateType,
960 [in] DWORD dwFlags,
961 [out, size_is(*pcbInitializationVector)] BYTE *pbInitializationVector,
962 [in, out] DWORD *pcbInitializationVector);
963}
964
965[
966 object,
967 uuid(9397f121-7705-4dc9-b049-98b698188414),
968 pointer_default( unique ),
969 local
970]
971interface IWMSyncReader : IUnknown
972{
973 HRESULT Open(
974 [in] const WCHAR *pwszFilename);
975
976 HRESULT Close();
977
978 HRESULT SetRange(
979 [in] QWORD cnsStartTime,
980 [in] LONGLONG cnsDuration);
981
982 HRESULT SetRangeByFrame(
983 [in] WORD wStreamNum,
984 [in] QWORD qwFrameNumber,
985 [in] LONGLONG cFramesToRead);
986
987 HRESULT GetNextSample(
988 [in] WORD wStreamNum,
989 [out] INSSBuffer **ppSample,
990 [out] QWORD *pcnsSampleTime,
991 [out] QWORD *pcnsDuration,
992 [out] DWORD *pdwFlags,
993 [out] DWORD *pdwOutputNum,
994 [out] WORD *pwStreamNum);
995
996 HRESULT SetStreamsSelected(
997 [in] WORD cStreamCount,
998 [in] WORD *pwStreamNumbers,
999 [in] WMT_STREAM_SELECTION *pSelections);
1000
1001 HRESULT GetStreamSelected(
1002 [in] WORD wStreamNum,
1003 [out] WMT_STREAM_SELECTION *pSelection);
1004
1005 HRESULT SetReadStreamSamples(
1006 [in] WORD wStreamNum,
1007 [in] BOOL fCompressed);
1008
1009 HRESULT GetReadStreamSamples(
1010 [in] WORD wStreamNum,
1011 [out] BOOL *pfCompressed);
1012
1013 HRESULT GetOutputSetting(
1014 [in] DWORD dwOutputNum,
1015 [in] LPCWSTR pszName,
1016 [out] WMT_ATTR_DATATYPE *pType,
1017 [out, size_is(*pcbLength)] BYTE *pValue,
1018 [in, out] WORD *pcbLength);
1019
1020 HRESULT SetOutputSetting(
1021 [in] DWORD dwOutputNum,
1022 [in] LPCWSTR pszName,
1023 [in] WMT_ATTR_DATATYPE Type,
1024 [in, size_is(cbLength)] const BYTE *pValue,
1025 [in] WORD cbLength);
1026
1027 HRESULT GetOutputCount(
1028 [out] DWORD *pcOutputs);
1029
1030 HRESULT GetOutputProps(
1031 [in] DWORD dwOutputNum,
1032 [out] IWMOutputMediaProps **ppOutput);
1033
1034 HRESULT SetOutputProps(
1035 [in] DWORD dwOutputNum,
1036 [in] IWMOutputMediaProps *pOutput);
1037
1038 HRESULT GetOutputFormatCount(
1039 [in] DWORD dwOutputNum,
1040 [out] DWORD *pcFormats);
1041
1042 HRESULT GetOutputFormat(
1043 [in] DWORD dwOutputNum,
1044 [in] DWORD dwFormatNum,
1045 [out] IWMOutputMediaProps **ppProps);
1046
1047 HRESULT GetOutputNumberForStream(
1048 [in] WORD wStreamNum,
1049 [out] DWORD *pdwOutputNum);
1050
1051 HRESULT GetStreamNumberForOutput(
1052 [in] DWORD dwOutputNum,
1053 [out] WORD *pwStreamNum);
1054
1055 HRESULT GetMaxOutputSampleSize(
1056 [in] DWORD dwOutput,
1057 [out] DWORD *pcbMax);
1058
1059 HRESULT GetMaxStreamSampleSize(
1060 [in] WORD wStream,
1061 [out] DWORD *pcbMax);
1062
1063 HRESULT OpenStream(
1064 [in] IStream *pStream);
1065}
1066
1067[
1068 object,
1069 uuid(9f762fa7-a22e-428d-93c9-ac82f3aafe5a),
1070 pointer_default( unique ),
1071 local
1072]
1073interface IWMReaderAllocatorEx : IUnknown
1074{
1075 HRESULT AllocateForStreamEx(
1076 [in] WORD wStreamNum,
1077 [in] DWORD cbBuffer,
1078 [out] INSSBuffer **ppBuffer,
1079 [in] DWORD dwFlags,
1080 [in] QWORD cnsSampleTime,
1081 [in] QWORD cnsSampleDuration,
1082 [in] void *pvContext);
1083
1084 HRESULT AllocateForOutputEx(
1085 [in] WORD wOutputNum,
1086 [in] DWORD cbBuffer,
1087 [out] INSSBuffer **ppBuffer,
1088 [in] DWORD dwFlags,
1089 [in] QWORD cnsSampleTime,
1090 [in] QWORD cnsSampleDuration,
1091 [in] void *pvContext);
1092}
1093
1094[
1095 object,
1096 uuid(faed3d21-1b6b-4af7-8bc6-3e189bbc187b),
1097 pointer_default( unique ),
1098 local
1099]
1100interface IWMSyncReader2 : IWMSyncReader
1101{
1102 HRESULT SetRangeByTimecode(
1103 [in] WORD wStreamNum,
1104 [in] WMT_TIMECODE_EXTENSION_DATA *pStart,
1105 [in] WMT_TIMECODE_EXTENSION_DATA *pEnd);
1106
1107 HRESULT SetRangeByFrameEx(
1108 [in] WORD wStreamNum,
1109 [in] QWORD qwFrameNumber,
1110 [in] LONGLONG cFramesToRead,
1111 [out] QWORD *pcnsStartTime);
1112
1113 HRESULT SetAllocateForOutput(
1114 [in] DWORD dwOutputNum,
1115 [in] IWMReaderAllocatorEx *pAllocator);
1116
1117 HRESULT GetAllocateForOutput(
1118 [in] DWORD dwOutputNum,
1119 [out] IWMReaderAllocatorEx **ppAllocator);
1120
1121 HRESULT SetAllocateForStream(
1122 [in] DWORD dwStreamNum,
1123 [in] IWMReaderAllocatorEx *pAllocator);
1124
1125 HRESULT GetAllocateForStream(
1126 [in] DWORD dwStreamNum,
1127 [out] IWMReaderAllocatorEx **ppAllocator);
1128}
1129
1130[
1131 object,
1132 uuid(96406bd5-2b2b-11d3-b36b-00c04f6108ff),
1133 pointer_default(unique),
1134 local
1135]
1136interface IWMInputMediaProps : IWMMediaProps
1137{
1138 HRESULT GetConnectionName(
1139 [out, size_is(*pcchName)] WCHAR *pwszName,
1140 [in, out] WORD *pcchName);
1141
1142 HRESULT GetGroupName(
1143 [out, size_is(*pcchName)] WCHAR *pwszName,
1144 [in, out] WORD *pcchName);
1145}
1146
1147[
1148 object,
1149 uuid(96406be4-2b2b-11d3-b36b-00c04f6108ff),
1150 pointer_default(unique),
1151 local
1152]
1153interface IWMWriterSink : IUnknown
1154{
1155 HRESULT OnHeader(
1156 [in] INSSBuffer *pHeader);
1157
1158 HRESULT IsRealTime(
1159 [out] BOOL *pfRealTime);
1160
1161 HRESULT AllocateDataUnit(
1162 [in] DWORD cbDataUnit,
1163 [out] INSSBuffer **ppDataUnit);
1164
1165 HRESULT OnDataUnit(
1166 [in] INSSBuffer *pDataUnit);
1167
1168 HRESULT OnEndWriting();
1169}
1170
1171[
1172 object,
1173 uuid(96406bd4-2b2b-11d3-b36b-00c04f6108ff),
1174 pointer_default(unique),
1175 local
1176]
1177interface IWMWriter : IUnknown
1178{
1179 HRESULT SetProfileByID(
1180 [in] REFGUID guidProfile);
1181
1182 HRESULT SetProfile(
1183 [in] IWMProfile *pProfile);
1184
1185 HRESULT SetOutputFilename(
1186 [in] const WCHAR *pwszFilename);
1187
1188 HRESULT GetInputCount(
1189 [out] DWORD *pcInputs);
1190
1191 HRESULT GetInputProps(
1192 [in] DWORD dwInputNum,
1193 [out] IWMInputMediaProps **ppInput);
1194
1195 HRESULT SetInputProps(
1196 [in] DWORD dwInputNum,
1197 [in] IWMInputMediaProps *pInput);
1198
1199 HRESULT GetInputFormatCount(
1200 [in] DWORD dwInputNumber,
1201 [out] DWORD *pcFormats);
1202
1203 HRESULT GetInputFormat(
1204 [in] DWORD dwInputNumber,
1205 [in] DWORD dwFormatNumber,
1206 [out] IWMInputMediaProps **pProps);
1207
1208 HRESULT BeginWriting();
1209
1210 HRESULT EndWriting();
1211
1212 HRESULT AllocateSample(
1213 [in] DWORD dwSampleSize,
1214 [out] INSSBuffer **ppSample);
1215
1216 HRESULT WriteSample(
1217 [in] DWORD dwInputNum,
1218 [in] QWORD cnsSampleTime,
1219 [in] DWORD dwFlags,
1220 [in] INSSBuffer *pSample);
1221
1222 HRESULT Flush();
1223}
1224
1225[
1226 object,
1227 uuid(96406be3-2b2b-11d3-b36b-00C04f6108ff),
1228 pointer_default(unique),
1229 local
1230]
1231interface IWMWriterAdvanced : IUnknown
1232{
1233 HRESULT GetSinkCount(
1234 [out] DWORD *pcSinks);
1235
1236 HRESULT GetSink(
1237 [in] DWORD dwSinkNum,
1238 [out] IWMWriterSink **ppSink);
1239
1240 HRESULT AddSink(
1241 [in] IWMWriterSink *pSink);
1242
1243 HRESULT RemoveSink(
1244 [in] IWMWriterSink *pSink);
1245
1246 HRESULT WriteStreamSample(
1247 [in] WORD wStreamNum,
1248 [in] QWORD cnsSampleTime,
1249 [in] DWORD msSampleSendTime,
1250 [in] QWORD cnsSampleDuration,
1251 [in] DWORD dwFlags,
1252 [in] INSSBuffer *pSample);
1253
1254 HRESULT SetLiveSource(
1255 BOOL fIsLiveSource);
1256
1257 HRESULT IsRealTime(
1258 [out] BOOL *pfRealTime);
1259
1260 HRESULT GetWriterTime(
1261 [out] QWORD *pCurrentTime);
1262
1263 HRESULT GetStatistics(
1264 [in] WORD wStreamNum,
1265 [out] WM_WRITER_STATISTICS *pStats);
1266
1267 HRESULT SetSyncTolerance(
1268 [in] DWORD msWindow);
1269
1270 HRESULT GetSyncTolerance(
1271 [out] DWORD *pmsWindow);
1272}
1273
1274[
1275 object,
1276 uuid(962dc1ec-c046-4db8-9cc7-26ceae500817),
1277 pointer_default(unique),
1278 local
1279]
1280interface IWMWriterAdvanced2 : IWMWriterAdvanced
1281{
1282 HRESULT GetInputSetting(
1283 [in] DWORD dwInputNum,
1284 [in] LPCWSTR pszName,
1285 [out] WMT_ATTR_DATATYPE *pType,
1286 [out, size_is(*pcbLength)] BYTE *pValue,
1287 [in, out] WORD *pcbLength);
1288
1289 HRESULT SetInputSetting(
1290 [in] DWORD dwInputNum,
1291 [in] LPCWSTR pszName,
1292 [in] WMT_ATTR_DATATYPE Type,
1293 [in, size_is(cbLength)] const BYTE *pValue,
1294 [in] WORD cbLength);
1295}
1296
1297[
1298 object,
1299 uuid(2cd6492d-7c37-4e76-9d3b-59261183a22e),
1300 pointer_default(unique),
1301 local
1302]
1303interface IWMWriterAdvanced3 : IWMWriterAdvanced2
1304{
1305 HRESULT GetStatisticsEx(
1306 [in] WORD wStreamNum,
1307 [out] WM_WRITER_STATISTICS_EX *pStats);
1308
1309 HRESULT SetNonBlocking();
1310}
1311
1312[
1313 object,
1314 uuid(96406bda-2b2b-11d3-b36b-00c04f6108ff),
1315 pointer_default(unique),
1316 local
1317]
1318interface IWMHeaderInfo : IUnknown
1319{
1320 HRESULT GetAttributeCount(
1321 [in] WORD stream_num,
1322 [out] WORD *attributes );
1323
1324 HRESULT GetAttributeByIndex(
1325 [in] WORD index,
1326 [in, out] WORD *stream_num,
1327 [out, size_is( *name_len )] WCHAR *name,
1328 [in, out] WORD *name_len,
1329 [out] WMT_ATTR_DATATYPE *type,
1330 [out, size_is( *length )] BYTE *value,
1331 [in, out] WORD *length );
1332
1333 HRESULT GetAttributeByName(
1334 [in, out] WORD *stream_num,
1335 [in] LPCWSTR name,
1336 [out] WMT_ATTR_DATATYPE *type,
1337 [out, size_is( *length )] BYTE *value,
1338 [in, out] WORD *length );
1339
1340 HRESULT SetAttribute(
1341 [in] WORD stream_num,
1342 [in] LPCWSTR name,
1343 [in] WMT_ATTR_DATATYPE type,
1344 [in, size_is( length )] const BYTE *value,
1345 [in] WORD length );
1346
1347 HRESULT GetMarkerCount(
1348 [out] WORD *markers );
1349
1350 HRESULT GetMarker(
1351 [in] WORD index,
1352 [out, size_is( *marker_len )] WCHAR *marker_name,
1353 [in, out] WORD *marker_len,
1354 [out] QWORD *marker_time );
1355
1356 HRESULT AddMarker(
1357 [in] LPCWSTR_WMSDK_TYPE_SAFE marker_name,
1358 [in] QWORD marker_time );
1359
1360 HRESULT RemoveMarker(
1361 [in] WORD index );
1362
1363 HRESULT GetScriptCount(
1364 [out] WORD *scripts );
1365
1366 HRESULT GetScript(
1367 [in] WORD index,
1368 [out, size_is( *type_len )] WCHAR *type,
1369 [in, out] WORD *type_len,
1370 [out, size_is( *command_len )] WCHAR *command,
1371 [in, out] WORD *command_len,
1372 [out] QWORD *script_time );
1373
1374 HRESULT AddScript(
1375 [in] LPCWSTR_WMSDK_TYPE_SAFE type,
1376 [in] LPCWSTR_WMSDK_TYPE_SAFE command,
1377 [in] QWORD script_time );
1378
1379 HRESULT RemoveScript(
1380 [in] WORD index );
1381}
1382
1383[
1384 object,
1385 uuid(15cf9781-454e-482e-b393-85fae487a810),
1386 pointer_default(unique),
1387 local
1388]
1389interface IWMHeaderInfo2 : IWMHeaderInfo
1390{
1391 HRESULT GetCodecInfoCount(
1392 [out] DWORD *codec_infos );
1393
1394 HRESULT GetCodecInfo(
1395 [in] DWORD index,
1396 [in, out] WORD *name_len,
1397 [out, size_is( *name_len )] WCHAR *name,
1398 [in, out] WORD *description_len,
1399 [out, size_is( *description_len )] WCHAR *description,
1400 [out] WMT_CODEC_INFO_TYPE *codec_type,
1401 [in, out] WORD *codec_info_cnt,
1402 [out, size_is( *codec_info_cnt )] BYTE *codec_info );
1403}
1404
1405[
1406 object,
1407 uuid(15cc68e3-27cc-4ecd-b222-3f5d02d80bd5),
1408 pointer_default(unique),
1409 local
1410]
1411interface IWMHeaderInfo3 : IWMHeaderInfo2
1412{
1413 HRESULT GetAttributeCountEx(
1414 [in] WORD stream_num,
1415 [out] WORD *attributes );
1416
1417 HRESULT GetAttributeIndices(
1418 [in] WORD stream_num,
1419 [in] LPCWSTR name,
1420 [in] WORD *lang_index,
1421 [out, size_is( *count )] WORD *indices,
1422 [in, out] WORD *count );
1423
1424 HRESULT GetAttributeByIndexEx(
1425 [in] WORD stream_num,
1426 [in] WORD index,
1427 [out, size_is( *name_len )] LPWSTR name,
1428 [in, out] WORD *name_len,
1429 [out] WMT_ATTR_DATATYPE *type,
1430 [out] WORD *lang_index,
1431 [out, size_is( *data_len )] BYTE *value,
1432 [in, out] DWORD *data_len );
1433
1434 HRESULT ModifyAttribute(
1435 [in] WORD stream_num,
1436 [in] WORD index,
1437 [in] WMT_ATTR_DATATYPE type,
1438 [in] WORD lang_index,
1439 [in, size_is( length )] const BYTE *value,
1440 [in] DWORD length );
1441
1442 HRESULT AddAttribute(
1443 [in] WORD stream_num,
1444 [in] LPCWSTR name,
1445 [out] WORD *index,
1446 [in] WMT_ATTR_DATATYPE type,
1447 [in] WORD lang_index,
1448 [in, size_is( length )] const BYTE *value,
1449 [in] DWORD length );
1450
1451 HRESULT DeleteAttribute(
1452 [in] WORD stream_num,
1453 [in] WORD index );
1454
1455 HRESULT AddCodecInfo(
1456 [in] LPCWSTR_WMSDK_TYPE_SAFE name,
1457 [in] LPCWSTR_WMSDK_TYPE_SAFE description,
1458 [in] WMT_CODEC_INFO_TYPE codec_type,
1459 [in] WORD codec_info_cnt,
1460 [in, size_is( codec_info_cnt )] BYTE *codec_info );
1461}
1462
1463[
1464 object,
1465 uuid(96406bec-2b2b-11d3-b36b-00c04f6108ff),
1466 pointer_default(unique),
1467 local
1468]
1469interface IWMReaderNetworkConfig : IUnknown
1470{
1471 HRESULT GetBufferingTime([out] QWORD *buffering_time);
1472 HRESULT SetBufferingTime([in] QWORD buffering_time);
1473
1474 HRESULT GetUDPPortRanges(
1475 [out, size_is( *ranges )] WM_PORT_NUMBER_RANGE *array,
1476 [in, out] DWORD *ranges);
1477
1478 HRESULT SetUDPPortRanges(
1479 [in, size_is( ranges )] WM_PORT_NUMBER_RANGE *array,
1480 [in] DWORD ranges);
1481
1482 HRESULT GetProxySettings(
1483 [in] const WCHAR *protocol,
1484 [out] WMT_PROXY_SETTINGS *proxy);
1485
1486 HRESULT SetProxySettings(
1487 [in] LPCWSTR protocol,
1488 [in] WMT_PROXY_SETTINGS proxy);
1489
1490 HRESULT GetProxyHostName(
1491 [in] const WCHAR *protocol,
1492 [out, size_is( *size )] WCHAR *hostname,
1493 [in, out] DWORD *size);
1494
1495 HRESULT SetProxyHostName(
1496 [in] const WCHAR *protocol,
1497 [in] const WCHAR *hostname);
1498
1499 HRESULT GetProxyPort(
1500 [in] const WCHAR *protocol,
1501 [out] DWORD *port);
1502
1503 HRESULT SetProxyPort(
1504 [in] const WCHAR *protocol,
1505 [in] DWORD port);
1506
1507 HRESULT GetProxyExceptionList(
1508 [in] const WCHAR *protocol,
1509 [out, size_is( *count )] WCHAR *exceptions,
1510 [in, out] DWORD *count);
1511
1512 HRESULT SetProxyExceptionList(
1513 [in] const WCHAR *protocol,
1514 [in] const WCHAR *exceptions);
1515
1516 HRESULT GetProxyBypassForLocal(
1517 [in] const WCHAR *protocol,
1518 [out] BOOL *bypass);
1519
1520 HRESULT SetProxyBypassForLocal(
1521 [in] const WCHAR *protocol,
1522 [in] BOOL bypass);
1523
1524 HRESULT GetForceRerunAutoProxyDetection([out] BOOL *detection);
1525 HRESULT SetForceRerunAutoProxyDetection([in] BOOL detection);
1526
1527 HRESULT GetEnableMulticast([out] BOOL *multicast);
1528 HRESULT SetEnableMulticast([in] BOOL multicast);
1529
1530 HRESULT GetEnableHTTP([out] BOOL *enable);
1531 HRESULT SetEnableHTTP([in] BOOL enable);
1532
1533 HRESULT GetEnableUDP([out] BOOL *enable);
1534 HRESULT SetEnableUDP([in] BOOL enable);
1535
1536 HRESULT GetEnableTCP([out] BOOL *enable);
1537 HRESULT SetEnableTCP([in] BOOL enable);
1538
1539 HRESULT ResetProtocolRollover();
1540
1541 HRESULT GetConnectionBandwidth([out] DWORD *bandwidth);
1542 HRESULT SetConnectionBandwidth([in] DWORD bandwidth);
1543
1544 HRESULT GetNumProtocolsSupported([out] DWORD *protocols);
1545
1546 HRESULT GetSupportedProtocolName(
1547 [in] DWORD protocol_num,
1548 [out, size_is( *size )] WCHAR *protocol,
1549 [in, out] DWORD *size);
1550
1551 HRESULT AddLoggingUrl([in] const WCHAR *url);
1552
1553 HRESULT GetLoggingUrl(
1554 [in] DWORD index,
1555 [out, size_is( *size )] WCHAR *url,
1556 [in, out] DWORD *size);
1557
1558 HRESULT GetLoggingUrlCount([out] DWORD *count);
1559
1560 HRESULT ResetLoggingUrlList();
1561}
1562
1563[
1564 object,
1565 uuid(d979a853-042b-4050-8387-c939db22013f),
1566 pointer_default(unique),
1567 local
1568]
1569interface IWMReaderNetworkConfig2 : IWMReaderNetworkConfig
1570{
1571 HRESULT GetEnableContentCaching([out] BOOL *enable);
1572 HRESULT SetEnableContentCaching([in] BOOL enable);
1573
1574 HRESULT GetEnableFastCache([out] BOOL *enable);
1575 HRESULT SetEnableFastCache([in] BOOL enable);
1576
1577 HRESULT GetAcceleratedStreamingDuration([out] QWORD *duration);
1578 HRESULT SetAcceleratedStreamingDuration([in] QWORD duration);
1579
1580 HRESULT GetAutoReconnectLimit([out] DWORD *limit);
1581 HRESULT SetAutoReconnectLimit([in] DWORD limit);
1582
1583 HRESULT GetEnableResends([out] BOOL *enable);
1584 HRESULT SetEnableResends([in] BOOL enable);
1585
1586 HRESULT GetEnableThinning([out] BOOL *enable);
1587 HRESULT SetEnableThinning([in] BOOL enable);
1588
1589 HRESULT GetMaxNetPacketSize([out] DWORD *packet_size);
1590}
1591
1592[
1593 object,
1594 uuid(96406bed-2b2b-11d3-b36b-00c04f6108ff),
1595 pointer_default(unique),
1596 local
1597]
1598
1599interface IWMReaderStreamClock : IUnknown
1600{
1601 HRESULT GetTime([in] QWORD *now);
1602
1603 HRESULT SetTimer([in] QWORD when,
1604 [in] void *param,
1605 [out] DWORD *id);
1606
1607 HRESULT KillTimer([in] DWORD id);
1608}
1609
1610[
1611 object,
1612 uuid(cdfb97ab-188f-40b3-b643-5b7903975c59),
1613 pointer_default(unique),
1614 local
1615]
1616interface IWMPacketSize : IUnknown
1617{
1618 HRESULT GetMaxPacketSize([out] DWORD *size);
1619 HRESULT SetMaxPacketSize([in] DWORD size);
1620}
1621
1622[
1623 object,
1624 uuid(8bfc2b9e-b646-4233-a877-1c6a079669dc),
1625 pointer_default(unique),
1626 local
1627]
1628interface IWMPacketSize2 : IWMPacketSize
1629{
1630 HRESULT GetMinPacketSize([out] DWORD *size);
1631 HRESULT SetMinPacketSize([in] DWORD size);
1632}
1633
1634[
1635 object,
1636 uuid(d2827540-3ee7-432c-b14c-dc17f085d3b3),
1637 pointer_default(unique),
1638 local
1639]
1640interface IWMDRMReader : IUnknown
1641{
1642 HRESULT AcquireLicense([in] DWORD flags);
1643 HRESULT CancelLicenseAcquisition();
1644
1645 HRESULT Individualize([in] DWORD flags);
1646 HRESULT CancelIndividualization();
1647
1648 HRESULT MonitorLicenseAcquisition();
1649 HRESULT CancelMonitorLicenseAcquisition();
1650
1651 HRESULT SetDRMProperty(
1652 [in] const WCHAR *name,
1653 [in] WMT_ATTR_DATATYPE type,
1654 [in, size_is( length )] const BYTE *value,
1655 [in] WORD length);
1656
1657 HRESULT GetDRMProperty(
1658 [in] const WCHAR *name,
1659 [out] WMT_ATTR_DATATYPE *type,
1660 [out, size_is( *length )] BYTE *value,
1661 [in, out] WORD *length);
1662}
1663
1664[
1665 object,
1666 uuid(befe7a75-9f1d-4075-b9d9-a3c37bda49a0),
1667 pointer_default(unique),
1668 local
1669]
1670interface IWMDRMReader2 : IWMDRMReader
1671{
1672 HRESULT SetEvaluateOutputLevelLicenses([in] BOOL evaluate);
1673 HRESULT GetPlayOutputLevels(
1674 [out, size_is( *length )] DRM_PLAY_OPL *play,
1675 [in, out] DWORD *length,
1676 [out] DWORD *level);
1677
1678 HRESULT GetCopyOutputLevels(
1679 [out, size_is( *length )] DRM_COPY_OPL *copy,
1680 [in, out] DWORD *length,
1681 [out] DWORD *level);
1682
1683 HRESULT TryNextLicense();
1684}
1685
1686[
1687 object,
1688 uuid(e08672de-f1e7-4ff4-a0a3-fc4b08e4caf8),
1689 pointer_default(unique),
1690 local
1691]
1692interface IWMDRMReader3 : IWMDRMReader2
1693{
1694 HRESULT GetInclusionList(
1695 [out] GUID **guids,
1696 [out] DWORD *count);
1697}
1698
1699[
1700 object,
1701 uuid(bddc4d08-944d-4d52-a612-46c3fda07dd4),
1702 pointer_default( unique ),
1703 local
1704]
1705interface IWMReaderAccelerator : IUnknown
1706{
1707 HRESULT GetCodecInterface(
1708 [in] DWORD output,
1709 [in] REFIID riid,
1710 [out] void **codec);
1711
1712 HRESULT Notify(
1713 [in] DWORD output,
1714 [in] WM_MEDIA_TYPE *subtype);
1715}
1716
1717[
1718 object,
1719 uuid(f369e2f0-e081-4fe6-8450-b810b2f410d1),
1720 pointer_default(unique),
1721 local
1722]
1723interface IWMReaderTimecode : IUnknown
1724{
1725 HRESULT GetTimecodeRangeCount(
1726 [in] WORD num,
1727 [out] WORD *count);
1728
1729 HRESULT GetTimecodeRangeBounds(
1730 [in] WORD stream,
1731 [in] WORD range,
1732 [out] DWORD *start_timecode,
1733 [out] DWORD *end_timecode);
1734}
1735
1736[
1737 object,
1738 uuid(fdbe5592-81a1-41ea-93bd-735cad1adc05),
1739 pointer_default(unique),
1740 local
1741]
1742interface IWMReaderTypeNegotiation : IUnknown
1743{
1744 HRESULT TryOutputProps(
1745 [in] DWORD output,
1746 [in] IWMOutputMediaProps *props);
1747}
1748
1749[
1750 object,
1751 uuid(df683f00-2d49-4d8e-92b7-fb19f6a0dc57),
1752 pointer_default(unique),
1753 local
1754]
1755interface IWMLanguageList : IUnknown
1756{
1757 HRESULT GetLanguageCount(
1758 [out] WORD *count);
1759
1760 HRESULT GetLanguageDetails(
1761 [in] WORD index,
1762 [out, size_is( *length )] WCHAR *language,
1763 [in, out] WORD *length);
1764
1765 HRESULT AddLanguageByRFC1766String(
1766 [in] LPCWSTR_WMSDK_TYPE_SAFE language,
1767 [out] WORD *index);
1768}
1769
1770[
1771 object,
1772 uuid(f28c0300-9baa-4477-a846-1744d9cbf533),
1773 pointer_default(unique),
1774 local
1775]
1776interface IWMReaderPlaylistBurn : IUnknown
1777{
1778 HRESULT InitPlaylistBurn(
1779 [in] DWORD count,
1780 [in] LPCWSTR_WMSDK_TYPE_SAFE *filenames,
1781 [in] IWMStatusCallback *callback,
1782 [in] void *context);
1783
1784 HRESULT GetInitResults(
1785 [in] DWORD count,
1786 [out] HRESULT *stat);
1787
1788 HRESULT Cancel();
1789
1790 HRESULT EndPlaylistBurn([in] HRESULT result);
1791}
1792
1793[
1794 object,
1795 uuid(72995a79-5090-42a4-9c8c-d9d0b6d34be5),
1796 pointer_default(unique),
1797 local
1798]
1799interface IWMPropertyVault : IUnknown
1800{
1801 HRESULT GetPropertyCount([in] DWORD *count);
1802
1803 HRESULT GetPropertyByName(
1804 [in] const WCHAR *name,
1805 [out] WMT_ATTR_DATATYPE *type,
1806 [out, size_is( *size )] BYTE *value,
1807 [in, out] DWORD *size);
1808
1809 HRESULT SetProperty(
1810 [in] const WCHAR *name,
1811 [in] WMT_ATTR_DATATYPE type,
1812 [in] BYTE *value,
1813 [in] DWORD size);
1814
1815 HRESULT GetPropertyByIndex(
1816 [in] DWORD index,
1817 [out, size_is( *pdwNameLen )] WCHAR *name,
1818 [in, out] DWORD *length,
1819 [out] WMT_ATTR_DATATYPE *type,
1820 [out, size_is( *size )] BYTE *value,
1821 [in, out] DWORD *size);
1822
1823 HRESULT CopyPropertiesFrom([in] IWMPropertyVault *vault);
1824
1825 HRESULT Clear();
1826};
1827
1828[
1829 object,
1830 uuid(fc54a285-38c4-45b5-aa23-85b9f7cb424b),
1831 pointer_default(unique),
1832 local
1833]
1834interface IWMWriterPreprocess : IUnknown
1835{
1836 HRESULT GetMaxPreprocessingPasses(
1837 [in] DWORD input,
1838 [in] DWORD flags,
1839 [out] DWORD *passes);
1840
1841 HRESULT SetNumPreprocessingPasses(
1842 [in] DWORD input,
1843 [in] DWORD flags,
1844 [in] DWORD passes);
1845
1846 HRESULT BeginPreprocessingPass(
1847 [in] DWORD input,
1848 [in] DWORD flags);
1849
1850 HRESULT PreprocessSample(
1851 [in] DWORD input,
1852 [in] QWORD sample_time,
1853 [in] DWORD flags,
1854 [in] INSSBuffer *sample);
1855
1856 HRESULT EndPreprocessingPass(
1857 [in] DWORD input,
1858 [in] DWORD flags);
1859};
1860
1861[
1862 object,
1863 uuid(05e5ac9f-3fb6-4508-bb43-a4067ba1ebe8),
1864 pointer_default(unique),
1865 local
1866]
1867interface IWMLicenseBackup : IUnknown
1868{
1869 HRESULT BackupLicenses(
1870 [in] DWORD dwFlags,
1871 [in] IWMStatusCallback *pCallback);
1872
1873 HRESULT CancelLicenseBackup();
1874}
1875
1876[
1877 object,
1878 uuid(c70b6334-a22e-4efb-a245-15e65a004a13),
1879 pointer_default(unique),
1880 local
1881]
1882interface IWMLicenseRestore : IUnknown
1883{
1884 HRESULT RestoreLicenses(
1885 [in] DWORD dwFlags,
1886 [in] IWMStatusCallback *pCallback);
1887
1888 HRESULT CancelLicenseRestore();
1889}
1890
1899
1900
1901cpp_quote("EXTERN_GUID(WMMEDIASUBTYPE_Base, 0x00000000,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);")
1902cpp_quote("EXTERN_GUID(WMMEDIATYPE_Video, 0x73646976,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);")
1903cpp_quote("EXTERN_GUID(WMMEDIASUBTYPE_RGB1, 0xe436eb78,0x524f,0x11ce,0x9f,0x53,0x00,0x20,0xaf,0x0b,0xa7,0x70);")
1904cpp_quote("EXTERN_GUID(WMMEDIASUBTYPE_RGB4, 0xe436eb79,0x524f,0x11ce,0x9f,0x53,0x00,0x20,0xaf,0x0b,0xa7,0x70);")
1905cpp_quote("EXTERN_GUID(WMMEDIASUBTYPE_RGB8, 0xe436eb7a,0x524f,0x11ce,0x9f,0x53,0x00,0x20,0xaf,0x0b,0xa7,0x70);")
1906cpp_quote("EXTERN_GUID(WMMEDIASUBTYPE_RGB565, 0xe436eb7b,0x524f,0x11ce,0x9f,0x53,0x00,0x20,0xaf,0x0b,0xa7,0x70);")
1907cpp_quote("EXTERN_GUID(WMMEDIASUBTYPE_RGB555, 0xe436eb7c,0x524f,0x11ce,0x9f,0x53,0x00,0x20,0xaf,0x0b,0xa7,0x70);")
1908cpp_quote("EXTERN_GUID(WMMEDIASUBTYPE_RGB24, 0xe436eb7d,0x524f,0x11ce,0x9f,0x53,0x00,0x20,0xaf,0x0b,0xa7,0x70);")
1909cpp_quote("EXTERN_GUID(WMMEDIASUBTYPE_RGB32, 0xe436eb7e,0x524f,0x11ce,0x9f,0x53,0x00,0x20,0xaf,0x0b,0xa7,0x70);")
1910cpp_quote("EXTERN_GUID(WMMEDIASUBTYPE_I420, 0x30323449,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);")
1911cpp_quote("EXTERN_GUID(WMMEDIASUBTYPE_IYUV, 0x56555949,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);")
1912cpp_quote("EXTERN_GUID(WMMEDIASUBTYPE_YV12, 0x32315659,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);")
1913cpp_quote("EXTERN_GUID(WMMEDIASUBTYPE_YUY2, 0x32595559,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);")
1914cpp_quote("EXTERN_GUID(WMMEDIASUBTYPE_P422, 0x32323450,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);")
1915cpp_quote("EXTERN_GUID(WMMEDIASUBTYPE_UYVY, 0x59565955,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);")
1916cpp_quote("EXTERN_GUID(WMMEDIASUBTYPE_YVYU, 0x55595659,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);")
1917cpp_quote("EXTERN_GUID(WMMEDIASUBTYPE_YVU9, 0x39555659,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);")
1918cpp_quote("EXTERN_GUID(WMMEDIASUBTYPE_VIDEOIMAGE, 0x1d4a45f2,0xe5f6,0x4b44,0x83,0x88,0xf0,0xae,0x5c,0x0e,0x0c,0x37);")
1919cpp_quote("EXTERN_GUID(WMMEDIASUBTYPE_MP43, 0x3334504d,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);")
1920cpp_quote("EXTERN_GUID(WMMEDIASUBTYPE_MP4S, 0x5334504d,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);")
1921cpp_quote("EXTERN_GUID(WMMEDIASUBTYPE_M4S2, 0x3253344d,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);")
1922cpp_quote("EXTERN_GUID(WMMEDIASUBTYPE_WMV1, 0x31564d57,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);")
1923cpp_quote("EXTERN_GUID(WMMEDIASUBTYPE_WMV2, 0x32564d57,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);")
1924cpp_quote("EXTERN_GUID(WMMEDIASUBTYPE_MSS1, 0x3153534d,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);")
1925cpp_quote("EXTERN_GUID(WMMEDIASUBTYPE_MPEG2_VIDEO, 0xe06d8026,0xdb46,0x11cf,0xb4,0xd1,0x00,0x80,0x5f,0x6c,0xbb,0xea);")
1926cpp_quote("EXTERN_GUID(WMMEDIATYPE_Audio, 0x73647561,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);")
1927cpp_quote("EXTERN_GUID(WMMEDIASUBTYPE_PCM, 0x00000001,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);")
1928cpp_quote("EXTERN_GUID(WMMEDIASUBTYPE_DRM, 0x00000009,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);")
1929cpp_quote("EXTERN_GUID(WMMEDIASUBTYPE_WMAudioV9, 0x00000162,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);")
1930cpp_quote("EXTERN_GUID(WMMEDIASUBTYPE_WMAudio_Lossless, 0x00000163,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);")
1931cpp_quote("EXTERN_GUID(WMMEDIASUBTYPE_MSS2, 0x3253534d,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);")
1932cpp_quote("EXTERN_GUID(WMMEDIASUBTYPE_WMSP1, 0x0000000a,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);")
1933cpp_quote("EXTERN_GUID(WMMEDIASUBTYPE_WMSP2, 0x0000000b,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);")
1934cpp_quote("EXTERN_GUID(WMMEDIASUBTYPE_WMV3, 0x33564d57,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);")
1935cpp_quote("EXTERN_GUID(WMMEDIASUBTYPE_WMVP, 0x50564d57,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);")
1936cpp_quote("EXTERN_GUID(WMMEDIASUBTYPE_WVP2, 0x32505657,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);")
1937cpp_quote("EXTERN_GUID(WMMEDIASUBTYPE_WMVA, 0x41564d57,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);")
1938cpp_quote("EXTERN_GUID(WMMEDIASUBTYPE_WVC1, 0x31435657,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);")
CD3D10_BUFFER_DESC D3D10_BUFFER_DESC cpp_quote(" ~CD3D10_BUFFER_DESC() {}") operator const D3D10_BUFFER_DESC &() const
Definition: d3d10.idl:491
coclass PSFactoryBuffer pointer_default(unique)] interface ObjectRpcBaseTypes
Definition: dcom.idl:35
static const WCHAR version[]
Definition: asmname.c:66
unsigned int BOOL
Definition: ntddk_ex.h:94
unsigned long DWORD
Definition: ntddk_ex.h:95
unsigned short WORD
Definition: ntddk_ex.h:93
#define local
Definition: zutil.h:30
PWCHAR pValue
Status
Definition: gdiplustypes.h:25
GLuint GLuint GLsizei GLenum type
Definition: gl.h:1545
GLuint GLuint GLsizei count
Definition: gl.h:1545
GLsizeiptr size
Definition: glext.h:5919
GLuint buffer
Definition: glext.h:5915
GLuint index
Definition: glext.h:6031
GLuint in
Definition: glext.h:9616
HRESULT GetType([out] GUID *guid)
HRESULT SetBandwidth([in] DWORD bitrate, [in] DWORD buffer)
HRESULT SetType([in] REFGUID guid)
HRESULT GetBandwidth([out] DWORD *bitrate, [out] DWORD *buffer)
HRESULT GetCodecFormatDesc([in] REFGUID guid, [in] DWORD codecindex, [in] DWORD formatindex, [out] IWMStreamConfig **streamconfig, [out, size_is(*descrsize)] WCHAR *description, [in, out] DWORD *descrsize)
HRESULT GetCodecName([in] REFGUID guid, [in] DWORD codecindex, [out, size_is(*namesize)] WCHAR *name, [in, out] DWORD *namesize)
HRESULT GetCodecFormatProp([in] REFGUID guid, [in] DWORD codecindex, [in] DWORD formatindex, [in] const WCHAR *name, [out] WMT_ATTR_DATATYPE *type, [out, size_is(*size)] BYTE *value, [in, out] DWORD *size)
HRESULT SetCodecEnumerationSetting([in] REFGUID guid, [in] DWORD codecindex, [in] const WCHAR *name, [in] WMT_ATTR_DATATYPE type, [in, size_is(size)] const BYTE *value, [in] DWORD size)
HRESULT GetCodecEnumerationSetting([in] REFGUID guid, [in] DWORD codecindex, [in] const WCHAR *name, [out] WMT_ATTR_DATATYPE *type, [out, size_is(*size)] BYTE *value, [in, out] DWORD *size)
HRESULT GetCodecProp([in] REFGUID guid, [in] DWORD codecindex, [in] const WCHAR *name, [out] WMT_ATTR_DATATYPE *type, [out, size_is(*size)] BYTE *value, [in, out] DWORD *size)
HRESULT GetCodecFormatCount([in] REFGUID guid, [in] DWORD codecindex, [out] DWORD *formatcount)
HRESULT GetCodecFormat([in] REFGUID guid, [in] DWORD codecindex, [in] DWORD formatindex, [out] IWMStreamConfig **streamconfig)
HRESULT GetCodecInfoCount([in] REFGUID guid, [out] DWORD *count)
HRESULT SetType([in] REFGUID guidType)
HRESULT GetType([out] GUID *pguidType)
HRESULT GetProfileID([out] GUID *guid)
HRESULT SetStorageFormat([in] WMT_STORAGE_FORMAT storage)
HRESULT GetBandwidthSharingCount([out] DWORD *count)
HRESULT CreateNewBandwidthSharing([out] IWMBandwidthSharing **bandwidth)
HRESULT RemoveStreamPrioritization()
HRESULT RemoveBandwidthSharing([in] IWMBandwidthSharing *bandwidth)
HRESULT GetBandwidthSharing([in] DWORD index, [out] IWMBandwidthSharing **bandwidth)
HRESULT GetStreamPrioritization([out] IWMStreamPrioritization **stream)
HRESULT SetStreamPrioritization([in] IWMStreamPrioritization *stream)
HRESULT CreateNewStreamPrioritization([out] IWMStreamPrioritization **stream)
HRESULT GetExpectedPacketCount([in] QWORD duration, [out] QWORD *packets)
HRESULT AddBandwidthSharing([in] IWMBandwidthSharing *bandwidth)
HRESULT GetStorageFormat([out] WMT_STORAGE_FORMAT *storage)
HRESULT SetSystemProfileVersion(WMT_VERSION version)
HRESULT GetSystemProfileVersion(WMT_VERSION *version)
HRESULT LoadProfileByData([in] const WCHAR *pwszProfile, [out] IWMProfile **ppProfile)
HRESULT LoadSystemProfile([in] DWORD dwProfileIndex, [out] IWMProfile **ppProfile)
HRESULT CreateEmptyProfile([in] WMT_VERSION dwVersion, [out] IWMProfile **ppProfile)
HRESULT GetSystemProfileCount([out] DWORD *pcProfiles)
HRESULT LoadProfileByID([in] REFGUID guidProfile, [out] IWMProfile **ppProfile)
HRESULT SaveProfile([in] IWMProfile *pIWMProfile, [in] WCHAR *pwszProfile, [in, out] DWORD *pdwLength)
HRESULT GetMutualExclusionCount([out] DWORD *pcME)
HRESULT ReconfigStream([in] IWMStreamConfig *pConfig)
HRESULT SetDescription([in] const WCHAR *pwszDescription)
HRESULT GetVersion([out] WMT_VERSION *pdwVersion)
HRESULT GetStreamByNumber([in] WORD wStreamNum, [out] IWMStreamConfig **ppConfig)
HRESULT GetStream([in] DWORD dwStreamIndex, [out] IWMStreamConfig **ppConfig)
HRESULT GetDescription([out, size_is(*pcchDescription)] WCHAR *pwszDescription, [in, out] DWORD *pcchDescription)
HRESULT CreateNewStream([in] REFGUID guidStreamType, [out] IWMStreamConfig **ppConfig)
HRESULT GetName([out, size_is(*pcchName)] WCHAR *pwszName, [in, out] DWORD *pcchName)
HRESULT AddStream([in] IWMStreamConfig *pConfig)
HRESULT AddMutualExclusion([in] IWMMutualExclusion *pME)
HRESULT RemoveStream([in] IWMStreamConfig *pConfig)
HRESULT GetMutualExclusion([in] DWORD dwMEIndex, [out] IWMMutualExclusion **ppME)
HRESULT RemoveStreamByNumber([in] WORD wStreamNum)
HRESULT RemoveMutualExclusion([in] IWMMutualExclusion *pME)
HRESULT CreateNewMutualExclusion([out] IWMMutualExclusion **ppME)
HRESULT GetStreamCount([out] DWORD *pcStreams)
HRESULT SetName([in] const WCHAR *pwszName)
HRESULT OnSample([in] DWORD dwOutputNum, [in] QWORD cnsSampleTime, [in] QWORD cnsSampleDuration, [in] DWORD dwFlags, [in] INSSBuffer *pSample, [in] void *pvContext)
HRESULT OnStatus([in] WMT_STATUS Status, [in] HRESULT hr, [in] WMT_ATTR_DATATYPE dwType, [in] BYTE *pValue, [in] void *pvContext)
HRESULT GetStreamType([out] GUID *pguidStreamType)
HRESULT SetStreamName([in] LPCWSTR_WMSDK_TYPE_SAFE pwszStreamName)
HRESULT SetStreamNumber([in] WORD wStreamNum)
HRESULT SetConnectionName([in] LPCWSTR_WMSDK_TYPE_SAFE pwszInputName)
HRESULT GetStreamName([out, size_is(*pcchStreamName)] WCHAR *pwszStreamName, [in, out] WORD *pcchStreamName)
HRESULT GetStreamNumber([out] WORD *pwStreamNum)
HRESULT GetBitrate([out] DWORD *pdwBitrate)
HRESULT SetBitrate([in] DWORD pdwBitrate)
HRESULT SetBufferWindow([in] DWORD msBufferWindow)
HRESULT GetBufferWindow([out] DWORD *pmsBufferWindow)
HRESULT GetConnectionName([out, size_is(*pcchInputName)] WCHAR *pwszInputName, [in, out] WORD *pcchInputName)
HRESULT GetStreams([out, size_is(*pcStreams)] WORD *pwStreamNumArray, [in, out] WORD *pcStreams)
HRESULT AddStream([in] WORD wStreamNum)
HRESULT RemoveStream([in] WORD wStreamNum)
HRESULT GetPriorityRecords([out] WM_STREAM_PRIORITY_RECORD *array, [in, out] WORD *records)
HRESULT SetPriorityRecords([in] WM_STREAM_PRIORITY_RECORD *array, [in] WORD records)
Definition: msctf.idl:550
#define d
Definition: ke_i.h:81
const GUID * guid
static const BYTE guidType[]
Definition: shellpath.c:105
GUID guidProfile
Definition: msctf.idl:646
static FILE * out
Definition: regtests2xml.c:44
UINT64 QWORD
Definition: shimdbg.c:104
HRESULT hr
Definition: shlfolder.c:183
Definition: scsiwmi.h:51
GUID subtype
Definition: wmsdkidl.idl:26
GUID formattype
Definition: wmsdkidl.idl:30
ULONG cbFormat
Definition: wmsdkidl.idl:32
GUID majortype
Definition: wmsdkidl.idl:25
BOOL bTemporalCompression
Definition: wmsdkidl.idl:28
BOOL bFixedSizeSamples
Definition: wmsdkidl.idl:27
BYTE * pbFormat
Definition: wmsdkidl.idl:33
ULONG lSampleSize
Definition: wmsdkidl.idl:29
IUnknown * pUnk
Definition: wmsdkidl.idl:31
LPARAM * pReserved
Definition: wmsdkidl.idl:78
WCHAR * wszBrowserWebPage
Definition: wmsdkidl.idl:76
WCHAR * wszPlayerUserAgent
Definition: wmsdkidl.idl:81
WCHAR * wszBrowserUserAgent
Definition: wmsdkidl.idl:75
DWORD dwTotalSampleDropsInMultiplexer
Definition: wmsdkidl.idl:58
DWORD dwCurrentSampleDropRateInMultiplexer
Definition: wmsdkidl.idl:55
DWORD dwTotalSampleDropsInCodec
Definition: wmsdkidl.idl:57
DWORD dwCurrentSampleDropRateInCodec
Definition: wmsdkidl.idl:54
DWORD dwTotalSampleDropsInQueue
Definition: wmsdkidl.idl:56
DWORD dwCurrentSampleDropRateInQueue
Definition: wmsdkidl.idl:53
DWORD dwAverageSampleRate
Definition: wmsdkidl.idl:46
QWORD qwDroppedByteCount
Definition: wmsdkidl.idl:41
QWORD qwDroppedSampleCount
Definition: wmsdkidl.idl:40
DWORD dwExpectedSampleRate
Definition: wmsdkidl.idl:47
DWORD dwCurrentSampleRate
Definition: wmsdkidl.idl:45
Definition: name.c:39
Definition: parse.h:23
uint32_t ULONG
Definition: typedefs.h:59
Definition: pdh_main.c:94
_In_ PCCERT_CONTEXT _In_ DWORD dwFlags
Definition: wincrypt.h:1176
LONG_PTR LPARAM
Definition: windef.h:208
#define WINAPI
Definition: msvc.h:6
const char * description
Definition: directx.c:2497
struct _WMStreamPrioritizationRecord WM_STREAM_PRIORITY_RECORD
enum tagWMT_OFFSET_FORMAT WMT_OFFSET_FORMAT
HRESULT WINAPI WMCreateReader(IUnknown *, DWORD, IWMReader **)
Definition: reader.c:2032
struct _WMMediaType WM_MEDIA_TYPE
WMT_PLAY_MODE
Definition: wmsdkidl.idl:168
@ WMT_PLAY_MODE_DOWNLOAD
Definition: wmsdkidl.idl:171
@ WMT_PLAY_MODE_STREAMING
Definition: wmsdkidl.idl:172
@ WMT_PLAY_MODE_AUTOSELECT
Definition: wmsdkidl.idl:169
@ WMT_PLAY_MODE_LOCAL
Definition: wmsdkidl.idl:170
HRESULT WINAPI WMCheckURLExtension(LPCWSTR)
HRESULT WINAPI WMCreateWriter(IUnknown *, IWMWriter **)
Definition: writer.c:356
struct _WMReaderStatistics WM_READER_STATISTICS
struct _WMWriterStatistics WM_WRITER_STATISTICS
WMT_VERSION
Definition: wmsdkidl.idl:160
@ WMT_VER_4_0
Definition: wmsdkidl.idl:161
@ WMT_VER_9_0
Definition: wmsdkidl.idl:164
@ WMT_VER_7_0
Definition: wmsdkidl.idl:162
@ WMT_VER_8_0
Definition: wmsdkidl.idl:163
tagWMT_OFFSET_FORMAT
Definition: wmsdkidl.idl:176
@ WMT_OFFSET_FORMAT_FRAME_NUMBERS
Definition: wmsdkidl.idl:178
@ WMT_OFFSET_FORMAT_TIMECODE
Definition: wmsdkidl.idl:180
@ WMT_OFFSET_FORMAT_PLAYLIST_OFFSET
Definition: wmsdkidl.idl:179
@ WMT_OFFSET_FORMAT_100NS_APPROXIMATE
Definition: wmsdkidl.idl:181
@ WMT_OFFSET_FORMAT_100NS
Definition: wmsdkidl.idl:177
WMT_STATUS
Definition: wmsdkidl.idl:96
@ WMT_RECONNECT_START
Definition: wmsdkidl.idl:133
@ WMT_TRANSCRYPTOR_SEEKED
Definition: wmsdkidl.idl:144
@ WMT_NATIVE_OUTPUT_PROPS_CHANGED
Definition: wmsdkidl.idl:132
@ WMT_END_OF_STREAMING
Definition: wmsdkidl.idl:104
@ WMT_PREROLL_READY
Definition: wmsdkidl.idl:138
@ WMT_EOF
Definition: wmsdkidl.idl:101
@ WMT_CONTENT_ENABLER
Definition: wmsdkidl.idl:149
@ WMT_PROXIMITY_RESULT
Definition: wmsdkidl.idl:147
@ WMT_NEEDS_INDIVIDUALIZATION
Definition: wmsdkidl.idl:123
@ WMT_INIT_PLAYLIST_BURN
Definition: wmsdkidl.idl:142
@ WMT_BACKUPRESTORE_DISCONNECTING
Definition: wmsdkidl.idl:127
@ WMT_BUFFERING_STOP
Definition: wmsdkidl.idl:100
@ WMT_TRANSCRYPTOR_CLOSED
Definition: wmsdkidl.idl:146
@ WMT_CLIENT_CONNECT_EX
Definition: wmsdkidl.idl:135
@ WMT_STARTED
Definition: wmsdkidl.idl:109
@ WMT_BUFFERING_START
Definition: wmsdkidl.idl:99
@ WMT_INDIVIDUALIZE
Definition: wmsdkidl.idl:122
@ WMT_RESTRICTED_LICENSE
Definition: wmsdkidl.idl:129
@ WMT_TRANSCRYPTOR_INIT
Definition: wmsdkidl.idl:143
@ WMT_SAVEAS_START
Definition: wmsdkidl.idl:115
@ WMT_CLOSED
Definition: wmsdkidl.idl:111
@ WMT_MISSING_CODEC
Definition: wmsdkidl.idl:108
@ WMT_PROXIMITY_COMPLETED
Definition: wmsdkidl.idl:148
@ WMT_END_OF_FILE
Definition: wmsdkidl.idl:102
@ WMT_CLIENT_DISCONNECT
Definition: wmsdkidl.idl:131
@ WMT_ERROR_WITHURL
Definition: wmsdkidl.idl:128
@ WMT_NEW_SOURCEFLAGS
Definition: wmsdkidl.idl:117
@ WMT_NEW_METADATA
Definition: wmsdkidl.idl:118
@ WMT_LOCATING
Definition: wmsdkidl.idl:105
@ WMT_TIMER
Definition: wmsdkidl.idl:113
@ WMT_INDEX_PROGRESS
Definition: wmsdkidl.idl:114
@ WMT_TRANSCRYPTOR_READ
Definition: wmsdkidl.idl:145
@ WMT_STOPPED
Definition: wmsdkidl.idl:110
@ WMT_END_OF_SEGMENT
Definition: wmsdkidl.idl:103
@ WMT_SET_FEC_SPAN
Definition: wmsdkidl.idl:137
@ WMT_CONNECTING
Definition: wmsdkidl.idl:106
@ WMT_SAVEAS_STOP
Definition: wmsdkidl.idl:116
@ WMT_ACQUIRE_LICENSE
Definition: wmsdkidl.idl:121
@ WMT_ERROR
Definition: wmsdkidl.idl:97
@ WMT_LICENSEURL_SIGNATURE_STATE
Definition: wmsdkidl.idl:141
@ WMT_CLIENT_PROPERTIES
Definition: wmsdkidl.idl:140
@ WMT_BACKUPRESTORE_END
Definition: wmsdkidl.idl:125
@ WMT_PREROLL_COMPLETE
Definition: wmsdkidl.idl:139
@ WMT_CLIENT_DISCONNECT_EX
Definition: wmsdkidl.idl:136
@ WMT_BACKUPRESTORE_BEGIN
Definition: wmsdkidl.idl:119
@ WMT_OPENED
Definition: wmsdkidl.idl:98
@ WMT_CLIENT_CONNECT
Definition: wmsdkidl.idl:130
@ WMT_STRIDING
Definition: wmsdkidl.idl:112
@ WMT_RECONNECT_END
Definition: wmsdkidl.idl:134
@ WMT_NO_RIGHTS
Definition: wmsdkidl.idl:107
@ WMT_BACKUPRESTORE_CONNECTING
Definition: wmsdkidl.idl:126
@ WMT_SOURCE_SWITCH
Definition: wmsdkidl.idl:120
@ WMT_NO_RIGHTS_EX
Definition: wmsdkidl.idl:124
struct _WMReaderClientInfo WM_READER_CLIENTINFO
WMT_ATTR_DATATYPE
Definition: wmsdkidl.idl:85
@ WMT_TYPE_WORD
Definition: wmsdkidl.idl:91
@ WMT_TYPE_BINARY
Definition: wmsdkidl.idl:88
@ WMT_TYPE_DWORD
Definition: wmsdkidl.idl:86
@ WMT_TYPE_GUID
Definition: wmsdkidl.idl:92
@ WMT_TYPE_QWORD
Definition: wmsdkidl.idl:90
@ WMT_TYPE_BOOL
Definition: wmsdkidl.idl:89
@ WMT_TYPE_STRING
Definition: wmsdkidl.idl:87
WMT_STREAM_SELECTION
Definition: wmsdkidl.idl:153
@ WMT_ON
Definition: wmsdkidl.idl:156
@ WMT_OFF
Definition: wmsdkidl.idl:154
@ WMT_CLEANPOINT_ONLY
Definition: wmsdkidl.idl:155
HRESULT WINAPI WMCreateSyncReader(IUnknown *, DWORD, IWMSyncReader **)
Definition: reader.c:2300
static const WCHAR g_wszVBREnabled[]
Definition: wmsdkidl.idl:610
WMT_CODEC_INFO_TYPE
Definition: wmsdkidl.idl:185
@ WMT_CODECINFO_UNKNOWN
Definition: wmsdkidl.idl:188
@ WMT_CODECINFO_VIDEO
Definition: wmsdkidl.idl:187
@ WMT_CODECINFO_AUDIO
Definition: wmsdkidl.idl:186
struct _WMT_TIMECODE_EXTENSION_DATA WMT_TIMECODE_EXTENSION_DATA
HRESULT WINAPI WMCreateEditor(IWMMetadataEditor **)
Definition: wmvcore_main.c:68
HRESULT WINAPI WMCreateProfileManager(IWMProfileManager **)
Definition: wmvcore_main.c:215
HRESULT WINAPI WMCreateBackupRestorer(IUnknown *, IWMLicenseBackup **)
Definition: wmvcore_main.c:77
tagWMT_STORAGE_FORMAT
Definition: wmsdkidl.idl:201
@ WMT_Storage_Format_V1
Definition: wmsdkidl.idl:203
@ WMT_Storage_Format_MP3
Definition: wmsdkidl.idl:202
HRESULT WINAPI WMCheckURLScheme(LPCWSTR)
enum tagWMT_STORAGE_FORMAT WMT_STORAGE_FORMAT
LPCWSTR LPCWSTR_WMSDK_TYPE_SAFE
Definition: wmsdkidl.idl:228
WMT_PROXY_SETTINGS
Definition: wmsdkidl.idl:192
@ WMT_PROXY_SETTING_AUTO
Definition: wmsdkidl.idl:195
@ WMT_PROXY_SETTING_BROWSER
Definition: wmsdkidl.idl:196
@ WMT_PROXY_SETTING_MANUAL
Definition: wmsdkidl.idl:194
@ WMT_PROXY_SETTING_NONE
Definition: wmsdkidl.idl:193
@ WMT_PROXY_SETTING_MAX
Definition: wmsdkidl.idl:197
struct _WMWriterStatisticsEx WM_WRITER_STATISTICS_EX
struct _WM_PORT_NUMBER_RANGE WM_PORT_NUMBER_RANGE
#define EXTERN_GUID
Definition: wmvcore.h:23
__wchar_t WCHAR
Definition: xmlstorage.h:180
const WCHAR * LPCWSTR
Definition: xmlstorage.h:185
unsigned char BYTE
Definition: xxhash.c:193
#define const
Definition: zconf.h:233