20import "wmsbuffer.idl";
21import "drmexternals.idl";
232 uuid(6d7cdc70-9888-11d3-8edc-00c04f6109cf),
243 [
in]
void *pvContext);
248 uuid(96406bd8-2b2b-11d3-b36b-00c04f6108ff),
260 [
in]
void *pvContext);
265 uuid(96406Bdd-2b2b-11d3-b36b-00c04f6108ff),
272 [
out, size_is(*pcStreams)]
WORD *pwStreamNumArray,
281 uuid(96406Bde-2b2b-11d3-b36b-00c04f6108ff),
293 uuid(ad694af1-f8d9-42f8-bc47-70311b0c4f9e),
313 uuid(8c1c6090-f9a8-4748-8ec3-dd1108ba1e77),
330 uuid(96406Bdc-2b2b-11d3-b36b-00c04f6108ff),
341 [
out, size_is(*pcchStreamName)]
WCHAR *pwszStreamName,
347 [
out, size_is(*pcchInputName)]
WCHAR *pwszInputName,
359 uuid(96406bdb-2b2b-11d3-b36b-00c04f6108ff),
369 [
out, size_is(*pcchName)]
WCHAR *pwszName,
376 [
out, size_is(*pcchDescription)]
WCHAR *pwszDescription,
380 [
in]
const WCHAR *pwszDescription);
428 uuid(07e72d33-d94e-4be7-8843-60ae5ff7e5f5),
439 uuid(00ef96cc-a461-4546-8bcd-c9a28f0e06f5),
475 uuid(d16679f2-6ca0-472
d-8d31-2f5d55aee155),
508 uuid(7a924e51-73c1-494
d-8019-23d37ed9b89a),
518cpp_quote(
"HRESULT WINAPI WMCreateProfileManager(IWMProfileManager**);")
522 uuid(a970f41e-34de-4a98-b3ba-e4b3ca7528f0),
546 uuid(aa65e273-b686-4056-91ec-dd768d4df710),
569 uuid(7e51f487-4d93-4f98-8ab4-27d0565adc51),
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};
")
614 uuid(96406bce-2b2b-11d3-b36b-00c04f6108ff),
615 pointer_default(unique),
618interface IWMMediaProps : IUnknown
621 [out] GUID *pguidType);
623 HRESULT GetMediaType(
624 [out] WM_MEDIA_TYPE *pType,
625 [in, out] DWORD *pcbType);
627 HRESULT SetMediaType(
628 [in] WM_MEDIA_TYPE *pType);
633 uuid(96406bd7-2b2b-11d3-b36b-00c04f6108ff),
634 pointer_default(unique),
637interface IWMOutputMediaProps : IWMMediaProps
639 HRESULT GetStreamGroupName(
640 [out, size_is(*pcchName)] WCHAR *pwszName,
641 [in, out] WORD *pcchName);
643 HRESULT GetConnectionName(
644 [out, size_is(*pcchName)] WCHAR *pwszName,
645 [in, out] WORD *pcchName);
650 uuid(96406bd9-2b2b-11d3-b36b-00c04f6108ff),
651 pointer_default(unique),
654interface IWMMetadataEditor : IUnknown
657 [in] const WCHAR *pwszFilename);
666 uuid(96406bd6-2b2b-11d3-b36b-00c04f6108ff),
667 pointer_default(unique),
670interface IWMReader : IUnknown
673 [in] const WCHAR *pwszURL,
674 [in] IWMReaderCallback *pCallback,
675 [in] void *pvContext);
679 HRESULT GetOutputCount(
680 [out] DWORD *pcOutputs);
682 HRESULT GetOutputProps(
683 [in] DWORD dwOutputNum,
684 [out] IWMOutputMediaProps **ppOutput);
686 HRESULT SetOutputProps(
687 [in] DWORD dwOutputNum,
688 [in] IWMOutputMediaProps *pOutput);
690 HRESULT GetOutputFormatCount(
691 [in] DWORD dwOutputNumber,
692 [out] DWORD *pcFormats);
694 HRESULT GetOutputFormat(
695 [in] DWORD dwOutputNumber,
696 [in] DWORD dwFormatNumber,
697 [out] IWMOutputMediaProps** ppProps);
701 [in] QWORD cnsDuration,
703 [in] void *pvContext);
714 uuid(e5b7ca9a-0f1c-4f66-9002-74ec50d8b304),
715 pointer_default(unique),
718interface IWMPlayerHook : IUnknown
725 uuid(96406bea-2b2b-11d3-b36b-00c04f6108ff),
726 pointer_default(unique),
729interface IWMReaderAdvanced : IUnknown
731 HRESULT SetUserProvidedClock(
732 [in] BOOL fUserClock);
734 HRESULT GetUserProvidedClock(
735 [out] BOOL *pfUserClock);
740 HRESULT SetManualStreamSelection(
741 [in] BOOL fSelection);
743 HRESULT GetManualStreamSelection(
744 [out] BOOL *pfSelection);
746 HRESULT SetStreamsSelected(
747 [in] WORD cStreamCount,
748 [in] WORD *pwStreamNumbers,
749 [in] WMT_STREAM_SELECTION *pSelections);
751 HRESULT GetStreamSelected(
752 [in] WORD wStreamNum,
753 [out] WMT_STREAM_SELECTION *pSelection);
755 HRESULT SetReceiveSelectionCallbacks(
756 [in] BOOL fGetCallbacks);
758 HRESULT GetReceiveSelectionCallbacks(
759 [out] BOOL *pfGetCallbacks);
761 HRESULT SetReceiveStreamSamples(
762 [in] WORD wStreamNum,
763 [in] BOOL fReceiveStreamSamples);
765 HRESULT GetReceiveStreamSamples(
766 [in] WORD wStreamNum,
767 [out] BOOL *pfReceiveStreamSamples);
769 HRESULT SetAllocateForOutput(
770 [in] DWORD dwOutputNum,
771 [in] BOOL fAllocate);
773 HRESULT GetAllocateForOutput(
774 [in] DWORD dwOutputNum,
775 [out] BOOL *pfAllocate);
777 HRESULT SetAllocateForStream(
778 [in] WORD wStreamNum,
779 [in] BOOL fAllocate);
781 HRESULT GetAllocateForStream(
782 [in] WORD dwStreamNum,
783 [out] BOOL *pfAllocate);
785 HRESULT GetStatistics(
786 [in, out] WM_READER_STATISTICS *pStatistics);
788 HRESULT SetClientInfo(
789 [in] WM_READER_CLIENTINFO *pClientInfo);
791 HRESULT GetMaxOutputSampleSize(
793 [out] DWORD *pcbMax);
795 HRESULT GetMaxStreamSampleSize(
797 [out] DWORD *pcbMax);
799 HRESULT NotifyLateDelivery(
805 uuid(ae14a945-b90c-4d0d-9127-80d665f7d73e),
806 pointer_default(unique),
809interface IWMReaderAdvanced2 : IWMReaderAdvanced
812 [in] WMT_PLAY_MODE Mode);
815 [out] WMT_PLAY_MODE *pMode);
817 HRESULT GetBufferProgress(
818 [out] DWORD *pdwPercent,
819 [out] QWORD *pcnsBuffering);
821 HRESULT GetDownloadProgress(
822 [out] DWORD *pdwPercent,
823 [out] QWORD *pqwBytesDownloaded,
824 [out] QWORD *pcnsDownload);
826 HRESULT GetSaveAsProgress(
827 [out] DWORD *pdwPercent);
830 [in] const WCHAR *pwszFilename);
832 HRESULT GetProtocolName(
833 [out, size_is(*pcchProtocol)] WCHAR *pwszProtocol,
834 [in, out] DWORD *pcchProtocol);
836 HRESULT StartAtMarker(
837 [in] WORD wMarkerIndex,
838 [in] QWORD cnsDuration,
840 [in] void *pvContext);
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);
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,
858 [in] QWORD cnsDuration,
861 HRESULT SetLogClientID(
862 [in] BOOL fLogClientID);
864 HRESULT GetLogClientID(
865 [out] BOOL *pfLogClientID);
867 HRESULT StopBuffering();
870 [in] IStream *pStream,
871 [in] IWMReaderCallback *pCallback,
872 [in] void *pvContext);
877 uuid(5dc0674b-f04B-4a4e-9f2a-b1afde2c8100),
878 pointer_default(unique),
881interface IWMReaderAdvanced3 : IWMReaderAdvanced2
883 HRESULT StopNetStreaming();
885 HRESULT StartAtPosition(
886 [in] WORD wStreamNum,
887 [in] void *pvOffsetStart,
888 [in] void *pvDuration,
889 [in] WMT_OFFSET_FORMAT dwOffsetFormat,
891 [in] void *pvContext);
896 uuid(945a76a2-12ae-4d48-bd3c-cd1d90399b85),
897 pointer_default(unique),
900interface IWMReaderAdvanced4 : IWMReaderAdvanced3
902 HRESULT GetLanguageCount(
903 [in] DWORD dwOutputNum,
904 [out] WORD *pwLanguageCount);
907 [in] DWORD dwOutputNum,
909 [out, size_is(*pcchLanguageStringLength)] WCHAR *pwszLanguageString,
910 [in, out] WORD *pcchLanguageStringLength);
912 HRESULT GetMaxSpeedFactor(
913 [out] double *pdblFactor);
915 HRESULT IsUsingFastCache(
916 [out] BOOL *pfUsingFastCache);
919 [in] LPCWSTR wszNameSpace,
920 [in] LPCWSTR wszName,
921 [in] LPCWSTR wszValue);
923 HRESULT SendLogParams();
925 HRESULT CanSaveFileAs(
926 [out] BOOL *pfCanSave);
928 HRESULT CancelSaveFileAs();
931 [out, size_is(*pcchURL)] WCHAR *pwszURL,
932 [in, out] DWORD *pcchURL);
937 uuid(24c44db0-55d1-49ae-a5cc-f13815e36363),
938 pointer_default(unique),
941interface IWMReaderAdvanced5 : IWMReaderAdvanced4
943 HRESULT SetPlayerHook(
944 [in] DWORD dwOutputNum,
945 [in] IWMPlayerHook *pHook);
950 uuid(18a2e7f8-428f-4acd-8a00-e64639bc93de),
951 pointer_default(unique),
954interface IWMReaderAdvanced6 : IWMReaderAdvanced5
956 HRESULT SetProtectStreamSamples(
957 [in, size_is(cbCertificate)] BYTE *pbCertificate,
958 [in] DWORD cbCertificate,
959 [in] DWORD dwCertificateType,
961 [out, size_is(*pcbInitializationVector)] BYTE *pbInitializationVector,
962 [in, out] DWORD *pcbInitializationVector);
967 uuid(9397f121-7705-4dc9-b049-98b698188414),
968 pointer_default( unique ),
971interface IWMSyncReader : IUnknown
974 [in] const WCHAR *pwszFilename);
979 [in] QWORD cnsStartTime,
980 [in] LONGLONG cnsDuration);
982 HRESULT SetRangeByFrame(
983 [in] WORD wStreamNum,
984 [in] QWORD qwFrameNumber,
985 [in] LONGLONG cFramesToRead);
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);
996 HRESULT SetStreamsSelected(
997 [in] WORD cStreamCount,
998 [in] WORD *pwStreamNumbers,
999 [in] WMT_STREAM_SELECTION *pSelections);
1001 HRESULT GetStreamSelected(
1002 [in] WORD wStreamNum,
1003 [out] WMT_STREAM_SELECTION *pSelection);
1005 HRESULT SetReadStreamSamples(
1006 [in] WORD wStreamNum,
1007 [in] BOOL fCompressed);
1009 HRESULT GetReadStreamSamples(
1010 [in] WORD wStreamNum,
1011 [out] BOOL *pfCompressed);
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);
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);
1027 HRESULT GetOutputCount(
1028 [out] DWORD *pcOutputs);
1030 HRESULT GetOutputProps(
1031 [in] DWORD dwOutputNum,
1032 [out] IWMOutputMediaProps **ppOutput);
1034 HRESULT SetOutputProps(
1035 [in] DWORD dwOutputNum,
1036 [in] IWMOutputMediaProps *pOutput);
1038 HRESULT GetOutputFormatCount(
1039 [in] DWORD dwOutputNum,
1040 [out] DWORD *pcFormats);
1042 HRESULT GetOutputFormat(
1043 [in] DWORD dwOutputNum,
1044 [in] DWORD dwFormatNum,
1045 [out] IWMOutputMediaProps **ppProps);
1047 HRESULT GetOutputNumberForStream(
1048 [in] WORD wStreamNum,
1049 [out] DWORD *pdwOutputNum);
1051 HRESULT GetStreamNumberForOutput(
1052 [in] DWORD dwOutputNum,
1053 [out] WORD *pwStreamNum);
1055 HRESULT GetMaxOutputSampleSize(
1056 [in] DWORD dwOutput,
1057 [out] DWORD *pcbMax);
1059 HRESULT GetMaxStreamSampleSize(
1061 [out] DWORD *pcbMax);
1064 [in] IStream *pStream);
1069 uuid(9f762fa7-a22e-428d-93c9-ac82f3aafe5a),
1070 pointer_default( unique ),
1073interface IWMReaderAllocatorEx : IUnknown
1075 HRESULT AllocateForStreamEx(
1076 [in] WORD wStreamNum,
1077 [in] DWORD cbBuffer,
1078 [out] INSSBuffer **ppBuffer,
1080 [in] QWORD cnsSampleTime,
1081 [in] QWORD cnsSampleDuration,
1082 [in] void *pvContext);
1084 HRESULT AllocateForOutputEx(
1085 [in] WORD wOutputNum,
1086 [in] DWORD cbBuffer,
1087 [out] INSSBuffer **ppBuffer,
1089 [in] QWORD cnsSampleTime,
1090 [in] QWORD cnsSampleDuration,
1091 [in] void *pvContext);
1096 uuid(faed3d21-1b6b-4af7-8bc6-3e189bbc187b),
1097 pointer_default( unique ),
1100interface IWMSyncReader2 : IWMSyncReader
1102 HRESULT SetRangeByTimecode(
1103 [in] WORD wStreamNum,
1104 [in] WMT_TIMECODE_EXTENSION_DATA *pStart,
1105 [in] WMT_TIMECODE_EXTENSION_DATA *pEnd);
1107 HRESULT SetRangeByFrameEx(
1108 [in] WORD wStreamNum,
1109 [in] QWORD qwFrameNumber,
1110 [in] LONGLONG cFramesToRead,
1111 [out] QWORD *pcnsStartTime);
1113 HRESULT SetAllocateForOutput(
1114 [in] DWORD dwOutputNum,
1115 [in] IWMReaderAllocatorEx *pAllocator);
1117 HRESULT GetAllocateForOutput(
1118 [in] DWORD dwOutputNum,
1119 [out] IWMReaderAllocatorEx **ppAllocator);
1121 HRESULT SetAllocateForStream(
1122 [in] DWORD dwStreamNum,
1123 [in] IWMReaderAllocatorEx *pAllocator);
1125 HRESULT GetAllocateForStream(
1126 [in] DWORD dwStreamNum,
1127 [out] IWMReaderAllocatorEx **ppAllocator);
1132 uuid(96406bd5-2b2b-11d3-b36b-00c04f6108ff),
1133 pointer_default(unique),
1136interface IWMInputMediaProps : IWMMediaProps
1138 HRESULT GetConnectionName(
1139 [out, size_is(*pcchName)] WCHAR *pwszName,
1140 [in, out] WORD *pcchName);
1142 HRESULT GetGroupName(
1143 [out, size_is(*pcchName)] WCHAR *pwszName,
1144 [in, out] WORD *pcchName);
1149 uuid(96406be4-2b2b-11d3-b36b-00c04f6108ff),
1150 pointer_default(unique),
1153interface IWMWriterSink : IUnknown
1156 [in] INSSBuffer *pHeader);
1159 [out] BOOL *pfRealTime);
1161 HRESULT AllocateDataUnit(
1162 [in] DWORD cbDataUnit,
1163 [out] INSSBuffer **ppDataUnit);
1166 [in] INSSBuffer *pDataUnit);
1168 HRESULT OnEndWriting();
1173 uuid(96406bd4-2b2b-11d3-b36b-00c04f6108ff),
1174 pointer_default(unique),
1177interface IWMWriter : IUnknown
1179 HRESULT SetProfileByID(
1180 [in] REFGUID guidProfile);
1183 [in] IWMProfile *pProfile);
1185 HRESULT SetOutputFilename(
1186 [in] const WCHAR *pwszFilename);
1188 HRESULT GetInputCount(
1189 [out] DWORD *pcInputs);
1191 HRESULT GetInputProps(
1192 [in] DWORD dwInputNum,
1193 [out] IWMInputMediaProps **ppInput);
1195 HRESULT SetInputProps(
1196 [in] DWORD dwInputNum,
1197 [in] IWMInputMediaProps *pInput);
1199 HRESULT GetInputFormatCount(
1200 [in] DWORD dwInputNumber,
1201 [out] DWORD *pcFormats);
1203 HRESULT GetInputFormat(
1204 [in] DWORD dwInputNumber,
1205 [in] DWORD dwFormatNumber,
1206 [out] IWMInputMediaProps **pProps);
1208 HRESULT BeginWriting();
1210 HRESULT EndWriting();
1212 HRESULT AllocateSample(
1213 [in] DWORD dwSampleSize,
1214 [out] INSSBuffer **ppSample);
1216 HRESULT WriteSample(
1217 [in] DWORD dwInputNum,
1218 [in] QWORD cnsSampleTime,
1220 [in] INSSBuffer *pSample);
1227 uuid(96406be3-2b2b-11d3-b36b-00C04f6108ff),
1228 pointer_default(unique),
1231interface IWMWriterAdvanced : IUnknown
1233 HRESULT GetSinkCount(
1234 [out] DWORD *pcSinks);
1237 [in] DWORD dwSinkNum,
1238 [out] IWMWriterSink **ppSink);
1241 [in] IWMWriterSink *pSink);
1244 [in] IWMWriterSink *pSink);
1246 HRESULT WriteStreamSample(
1247 [in] WORD wStreamNum,
1248 [in] QWORD cnsSampleTime,
1249 [in] DWORD msSampleSendTime,
1250 [in] QWORD cnsSampleDuration,
1252 [in] INSSBuffer *pSample);
1254 HRESULT SetLiveSource(
1255 BOOL fIsLiveSource);
1258 [out] BOOL *pfRealTime);
1260 HRESULT GetWriterTime(
1261 [out] QWORD *pCurrentTime);
1263 HRESULT GetStatistics(
1264 [in] WORD wStreamNum,
1265 [out] WM_WRITER_STATISTICS *pStats);
1267 HRESULT SetSyncTolerance(
1268 [in] DWORD msWindow);
1270 HRESULT GetSyncTolerance(
1271 [out] DWORD *pmsWindow);
1276 uuid(962dc1ec-c046-4db8-9cc7-26ceae500817),
1277 pointer_default(unique),
1280interface IWMWriterAdvanced2 : IWMWriterAdvanced
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);
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);
1299 uuid(2cd6492d-7c37-4e76-9d3b-59261183a22e),
1300 pointer_default(unique),
1303interface IWMWriterAdvanced3 : IWMWriterAdvanced2
1305 HRESULT GetStatisticsEx(
1306 [in] WORD wStreamNum,
1307 [out] WM_WRITER_STATISTICS_EX *pStats);
1309 HRESULT SetNonBlocking();
1314 uuid(96406bda-2b2b-11d3-b36b-00c04f6108ff),
1315 pointer_default(unique),
1318interface IWMHeaderInfo : IUnknown
1320 HRESULT GetAttributeCount(
1321 [in] WORD stream_num,
1322 [out] WORD *attributes );
1324 HRESULT GetAttributeByIndex(
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 );
1333 HRESULT GetAttributeByName(
1334 [in, out] WORD *stream_num,
1336 [out] WMT_ATTR_DATATYPE *type,
1337 [out, size_is( *length )] BYTE *value,
1338 [in, out] WORD *length );
1340 HRESULT SetAttribute(
1341 [in] WORD stream_num,
1343 [in] WMT_ATTR_DATATYPE type,
1344 [in, size_is( length )] const BYTE *value,
1347 HRESULT GetMarkerCount(
1348 [out] WORD *markers );
1352 [out, size_is( *marker_len )] WCHAR *marker_name,
1353 [in, out] WORD *marker_len,
1354 [out] QWORD *marker_time );
1357 [in] LPCWSTR_WMSDK_TYPE_SAFE marker_name,
1358 [in] QWORD marker_time );
1360 HRESULT RemoveMarker(
1363 HRESULT GetScriptCount(
1364 [out] WORD *scripts );
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 );
1375 [in] LPCWSTR_WMSDK_TYPE_SAFE type,
1376 [in] LPCWSTR_WMSDK_TYPE_SAFE command,
1377 [in] QWORD script_time );
1379 HRESULT RemoveScript(
1385 uuid(15cf9781-454e-482e-b393-85fae487a810),
1386 pointer_default(unique),
1389interface IWMHeaderInfo2 : IWMHeaderInfo
1391 HRESULT GetCodecInfoCount(
1392 [out] DWORD *codec_infos );
1394 HRESULT GetCodecInfo(
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 );
1407 uuid(15cc68e3-27cc-4ecd-b222-3f5d02d80bd5),
1408 pointer_default(unique),
1411interface IWMHeaderInfo3 : IWMHeaderInfo2
1413 HRESULT GetAttributeCountEx(
1414 [in] WORD stream_num,
1415 [out] WORD *attributes );
1417 HRESULT GetAttributeIndices(
1418 [in] WORD stream_num,
1420 [in] WORD *lang_index,
1421 [out, size_is( *count )] WORD *indices,
1422 [in, out] WORD *count );
1424 HRESULT GetAttributeByIndexEx(
1425 [in] WORD stream_num,
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 );
1434 HRESULT ModifyAttribute(
1435 [in] WORD stream_num,
1437 [in] WMT_ATTR_DATATYPE type,
1438 [in] WORD lang_index,
1439 [in, size_is( length )] const BYTE *value,
1440 [in] DWORD length );
1442 HRESULT AddAttribute(
1443 [in] WORD stream_num,
1446 [in] WMT_ATTR_DATATYPE type,
1447 [in] WORD lang_index,
1448 [in, size_is( length )] const BYTE *value,
1449 [in] DWORD length );
1451 HRESULT DeleteAttribute(
1452 [in] WORD stream_num,
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 );
1465 uuid(96406bec-2b2b-11d3-b36b-00c04f6108ff),
1466 pointer_default(unique),
1469interface IWMReaderNetworkConfig : IUnknown
1471 HRESULT GetBufferingTime([out] QWORD *buffering_time);
1472 HRESULT SetBufferingTime([in] QWORD buffering_time);
1474 HRESULT GetUDPPortRanges(
1475 [out, size_is( *ranges )] WM_PORT_NUMBER_RANGE *array,
1476 [in, out] DWORD *ranges);
1478 HRESULT SetUDPPortRanges(
1479 [in, size_is( ranges )] WM_PORT_NUMBER_RANGE *array,
1482 HRESULT GetProxySettings(
1483 [in] const WCHAR *protocol,
1484 [out] WMT_PROXY_SETTINGS *proxy);
1486 HRESULT SetProxySettings(
1487 [in] LPCWSTR protocol,
1488 [in] WMT_PROXY_SETTINGS proxy);
1490 HRESULT GetProxyHostName(
1491 [in] const WCHAR *protocol,
1492 [out, size_is( *size )] WCHAR *hostname,
1493 [in, out] DWORD *size);
1495 HRESULT SetProxyHostName(
1496 [in] const WCHAR *protocol,
1497 [in] const WCHAR *hostname);
1499 HRESULT GetProxyPort(
1500 [in] const WCHAR *protocol,
1503 HRESULT SetProxyPort(
1504 [in] const WCHAR *protocol,
1507 HRESULT GetProxyExceptionList(
1508 [in] const WCHAR *protocol,
1509 [out, size_is( *count )] WCHAR *exceptions,
1510 [in, out] DWORD *count);
1512 HRESULT SetProxyExceptionList(
1513 [in] const WCHAR *protocol,
1514 [in] const WCHAR *exceptions);
1516 HRESULT GetProxyBypassForLocal(
1517 [in] const WCHAR *protocol,
1518 [out] BOOL *bypass);
1520 HRESULT SetProxyBypassForLocal(
1521 [in] const WCHAR *protocol,
1524 HRESULT GetForceRerunAutoProxyDetection([out] BOOL *detection);
1525 HRESULT SetForceRerunAutoProxyDetection([in] BOOL detection);
1527 HRESULT GetEnableMulticast([out] BOOL *multicast);
1528 HRESULT SetEnableMulticast([in] BOOL multicast);
1530 HRESULT GetEnableHTTP([out] BOOL *enable);
1531 HRESULT SetEnableHTTP([in] BOOL enable);
1533 HRESULT GetEnableUDP([out] BOOL *enable);
1534 HRESULT SetEnableUDP([in] BOOL enable);
1536 HRESULT GetEnableTCP([out] BOOL *enable);
1537 HRESULT SetEnableTCP([in] BOOL enable);
1539 HRESULT ResetProtocolRollover();
1541 HRESULT GetConnectionBandwidth([out] DWORD *bandwidth);
1542 HRESULT SetConnectionBandwidth([in] DWORD bandwidth);
1544 HRESULT GetNumProtocolsSupported([out] DWORD *protocols);
1546 HRESULT GetSupportedProtocolName(
1547 [in] DWORD protocol_num,
1548 [out, size_is( *size )] WCHAR *protocol,
1549 [in, out] DWORD *size);
1551 HRESULT AddLoggingUrl([in] const WCHAR *url);
1553 HRESULT GetLoggingUrl(
1555 [out, size_is( *size )] WCHAR *url,
1556 [in, out] DWORD *size);
1558 HRESULT GetLoggingUrlCount([out] DWORD *count);
1560 HRESULT ResetLoggingUrlList();
1565 uuid(d979a853-042b-4050-8387-c939db22013f),
1566 pointer_default(unique),
1569interface IWMReaderNetworkConfig2 : IWMReaderNetworkConfig
1571 HRESULT GetEnableContentCaching([out] BOOL *enable);
1572 HRESULT SetEnableContentCaching([in] BOOL enable);
1574 HRESULT GetEnableFastCache([out] BOOL *enable);
1575 HRESULT SetEnableFastCache([in] BOOL enable);
1577 HRESULT GetAcceleratedStreamingDuration([out] QWORD *duration);
1578 HRESULT SetAcceleratedStreamingDuration([in] QWORD duration);
1580 HRESULT GetAutoReconnectLimit([out] DWORD *limit);
1581 HRESULT SetAutoReconnectLimit([in] DWORD limit);
1583 HRESULT GetEnableResends([out] BOOL *enable);
1584 HRESULT SetEnableResends([in] BOOL enable);
1586 HRESULT GetEnableThinning([out] BOOL *enable);
1587 HRESULT SetEnableThinning([in] BOOL enable);
1589 HRESULT GetMaxNetPacketSize([out] DWORD *packet_size);
1594 uuid(96406bed-2b2b-11d3-b36b-00c04f6108ff),
1595 pointer_default(unique),
1599interface IWMReaderStreamClock : IUnknown
1601 HRESULT GetTime([in] QWORD *now);
1603 HRESULT SetTimer([in] QWORD when,
1607 HRESULT KillTimer([in] DWORD id);
1612 uuid(cdfb97ab-188f-40b3-b643-5b7903975c59),
1613 pointer_default(unique),
1616interface IWMPacketSize : IUnknown
1618 HRESULT GetMaxPacketSize([out] DWORD *size);
1619 HRESULT SetMaxPacketSize([in] DWORD size);
1624 uuid(8bfc2b9e-b646-4233-a877-1c6a079669dc),
1625 pointer_default(unique),
1628interface IWMPacketSize2 : IWMPacketSize
1630 HRESULT GetMinPacketSize([out] DWORD *size);
1631 HRESULT SetMinPacketSize([in] DWORD size);
1636 uuid(d2827540-3ee7-432c-b14c-dc17f085d3b3),
1637 pointer_default(unique),
1640interface IWMDRMReader : IUnknown
1642 HRESULT AcquireLicense([in] DWORD flags);
1643 HRESULT CancelLicenseAcquisition();
1645 HRESULT Individualize([in] DWORD flags);
1646 HRESULT CancelIndividualization();
1648 HRESULT MonitorLicenseAcquisition();
1649 HRESULT CancelMonitorLicenseAcquisition();
1651 HRESULT SetDRMProperty(
1652 [in] const WCHAR *name,
1653 [in] WMT_ATTR_DATATYPE type,
1654 [in, size_is( length )] const BYTE *value,
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);
1666 uuid(befe7a75-9f1d-4075-b9d9-a3c37bda49a0),
1667 pointer_default(unique),
1670interface IWMDRMReader2 : IWMDRMReader
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);
1678 HRESULT GetCopyOutputLevels(
1679 [out, size_is( *length )] DRM_COPY_OPL *copy,
1680 [in, out] DWORD *length,
1681 [out] DWORD *level);
1683 HRESULT TryNextLicense();
1688 uuid(e08672de-f1e7-4ff4-a0a3-fc4b08e4caf8),
1689 pointer_default(unique),
1692interface IWMDRMReader3 : IWMDRMReader2
1694 HRESULT GetInclusionList(
1696 [out] DWORD *count);
1701 uuid(bddc4d08-944d-4d52-a612-46c3fda07dd4),
1702 pointer_default( unique ),
1705interface IWMReaderAccelerator : IUnknown
1707 HRESULT GetCodecInterface(
1710 [out] void **codec);
1714 [in] WM_MEDIA_TYPE *subtype);
1719 uuid(f369e2f0-e081-4fe6-8450-b810b2f410d1),
1720 pointer_default(unique),
1723interface IWMReaderTimecode : IUnknown
1725 HRESULT GetTimecodeRangeCount(
1729 HRESULT GetTimecodeRangeBounds(
1732 [out] DWORD *start_timecode,
1733 [out] DWORD *end_timecode);
1738 uuid(fdbe5592-81a1-41ea-93bd-735cad1adc05),
1739 pointer_default(unique),
1742interface IWMReaderTypeNegotiation : IUnknown
1744 HRESULT TryOutputProps(
1746 [in] IWMOutputMediaProps *props);
1751 uuid(df683f00-2d49-4d8e-92b7-fb19f6a0dc57),
1752 pointer_default(unique),
1755interface IWMLanguageList : IUnknown
1757 HRESULT GetLanguageCount(
1760 HRESULT GetLanguageDetails(
1762 [out, size_is( *length )] WCHAR *language,
1763 [in, out] WORD *length);
1765 HRESULT AddLanguageByRFC1766String(
1766 [in] LPCWSTR_WMSDK_TYPE_SAFE language,
1772 uuid(f28c0300-9baa-4477-a846-1744d9cbf533),
1773 pointer_default(unique),
1776interface IWMReaderPlaylistBurn : IUnknown
1778 HRESULT InitPlaylistBurn(
1780 [in] LPCWSTR_WMSDK_TYPE_SAFE *filenames,
1781 [in] IWMStatusCallback *callback,
1782 [in] void *context);
1784 HRESULT GetInitResults(
1786 [out] HRESULT *stat);
1790 HRESULT EndPlaylistBurn([in] HRESULT result);
1795 uuid(72995a79-5090-42a4-9c8c-d9d0b6d34be5),
1796 pointer_default(unique),
1799interface IWMPropertyVault : IUnknown
1801 HRESULT GetPropertyCount([in] DWORD *count);
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);
1809 HRESULT SetProperty(
1810 [in] const WCHAR *name,
1811 [in] WMT_ATTR_DATATYPE type,
1815 HRESULT GetPropertyByIndex(
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);
1823 HRESULT CopyPropertiesFrom([in] IWMPropertyVault *vault);
1830 uuid(fc54a285-38c4-45b5-aa23-85b9f7cb424b),
1831 pointer_default(unique),
1834interface IWMWriterPreprocess : IUnknown
1836 HRESULT GetMaxPreprocessingPasses(
1839 [out] DWORD *passes);
1841 HRESULT SetNumPreprocessingPasses(
1846 HRESULT BeginPreprocessingPass(
1850 HRESULT PreprocessSample(
1852 [in] QWORD sample_time,
1854 [in] INSSBuffer *sample);
1856 HRESULT EndPreprocessingPass(
1863 uuid(05e5ac9f-3fb6-4508-bb43-a4067ba1ebe8),
1864 pointer_default(unique),
1867interface IWMLicenseBackup : IUnknown
1869 HRESULT BackupLicenses(
1871 [in] IWMStatusCallback *pCallback);
1873 HRESULT CancelLicenseBackup();
1878 uuid(c70b6334-a22e-4efb-a245-15e65a004a13),
1879 pointer_default(unique),
1882interface IWMLicenseRestore : IUnknown
1884 HRESULT RestoreLicenses(
1886 [in] IWMStatusCallback *pCallback);
1888 HRESULT CancelLicenseRestore();
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
coclass PSFactoryBuffer pointer_default(unique)] interface ObjectRpcBaseTypes
static const WCHAR version[]
GLuint GLuint GLsizei GLenum type
GLuint GLuint GLsizei count
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)
static const BYTE guidType[]
WCHAR * wszBrowserWebPage
WCHAR * wszPlayerUserAgent
WCHAR * wszBrowserUserAgent
DWORD dwTotalSampleDropsInMultiplexer
DWORD dwCurrentSampleDropRateInMultiplexer
DWORD dwTotalSampleDropsInCodec
DWORD dwCurrentSampleDropRateInCodec
DWORD dwTotalSampleDropsInQueue
DWORD dwCurrentSampleDropRateInQueue
DWORD dwBitratePlusOverhead
DWORD dwAverageSampleRate
QWORD qwDroppedSampleCount
DWORD dwExpectedSampleRate
DWORD dwCurrentSampleRate
_In_ PCCERT_CONTEXT _In_ DWORD dwFlags
struct _WMStreamPrioritizationRecord WM_STREAM_PRIORITY_RECORD
enum tagWMT_OFFSET_FORMAT WMT_OFFSET_FORMAT
HRESULT WINAPI WMCreateReader(IUnknown *, DWORD, IWMReader **)
struct _WMMediaType WM_MEDIA_TYPE
@ WMT_PLAY_MODE_STREAMING
@ WMT_PLAY_MODE_AUTOSELECT
HRESULT WINAPI WMCheckURLExtension(LPCWSTR)
HRESULT WINAPI WMCreateWriter(IUnknown *, IWMWriter **)
struct _WMReaderStatistics WM_READER_STATISTICS
struct _WMWriterStatistics WM_WRITER_STATISTICS
@ WMT_OFFSET_FORMAT_FRAME_NUMBERS
@ WMT_OFFSET_FORMAT_TIMECODE
@ WMT_OFFSET_FORMAT_PLAYLIST_OFFSET
@ WMT_OFFSET_FORMAT_100NS_APPROXIMATE
@ WMT_OFFSET_FORMAT_100NS
@ WMT_TRANSCRYPTOR_SEEKED
@ WMT_NATIVE_OUTPUT_PROPS_CHANGED
@ WMT_NEEDS_INDIVIDUALIZATION
@ WMT_BACKUPRESTORE_DISCONNECTING
@ WMT_TRANSCRYPTOR_CLOSED
@ WMT_PROXIMITY_COMPLETED
@ WMT_LICENSEURL_SIGNATURE_STATE
@ WMT_CLIENT_DISCONNECT_EX
@ WMT_BACKUPRESTORE_BEGIN
@ WMT_BACKUPRESTORE_CONNECTING
struct _WMReaderClientInfo WM_READER_CLIENTINFO
HRESULT WINAPI WMCreateSyncReader(IUnknown *, DWORD, IWMSyncReader **)
static const WCHAR g_wszVBREnabled[]
struct _WMT_TIMECODE_EXTENSION_DATA WMT_TIMECODE_EXTENSION_DATA
HRESULT WINAPI WMCreateEditor(IWMMetadataEditor **)
HRESULT WINAPI WMCreateProfileManager(IWMProfileManager **)
HRESULT WINAPI WMCreateBackupRestorer(IUnknown *, IWMLicenseBackup **)
HRESULT WINAPI WMCheckURLScheme(LPCWSTR)
enum tagWMT_STORAGE_FORMAT WMT_STORAGE_FORMAT
LPCWSTR LPCWSTR_WMSDK_TYPE_SAFE
@ WMT_PROXY_SETTING_BROWSER
@ WMT_PROXY_SETTING_MANUAL
struct _WMWriterStatisticsEx WM_WRITER_STATISTICS_EX
struct _WM_PORT_NUMBER_RANGE WM_PORT_NUMBER_RANGE