mirror of
https://github.com/QB64Official/qb64.git
synced 2024-08-22 02:05:08 +00:00
10282 lines
417 KiB
C
10282 lines
417 KiB
C
/*** Autogenerated by WIDL 3.1 from include/wmsdkidl.idl - Do not edit ***/
|
|
|
|
#ifndef __REQUIRED_RPCNDR_H_VERSION__
|
|
#define __REQUIRED_RPCNDR_H_VERSION__ 475
|
|
#endif
|
|
|
|
#include <rpc.h>
|
|
#include <rpcndr.h>
|
|
|
|
#ifndef COM_NO_WINDOWS_H
|
|
#include <windows.h>
|
|
#include <ole2.h>
|
|
#endif
|
|
|
|
#ifndef __wmsdkidl_h__
|
|
#define __wmsdkidl_h__
|
|
|
|
/* Forward declarations */
|
|
|
|
#ifndef __IWMStatusCallback_FWD_DEFINED__
|
|
#define __IWMStatusCallback_FWD_DEFINED__
|
|
typedef interface IWMStatusCallback IWMStatusCallback;
|
|
#ifdef __cplusplus
|
|
interface IWMStatusCallback;
|
|
#endif /* __cplusplus */
|
|
#endif
|
|
|
|
#ifndef __IWMReaderCallback_FWD_DEFINED__
|
|
#define __IWMReaderCallback_FWD_DEFINED__
|
|
typedef interface IWMReaderCallback IWMReaderCallback;
|
|
#ifdef __cplusplus
|
|
interface IWMReaderCallback;
|
|
#endif /* __cplusplus */
|
|
#endif
|
|
|
|
#ifndef __IWMStreamList_FWD_DEFINED__
|
|
#define __IWMStreamList_FWD_DEFINED__
|
|
typedef interface IWMStreamList IWMStreamList;
|
|
#ifdef __cplusplus
|
|
interface IWMStreamList;
|
|
#endif /* __cplusplus */
|
|
#endif
|
|
|
|
#ifndef __IWMMutualExclusion_FWD_DEFINED__
|
|
#define __IWMMutualExclusion_FWD_DEFINED__
|
|
typedef interface IWMMutualExclusion IWMMutualExclusion;
|
|
#ifdef __cplusplus
|
|
interface IWMMutualExclusion;
|
|
#endif /* __cplusplus */
|
|
#endif
|
|
|
|
#ifndef __IWMBandwidthSharing_FWD_DEFINED__
|
|
#define __IWMBandwidthSharing_FWD_DEFINED__
|
|
typedef interface IWMBandwidthSharing IWMBandwidthSharing;
|
|
#ifdef __cplusplus
|
|
interface IWMBandwidthSharing;
|
|
#endif /* __cplusplus */
|
|
#endif
|
|
|
|
#ifndef __IWMStreamPrioritization_FWD_DEFINED__
|
|
#define __IWMStreamPrioritization_FWD_DEFINED__
|
|
typedef interface IWMStreamPrioritization IWMStreamPrioritization;
|
|
#ifdef __cplusplus
|
|
interface IWMStreamPrioritization;
|
|
#endif /* __cplusplus */
|
|
#endif
|
|
|
|
#ifndef __IWMStreamConfig_FWD_DEFINED__
|
|
#define __IWMStreamConfig_FWD_DEFINED__
|
|
typedef interface IWMStreamConfig IWMStreamConfig;
|
|
#ifdef __cplusplus
|
|
interface IWMStreamConfig;
|
|
#endif /* __cplusplus */
|
|
#endif
|
|
|
|
#ifndef __IWMProfile_FWD_DEFINED__
|
|
#define __IWMProfile_FWD_DEFINED__
|
|
typedef interface IWMProfile IWMProfile;
|
|
#ifdef __cplusplus
|
|
interface IWMProfile;
|
|
#endif /* __cplusplus */
|
|
#endif
|
|
|
|
#ifndef __IWMProfile2_FWD_DEFINED__
|
|
#define __IWMProfile2_FWD_DEFINED__
|
|
typedef interface IWMProfile2 IWMProfile2;
|
|
#ifdef __cplusplus
|
|
interface IWMProfile2;
|
|
#endif /* __cplusplus */
|
|
#endif
|
|
|
|
#ifndef __IWMProfile3_FWD_DEFINED__
|
|
#define __IWMProfile3_FWD_DEFINED__
|
|
typedef interface IWMProfile3 IWMProfile3;
|
|
#ifdef __cplusplus
|
|
interface IWMProfile3;
|
|
#endif /* __cplusplus */
|
|
#endif
|
|
|
|
#ifndef __IWMProfileManager_FWD_DEFINED__
|
|
#define __IWMProfileManager_FWD_DEFINED__
|
|
typedef interface IWMProfileManager IWMProfileManager;
|
|
#ifdef __cplusplus
|
|
interface IWMProfileManager;
|
|
#endif /* __cplusplus */
|
|
#endif
|
|
|
|
#ifndef __IWMMediaProps_FWD_DEFINED__
|
|
#define __IWMMediaProps_FWD_DEFINED__
|
|
typedef interface IWMMediaProps IWMMediaProps;
|
|
#ifdef __cplusplus
|
|
interface IWMMediaProps;
|
|
#endif /* __cplusplus */
|
|
#endif
|
|
|
|
#ifndef __IWMOutputMediaProps_FWD_DEFINED__
|
|
#define __IWMOutputMediaProps_FWD_DEFINED__
|
|
typedef interface IWMOutputMediaProps IWMOutputMediaProps;
|
|
#ifdef __cplusplus
|
|
interface IWMOutputMediaProps;
|
|
#endif /* __cplusplus */
|
|
#endif
|
|
|
|
#ifndef __IWMMetadataEditor_FWD_DEFINED__
|
|
#define __IWMMetadataEditor_FWD_DEFINED__
|
|
typedef interface IWMMetadataEditor IWMMetadataEditor;
|
|
#ifdef __cplusplus
|
|
interface IWMMetadataEditor;
|
|
#endif /* __cplusplus */
|
|
#endif
|
|
|
|
#ifndef __IWMReader_FWD_DEFINED__
|
|
#define __IWMReader_FWD_DEFINED__
|
|
typedef interface IWMReader IWMReader;
|
|
#ifdef __cplusplus
|
|
interface IWMReader;
|
|
#endif /* __cplusplus */
|
|
#endif
|
|
|
|
#ifndef __IWMPlayerHook_FWD_DEFINED__
|
|
#define __IWMPlayerHook_FWD_DEFINED__
|
|
typedef interface IWMPlayerHook IWMPlayerHook;
|
|
#ifdef __cplusplus
|
|
interface IWMPlayerHook;
|
|
#endif /* __cplusplus */
|
|
#endif
|
|
|
|
#ifndef __IWMReaderAdvanced_FWD_DEFINED__
|
|
#define __IWMReaderAdvanced_FWD_DEFINED__
|
|
typedef interface IWMReaderAdvanced IWMReaderAdvanced;
|
|
#ifdef __cplusplus
|
|
interface IWMReaderAdvanced;
|
|
#endif /* __cplusplus */
|
|
#endif
|
|
|
|
#ifndef __IWMReaderAdvanced2_FWD_DEFINED__
|
|
#define __IWMReaderAdvanced2_FWD_DEFINED__
|
|
typedef interface IWMReaderAdvanced2 IWMReaderAdvanced2;
|
|
#ifdef __cplusplus
|
|
interface IWMReaderAdvanced2;
|
|
#endif /* __cplusplus */
|
|
#endif
|
|
|
|
#ifndef __IWMReaderAdvanced3_FWD_DEFINED__
|
|
#define __IWMReaderAdvanced3_FWD_DEFINED__
|
|
typedef interface IWMReaderAdvanced3 IWMReaderAdvanced3;
|
|
#ifdef __cplusplus
|
|
interface IWMReaderAdvanced3;
|
|
#endif /* __cplusplus */
|
|
#endif
|
|
|
|
#ifndef __IWMReaderAdvanced4_FWD_DEFINED__
|
|
#define __IWMReaderAdvanced4_FWD_DEFINED__
|
|
typedef interface IWMReaderAdvanced4 IWMReaderAdvanced4;
|
|
#ifdef __cplusplus
|
|
interface IWMReaderAdvanced4;
|
|
#endif /* __cplusplus */
|
|
#endif
|
|
|
|
#ifndef __IWMReaderAdvanced5_FWD_DEFINED__
|
|
#define __IWMReaderAdvanced5_FWD_DEFINED__
|
|
typedef interface IWMReaderAdvanced5 IWMReaderAdvanced5;
|
|
#ifdef __cplusplus
|
|
interface IWMReaderAdvanced5;
|
|
#endif /* __cplusplus */
|
|
#endif
|
|
|
|
#ifndef __IWMReaderAdvanced6_FWD_DEFINED__
|
|
#define __IWMReaderAdvanced6_FWD_DEFINED__
|
|
typedef interface IWMReaderAdvanced6 IWMReaderAdvanced6;
|
|
#ifdef __cplusplus
|
|
interface IWMReaderAdvanced6;
|
|
#endif /* __cplusplus */
|
|
#endif
|
|
|
|
#ifndef __IWMSyncReader_FWD_DEFINED__
|
|
#define __IWMSyncReader_FWD_DEFINED__
|
|
typedef interface IWMSyncReader IWMSyncReader;
|
|
#ifdef __cplusplus
|
|
interface IWMSyncReader;
|
|
#endif /* __cplusplus */
|
|
#endif
|
|
|
|
#ifndef __IWMInputMediaProps_FWD_DEFINED__
|
|
#define __IWMInputMediaProps_FWD_DEFINED__
|
|
typedef interface IWMInputMediaProps IWMInputMediaProps;
|
|
#ifdef __cplusplus
|
|
interface IWMInputMediaProps;
|
|
#endif /* __cplusplus */
|
|
#endif
|
|
|
|
#ifndef __IWMWriterSink_FWD_DEFINED__
|
|
#define __IWMWriterSink_FWD_DEFINED__
|
|
typedef interface IWMWriterSink IWMWriterSink;
|
|
#ifdef __cplusplus
|
|
interface IWMWriterSink;
|
|
#endif /* __cplusplus */
|
|
#endif
|
|
|
|
#ifndef __IWMWriter_FWD_DEFINED__
|
|
#define __IWMWriter_FWD_DEFINED__
|
|
typedef interface IWMWriter IWMWriter;
|
|
#ifdef __cplusplus
|
|
interface IWMWriter;
|
|
#endif /* __cplusplus */
|
|
#endif
|
|
|
|
#ifndef __IWMWriterAdvanced_FWD_DEFINED__
|
|
#define __IWMWriterAdvanced_FWD_DEFINED__
|
|
typedef interface IWMWriterAdvanced IWMWriterAdvanced;
|
|
#ifdef __cplusplus
|
|
interface IWMWriterAdvanced;
|
|
#endif /* __cplusplus */
|
|
#endif
|
|
|
|
#ifndef __IWMWriterAdvanced2_FWD_DEFINED__
|
|
#define __IWMWriterAdvanced2_FWD_DEFINED__
|
|
typedef interface IWMWriterAdvanced2 IWMWriterAdvanced2;
|
|
#ifdef __cplusplus
|
|
interface IWMWriterAdvanced2;
|
|
#endif /* __cplusplus */
|
|
#endif
|
|
|
|
#ifndef __IWMWriterAdvanced3_FWD_DEFINED__
|
|
#define __IWMWriterAdvanced3_FWD_DEFINED__
|
|
typedef interface IWMWriterAdvanced3 IWMWriterAdvanced3;
|
|
#ifdef __cplusplus
|
|
interface IWMWriterAdvanced3;
|
|
#endif /* __cplusplus */
|
|
#endif
|
|
|
|
#ifndef __IWMHeaderInfo_FWD_DEFINED__
|
|
#define __IWMHeaderInfo_FWD_DEFINED__
|
|
typedef interface IWMHeaderInfo IWMHeaderInfo;
|
|
#ifdef __cplusplus
|
|
interface IWMHeaderInfo;
|
|
#endif /* __cplusplus */
|
|
#endif
|
|
|
|
#ifndef __IWMHeaderInfo2_FWD_DEFINED__
|
|
#define __IWMHeaderInfo2_FWD_DEFINED__
|
|
typedef interface IWMHeaderInfo2 IWMHeaderInfo2;
|
|
#ifdef __cplusplus
|
|
interface IWMHeaderInfo2;
|
|
#endif /* __cplusplus */
|
|
#endif
|
|
|
|
#ifndef __IWMHeaderInfo3_FWD_DEFINED__
|
|
#define __IWMHeaderInfo3_FWD_DEFINED__
|
|
typedef interface IWMHeaderInfo3 IWMHeaderInfo3;
|
|
#ifdef __cplusplus
|
|
interface IWMHeaderInfo3;
|
|
#endif /* __cplusplus */
|
|
#endif
|
|
|
|
#ifndef __IWMReaderNetworkConfig_FWD_DEFINED__
|
|
#define __IWMReaderNetworkConfig_FWD_DEFINED__
|
|
typedef interface IWMReaderNetworkConfig IWMReaderNetworkConfig;
|
|
#ifdef __cplusplus
|
|
interface IWMReaderNetworkConfig;
|
|
#endif /* __cplusplus */
|
|
#endif
|
|
|
|
#ifndef __IWMReaderNetworkConfig2_FWD_DEFINED__
|
|
#define __IWMReaderNetworkConfig2_FWD_DEFINED__
|
|
typedef interface IWMReaderNetworkConfig2 IWMReaderNetworkConfig2;
|
|
#ifdef __cplusplus
|
|
interface IWMReaderNetworkConfig2;
|
|
#endif /* __cplusplus */
|
|
#endif
|
|
|
|
#ifndef __IWMReaderStreamClock_FWD_DEFINED__
|
|
#define __IWMReaderStreamClock_FWD_DEFINED__
|
|
typedef interface IWMReaderStreamClock IWMReaderStreamClock;
|
|
#ifdef __cplusplus
|
|
interface IWMReaderStreamClock;
|
|
#endif /* __cplusplus */
|
|
#endif
|
|
|
|
#ifndef __IWMPacketSize_FWD_DEFINED__
|
|
#define __IWMPacketSize_FWD_DEFINED__
|
|
typedef interface IWMPacketSize IWMPacketSize;
|
|
#ifdef __cplusplus
|
|
interface IWMPacketSize;
|
|
#endif /* __cplusplus */
|
|
#endif
|
|
|
|
#ifndef __IWMPacketSize2_FWD_DEFINED__
|
|
#define __IWMPacketSize2_FWD_DEFINED__
|
|
typedef interface IWMPacketSize2 IWMPacketSize2;
|
|
#ifdef __cplusplus
|
|
interface IWMPacketSize2;
|
|
#endif /* __cplusplus */
|
|
#endif
|
|
|
|
#ifndef __IWMDRMReader_FWD_DEFINED__
|
|
#define __IWMDRMReader_FWD_DEFINED__
|
|
typedef interface IWMDRMReader IWMDRMReader;
|
|
#ifdef __cplusplus
|
|
interface IWMDRMReader;
|
|
#endif /* __cplusplus */
|
|
#endif
|
|
|
|
#ifndef __IWMDRMReader2_FWD_DEFINED__
|
|
#define __IWMDRMReader2_FWD_DEFINED__
|
|
typedef interface IWMDRMReader2 IWMDRMReader2;
|
|
#ifdef __cplusplus
|
|
interface IWMDRMReader2;
|
|
#endif /* __cplusplus */
|
|
#endif
|
|
|
|
#ifndef __IWMDRMReader3_FWD_DEFINED__
|
|
#define __IWMDRMReader3_FWD_DEFINED__
|
|
typedef interface IWMDRMReader3 IWMDRMReader3;
|
|
#ifdef __cplusplus
|
|
interface IWMDRMReader3;
|
|
#endif /* __cplusplus */
|
|
#endif
|
|
|
|
#ifndef __IWMReaderAccelerator_FWD_DEFINED__
|
|
#define __IWMReaderAccelerator_FWD_DEFINED__
|
|
typedef interface IWMReaderAccelerator IWMReaderAccelerator;
|
|
#ifdef __cplusplus
|
|
interface IWMReaderAccelerator;
|
|
#endif /* __cplusplus */
|
|
#endif
|
|
|
|
#ifndef __IWMReaderTimecode_FWD_DEFINED__
|
|
#define __IWMReaderTimecode_FWD_DEFINED__
|
|
typedef interface IWMReaderTimecode IWMReaderTimecode;
|
|
#ifdef __cplusplus
|
|
interface IWMReaderTimecode;
|
|
#endif /* __cplusplus */
|
|
#endif
|
|
|
|
#ifndef __IWMReaderTypeNegotiation_FWD_DEFINED__
|
|
#define __IWMReaderTypeNegotiation_FWD_DEFINED__
|
|
typedef interface IWMReaderTypeNegotiation IWMReaderTypeNegotiation;
|
|
#ifdef __cplusplus
|
|
interface IWMReaderTypeNegotiation;
|
|
#endif /* __cplusplus */
|
|
#endif
|
|
|
|
#ifndef __IWMLanguageList_FWD_DEFINED__
|
|
#define __IWMLanguageList_FWD_DEFINED__
|
|
typedef interface IWMLanguageList IWMLanguageList;
|
|
#ifdef __cplusplus
|
|
interface IWMLanguageList;
|
|
#endif /* __cplusplus */
|
|
#endif
|
|
|
|
#ifndef __IWMReaderPlaylistBurn_FWD_DEFINED__
|
|
#define __IWMReaderPlaylistBurn_FWD_DEFINED__
|
|
typedef interface IWMReaderPlaylistBurn IWMReaderPlaylistBurn;
|
|
#ifdef __cplusplus
|
|
interface IWMReaderPlaylistBurn;
|
|
#endif /* __cplusplus */
|
|
#endif
|
|
|
|
/* Headers for imported files */
|
|
|
|
#include <oaidl.h>
|
|
#include <wmsbuffer.h>
|
|
#include <drmexternals.h>
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
typedef struct _WMMediaType {
|
|
GUID majortype;
|
|
GUID subtype;
|
|
WINBOOL bFixedSizeSamples;
|
|
WINBOOL bTemporalCompression;
|
|
ULONG lSampleSize;
|
|
GUID formattype;
|
|
IUnknown *pUnk;
|
|
ULONG cbFormat;
|
|
BYTE *pbFormat;
|
|
} WM_MEDIA_TYPE;
|
|
typedef struct _WMWriterStatistics {
|
|
QWORD qwSampleCount;
|
|
QWORD qwByteCount;
|
|
QWORD qwDroppedSampleCount;
|
|
QWORD qwDroppedByteCount;
|
|
DWORD dwCurrentBitrate;
|
|
DWORD dwAverageBitrate;
|
|
DWORD dwExpectedBitrate;
|
|
DWORD dwCurrentSampleRate;
|
|
DWORD dwAverageSampleRate;
|
|
DWORD dwExpectedSampleRate;
|
|
} WM_WRITER_STATISTICS;
|
|
typedef struct _WMWriterStatisticsEx {
|
|
DWORD dwBitratePlusOverhead;
|
|
DWORD dwCurrentSampleDropRateInQueue;
|
|
DWORD dwCurrentSampleDropRateInCodec;
|
|
DWORD dwCurrentSampleDropRateInMultiplexer;
|
|
DWORD dwTotalSampleDropsInQueue;
|
|
DWORD dwTotalSampleDropsInCodec;
|
|
DWORD dwTotalSampleDropsInMultiplexer;
|
|
} WM_WRITER_STATISTICS_EX;
|
|
typedef struct _WMReaderStatistics {
|
|
DWORD cbSize;
|
|
DWORD dwBandwidth;
|
|
DWORD cPacketsReceived;
|
|
DWORD cPacketsRecovered;
|
|
DWORD cPacketsLost;
|
|
WORD wQuality;
|
|
} WM_READER_STATISTICS;
|
|
typedef struct _WMReaderClientInfo {
|
|
DWORD cbSize;
|
|
WCHAR *wszLang;
|
|
WCHAR *wszBrowserUserAgent;
|
|
WCHAR *wszBrowserWebPage;
|
|
QWORD qwReserved;
|
|
LPARAM *pReserved;
|
|
WCHAR *wszHostExe;
|
|
QWORD qwHostVersion;
|
|
WCHAR *wszPlayerUserAgent;
|
|
} WM_READER_CLIENTINFO;
|
|
typedef enum WMT_ATTR_DATATYPE {
|
|
WMT_TYPE_DWORD = 0,
|
|
WMT_TYPE_STRING = 1,
|
|
WMT_TYPE_BINARY = 2,
|
|
WMT_TYPE_BOOL = 3,
|
|
WMT_TYPE_QWORD = 4,
|
|
WMT_TYPE_WORD = 5,
|
|
WMT_TYPE_GUID = 6
|
|
} WMT_ATTR_DATATYPE;
|
|
typedef enum WMT_STATUS {
|
|
WMT_ERROR = 0,
|
|
WMT_OPENED = 1,
|
|
WMT_BUFFERING_START = 2,
|
|
WMT_BUFFERING_STOP = 3,
|
|
WMT_EOF = 4,
|
|
WMT_END_OF_FILE = 4,
|
|
WMT_END_OF_SEGMENT = 5,
|
|
WMT_END_OF_STREAMING = 6,
|
|
WMT_LOCATING = 7,
|
|
WMT_CONNECTING = 8,
|
|
WMT_NO_RIGHTS = 9,
|
|
WMT_MISSING_CODEC = 10,
|
|
WMT_STARTED = 11,
|
|
WMT_STOPPED = 12,
|
|
WMT_CLOSED = 13,
|
|
WMT_STRIDING = 14,
|
|
WMT_TIMER = 15,
|
|
WMT_INDEX_PROGRESS = 16,
|
|
WMT_SAVEAS_START = 17,
|
|
WMT_SAVEAS_STOP = 18,
|
|
WMT_NEW_SOURCEFLAGS = 19,
|
|
WMT_NEW_METADATA = 20,
|
|
WMT_BACKUPRESTORE_BEGIN = 21,
|
|
WMT_SOURCE_SWITCH = 22,
|
|
WMT_ACQUIRE_LICENSE = 23,
|
|
WMT_INDIVIDUALIZE = 24,
|
|
WMT_NEEDS_INDIVIDUALIZATION = 25,
|
|
WMT_NO_RIGHTS_EX = 26,
|
|
WMT_BACKUPRESTORE_END = 27,
|
|
WMT_BACKUPRESTORE_CONNECTING = 28,
|
|
WMT_BACKUPRESTORE_DISCONNECTING = 29,
|
|
WMT_ERROR_WITHURL = 30,
|
|
WMT_RESTRICTED_LICENSE = 31,
|
|
WMT_CLIENT_CONNECT = 32,
|
|
WMT_CLIENT_DISCONNECT = 33,
|
|
WMT_NATIVE_OUTPUT_PROPS_CHANGED = 34,
|
|
WMT_RECONNECT_START = 35,
|
|
WMT_RECONNECT_END = 36,
|
|
WMT_CLIENT_CONNECT_EX = 37,
|
|
WMT_CLIENT_DISCONNECT_EX = 38,
|
|
WMT_SET_FEC_SPAN = 39,
|
|
WMT_PREROLL_READY = 40,
|
|
WMT_PREROLL_COMPLETE = 41,
|
|
WMT_CLIENT_PROPERTIES = 42,
|
|
WMT_LICENSEURL_SIGNATURE_STATE = 43,
|
|
WMT_INIT_PLAYLIST_BURN = 44,
|
|
WMT_TRANSCRYPTOR_INIT = 45,
|
|
WMT_TRANSCRYPTOR_SEEKED = 46,
|
|
WMT_TRANSCRYPTOR_READ = 47,
|
|
WMT_TRANSCRYPTOR_CLOSED = 48,
|
|
WMT_PROXIMITY_RESULT = 49,
|
|
WMT_PROXIMITY_COMPLETED = 50,
|
|
WMT_CONTENT_ENABLER = 51
|
|
} WMT_STATUS;
|
|
typedef enum WMT_STREAM_SELECTION {
|
|
WMT_OFF = 0,
|
|
WMT_CLEANPOINT_ONLY = 1,
|
|
WMT_ON = 2
|
|
} WMT_STREAM_SELECTION;
|
|
typedef enum WMT_VERSION {
|
|
WMT_VER_4_0 = 0x40000,
|
|
WMT_VER_7_0 = 0x70000,
|
|
WMT_VER_8_0 = 0x80000,
|
|
WMT_VER_9_0 = 0x90000
|
|
} WMT_VERSION;
|
|
typedef enum WMT_PLAY_MODE {
|
|
WMT_PLAY_MODE_AUTOSELECT = 0,
|
|
WMT_PLAY_MODE_LOCAL = 1,
|
|
WMT_PLAY_MODE_DOWNLOAD = 2,
|
|
WMT_PLAY_MODE_STREAMING = 3
|
|
} WMT_PLAY_MODE;
|
|
typedef enum tagWMT_OFFSET_FORMAT {
|
|
WMT_OFFSET_FORMAT_100NS = 0,
|
|
WMT_OFFSET_FORMAT_FRAME_NUMBERS = 1,
|
|
WMT_OFFSET_FORMAT_PLAYLIST_OFFSET = 2,
|
|
WMT_OFFSET_FORMAT_TIMECODE = 3,
|
|
WMT_OFFSET_FORMAT_100NS_APPROXIMATE = 4
|
|
} WMT_OFFSET_FORMAT;
|
|
typedef enum WMT_CODEC_INFO_TYPE {
|
|
WMT_CODECINFO_AUDIO = 0,
|
|
WMT_CODECINFO_VIDEO = 1,
|
|
WMT_CODECINFO_UNKNOWN = 0xffffffff
|
|
} WMT_CODEC_INFO_TYPE;
|
|
typedef enum WMT_PROXY_SETTINGS {
|
|
WMT_PROXY_SETTING_NONE = 0,
|
|
WMT_PROXY_SETTING_MANUAL = 1,
|
|
WMT_PROXY_SETTING_AUTO = 2,
|
|
WMT_PROXY_SETTING_BROWSER = 3,
|
|
WMT_PROXY_SETTING_MAX = 4
|
|
} WMT_PROXY_SETTINGS;
|
|
typedef enum tagWMT_STORAGE_FORMAT {
|
|
WMT_Storage_Format_MP3 = 0,
|
|
WMT_Storage_Format_V1 = 1
|
|
} WMT_STORAGE_FORMAT;
|
|
typedef struct _WMStreamPrioritizationRecord {
|
|
WORD wStreamNumber;
|
|
WINBOOL fMandatory;
|
|
} WM_STREAM_PRIORITY_RECORD;
|
|
typedef struct _WM_PORT_NUMBER_RANGE {
|
|
WORD wPortBegin;
|
|
WORD wPortEnd;
|
|
} WM_PORT_NUMBER_RANGE;
|
|
typedef LPCWSTR LPCWSTR_WMSDK_TYPE_SAFE;
|
|
/*****************************************************************************
|
|
* IWMStatusCallback interface
|
|
*/
|
|
#ifndef __IWMStatusCallback_INTERFACE_DEFINED__
|
|
#define __IWMStatusCallback_INTERFACE_DEFINED__
|
|
|
|
DEFINE_GUID(IID_IWMStatusCallback, 0x6d7cdc70, 0x9888, 0x11d3, 0x8e,0xdc, 0x00,0xc0,0x4f,0x61,0x09,0xcf);
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
MIDL_INTERFACE("6d7cdc70-9888-11d3-8edc-00c04f6109cf")
|
|
IWMStatusCallback : public IUnknown
|
|
{
|
|
virtual HRESULT STDMETHODCALLTYPE OnStatus(
|
|
WMT_STATUS Status,
|
|
HRESULT hr,
|
|
WMT_ATTR_DATATYPE dwType,
|
|
BYTE *pValue,
|
|
void *pvContext) = 0;
|
|
|
|
};
|
|
#ifdef __CRT_UUID_DECL
|
|
__CRT_UUID_DECL(IWMStatusCallback, 0x6d7cdc70, 0x9888, 0x11d3, 0x8e,0xdc, 0x00,0xc0,0x4f,0x61,0x09,0xcf)
|
|
#endif
|
|
#else
|
|
typedef struct IWMStatusCallbackVtbl {
|
|
BEGIN_INTERFACE
|
|
|
|
/*** IUnknown methods ***/
|
|
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
|
|
IWMStatusCallback *This,
|
|
REFIID riid,
|
|
void **ppvObject);
|
|
|
|
ULONG (STDMETHODCALLTYPE *AddRef)(
|
|
IWMStatusCallback *This);
|
|
|
|
ULONG (STDMETHODCALLTYPE *Release)(
|
|
IWMStatusCallback *This);
|
|
|
|
/*** IWMStatusCallback methods ***/
|
|
HRESULT (STDMETHODCALLTYPE *OnStatus)(
|
|
IWMStatusCallback *This,
|
|
WMT_STATUS Status,
|
|
HRESULT hr,
|
|
WMT_ATTR_DATATYPE dwType,
|
|
BYTE *pValue,
|
|
void *pvContext);
|
|
|
|
END_INTERFACE
|
|
} IWMStatusCallbackVtbl;
|
|
|
|
interface IWMStatusCallback {
|
|
CONST_VTBL IWMStatusCallbackVtbl* lpVtbl;
|
|
};
|
|
|
|
#ifdef COBJMACROS
|
|
#ifndef WIDL_C_INLINE_WRAPPERS
|
|
/*** IUnknown methods ***/
|
|
#define IWMStatusCallback_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
|
|
#define IWMStatusCallback_AddRef(This) (This)->lpVtbl->AddRef(This)
|
|
#define IWMStatusCallback_Release(This) (This)->lpVtbl->Release(This)
|
|
/*** IWMStatusCallback methods ***/
|
|
#define IWMStatusCallback_OnStatus(This,Status,hr,dwType,pValue,pvContext) (This)->lpVtbl->OnStatus(This,Status,hr,dwType,pValue,pvContext)
|
|
#else
|
|
/*** IUnknown methods ***/
|
|
static FORCEINLINE HRESULT IWMStatusCallback_QueryInterface(IWMStatusCallback* This,REFIID riid,void **ppvObject) {
|
|
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
|
|
}
|
|
static FORCEINLINE ULONG IWMStatusCallback_AddRef(IWMStatusCallback* This) {
|
|
return This->lpVtbl->AddRef(This);
|
|
}
|
|
static FORCEINLINE ULONG IWMStatusCallback_Release(IWMStatusCallback* This) {
|
|
return This->lpVtbl->Release(This);
|
|
}
|
|
/*** IWMStatusCallback methods ***/
|
|
static FORCEINLINE HRESULT IWMStatusCallback_OnStatus(IWMStatusCallback* This,WMT_STATUS Status,HRESULT hr,WMT_ATTR_DATATYPE dwType,BYTE *pValue,void *pvContext) {
|
|
return This->lpVtbl->OnStatus(This,Status,hr,dwType,pValue,pvContext);
|
|
}
|
|
#endif
|
|
#endif
|
|
|
|
#endif
|
|
|
|
|
|
#endif /* __IWMStatusCallback_INTERFACE_DEFINED__ */
|
|
|
|
/*****************************************************************************
|
|
* IWMReaderCallback interface
|
|
*/
|
|
#ifndef __IWMReaderCallback_INTERFACE_DEFINED__
|
|
#define __IWMReaderCallback_INTERFACE_DEFINED__
|
|
|
|
DEFINE_GUID(IID_IWMReaderCallback, 0x96406bd8, 0x2b2b, 0x11d3, 0xb3,0x6b, 0x00,0xc0,0x4f,0x61,0x08,0xff);
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
MIDL_INTERFACE("96406bd8-2b2b-11d3-b36b-00c04f6108ff")
|
|
IWMReaderCallback : public IWMStatusCallback
|
|
{
|
|
virtual HRESULT STDMETHODCALLTYPE OnSample(
|
|
DWORD dwOutputNum,
|
|
QWORD cnsSampleTime,
|
|
QWORD cnsSampleDuration,
|
|
DWORD dwFlags,
|
|
INSSBuffer *pSample,
|
|
void *pvContext) = 0;
|
|
|
|
};
|
|
#ifdef __CRT_UUID_DECL
|
|
__CRT_UUID_DECL(IWMReaderCallback, 0x96406bd8, 0x2b2b, 0x11d3, 0xb3,0x6b, 0x00,0xc0,0x4f,0x61,0x08,0xff)
|
|
#endif
|
|
#else
|
|
typedef struct IWMReaderCallbackVtbl {
|
|
BEGIN_INTERFACE
|
|
|
|
/*** IUnknown methods ***/
|
|
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
|
|
IWMReaderCallback *This,
|
|
REFIID riid,
|
|
void **ppvObject);
|
|
|
|
ULONG (STDMETHODCALLTYPE *AddRef)(
|
|
IWMReaderCallback *This);
|
|
|
|
ULONG (STDMETHODCALLTYPE *Release)(
|
|
IWMReaderCallback *This);
|
|
|
|
/*** IWMStatusCallback methods ***/
|
|
HRESULT (STDMETHODCALLTYPE *OnStatus)(
|
|
IWMReaderCallback *This,
|
|
WMT_STATUS Status,
|
|
HRESULT hr,
|
|
WMT_ATTR_DATATYPE dwType,
|
|
BYTE *pValue,
|
|
void *pvContext);
|
|
|
|
/*** IWMReaderCallback methods ***/
|
|
HRESULT (STDMETHODCALLTYPE *OnSample)(
|
|
IWMReaderCallback *This,
|
|
DWORD dwOutputNum,
|
|
QWORD cnsSampleTime,
|
|
QWORD cnsSampleDuration,
|
|
DWORD dwFlags,
|
|
INSSBuffer *pSample,
|
|
void *pvContext);
|
|
|
|
END_INTERFACE
|
|
} IWMReaderCallbackVtbl;
|
|
|
|
interface IWMReaderCallback {
|
|
CONST_VTBL IWMReaderCallbackVtbl* lpVtbl;
|
|
};
|
|
|
|
#ifdef COBJMACROS
|
|
#ifndef WIDL_C_INLINE_WRAPPERS
|
|
/*** IUnknown methods ***/
|
|
#define IWMReaderCallback_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
|
|
#define IWMReaderCallback_AddRef(This) (This)->lpVtbl->AddRef(This)
|
|
#define IWMReaderCallback_Release(This) (This)->lpVtbl->Release(This)
|
|
/*** IWMStatusCallback methods ***/
|
|
#define IWMReaderCallback_OnStatus(This,Status,hr,dwType,pValue,pvContext) (This)->lpVtbl->OnStatus(This,Status,hr,dwType,pValue,pvContext)
|
|
/*** IWMReaderCallback methods ***/
|
|
#define IWMReaderCallback_OnSample(This,dwOutputNum,cnsSampleTime,cnsSampleDuration,dwFlags,pSample,pvContext) (This)->lpVtbl->OnSample(This,dwOutputNum,cnsSampleTime,cnsSampleDuration,dwFlags,pSample,pvContext)
|
|
#else
|
|
/*** IUnknown methods ***/
|
|
static FORCEINLINE HRESULT IWMReaderCallback_QueryInterface(IWMReaderCallback* This,REFIID riid,void **ppvObject) {
|
|
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
|
|
}
|
|
static FORCEINLINE ULONG IWMReaderCallback_AddRef(IWMReaderCallback* This) {
|
|
return This->lpVtbl->AddRef(This);
|
|
}
|
|
static FORCEINLINE ULONG IWMReaderCallback_Release(IWMReaderCallback* This) {
|
|
return This->lpVtbl->Release(This);
|
|
}
|
|
/*** IWMStatusCallback methods ***/
|
|
static FORCEINLINE HRESULT IWMReaderCallback_OnStatus(IWMReaderCallback* This,WMT_STATUS Status,HRESULT hr,WMT_ATTR_DATATYPE dwType,BYTE *pValue,void *pvContext) {
|
|
return This->lpVtbl->OnStatus(This,Status,hr,dwType,pValue,pvContext);
|
|
}
|
|
/*** IWMReaderCallback methods ***/
|
|
static FORCEINLINE HRESULT IWMReaderCallback_OnSample(IWMReaderCallback* This,DWORD dwOutputNum,QWORD cnsSampleTime,QWORD cnsSampleDuration,DWORD dwFlags,INSSBuffer *pSample,void *pvContext) {
|
|
return This->lpVtbl->OnSample(This,dwOutputNum,cnsSampleTime,cnsSampleDuration,dwFlags,pSample,pvContext);
|
|
}
|
|
#endif
|
|
#endif
|
|
|
|
#endif
|
|
|
|
|
|
#endif /* __IWMReaderCallback_INTERFACE_DEFINED__ */
|
|
|
|
/*****************************************************************************
|
|
* IWMStreamList interface
|
|
*/
|
|
#ifndef __IWMStreamList_INTERFACE_DEFINED__
|
|
#define __IWMStreamList_INTERFACE_DEFINED__
|
|
|
|
DEFINE_GUID(IID_IWMStreamList, 0x96406bdd, 0x2b2b, 0x11d3, 0xb3,0x6b, 0x00,0xc0,0x4f,0x61,0x08,0xff);
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
MIDL_INTERFACE("96406bdd-2b2b-11d3-b36b-00c04f6108ff")
|
|
IWMStreamList : public IUnknown
|
|
{
|
|
virtual HRESULT STDMETHODCALLTYPE GetStreams(
|
|
WORD *pwStreamNumArray,
|
|
WORD *pcStreams) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE AddStream(
|
|
WORD wStreamNum) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE RemoveStream(
|
|
WORD wStreamNum) = 0;
|
|
|
|
};
|
|
#ifdef __CRT_UUID_DECL
|
|
__CRT_UUID_DECL(IWMStreamList, 0x96406bdd, 0x2b2b, 0x11d3, 0xb3,0x6b, 0x00,0xc0,0x4f,0x61,0x08,0xff)
|
|
#endif
|
|
#else
|
|
typedef struct IWMStreamListVtbl {
|
|
BEGIN_INTERFACE
|
|
|
|
/*** IUnknown methods ***/
|
|
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
|
|
IWMStreamList *This,
|
|
REFIID riid,
|
|
void **ppvObject);
|
|
|
|
ULONG (STDMETHODCALLTYPE *AddRef)(
|
|
IWMStreamList *This);
|
|
|
|
ULONG (STDMETHODCALLTYPE *Release)(
|
|
IWMStreamList *This);
|
|
|
|
/*** IWMStreamList methods ***/
|
|
HRESULT (STDMETHODCALLTYPE *GetStreams)(
|
|
IWMStreamList *This,
|
|
WORD *pwStreamNumArray,
|
|
WORD *pcStreams);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *AddStream)(
|
|
IWMStreamList *This,
|
|
WORD wStreamNum);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *RemoveStream)(
|
|
IWMStreamList *This,
|
|
WORD wStreamNum);
|
|
|
|
END_INTERFACE
|
|
} IWMStreamListVtbl;
|
|
|
|
interface IWMStreamList {
|
|
CONST_VTBL IWMStreamListVtbl* lpVtbl;
|
|
};
|
|
|
|
#ifdef COBJMACROS
|
|
#ifndef WIDL_C_INLINE_WRAPPERS
|
|
/*** IUnknown methods ***/
|
|
#define IWMStreamList_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
|
|
#define IWMStreamList_AddRef(This) (This)->lpVtbl->AddRef(This)
|
|
#define IWMStreamList_Release(This) (This)->lpVtbl->Release(This)
|
|
/*** IWMStreamList methods ***/
|
|
#define IWMStreamList_GetStreams(This,pwStreamNumArray,pcStreams) (This)->lpVtbl->GetStreams(This,pwStreamNumArray,pcStreams)
|
|
#define IWMStreamList_AddStream(This,wStreamNum) (This)->lpVtbl->AddStream(This,wStreamNum)
|
|
#define IWMStreamList_RemoveStream(This,wStreamNum) (This)->lpVtbl->RemoveStream(This,wStreamNum)
|
|
#else
|
|
/*** IUnknown methods ***/
|
|
static FORCEINLINE HRESULT IWMStreamList_QueryInterface(IWMStreamList* This,REFIID riid,void **ppvObject) {
|
|
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
|
|
}
|
|
static FORCEINLINE ULONG IWMStreamList_AddRef(IWMStreamList* This) {
|
|
return This->lpVtbl->AddRef(This);
|
|
}
|
|
static FORCEINLINE ULONG IWMStreamList_Release(IWMStreamList* This) {
|
|
return This->lpVtbl->Release(This);
|
|
}
|
|
/*** IWMStreamList methods ***/
|
|
static FORCEINLINE HRESULT IWMStreamList_GetStreams(IWMStreamList* This,WORD *pwStreamNumArray,WORD *pcStreams) {
|
|
return This->lpVtbl->GetStreams(This,pwStreamNumArray,pcStreams);
|
|
}
|
|
static FORCEINLINE HRESULT IWMStreamList_AddStream(IWMStreamList* This,WORD wStreamNum) {
|
|
return This->lpVtbl->AddStream(This,wStreamNum);
|
|
}
|
|
static FORCEINLINE HRESULT IWMStreamList_RemoveStream(IWMStreamList* This,WORD wStreamNum) {
|
|
return This->lpVtbl->RemoveStream(This,wStreamNum);
|
|
}
|
|
#endif
|
|
#endif
|
|
|
|
#endif
|
|
|
|
|
|
#endif /* __IWMStreamList_INTERFACE_DEFINED__ */
|
|
|
|
/*****************************************************************************
|
|
* IWMMutualExclusion interface
|
|
*/
|
|
#ifndef __IWMMutualExclusion_INTERFACE_DEFINED__
|
|
#define __IWMMutualExclusion_INTERFACE_DEFINED__
|
|
|
|
DEFINE_GUID(IID_IWMMutualExclusion, 0x96406bde, 0x2b2b, 0x11d3, 0xb3,0x6b, 0x00,0xc0,0x4f,0x61,0x08,0xff);
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
MIDL_INTERFACE("96406bde-2b2b-11d3-b36b-00c04f6108ff")
|
|
IWMMutualExclusion : public IWMStreamList
|
|
{
|
|
virtual HRESULT STDMETHODCALLTYPE GetType(
|
|
GUID *pguidType) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE SetType(
|
|
REFGUID guidType) = 0;
|
|
|
|
};
|
|
#ifdef __CRT_UUID_DECL
|
|
__CRT_UUID_DECL(IWMMutualExclusion, 0x96406bde, 0x2b2b, 0x11d3, 0xb3,0x6b, 0x00,0xc0,0x4f,0x61,0x08,0xff)
|
|
#endif
|
|
#else
|
|
typedef struct IWMMutualExclusionVtbl {
|
|
BEGIN_INTERFACE
|
|
|
|
/*** IUnknown methods ***/
|
|
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
|
|
IWMMutualExclusion *This,
|
|
REFIID riid,
|
|
void **ppvObject);
|
|
|
|
ULONG (STDMETHODCALLTYPE *AddRef)(
|
|
IWMMutualExclusion *This);
|
|
|
|
ULONG (STDMETHODCALLTYPE *Release)(
|
|
IWMMutualExclusion *This);
|
|
|
|
/*** IWMStreamList methods ***/
|
|
HRESULT (STDMETHODCALLTYPE *GetStreams)(
|
|
IWMMutualExclusion *This,
|
|
WORD *pwStreamNumArray,
|
|
WORD *pcStreams);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *AddStream)(
|
|
IWMMutualExclusion *This,
|
|
WORD wStreamNum);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *RemoveStream)(
|
|
IWMMutualExclusion *This,
|
|
WORD wStreamNum);
|
|
|
|
/*** IWMMutualExclusion methods ***/
|
|
HRESULT (STDMETHODCALLTYPE *GetType)(
|
|
IWMMutualExclusion *This,
|
|
GUID *pguidType);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetType)(
|
|
IWMMutualExclusion *This,
|
|
REFGUID guidType);
|
|
|
|
END_INTERFACE
|
|
} IWMMutualExclusionVtbl;
|
|
|
|
interface IWMMutualExclusion {
|
|
CONST_VTBL IWMMutualExclusionVtbl* lpVtbl;
|
|
};
|
|
|
|
#ifdef COBJMACROS
|
|
#ifndef WIDL_C_INLINE_WRAPPERS
|
|
/*** IUnknown methods ***/
|
|
#define IWMMutualExclusion_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
|
|
#define IWMMutualExclusion_AddRef(This) (This)->lpVtbl->AddRef(This)
|
|
#define IWMMutualExclusion_Release(This) (This)->lpVtbl->Release(This)
|
|
/*** IWMStreamList methods ***/
|
|
#define IWMMutualExclusion_GetStreams(This,pwStreamNumArray,pcStreams) (This)->lpVtbl->GetStreams(This,pwStreamNumArray,pcStreams)
|
|
#define IWMMutualExclusion_AddStream(This,wStreamNum) (This)->lpVtbl->AddStream(This,wStreamNum)
|
|
#define IWMMutualExclusion_RemoveStream(This,wStreamNum) (This)->lpVtbl->RemoveStream(This,wStreamNum)
|
|
/*** IWMMutualExclusion methods ***/
|
|
#define IWMMutualExclusion_GetType(This,pguidType) (This)->lpVtbl->GetType(This,pguidType)
|
|
#define IWMMutualExclusion_SetType(This,guidType) (This)->lpVtbl->SetType(This,guidType)
|
|
#else
|
|
/*** IUnknown methods ***/
|
|
static FORCEINLINE HRESULT IWMMutualExclusion_QueryInterface(IWMMutualExclusion* This,REFIID riid,void **ppvObject) {
|
|
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
|
|
}
|
|
static FORCEINLINE ULONG IWMMutualExclusion_AddRef(IWMMutualExclusion* This) {
|
|
return This->lpVtbl->AddRef(This);
|
|
}
|
|
static FORCEINLINE ULONG IWMMutualExclusion_Release(IWMMutualExclusion* This) {
|
|
return This->lpVtbl->Release(This);
|
|
}
|
|
/*** IWMStreamList methods ***/
|
|
static FORCEINLINE HRESULT IWMMutualExclusion_GetStreams(IWMMutualExclusion* This,WORD *pwStreamNumArray,WORD *pcStreams) {
|
|
return This->lpVtbl->GetStreams(This,pwStreamNumArray,pcStreams);
|
|
}
|
|
static FORCEINLINE HRESULT IWMMutualExclusion_AddStream(IWMMutualExclusion* This,WORD wStreamNum) {
|
|
return This->lpVtbl->AddStream(This,wStreamNum);
|
|
}
|
|
static FORCEINLINE HRESULT IWMMutualExclusion_RemoveStream(IWMMutualExclusion* This,WORD wStreamNum) {
|
|
return This->lpVtbl->RemoveStream(This,wStreamNum);
|
|
}
|
|
/*** IWMMutualExclusion methods ***/
|
|
static FORCEINLINE HRESULT IWMMutualExclusion_GetType(IWMMutualExclusion* This,GUID *pguidType) {
|
|
return This->lpVtbl->GetType(This,pguidType);
|
|
}
|
|
static FORCEINLINE HRESULT IWMMutualExclusion_SetType(IWMMutualExclusion* This,REFGUID guidType) {
|
|
return This->lpVtbl->SetType(This,guidType);
|
|
}
|
|
#endif
|
|
#endif
|
|
|
|
#endif
|
|
|
|
|
|
#endif /* __IWMMutualExclusion_INTERFACE_DEFINED__ */
|
|
|
|
/*****************************************************************************
|
|
* IWMBandwidthSharing interface
|
|
*/
|
|
#ifndef __IWMBandwidthSharing_INTERFACE_DEFINED__
|
|
#define __IWMBandwidthSharing_INTERFACE_DEFINED__
|
|
|
|
DEFINE_GUID(IID_IWMBandwidthSharing, 0xad694af1, 0xf8d9, 0x42f8, 0xbc,0x47, 0x70,0x31,0x1b,0x0c,0x4f,0x9e);
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
MIDL_INTERFACE("ad694af1-f8d9-42f8-bc47-70311b0c4f9e")
|
|
IWMBandwidthSharing : public IWMStreamList
|
|
{
|
|
virtual HRESULT STDMETHODCALLTYPE GetType(
|
|
GUID *guid) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE SetType(
|
|
REFGUID guid) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetBandwidth(
|
|
DWORD *bitrate,
|
|
DWORD *buffer) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE SetBandwidth(
|
|
DWORD bitrate,
|
|
DWORD buffer) = 0;
|
|
|
|
};
|
|
#ifdef __CRT_UUID_DECL
|
|
__CRT_UUID_DECL(IWMBandwidthSharing, 0xad694af1, 0xf8d9, 0x42f8, 0xbc,0x47, 0x70,0x31,0x1b,0x0c,0x4f,0x9e)
|
|
#endif
|
|
#else
|
|
typedef struct IWMBandwidthSharingVtbl {
|
|
BEGIN_INTERFACE
|
|
|
|
/*** IUnknown methods ***/
|
|
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
|
|
IWMBandwidthSharing *This,
|
|
REFIID riid,
|
|
void **ppvObject);
|
|
|
|
ULONG (STDMETHODCALLTYPE *AddRef)(
|
|
IWMBandwidthSharing *This);
|
|
|
|
ULONG (STDMETHODCALLTYPE *Release)(
|
|
IWMBandwidthSharing *This);
|
|
|
|
/*** IWMStreamList methods ***/
|
|
HRESULT (STDMETHODCALLTYPE *GetStreams)(
|
|
IWMBandwidthSharing *This,
|
|
WORD *pwStreamNumArray,
|
|
WORD *pcStreams);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *AddStream)(
|
|
IWMBandwidthSharing *This,
|
|
WORD wStreamNum);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *RemoveStream)(
|
|
IWMBandwidthSharing *This,
|
|
WORD wStreamNum);
|
|
|
|
/*** IWMBandwidthSharing methods ***/
|
|
HRESULT (STDMETHODCALLTYPE *GetType)(
|
|
IWMBandwidthSharing *This,
|
|
GUID *guid);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetType)(
|
|
IWMBandwidthSharing *This,
|
|
REFGUID guid);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetBandwidth)(
|
|
IWMBandwidthSharing *This,
|
|
DWORD *bitrate,
|
|
DWORD *buffer);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetBandwidth)(
|
|
IWMBandwidthSharing *This,
|
|
DWORD bitrate,
|
|
DWORD buffer);
|
|
|
|
END_INTERFACE
|
|
} IWMBandwidthSharingVtbl;
|
|
|
|
interface IWMBandwidthSharing {
|
|
CONST_VTBL IWMBandwidthSharingVtbl* lpVtbl;
|
|
};
|
|
|
|
#ifdef COBJMACROS
|
|
#ifndef WIDL_C_INLINE_WRAPPERS
|
|
/*** IUnknown methods ***/
|
|
#define IWMBandwidthSharing_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
|
|
#define IWMBandwidthSharing_AddRef(This) (This)->lpVtbl->AddRef(This)
|
|
#define IWMBandwidthSharing_Release(This) (This)->lpVtbl->Release(This)
|
|
/*** IWMStreamList methods ***/
|
|
#define IWMBandwidthSharing_GetStreams(This,pwStreamNumArray,pcStreams) (This)->lpVtbl->GetStreams(This,pwStreamNumArray,pcStreams)
|
|
#define IWMBandwidthSharing_AddStream(This,wStreamNum) (This)->lpVtbl->AddStream(This,wStreamNum)
|
|
#define IWMBandwidthSharing_RemoveStream(This,wStreamNum) (This)->lpVtbl->RemoveStream(This,wStreamNum)
|
|
/*** IWMBandwidthSharing methods ***/
|
|
#define IWMBandwidthSharing_GetType(This,guid) (This)->lpVtbl->GetType(This,guid)
|
|
#define IWMBandwidthSharing_SetType(This,guid) (This)->lpVtbl->SetType(This,guid)
|
|
#define IWMBandwidthSharing_GetBandwidth(This,bitrate,buffer) (This)->lpVtbl->GetBandwidth(This,bitrate,buffer)
|
|
#define IWMBandwidthSharing_SetBandwidth(This,bitrate,buffer) (This)->lpVtbl->SetBandwidth(This,bitrate,buffer)
|
|
#else
|
|
/*** IUnknown methods ***/
|
|
static FORCEINLINE HRESULT IWMBandwidthSharing_QueryInterface(IWMBandwidthSharing* This,REFIID riid,void **ppvObject) {
|
|
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
|
|
}
|
|
static FORCEINLINE ULONG IWMBandwidthSharing_AddRef(IWMBandwidthSharing* This) {
|
|
return This->lpVtbl->AddRef(This);
|
|
}
|
|
static FORCEINLINE ULONG IWMBandwidthSharing_Release(IWMBandwidthSharing* This) {
|
|
return This->lpVtbl->Release(This);
|
|
}
|
|
/*** IWMStreamList methods ***/
|
|
static FORCEINLINE HRESULT IWMBandwidthSharing_GetStreams(IWMBandwidthSharing* This,WORD *pwStreamNumArray,WORD *pcStreams) {
|
|
return This->lpVtbl->GetStreams(This,pwStreamNumArray,pcStreams);
|
|
}
|
|
static FORCEINLINE HRESULT IWMBandwidthSharing_AddStream(IWMBandwidthSharing* This,WORD wStreamNum) {
|
|
return This->lpVtbl->AddStream(This,wStreamNum);
|
|
}
|
|
static FORCEINLINE HRESULT IWMBandwidthSharing_RemoveStream(IWMBandwidthSharing* This,WORD wStreamNum) {
|
|
return This->lpVtbl->RemoveStream(This,wStreamNum);
|
|
}
|
|
/*** IWMBandwidthSharing methods ***/
|
|
static FORCEINLINE HRESULT IWMBandwidthSharing_GetType(IWMBandwidthSharing* This,GUID *guid) {
|
|
return This->lpVtbl->GetType(This,guid);
|
|
}
|
|
static FORCEINLINE HRESULT IWMBandwidthSharing_SetType(IWMBandwidthSharing* This,REFGUID guid) {
|
|
return This->lpVtbl->SetType(This,guid);
|
|
}
|
|
static FORCEINLINE HRESULT IWMBandwidthSharing_GetBandwidth(IWMBandwidthSharing* This,DWORD *bitrate,DWORD *buffer) {
|
|
return This->lpVtbl->GetBandwidth(This,bitrate,buffer);
|
|
}
|
|
static FORCEINLINE HRESULT IWMBandwidthSharing_SetBandwidth(IWMBandwidthSharing* This,DWORD bitrate,DWORD buffer) {
|
|
return This->lpVtbl->SetBandwidth(This,bitrate,buffer);
|
|
}
|
|
#endif
|
|
#endif
|
|
|
|
#endif
|
|
|
|
|
|
#endif /* __IWMBandwidthSharing_INTERFACE_DEFINED__ */
|
|
|
|
/*****************************************************************************
|
|
* IWMStreamPrioritization interface
|
|
*/
|
|
#ifndef __IWMStreamPrioritization_INTERFACE_DEFINED__
|
|
#define __IWMStreamPrioritization_INTERFACE_DEFINED__
|
|
|
|
DEFINE_GUID(IID_IWMStreamPrioritization, 0x8c1c6090, 0xf9a8, 0x4748, 0x8e,0xc3, 0xdd,0x11,0x08,0xba,0x1e,0x77);
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
MIDL_INTERFACE("8c1c6090-f9a8-4748-8ec3-dd1108ba1e77")
|
|
IWMStreamPrioritization : public IUnknown
|
|
{
|
|
virtual HRESULT STDMETHODCALLTYPE GetPriorityRecords(
|
|
WM_STREAM_PRIORITY_RECORD *array,
|
|
WORD *records) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE SetPriorityRecords(
|
|
WM_STREAM_PRIORITY_RECORD *array,
|
|
WORD records) = 0;
|
|
|
|
};
|
|
#ifdef __CRT_UUID_DECL
|
|
__CRT_UUID_DECL(IWMStreamPrioritization, 0x8c1c6090, 0xf9a8, 0x4748, 0x8e,0xc3, 0xdd,0x11,0x08,0xba,0x1e,0x77)
|
|
#endif
|
|
#else
|
|
typedef struct IWMStreamPrioritizationVtbl {
|
|
BEGIN_INTERFACE
|
|
|
|
/*** IUnknown methods ***/
|
|
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
|
|
IWMStreamPrioritization *This,
|
|
REFIID riid,
|
|
void **ppvObject);
|
|
|
|
ULONG (STDMETHODCALLTYPE *AddRef)(
|
|
IWMStreamPrioritization *This);
|
|
|
|
ULONG (STDMETHODCALLTYPE *Release)(
|
|
IWMStreamPrioritization *This);
|
|
|
|
/*** IWMStreamPrioritization methods ***/
|
|
HRESULT (STDMETHODCALLTYPE *GetPriorityRecords)(
|
|
IWMStreamPrioritization *This,
|
|
WM_STREAM_PRIORITY_RECORD *array,
|
|
WORD *records);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetPriorityRecords)(
|
|
IWMStreamPrioritization *This,
|
|
WM_STREAM_PRIORITY_RECORD *array,
|
|
WORD records);
|
|
|
|
END_INTERFACE
|
|
} IWMStreamPrioritizationVtbl;
|
|
|
|
interface IWMStreamPrioritization {
|
|
CONST_VTBL IWMStreamPrioritizationVtbl* lpVtbl;
|
|
};
|
|
|
|
#ifdef COBJMACROS
|
|
#ifndef WIDL_C_INLINE_WRAPPERS
|
|
/*** IUnknown methods ***/
|
|
#define IWMStreamPrioritization_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
|
|
#define IWMStreamPrioritization_AddRef(This) (This)->lpVtbl->AddRef(This)
|
|
#define IWMStreamPrioritization_Release(This) (This)->lpVtbl->Release(This)
|
|
/*** IWMStreamPrioritization methods ***/
|
|
#define IWMStreamPrioritization_GetPriorityRecords(This,array,records) (This)->lpVtbl->GetPriorityRecords(This,array,records)
|
|
#define IWMStreamPrioritization_SetPriorityRecords(This,array,records) (This)->lpVtbl->SetPriorityRecords(This,array,records)
|
|
#else
|
|
/*** IUnknown methods ***/
|
|
static FORCEINLINE HRESULT IWMStreamPrioritization_QueryInterface(IWMStreamPrioritization* This,REFIID riid,void **ppvObject) {
|
|
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
|
|
}
|
|
static FORCEINLINE ULONG IWMStreamPrioritization_AddRef(IWMStreamPrioritization* This) {
|
|
return This->lpVtbl->AddRef(This);
|
|
}
|
|
static FORCEINLINE ULONG IWMStreamPrioritization_Release(IWMStreamPrioritization* This) {
|
|
return This->lpVtbl->Release(This);
|
|
}
|
|
/*** IWMStreamPrioritization methods ***/
|
|
static FORCEINLINE HRESULT IWMStreamPrioritization_GetPriorityRecords(IWMStreamPrioritization* This,WM_STREAM_PRIORITY_RECORD *array,WORD *records) {
|
|
return This->lpVtbl->GetPriorityRecords(This,array,records);
|
|
}
|
|
static FORCEINLINE HRESULT IWMStreamPrioritization_SetPriorityRecords(IWMStreamPrioritization* This,WM_STREAM_PRIORITY_RECORD *array,WORD records) {
|
|
return This->lpVtbl->SetPriorityRecords(This,array,records);
|
|
}
|
|
#endif
|
|
#endif
|
|
|
|
#endif
|
|
|
|
|
|
#endif /* __IWMStreamPrioritization_INTERFACE_DEFINED__ */
|
|
|
|
/*****************************************************************************
|
|
* IWMStreamConfig interface
|
|
*/
|
|
#ifndef __IWMStreamConfig_INTERFACE_DEFINED__
|
|
#define __IWMStreamConfig_INTERFACE_DEFINED__
|
|
|
|
DEFINE_GUID(IID_IWMStreamConfig, 0x96406bdc, 0x2b2b, 0x11d3, 0xb3,0x6b, 0x00,0xc0,0x4f,0x61,0x08,0xff);
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
MIDL_INTERFACE("96406bdc-2b2b-11d3-b36b-00c04f6108ff")
|
|
IWMStreamConfig : public IUnknown
|
|
{
|
|
virtual HRESULT STDMETHODCALLTYPE GetStreamType(
|
|
GUID *pguidStreamType) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetStreamNumber(
|
|
WORD *pwStreamNum) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE SetStreamNumber(
|
|
WORD wStreamNum) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetStreamName(
|
|
WCHAR *pwszStreamName,
|
|
WORD *pcchStreamName) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE SetStreamName(
|
|
LPCWSTR_WMSDK_TYPE_SAFE pwszStreamName) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetConnectionName(
|
|
WCHAR *pwszInputName,
|
|
WORD *pcchInputName) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE SetConnectionName(
|
|
LPCWSTR_WMSDK_TYPE_SAFE pwszInputName) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetBitrate(
|
|
DWORD *pdwBitrate) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE SetBitrate(
|
|
DWORD pdwBitrate) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetBufferWindow(
|
|
DWORD *pmsBufferWindow) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE SetBufferWindow(
|
|
DWORD msBufferWindow) = 0;
|
|
|
|
};
|
|
#ifdef __CRT_UUID_DECL
|
|
__CRT_UUID_DECL(IWMStreamConfig, 0x96406bdc, 0x2b2b, 0x11d3, 0xb3,0x6b, 0x00,0xc0,0x4f,0x61,0x08,0xff)
|
|
#endif
|
|
#else
|
|
typedef struct IWMStreamConfigVtbl {
|
|
BEGIN_INTERFACE
|
|
|
|
/*** IUnknown methods ***/
|
|
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
|
|
IWMStreamConfig *This,
|
|
REFIID riid,
|
|
void **ppvObject);
|
|
|
|
ULONG (STDMETHODCALLTYPE *AddRef)(
|
|
IWMStreamConfig *This);
|
|
|
|
ULONG (STDMETHODCALLTYPE *Release)(
|
|
IWMStreamConfig *This);
|
|
|
|
/*** IWMStreamConfig methods ***/
|
|
HRESULT (STDMETHODCALLTYPE *GetStreamType)(
|
|
IWMStreamConfig *This,
|
|
GUID *pguidStreamType);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetStreamNumber)(
|
|
IWMStreamConfig *This,
|
|
WORD *pwStreamNum);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetStreamNumber)(
|
|
IWMStreamConfig *This,
|
|
WORD wStreamNum);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetStreamName)(
|
|
IWMStreamConfig *This,
|
|
WCHAR *pwszStreamName,
|
|
WORD *pcchStreamName);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetStreamName)(
|
|
IWMStreamConfig *This,
|
|
LPCWSTR_WMSDK_TYPE_SAFE pwszStreamName);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetConnectionName)(
|
|
IWMStreamConfig *This,
|
|
WCHAR *pwszInputName,
|
|
WORD *pcchInputName);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetConnectionName)(
|
|
IWMStreamConfig *This,
|
|
LPCWSTR_WMSDK_TYPE_SAFE pwszInputName);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetBitrate)(
|
|
IWMStreamConfig *This,
|
|
DWORD *pdwBitrate);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetBitrate)(
|
|
IWMStreamConfig *This,
|
|
DWORD pdwBitrate);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetBufferWindow)(
|
|
IWMStreamConfig *This,
|
|
DWORD *pmsBufferWindow);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetBufferWindow)(
|
|
IWMStreamConfig *This,
|
|
DWORD msBufferWindow);
|
|
|
|
END_INTERFACE
|
|
} IWMStreamConfigVtbl;
|
|
|
|
interface IWMStreamConfig {
|
|
CONST_VTBL IWMStreamConfigVtbl* lpVtbl;
|
|
};
|
|
|
|
#ifdef COBJMACROS
|
|
#ifndef WIDL_C_INLINE_WRAPPERS
|
|
/*** IUnknown methods ***/
|
|
#define IWMStreamConfig_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
|
|
#define IWMStreamConfig_AddRef(This) (This)->lpVtbl->AddRef(This)
|
|
#define IWMStreamConfig_Release(This) (This)->lpVtbl->Release(This)
|
|
/*** IWMStreamConfig methods ***/
|
|
#define IWMStreamConfig_GetStreamType(This,pguidStreamType) (This)->lpVtbl->GetStreamType(This,pguidStreamType)
|
|
#define IWMStreamConfig_GetStreamNumber(This,pwStreamNum) (This)->lpVtbl->GetStreamNumber(This,pwStreamNum)
|
|
#define IWMStreamConfig_SetStreamNumber(This,wStreamNum) (This)->lpVtbl->SetStreamNumber(This,wStreamNum)
|
|
#define IWMStreamConfig_GetStreamName(This,pwszStreamName,pcchStreamName) (This)->lpVtbl->GetStreamName(This,pwszStreamName,pcchStreamName)
|
|
#define IWMStreamConfig_SetStreamName(This,pwszStreamName) (This)->lpVtbl->SetStreamName(This,pwszStreamName)
|
|
#define IWMStreamConfig_GetConnectionName(This,pwszInputName,pcchInputName) (This)->lpVtbl->GetConnectionName(This,pwszInputName,pcchInputName)
|
|
#define IWMStreamConfig_SetConnectionName(This,pwszInputName) (This)->lpVtbl->SetConnectionName(This,pwszInputName)
|
|
#define IWMStreamConfig_GetBitrate(This,pdwBitrate) (This)->lpVtbl->GetBitrate(This,pdwBitrate)
|
|
#define IWMStreamConfig_SetBitrate(This,pdwBitrate) (This)->lpVtbl->SetBitrate(This,pdwBitrate)
|
|
#define IWMStreamConfig_GetBufferWindow(This,pmsBufferWindow) (This)->lpVtbl->GetBufferWindow(This,pmsBufferWindow)
|
|
#define IWMStreamConfig_SetBufferWindow(This,msBufferWindow) (This)->lpVtbl->SetBufferWindow(This,msBufferWindow)
|
|
#else
|
|
/*** IUnknown methods ***/
|
|
static FORCEINLINE HRESULT IWMStreamConfig_QueryInterface(IWMStreamConfig* This,REFIID riid,void **ppvObject) {
|
|
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
|
|
}
|
|
static FORCEINLINE ULONG IWMStreamConfig_AddRef(IWMStreamConfig* This) {
|
|
return This->lpVtbl->AddRef(This);
|
|
}
|
|
static FORCEINLINE ULONG IWMStreamConfig_Release(IWMStreamConfig* This) {
|
|
return This->lpVtbl->Release(This);
|
|
}
|
|
/*** IWMStreamConfig methods ***/
|
|
static FORCEINLINE HRESULT IWMStreamConfig_GetStreamType(IWMStreamConfig* This,GUID *pguidStreamType) {
|
|
return This->lpVtbl->GetStreamType(This,pguidStreamType);
|
|
}
|
|
static FORCEINLINE HRESULT IWMStreamConfig_GetStreamNumber(IWMStreamConfig* This,WORD *pwStreamNum) {
|
|
return This->lpVtbl->GetStreamNumber(This,pwStreamNum);
|
|
}
|
|
static FORCEINLINE HRESULT IWMStreamConfig_SetStreamNumber(IWMStreamConfig* This,WORD wStreamNum) {
|
|
return This->lpVtbl->SetStreamNumber(This,wStreamNum);
|
|
}
|
|
static FORCEINLINE HRESULT IWMStreamConfig_GetStreamName(IWMStreamConfig* This,WCHAR *pwszStreamName,WORD *pcchStreamName) {
|
|
return This->lpVtbl->GetStreamName(This,pwszStreamName,pcchStreamName);
|
|
}
|
|
static FORCEINLINE HRESULT IWMStreamConfig_SetStreamName(IWMStreamConfig* This,LPCWSTR_WMSDK_TYPE_SAFE pwszStreamName) {
|
|
return This->lpVtbl->SetStreamName(This,pwszStreamName);
|
|
}
|
|
static FORCEINLINE HRESULT IWMStreamConfig_GetConnectionName(IWMStreamConfig* This,WCHAR *pwszInputName,WORD *pcchInputName) {
|
|
return This->lpVtbl->GetConnectionName(This,pwszInputName,pcchInputName);
|
|
}
|
|
static FORCEINLINE HRESULT IWMStreamConfig_SetConnectionName(IWMStreamConfig* This,LPCWSTR_WMSDK_TYPE_SAFE pwszInputName) {
|
|
return This->lpVtbl->SetConnectionName(This,pwszInputName);
|
|
}
|
|
static FORCEINLINE HRESULT IWMStreamConfig_GetBitrate(IWMStreamConfig* This,DWORD *pdwBitrate) {
|
|
return This->lpVtbl->GetBitrate(This,pdwBitrate);
|
|
}
|
|
static FORCEINLINE HRESULT IWMStreamConfig_SetBitrate(IWMStreamConfig* This,DWORD pdwBitrate) {
|
|
return This->lpVtbl->SetBitrate(This,pdwBitrate);
|
|
}
|
|
static FORCEINLINE HRESULT IWMStreamConfig_GetBufferWindow(IWMStreamConfig* This,DWORD *pmsBufferWindow) {
|
|
return This->lpVtbl->GetBufferWindow(This,pmsBufferWindow);
|
|
}
|
|
static FORCEINLINE HRESULT IWMStreamConfig_SetBufferWindow(IWMStreamConfig* This,DWORD msBufferWindow) {
|
|
return This->lpVtbl->SetBufferWindow(This,msBufferWindow);
|
|
}
|
|
#endif
|
|
#endif
|
|
|
|
#endif
|
|
|
|
|
|
#endif /* __IWMStreamConfig_INTERFACE_DEFINED__ */
|
|
|
|
/*****************************************************************************
|
|
* IWMProfile interface
|
|
*/
|
|
#ifndef __IWMProfile_INTERFACE_DEFINED__
|
|
#define __IWMProfile_INTERFACE_DEFINED__
|
|
|
|
DEFINE_GUID(IID_IWMProfile, 0x96406bdb, 0x2b2b, 0x11d3, 0xb3,0x6b, 0x00,0xc0,0x4f,0x61,0x08,0xff);
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
MIDL_INTERFACE("96406bdb-2b2b-11d3-b36b-00c04f6108ff")
|
|
IWMProfile : public IUnknown
|
|
{
|
|
virtual HRESULT STDMETHODCALLTYPE GetVersion(
|
|
WMT_VERSION *pdwVersion) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetName(
|
|
WCHAR *pwszName,
|
|
DWORD *pcchName) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE SetName(
|
|
const WCHAR *pwszName) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetDescription(
|
|
WCHAR *pwszDescription,
|
|
DWORD *pcchDescription) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE SetDescription(
|
|
const WCHAR *pwszDescription) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetStreamCount(
|
|
DWORD *pcStreams) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetStream(
|
|
DWORD dwStreamIndex,
|
|
IWMStreamConfig **ppConfig) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetStreamByNumber(
|
|
WORD wStreamNum,
|
|
IWMStreamConfig **ppConfig) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE RemoveStream(
|
|
IWMStreamConfig *pConfig) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE RemoveStreamByNumber(
|
|
WORD wStreamNum) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE AddStream(
|
|
IWMStreamConfig *pConfig) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE ReconfigStream(
|
|
IWMStreamConfig *pConfig) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE CreateNewStream(
|
|
REFGUID guidStreamType,
|
|
IWMStreamConfig **ppConfig) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetMutualExclusionCount(
|
|
DWORD *pcME) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetMutualExclusion(
|
|
DWORD dwMEIndex,
|
|
IWMMutualExclusion **ppME) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE RemoveMutualExclusion(
|
|
IWMMutualExclusion *pME) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE AddMutualExclusion(
|
|
IWMMutualExclusion *pME) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE CreateNewMutualExclusion(
|
|
IWMMutualExclusion **ppME) = 0;
|
|
|
|
};
|
|
#ifdef __CRT_UUID_DECL
|
|
__CRT_UUID_DECL(IWMProfile, 0x96406bdb, 0x2b2b, 0x11d3, 0xb3,0x6b, 0x00,0xc0,0x4f,0x61,0x08,0xff)
|
|
#endif
|
|
#else
|
|
typedef struct IWMProfileVtbl {
|
|
BEGIN_INTERFACE
|
|
|
|
/*** IUnknown methods ***/
|
|
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
|
|
IWMProfile *This,
|
|
REFIID riid,
|
|
void **ppvObject);
|
|
|
|
ULONG (STDMETHODCALLTYPE *AddRef)(
|
|
IWMProfile *This);
|
|
|
|
ULONG (STDMETHODCALLTYPE *Release)(
|
|
IWMProfile *This);
|
|
|
|
/*** IWMProfile methods ***/
|
|
HRESULT (STDMETHODCALLTYPE *GetVersion)(
|
|
IWMProfile *This,
|
|
WMT_VERSION *pdwVersion);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetName)(
|
|
IWMProfile *This,
|
|
WCHAR *pwszName,
|
|
DWORD *pcchName);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetName)(
|
|
IWMProfile *This,
|
|
const WCHAR *pwszName);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetDescription)(
|
|
IWMProfile *This,
|
|
WCHAR *pwszDescription,
|
|
DWORD *pcchDescription);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetDescription)(
|
|
IWMProfile *This,
|
|
const WCHAR *pwszDescription);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetStreamCount)(
|
|
IWMProfile *This,
|
|
DWORD *pcStreams);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetStream)(
|
|
IWMProfile *This,
|
|
DWORD dwStreamIndex,
|
|
IWMStreamConfig **ppConfig);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetStreamByNumber)(
|
|
IWMProfile *This,
|
|
WORD wStreamNum,
|
|
IWMStreamConfig **ppConfig);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *RemoveStream)(
|
|
IWMProfile *This,
|
|
IWMStreamConfig *pConfig);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *RemoveStreamByNumber)(
|
|
IWMProfile *This,
|
|
WORD wStreamNum);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *AddStream)(
|
|
IWMProfile *This,
|
|
IWMStreamConfig *pConfig);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *ReconfigStream)(
|
|
IWMProfile *This,
|
|
IWMStreamConfig *pConfig);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *CreateNewStream)(
|
|
IWMProfile *This,
|
|
REFGUID guidStreamType,
|
|
IWMStreamConfig **ppConfig);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetMutualExclusionCount)(
|
|
IWMProfile *This,
|
|
DWORD *pcME);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetMutualExclusion)(
|
|
IWMProfile *This,
|
|
DWORD dwMEIndex,
|
|
IWMMutualExclusion **ppME);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *RemoveMutualExclusion)(
|
|
IWMProfile *This,
|
|
IWMMutualExclusion *pME);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *AddMutualExclusion)(
|
|
IWMProfile *This,
|
|
IWMMutualExclusion *pME);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *CreateNewMutualExclusion)(
|
|
IWMProfile *This,
|
|
IWMMutualExclusion **ppME);
|
|
|
|
END_INTERFACE
|
|
} IWMProfileVtbl;
|
|
|
|
interface IWMProfile {
|
|
CONST_VTBL IWMProfileVtbl* lpVtbl;
|
|
};
|
|
|
|
#ifdef COBJMACROS
|
|
#ifndef WIDL_C_INLINE_WRAPPERS
|
|
/*** IUnknown methods ***/
|
|
#define IWMProfile_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
|
|
#define IWMProfile_AddRef(This) (This)->lpVtbl->AddRef(This)
|
|
#define IWMProfile_Release(This) (This)->lpVtbl->Release(This)
|
|
/*** IWMProfile methods ***/
|
|
#define IWMProfile_GetVersion(This,pdwVersion) (This)->lpVtbl->GetVersion(This,pdwVersion)
|
|
#define IWMProfile_GetName(This,pwszName,pcchName) (This)->lpVtbl->GetName(This,pwszName,pcchName)
|
|
#define IWMProfile_SetName(This,pwszName) (This)->lpVtbl->SetName(This,pwszName)
|
|
#define IWMProfile_GetDescription(This,pwszDescription,pcchDescription) (This)->lpVtbl->GetDescription(This,pwszDescription,pcchDescription)
|
|
#define IWMProfile_SetDescription(This,pwszDescription) (This)->lpVtbl->SetDescription(This,pwszDescription)
|
|
#define IWMProfile_GetStreamCount(This,pcStreams) (This)->lpVtbl->GetStreamCount(This,pcStreams)
|
|
#define IWMProfile_GetStream(This,dwStreamIndex,ppConfig) (This)->lpVtbl->GetStream(This,dwStreamIndex,ppConfig)
|
|
#define IWMProfile_GetStreamByNumber(This,wStreamNum,ppConfig) (This)->lpVtbl->GetStreamByNumber(This,wStreamNum,ppConfig)
|
|
#define IWMProfile_RemoveStream(This,pConfig) (This)->lpVtbl->RemoveStream(This,pConfig)
|
|
#define IWMProfile_RemoveStreamByNumber(This,wStreamNum) (This)->lpVtbl->RemoveStreamByNumber(This,wStreamNum)
|
|
#define IWMProfile_AddStream(This,pConfig) (This)->lpVtbl->AddStream(This,pConfig)
|
|
#define IWMProfile_ReconfigStream(This,pConfig) (This)->lpVtbl->ReconfigStream(This,pConfig)
|
|
#define IWMProfile_CreateNewStream(This,guidStreamType,ppConfig) (This)->lpVtbl->CreateNewStream(This,guidStreamType,ppConfig)
|
|
#define IWMProfile_GetMutualExclusionCount(This,pcME) (This)->lpVtbl->GetMutualExclusionCount(This,pcME)
|
|
#define IWMProfile_GetMutualExclusion(This,dwMEIndex,ppME) (This)->lpVtbl->GetMutualExclusion(This,dwMEIndex,ppME)
|
|
#define IWMProfile_RemoveMutualExclusion(This,pME) (This)->lpVtbl->RemoveMutualExclusion(This,pME)
|
|
#define IWMProfile_AddMutualExclusion(This,pME) (This)->lpVtbl->AddMutualExclusion(This,pME)
|
|
#define IWMProfile_CreateNewMutualExclusion(This,ppME) (This)->lpVtbl->CreateNewMutualExclusion(This,ppME)
|
|
#else
|
|
/*** IUnknown methods ***/
|
|
static FORCEINLINE HRESULT IWMProfile_QueryInterface(IWMProfile* This,REFIID riid,void **ppvObject) {
|
|
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
|
|
}
|
|
static FORCEINLINE ULONG IWMProfile_AddRef(IWMProfile* This) {
|
|
return This->lpVtbl->AddRef(This);
|
|
}
|
|
static FORCEINLINE ULONG IWMProfile_Release(IWMProfile* This) {
|
|
return This->lpVtbl->Release(This);
|
|
}
|
|
/*** IWMProfile methods ***/
|
|
static FORCEINLINE HRESULT IWMProfile_GetVersion(IWMProfile* This,WMT_VERSION *pdwVersion) {
|
|
return This->lpVtbl->GetVersion(This,pdwVersion);
|
|
}
|
|
static FORCEINLINE HRESULT IWMProfile_GetName(IWMProfile* This,WCHAR *pwszName,DWORD *pcchName) {
|
|
return This->lpVtbl->GetName(This,pwszName,pcchName);
|
|
}
|
|
static FORCEINLINE HRESULT IWMProfile_SetName(IWMProfile* This,const WCHAR *pwszName) {
|
|
return This->lpVtbl->SetName(This,pwszName);
|
|
}
|
|
static FORCEINLINE HRESULT IWMProfile_GetDescription(IWMProfile* This,WCHAR *pwszDescription,DWORD *pcchDescription) {
|
|
return This->lpVtbl->GetDescription(This,pwszDescription,pcchDescription);
|
|
}
|
|
static FORCEINLINE HRESULT IWMProfile_SetDescription(IWMProfile* This,const WCHAR *pwszDescription) {
|
|
return This->lpVtbl->SetDescription(This,pwszDescription);
|
|
}
|
|
static FORCEINLINE HRESULT IWMProfile_GetStreamCount(IWMProfile* This,DWORD *pcStreams) {
|
|
return This->lpVtbl->GetStreamCount(This,pcStreams);
|
|
}
|
|
static FORCEINLINE HRESULT IWMProfile_GetStream(IWMProfile* This,DWORD dwStreamIndex,IWMStreamConfig **ppConfig) {
|
|
return This->lpVtbl->GetStream(This,dwStreamIndex,ppConfig);
|
|
}
|
|
static FORCEINLINE HRESULT IWMProfile_GetStreamByNumber(IWMProfile* This,WORD wStreamNum,IWMStreamConfig **ppConfig) {
|
|
return This->lpVtbl->GetStreamByNumber(This,wStreamNum,ppConfig);
|
|
}
|
|
static FORCEINLINE HRESULT IWMProfile_RemoveStream(IWMProfile* This,IWMStreamConfig *pConfig) {
|
|
return This->lpVtbl->RemoveStream(This,pConfig);
|
|
}
|
|
static FORCEINLINE HRESULT IWMProfile_RemoveStreamByNumber(IWMProfile* This,WORD wStreamNum) {
|
|
return This->lpVtbl->RemoveStreamByNumber(This,wStreamNum);
|
|
}
|
|
static FORCEINLINE HRESULT IWMProfile_AddStream(IWMProfile* This,IWMStreamConfig *pConfig) {
|
|
return This->lpVtbl->AddStream(This,pConfig);
|
|
}
|
|
static FORCEINLINE HRESULT IWMProfile_ReconfigStream(IWMProfile* This,IWMStreamConfig *pConfig) {
|
|
return This->lpVtbl->ReconfigStream(This,pConfig);
|
|
}
|
|
static FORCEINLINE HRESULT IWMProfile_CreateNewStream(IWMProfile* This,REFGUID guidStreamType,IWMStreamConfig **ppConfig) {
|
|
return This->lpVtbl->CreateNewStream(This,guidStreamType,ppConfig);
|
|
}
|
|
static FORCEINLINE HRESULT IWMProfile_GetMutualExclusionCount(IWMProfile* This,DWORD *pcME) {
|
|
return This->lpVtbl->GetMutualExclusionCount(This,pcME);
|
|
}
|
|
static FORCEINLINE HRESULT IWMProfile_GetMutualExclusion(IWMProfile* This,DWORD dwMEIndex,IWMMutualExclusion **ppME) {
|
|
return This->lpVtbl->GetMutualExclusion(This,dwMEIndex,ppME);
|
|
}
|
|
static FORCEINLINE HRESULT IWMProfile_RemoveMutualExclusion(IWMProfile* This,IWMMutualExclusion *pME) {
|
|
return This->lpVtbl->RemoveMutualExclusion(This,pME);
|
|
}
|
|
static FORCEINLINE HRESULT IWMProfile_AddMutualExclusion(IWMProfile* This,IWMMutualExclusion *pME) {
|
|
return This->lpVtbl->AddMutualExclusion(This,pME);
|
|
}
|
|
static FORCEINLINE HRESULT IWMProfile_CreateNewMutualExclusion(IWMProfile* This,IWMMutualExclusion **ppME) {
|
|
return This->lpVtbl->CreateNewMutualExclusion(This,ppME);
|
|
}
|
|
#endif
|
|
#endif
|
|
|
|
#endif
|
|
|
|
|
|
#endif /* __IWMProfile_INTERFACE_DEFINED__ */
|
|
|
|
/*****************************************************************************
|
|
* IWMProfile2 interface
|
|
*/
|
|
#ifndef __IWMProfile2_INTERFACE_DEFINED__
|
|
#define __IWMProfile2_INTERFACE_DEFINED__
|
|
|
|
DEFINE_GUID(IID_IWMProfile2, 0x07e72d33, 0xd94e, 0x4be7, 0x88,0x43, 0x60,0xae,0x5f,0xf7,0xe5,0xf5);
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
MIDL_INTERFACE("07e72d33-d94e-4be7-8843-60ae5ff7e5f5")
|
|
IWMProfile2 : public IWMProfile
|
|
{
|
|
virtual HRESULT STDMETHODCALLTYPE GetProfileID(
|
|
GUID *guid) = 0;
|
|
|
|
};
|
|
#ifdef __CRT_UUID_DECL
|
|
__CRT_UUID_DECL(IWMProfile2, 0x07e72d33, 0xd94e, 0x4be7, 0x88,0x43, 0x60,0xae,0x5f,0xf7,0xe5,0xf5)
|
|
#endif
|
|
#else
|
|
typedef struct IWMProfile2Vtbl {
|
|
BEGIN_INTERFACE
|
|
|
|
/*** IUnknown methods ***/
|
|
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
|
|
IWMProfile2 *This,
|
|
REFIID riid,
|
|
void **ppvObject);
|
|
|
|
ULONG (STDMETHODCALLTYPE *AddRef)(
|
|
IWMProfile2 *This);
|
|
|
|
ULONG (STDMETHODCALLTYPE *Release)(
|
|
IWMProfile2 *This);
|
|
|
|
/*** IWMProfile methods ***/
|
|
HRESULT (STDMETHODCALLTYPE *GetVersion)(
|
|
IWMProfile2 *This,
|
|
WMT_VERSION *pdwVersion);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetName)(
|
|
IWMProfile2 *This,
|
|
WCHAR *pwszName,
|
|
DWORD *pcchName);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetName)(
|
|
IWMProfile2 *This,
|
|
const WCHAR *pwszName);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetDescription)(
|
|
IWMProfile2 *This,
|
|
WCHAR *pwszDescription,
|
|
DWORD *pcchDescription);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetDescription)(
|
|
IWMProfile2 *This,
|
|
const WCHAR *pwszDescription);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetStreamCount)(
|
|
IWMProfile2 *This,
|
|
DWORD *pcStreams);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetStream)(
|
|
IWMProfile2 *This,
|
|
DWORD dwStreamIndex,
|
|
IWMStreamConfig **ppConfig);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetStreamByNumber)(
|
|
IWMProfile2 *This,
|
|
WORD wStreamNum,
|
|
IWMStreamConfig **ppConfig);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *RemoveStream)(
|
|
IWMProfile2 *This,
|
|
IWMStreamConfig *pConfig);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *RemoveStreamByNumber)(
|
|
IWMProfile2 *This,
|
|
WORD wStreamNum);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *AddStream)(
|
|
IWMProfile2 *This,
|
|
IWMStreamConfig *pConfig);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *ReconfigStream)(
|
|
IWMProfile2 *This,
|
|
IWMStreamConfig *pConfig);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *CreateNewStream)(
|
|
IWMProfile2 *This,
|
|
REFGUID guidStreamType,
|
|
IWMStreamConfig **ppConfig);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetMutualExclusionCount)(
|
|
IWMProfile2 *This,
|
|
DWORD *pcME);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetMutualExclusion)(
|
|
IWMProfile2 *This,
|
|
DWORD dwMEIndex,
|
|
IWMMutualExclusion **ppME);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *RemoveMutualExclusion)(
|
|
IWMProfile2 *This,
|
|
IWMMutualExclusion *pME);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *AddMutualExclusion)(
|
|
IWMProfile2 *This,
|
|
IWMMutualExclusion *pME);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *CreateNewMutualExclusion)(
|
|
IWMProfile2 *This,
|
|
IWMMutualExclusion **ppME);
|
|
|
|
/*** IWMProfile2 methods ***/
|
|
HRESULT (STDMETHODCALLTYPE *GetProfileID)(
|
|
IWMProfile2 *This,
|
|
GUID *guid);
|
|
|
|
END_INTERFACE
|
|
} IWMProfile2Vtbl;
|
|
|
|
interface IWMProfile2 {
|
|
CONST_VTBL IWMProfile2Vtbl* lpVtbl;
|
|
};
|
|
|
|
#ifdef COBJMACROS
|
|
#ifndef WIDL_C_INLINE_WRAPPERS
|
|
/*** IUnknown methods ***/
|
|
#define IWMProfile2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
|
|
#define IWMProfile2_AddRef(This) (This)->lpVtbl->AddRef(This)
|
|
#define IWMProfile2_Release(This) (This)->lpVtbl->Release(This)
|
|
/*** IWMProfile methods ***/
|
|
#define IWMProfile2_GetVersion(This,pdwVersion) (This)->lpVtbl->GetVersion(This,pdwVersion)
|
|
#define IWMProfile2_GetName(This,pwszName,pcchName) (This)->lpVtbl->GetName(This,pwszName,pcchName)
|
|
#define IWMProfile2_SetName(This,pwszName) (This)->lpVtbl->SetName(This,pwszName)
|
|
#define IWMProfile2_GetDescription(This,pwszDescription,pcchDescription) (This)->lpVtbl->GetDescription(This,pwszDescription,pcchDescription)
|
|
#define IWMProfile2_SetDescription(This,pwszDescription) (This)->lpVtbl->SetDescription(This,pwszDescription)
|
|
#define IWMProfile2_GetStreamCount(This,pcStreams) (This)->lpVtbl->GetStreamCount(This,pcStreams)
|
|
#define IWMProfile2_GetStream(This,dwStreamIndex,ppConfig) (This)->lpVtbl->GetStream(This,dwStreamIndex,ppConfig)
|
|
#define IWMProfile2_GetStreamByNumber(This,wStreamNum,ppConfig) (This)->lpVtbl->GetStreamByNumber(This,wStreamNum,ppConfig)
|
|
#define IWMProfile2_RemoveStream(This,pConfig) (This)->lpVtbl->RemoveStream(This,pConfig)
|
|
#define IWMProfile2_RemoveStreamByNumber(This,wStreamNum) (This)->lpVtbl->RemoveStreamByNumber(This,wStreamNum)
|
|
#define IWMProfile2_AddStream(This,pConfig) (This)->lpVtbl->AddStream(This,pConfig)
|
|
#define IWMProfile2_ReconfigStream(This,pConfig) (This)->lpVtbl->ReconfigStream(This,pConfig)
|
|
#define IWMProfile2_CreateNewStream(This,guidStreamType,ppConfig) (This)->lpVtbl->CreateNewStream(This,guidStreamType,ppConfig)
|
|
#define IWMProfile2_GetMutualExclusionCount(This,pcME) (This)->lpVtbl->GetMutualExclusionCount(This,pcME)
|
|
#define IWMProfile2_GetMutualExclusion(This,dwMEIndex,ppME) (This)->lpVtbl->GetMutualExclusion(This,dwMEIndex,ppME)
|
|
#define IWMProfile2_RemoveMutualExclusion(This,pME) (This)->lpVtbl->RemoveMutualExclusion(This,pME)
|
|
#define IWMProfile2_AddMutualExclusion(This,pME) (This)->lpVtbl->AddMutualExclusion(This,pME)
|
|
#define IWMProfile2_CreateNewMutualExclusion(This,ppME) (This)->lpVtbl->CreateNewMutualExclusion(This,ppME)
|
|
/*** IWMProfile2 methods ***/
|
|
#define IWMProfile2_GetProfileID(This,guid) (This)->lpVtbl->GetProfileID(This,guid)
|
|
#else
|
|
/*** IUnknown methods ***/
|
|
static FORCEINLINE HRESULT IWMProfile2_QueryInterface(IWMProfile2* This,REFIID riid,void **ppvObject) {
|
|
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
|
|
}
|
|
static FORCEINLINE ULONG IWMProfile2_AddRef(IWMProfile2* This) {
|
|
return This->lpVtbl->AddRef(This);
|
|
}
|
|
static FORCEINLINE ULONG IWMProfile2_Release(IWMProfile2* This) {
|
|
return This->lpVtbl->Release(This);
|
|
}
|
|
/*** IWMProfile methods ***/
|
|
static FORCEINLINE HRESULT IWMProfile2_GetVersion(IWMProfile2* This,WMT_VERSION *pdwVersion) {
|
|
return This->lpVtbl->GetVersion(This,pdwVersion);
|
|
}
|
|
static FORCEINLINE HRESULT IWMProfile2_GetName(IWMProfile2* This,WCHAR *pwszName,DWORD *pcchName) {
|
|
return This->lpVtbl->GetName(This,pwszName,pcchName);
|
|
}
|
|
static FORCEINLINE HRESULT IWMProfile2_SetName(IWMProfile2* This,const WCHAR *pwszName) {
|
|
return This->lpVtbl->SetName(This,pwszName);
|
|
}
|
|
static FORCEINLINE HRESULT IWMProfile2_GetDescription(IWMProfile2* This,WCHAR *pwszDescription,DWORD *pcchDescription) {
|
|
return This->lpVtbl->GetDescription(This,pwszDescription,pcchDescription);
|
|
}
|
|
static FORCEINLINE HRESULT IWMProfile2_SetDescription(IWMProfile2* This,const WCHAR *pwszDescription) {
|
|
return This->lpVtbl->SetDescription(This,pwszDescription);
|
|
}
|
|
static FORCEINLINE HRESULT IWMProfile2_GetStreamCount(IWMProfile2* This,DWORD *pcStreams) {
|
|
return This->lpVtbl->GetStreamCount(This,pcStreams);
|
|
}
|
|
static FORCEINLINE HRESULT IWMProfile2_GetStream(IWMProfile2* This,DWORD dwStreamIndex,IWMStreamConfig **ppConfig) {
|
|
return This->lpVtbl->GetStream(This,dwStreamIndex,ppConfig);
|
|
}
|
|
static FORCEINLINE HRESULT IWMProfile2_GetStreamByNumber(IWMProfile2* This,WORD wStreamNum,IWMStreamConfig **ppConfig) {
|
|
return This->lpVtbl->GetStreamByNumber(This,wStreamNum,ppConfig);
|
|
}
|
|
static FORCEINLINE HRESULT IWMProfile2_RemoveStream(IWMProfile2* This,IWMStreamConfig *pConfig) {
|
|
return This->lpVtbl->RemoveStream(This,pConfig);
|
|
}
|
|
static FORCEINLINE HRESULT IWMProfile2_RemoveStreamByNumber(IWMProfile2* This,WORD wStreamNum) {
|
|
return This->lpVtbl->RemoveStreamByNumber(This,wStreamNum);
|
|
}
|
|
static FORCEINLINE HRESULT IWMProfile2_AddStream(IWMProfile2* This,IWMStreamConfig *pConfig) {
|
|
return This->lpVtbl->AddStream(This,pConfig);
|
|
}
|
|
static FORCEINLINE HRESULT IWMProfile2_ReconfigStream(IWMProfile2* This,IWMStreamConfig *pConfig) {
|
|
return This->lpVtbl->ReconfigStream(This,pConfig);
|
|
}
|
|
static FORCEINLINE HRESULT IWMProfile2_CreateNewStream(IWMProfile2* This,REFGUID guidStreamType,IWMStreamConfig **ppConfig) {
|
|
return This->lpVtbl->CreateNewStream(This,guidStreamType,ppConfig);
|
|
}
|
|
static FORCEINLINE HRESULT IWMProfile2_GetMutualExclusionCount(IWMProfile2* This,DWORD *pcME) {
|
|
return This->lpVtbl->GetMutualExclusionCount(This,pcME);
|
|
}
|
|
static FORCEINLINE HRESULT IWMProfile2_GetMutualExclusion(IWMProfile2* This,DWORD dwMEIndex,IWMMutualExclusion **ppME) {
|
|
return This->lpVtbl->GetMutualExclusion(This,dwMEIndex,ppME);
|
|
}
|
|
static FORCEINLINE HRESULT IWMProfile2_RemoveMutualExclusion(IWMProfile2* This,IWMMutualExclusion *pME) {
|
|
return This->lpVtbl->RemoveMutualExclusion(This,pME);
|
|
}
|
|
static FORCEINLINE HRESULT IWMProfile2_AddMutualExclusion(IWMProfile2* This,IWMMutualExclusion *pME) {
|
|
return This->lpVtbl->AddMutualExclusion(This,pME);
|
|
}
|
|
static FORCEINLINE HRESULT IWMProfile2_CreateNewMutualExclusion(IWMProfile2* This,IWMMutualExclusion **ppME) {
|
|
return This->lpVtbl->CreateNewMutualExclusion(This,ppME);
|
|
}
|
|
/*** IWMProfile2 methods ***/
|
|
static FORCEINLINE HRESULT IWMProfile2_GetProfileID(IWMProfile2* This,GUID *guid) {
|
|
return This->lpVtbl->GetProfileID(This,guid);
|
|
}
|
|
#endif
|
|
#endif
|
|
|
|
#endif
|
|
|
|
|
|
#endif /* __IWMProfile2_INTERFACE_DEFINED__ */
|
|
|
|
/*****************************************************************************
|
|
* IWMProfile3 interface
|
|
*/
|
|
#ifndef __IWMProfile3_INTERFACE_DEFINED__
|
|
#define __IWMProfile3_INTERFACE_DEFINED__
|
|
|
|
DEFINE_GUID(IID_IWMProfile3, 0x00ef96cc, 0xa461, 0x4546, 0x8b,0xcd, 0xc9,0xa2,0x8f,0x0e,0x06,0xf5);
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
MIDL_INTERFACE("00ef96cc-a461-4546-8bcd-c9a28f0e06f5")
|
|
IWMProfile3 : public IWMProfile2
|
|
{
|
|
virtual HRESULT STDMETHODCALLTYPE GetStorageFormat(
|
|
WMT_STORAGE_FORMAT *storage) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE SetStorageFormat(
|
|
WMT_STORAGE_FORMAT storage) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetBandwidthSharingCount(
|
|
DWORD *count) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetBandwidthSharing(
|
|
DWORD index,
|
|
IWMBandwidthSharing **bandwidth) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE RemoveBandwidthSharing(
|
|
IWMBandwidthSharing *bandwidth) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE AddBandwidthSharing(
|
|
IWMBandwidthSharing *bandwidth) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE CreateNewBandwidthSharing(
|
|
IWMBandwidthSharing **bandwidth) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetStreamPrioritization(
|
|
IWMStreamPrioritization **stream) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE SetStreamPrioritization(
|
|
IWMStreamPrioritization *stream) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE RemoveStreamPrioritization(
|
|
) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE CreateNewStreamPrioritization(
|
|
IWMStreamPrioritization **stream) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetExpectedPacketCount(
|
|
QWORD duration,
|
|
QWORD *packets) = 0;
|
|
|
|
};
|
|
#ifdef __CRT_UUID_DECL
|
|
__CRT_UUID_DECL(IWMProfile3, 0x00ef96cc, 0xa461, 0x4546, 0x8b,0xcd, 0xc9,0xa2,0x8f,0x0e,0x06,0xf5)
|
|
#endif
|
|
#else
|
|
typedef struct IWMProfile3Vtbl {
|
|
BEGIN_INTERFACE
|
|
|
|
/*** IUnknown methods ***/
|
|
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
|
|
IWMProfile3 *This,
|
|
REFIID riid,
|
|
void **ppvObject);
|
|
|
|
ULONG (STDMETHODCALLTYPE *AddRef)(
|
|
IWMProfile3 *This);
|
|
|
|
ULONG (STDMETHODCALLTYPE *Release)(
|
|
IWMProfile3 *This);
|
|
|
|
/*** IWMProfile methods ***/
|
|
HRESULT (STDMETHODCALLTYPE *GetVersion)(
|
|
IWMProfile3 *This,
|
|
WMT_VERSION *pdwVersion);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetName)(
|
|
IWMProfile3 *This,
|
|
WCHAR *pwszName,
|
|
DWORD *pcchName);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetName)(
|
|
IWMProfile3 *This,
|
|
const WCHAR *pwszName);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetDescription)(
|
|
IWMProfile3 *This,
|
|
WCHAR *pwszDescription,
|
|
DWORD *pcchDescription);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetDescription)(
|
|
IWMProfile3 *This,
|
|
const WCHAR *pwszDescription);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetStreamCount)(
|
|
IWMProfile3 *This,
|
|
DWORD *pcStreams);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetStream)(
|
|
IWMProfile3 *This,
|
|
DWORD dwStreamIndex,
|
|
IWMStreamConfig **ppConfig);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetStreamByNumber)(
|
|
IWMProfile3 *This,
|
|
WORD wStreamNum,
|
|
IWMStreamConfig **ppConfig);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *RemoveStream)(
|
|
IWMProfile3 *This,
|
|
IWMStreamConfig *pConfig);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *RemoveStreamByNumber)(
|
|
IWMProfile3 *This,
|
|
WORD wStreamNum);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *AddStream)(
|
|
IWMProfile3 *This,
|
|
IWMStreamConfig *pConfig);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *ReconfigStream)(
|
|
IWMProfile3 *This,
|
|
IWMStreamConfig *pConfig);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *CreateNewStream)(
|
|
IWMProfile3 *This,
|
|
REFGUID guidStreamType,
|
|
IWMStreamConfig **ppConfig);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetMutualExclusionCount)(
|
|
IWMProfile3 *This,
|
|
DWORD *pcME);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetMutualExclusion)(
|
|
IWMProfile3 *This,
|
|
DWORD dwMEIndex,
|
|
IWMMutualExclusion **ppME);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *RemoveMutualExclusion)(
|
|
IWMProfile3 *This,
|
|
IWMMutualExclusion *pME);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *AddMutualExclusion)(
|
|
IWMProfile3 *This,
|
|
IWMMutualExclusion *pME);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *CreateNewMutualExclusion)(
|
|
IWMProfile3 *This,
|
|
IWMMutualExclusion **ppME);
|
|
|
|
/*** IWMProfile2 methods ***/
|
|
HRESULT (STDMETHODCALLTYPE *GetProfileID)(
|
|
IWMProfile3 *This,
|
|
GUID *guid);
|
|
|
|
/*** IWMProfile3 methods ***/
|
|
HRESULT (STDMETHODCALLTYPE *GetStorageFormat)(
|
|
IWMProfile3 *This,
|
|
WMT_STORAGE_FORMAT *storage);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetStorageFormat)(
|
|
IWMProfile3 *This,
|
|
WMT_STORAGE_FORMAT storage);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetBandwidthSharingCount)(
|
|
IWMProfile3 *This,
|
|
DWORD *count);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetBandwidthSharing)(
|
|
IWMProfile3 *This,
|
|
DWORD index,
|
|
IWMBandwidthSharing **bandwidth);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *RemoveBandwidthSharing)(
|
|
IWMProfile3 *This,
|
|
IWMBandwidthSharing *bandwidth);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *AddBandwidthSharing)(
|
|
IWMProfile3 *This,
|
|
IWMBandwidthSharing *bandwidth);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *CreateNewBandwidthSharing)(
|
|
IWMProfile3 *This,
|
|
IWMBandwidthSharing **bandwidth);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetStreamPrioritization)(
|
|
IWMProfile3 *This,
|
|
IWMStreamPrioritization **stream);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetStreamPrioritization)(
|
|
IWMProfile3 *This,
|
|
IWMStreamPrioritization *stream);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *RemoveStreamPrioritization)(
|
|
IWMProfile3 *This);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *CreateNewStreamPrioritization)(
|
|
IWMProfile3 *This,
|
|
IWMStreamPrioritization **stream);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetExpectedPacketCount)(
|
|
IWMProfile3 *This,
|
|
QWORD duration,
|
|
QWORD *packets);
|
|
|
|
END_INTERFACE
|
|
} IWMProfile3Vtbl;
|
|
|
|
interface IWMProfile3 {
|
|
CONST_VTBL IWMProfile3Vtbl* lpVtbl;
|
|
};
|
|
|
|
#ifdef COBJMACROS
|
|
#ifndef WIDL_C_INLINE_WRAPPERS
|
|
/*** IUnknown methods ***/
|
|
#define IWMProfile3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
|
|
#define IWMProfile3_AddRef(This) (This)->lpVtbl->AddRef(This)
|
|
#define IWMProfile3_Release(This) (This)->lpVtbl->Release(This)
|
|
/*** IWMProfile methods ***/
|
|
#define IWMProfile3_GetVersion(This,pdwVersion) (This)->lpVtbl->GetVersion(This,pdwVersion)
|
|
#define IWMProfile3_GetName(This,pwszName,pcchName) (This)->lpVtbl->GetName(This,pwszName,pcchName)
|
|
#define IWMProfile3_SetName(This,pwszName) (This)->lpVtbl->SetName(This,pwszName)
|
|
#define IWMProfile3_GetDescription(This,pwszDescription,pcchDescription) (This)->lpVtbl->GetDescription(This,pwszDescription,pcchDescription)
|
|
#define IWMProfile3_SetDescription(This,pwszDescription) (This)->lpVtbl->SetDescription(This,pwszDescription)
|
|
#define IWMProfile3_GetStreamCount(This,pcStreams) (This)->lpVtbl->GetStreamCount(This,pcStreams)
|
|
#define IWMProfile3_GetStream(This,dwStreamIndex,ppConfig) (This)->lpVtbl->GetStream(This,dwStreamIndex,ppConfig)
|
|
#define IWMProfile3_GetStreamByNumber(This,wStreamNum,ppConfig) (This)->lpVtbl->GetStreamByNumber(This,wStreamNum,ppConfig)
|
|
#define IWMProfile3_RemoveStream(This,pConfig) (This)->lpVtbl->RemoveStream(This,pConfig)
|
|
#define IWMProfile3_RemoveStreamByNumber(This,wStreamNum) (This)->lpVtbl->RemoveStreamByNumber(This,wStreamNum)
|
|
#define IWMProfile3_AddStream(This,pConfig) (This)->lpVtbl->AddStream(This,pConfig)
|
|
#define IWMProfile3_ReconfigStream(This,pConfig) (This)->lpVtbl->ReconfigStream(This,pConfig)
|
|
#define IWMProfile3_CreateNewStream(This,guidStreamType,ppConfig) (This)->lpVtbl->CreateNewStream(This,guidStreamType,ppConfig)
|
|
#define IWMProfile3_GetMutualExclusionCount(This,pcME) (This)->lpVtbl->GetMutualExclusionCount(This,pcME)
|
|
#define IWMProfile3_GetMutualExclusion(This,dwMEIndex,ppME) (This)->lpVtbl->GetMutualExclusion(This,dwMEIndex,ppME)
|
|
#define IWMProfile3_RemoveMutualExclusion(This,pME) (This)->lpVtbl->RemoveMutualExclusion(This,pME)
|
|
#define IWMProfile3_AddMutualExclusion(This,pME) (This)->lpVtbl->AddMutualExclusion(This,pME)
|
|
#define IWMProfile3_CreateNewMutualExclusion(This,ppME) (This)->lpVtbl->CreateNewMutualExclusion(This,ppME)
|
|
/*** IWMProfile2 methods ***/
|
|
#define IWMProfile3_GetProfileID(This,guid) (This)->lpVtbl->GetProfileID(This,guid)
|
|
/*** IWMProfile3 methods ***/
|
|
#define IWMProfile3_GetStorageFormat(This,storage) (This)->lpVtbl->GetStorageFormat(This,storage)
|
|
#define IWMProfile3_SetStorageFormat(This,storage) (This)->lpVtbl->SetStorageFormat(This,storage)
|
|
#define IWMProfile3_GetBandwidthSharingCount(This,count) (This)->lpVtbl->GetBandwidthSharingCount(This,count)
|
|
#define IWMProfile3_GetBandwidthSharing(This,index,bandwidth) (This)->lpVtbl->GetBandwidthSharing(This,index,bandwidth)
|
|
#define IWMProfile3_RemoveBandwidthSharing(This,bandwidth) (This)->lpVtbl->RemoveBandwidthSharing(This,bandwidth)
|
|
#define IWMProfile3_AddBandwidthSharing(This,bandwidth) (This)->lpVtbl->AddBandwidthSharing(This,bandwidth)
|
|
#define IWMProfile3_CreateNewBandwidthSharing(This,bandwidth) (This)->lpVtbl->CreateNewBandwidthSharing(This,bandwidth)
|
|
#define IWMProfile3_GetStreamPrioritization(This,stream) (This)->lpVtbl->GetStreamPrioritization(This,stream)
|
|
#define IWMProfile3_SetStreamPrioritization(This,stream) (This)->lpVtbl->SetStreamPrioritization(This,stream)
|
|
#define IWMProfile3_RemoveStreamPrioritization(This) (This)->lpVtbl->RemoveStreamPrioritization(This)
|
|
#define IWMProfile3_CreateNewStreamPrioritization(This,stream) (This)->lpVtbl->CreateNewStreamPrioritization(This,stream)
|
|
#define IWMProfile3_GetExpectedPacketCount(This,duration,packets) (This)->lpVtbl->GetExpectedPacketCount(This,duration,packets)
|
|
#else
|
|
/*** IUnknown methods ***/
|
|
static FORCEINLINE HRESULT IWMProfile3_QueryInterface(IWMProfile3* This,REFIID riid,void **ppvObject) {
|
|
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
|
|
}
|
|
static FORCEINLINE ULONG IWMProfile3_AddRef(IWMProfile3* This) {
|
|
return This->lpVtbl->AddRef(This);
|
|
}
|
|
static FORCEINLINE ULONG IWMProfile3_Release(IWMProfile3* This) {
|
|
return This->lpVtbl->Release(This);
|
|
}
|
|
/*** IWMProfile methods ***/
|
|
static FORCEINLINE HRESULT IWMProfile3_GetVersion(IWMProfile3* This,WMT_VERSION *pdwVersion) {
|
|
return This->lpVtbl->GetVersion(This,pdwVersion);
|
|
}
|
|
static FORCEINLINE HRESULT IWMProfile3_GetName(IWMProfile3* This,WCHAR *pwszName,DWORD *pcchName) {
|
|
return This->lpVtbl->GetName(This,pwszName,pcchName);
|
|
}
|
|
static FORCEINLINE HRESULT IWMProfile3_SetName(IWMProfile3* This,const WCHAR *pwszName) {
|
|
return This->lpVtbl->SetName(This,pwszName);
|
|
}
|
|
static FORCEINLINE HRESULT IWMProfile3_GetDescription(IWMProfile3* This,WCHAR *pwszDescription,DWORD *pcchDescription) {
|
|
return This->lpVtbl->GetDescription(This,pwszDescription,pcchDescription);
|
|
}
|
|
static FORCEINLINE HRESULT IWMProfile3_SetDescription(IWMProfile3* This,const WCHAR *pwszDescription) {
|
|
return This->lpVtbl->SetDescription(This,pwszDescription);
|
|
}
|
|
static FORCEINLINE HRESULT IWMProfile3_GetStreamCount(IWMProfile3* This,DWORD *pcStreams) {
|
|
return This->lpVtbl->GetStreamCount(This,pcStreams);
|
|
}
|
|
static FORCEINLINE HRESULT IWMProfile3_GetStream(IWMProfile3* This,DWORD dwStreamIndex,IWMStreamConfig **ppConfig) {
|
|
return This->lpVtbl->GetStream(This,dwStreamIndex,ppConfig);
|
|
}
|
|
static FORCEINLINE HRESULT IWMProfile3_GetStreamByNumber(IWMProfile3* This,WORD wStreamNum,IWMStreamConfig **ppConfig) {
|
|
return This->lpVtbl->GetStreamByNumber(This,wStreamNum,ppConfig);
|
|
}
|
|
static FORCEINLINE HRESULT IWMProfile3_RemoveStream(IWMProfile3* This,IWMStreamConfig *pConfig) {
|
|
return This->lpVtbl->RemoveStream(This,pConfig);
|
|
}
|
|
static FORCEINLINE HRESULT IWMProfile3_RemoveStreamByNumber(IWMProfile3* This,WORD wStreamNum) {
|
|
return This->lpVtbl->RemoveStreamByNumber(This,wStreamNum);
|
|
}
|
|
static FORCEINLINE HRESULT IWMProfile3_AddStream(IWMProfile3* This,IWMStreamConfig *pConfig) {
|
|
return This->lpVtbl->AddStream(This,pConfig);
|
|
}
|
|
static FORCEINLINE HRESULT IWMProfile3_ReconfigStream(IWMProfile3* This,IWMStreamConfig *pConfig) {
|
|
return This->lpVtbl->ReconfigStream(This,pConfig);
|
|
}
|
|
static FORCEINLINE HRESULT IWMProfile3_CreateNewStream(IWMProfile3* This,REFGUID guidStreamType,IWMStreamConfig **ppConfig) {
|
|
return This->lpVtbl->CreateNewStream(This,guidStreamType,ppConfig);
|
|
}
|
|
static FORCEINLINE HRESULT IWMProfile3_GetMutualExclusionCount(IWMProfile3* This,DWORD *pcME) {
|
|
return This->lpVtbl->GetMutualExclusionCount(This,pcME);
|
|
}
|
|
static FORCEINLINE HRESULT IWMProfile3_GetMutualExclusion(IWMProfile3* This,DWORD dwMEIndex,IWMMutualExclusion **ppME) {
|
|
return This->lpVtbl->GetMutualExclusion(This,dwMEIndex,ppME);
|
|
}
|
|
static FORCEINLINE HRESULT IWMProfile3_RemoveMutualExclusion(IWMProfile3* This,IWMMutualExclusion *pME) {
|
|
return This->lpVtbl->RemoveMutualExclusion(This,pME);
|
|
}
|
|
static FORCEINLINE HRESULT IWMProfile3_AddMutualExclusion(IWMProfile3* This,IWMMutualExclusion *pME) {
|
|
return This->lpVtbl->AddMutualExclusion(This,pME);
|
|
}
|
|
static FORCEINLINE HRESULT IWMProfile3_CreateNewMutualExclusion(IWMProfile3* This,IWMMutualExclusion **ppME) {
|
|
return This->lpVtbl->CreateNewMutualExclusion(This,ppME);
|
|
}
|
|
/*** IWMProfile2 methods ***/
|
|
static FORCEINLINE HRESULT IWMProfile3_GetProfileID(IWMProfile3* This,GUID *guid) {
|
|
return This->lpVtbl->GetProfileID(This,guid);
|
|
}
|
|
/*** IWMProfile3 methods ***/
|
|
static FORCEINLINE HRESULT IWMProfile3_GetStorageFormat(IWMProfile3* This,WMT_STORAGE_FORMAT *storage) {
|
|
return This->lpVtbl->GetStorageFormat(This,storage);
|
|
}
|
|
static FORCEINLINE HRESULT IWMProfile3_SetStorageFormat(IWMProfile3* This,WMT_STORAGE_FORMAT storage) {
|
|
return This->lpVtbl->SetStorageFormat(This,storage);
|
|
}
|
|
static FORCEINLINE HRESULT IWMProfile3_GetBandwidthSharingCount(IWMProfile3* This,DWORD *count) {
|
|
return This->lpVtbl->GetBandwidthSharingCount(This,count);
|
|
}
|
|
static FORCEINLINE HRESULT IWMProfile3_GetBandwidthSharing(IWMProfile3* This,DWORD index,IWMBandwidthSharing **bandwidth) {
|
|
return This->lpVtbl->GetBandwidthSharing(This,index,bandwidth);
|
|
}
|
|
static FORCEINLINE HRESULT IWMProfile3_RemoveBandwidthSharing(IWMProfile3* This,IWMBandwidthSharing *bandwidth) {
|
|
return This->lpVtbl->RemoveBandwidthSharing(This,bandwidth);
|
|
}
|
|
static FORCEINLINE HRESULT IWMProfile3_AddBandwidthSharing(IWMProfile3* This,IWMBandwidthSharing *bandwidth) {
|
|
return This->lpVtbl->AddBandwidthSharing(This,bandwidth);
|
|
}
|
|
static FORCEINLINE HRESULT IWMProfile3_CreateNewBandwidthSharing(IWMProfile3* This,IWMBandwidthSharing **bandwidth) {
|
|
return This->lpVtbl->CreateNewBandwidthSharing(This,bandwidth);
|
|
}
|
|
static FORCEINLINE HRESULT IWMProfile3_GetStreamPrioritization(IWMProfile3* This,IWMStreamPrioritization **stream) {
|
|
return This->lpVtbl->GetStreamPrioritization(This,stream);
|
|
}
|
|
static FORCEINLINE HRESULT IWMProfile3_SetStreamPrioritization(IWMProfile3* This,IWMStreamPrioritization *stream) {
|
|
return This->lpVtbl->SetStreamPrioritization(This,stream);
|
|
}
|
|
static FORCEINLINE HRESULT IWMProfile3_RemoveStreamPrioritization(IWMProfile3* This) {
|
|
return This->lpVtbl->RemoveStreamPrioritization(This);
|
|
}
|
|
static FORCEINLINE HRESULT IWMProfile3_CreateNewStreamPrioritization(IWMProfile3* This,IWMStreamPrioritization **stream) {
|
|
return This->lpVtbl->CreateNewStreamPrioritization(This,stream);
|
|
}
|
|
static FORCEINLINE HRESULT IWMProfile3_GetExpectedPacketCount(IWMProfile3* This,QWORD duration,QWORD *packets) {
|
|
return This->lpVtbl->GetExpectedPacketCount(This,duration,packets);
|
|
}
|
|
#endif
|
|
#endif
|
|
|
|
#endif
|
|
|
|
|
|
#endif /* __IWMProfile3_INTERFACE_DEFINED__ */
|
|
|
|
/*****************************************************************************
|
|
* IWMProfileManager interface
|
|
*/
|
|
#ifndef __IWMProfileManager_INTERFACE_DEFINED__
|
|
#define __IWMProfileManager_INTERFACE_DEFINED__
|
|
|
|
DEFINE_GUID(IID_IWMProfileManager, 0xd16679f2, 0x6ca0, 0x472d, 0x8d,0x31, 0x2f,0x5d,0x55,0xae,0xe1,0x55);
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
MIDL_INTERFACE("d16679f2-6ca0-472d-8d31-2f5d55aee155")
|
|
IWMProfileManager : public IUnknown
|
|
{
|
|
virtual HRESULT STDMETHODCALLTYPE CreateEmptyProfile(
|
|
WMT_VERSION dwVersion,
|
|
IWMProfile **ppProfile) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE LoadProfileByID(
|
|
REFGUID guidProfile,
|
|
IWMProfile **ppProfile) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE LoadProfileByData(
|
|
const WCHAR *pwszProfile,
|
|
IWMProfile **ppProfile) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE SaveProfile(
|
|
IWMProfile *pIWMProfile,
|
|
WCHAR *pwszProfile,
|
|
DWORD *pdwLength) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetSystemProfileCount(
|
|
DWORD *pcProfiles) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE LoadSystemProfile(
|
|
DWORD dwProfileIndex,
|
|
IWMProfile **ppProfile) = 0;
|
|
|
|
};
|
|
#ifdef __CRT_UUID_DECL
|
|
__CRT_UUID_DECL(IWMProfileManager, 0xd16679f2, 0x6ca0, 0x472d, 0x8d,0x31, 0x2f,0x5d,0x55,0xae,0xe1,0x55)
|
|
#endif
|
|
#else
|
|
typedef struct IWMProfileManagerVtbl {
|
|
BEGIN_INTERFACE
|
|
|
|
/*** IUnknown methods ***/
|
|
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
|
|
IWMProfileManager *This,
|
|
REFIID riid,
|
|
void **ppvObject);
|
|
|
|
ULONG (STDMETHODCALLTYPE *AddRef)(
|
|
IWMProfileManager *This);
|
|
|
|
ULONG (STDMETHODCALLTYPE *Release)(
|
|
IWMProfileManager *This);
|
|
|
|
/*** IWMProfileManager methods ***/
|
|
HRESULT (STDMETHODCALLTYPE *CreateEmptyProfile)(
|
|
IWMProfileManager *This,
|
|
WMT_VERSION dwVersion,
|
|
IWMProfile **ppProfile);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *LoadProfileByID)(
|
|
IWMProfileManager *This,
|
|
REFGUID guidProfile,
|
|
IWMProfile **ppProfile);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *LoadProfileByData)(
|
|
IWMProfileManager *This,
|
|
const WCHAR *pwszProfile,
|
|
IWMProfile **ppProfile);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SaveProfile)(
|
|
IWMProfileManager *This,
|
|
IWMProfile *pIWMProfile,
|
|
WCHAR *pwszProfile,
|
|
DWORD *pdwLength);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetSystemProfileCount)(
|
|
IWMProfileManager *This,
|
|
DWORD *pcProfiles);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *LoadSystemProfile)(
|
|
IWMProfileManager *This,
|
|
DWORD dwProfileIndex,
|
|
IWMProfile **ppProfile);
|
|
|
|
END_INTERFACE
|
|
} IWMProfileManagerVtbl;
|
|
|
|
interface IWMProfileManager {
|
|
CONST_VTBL IWMProfileManagerVtbl* lpVtbl;
|
|
};
|
|
|
|
#ifdef COBJMACROS
|
|
#ifndef WIDL_C_INLINE_WRAPPERS
|
|
/*** IUnknown methods ***/
|
|
#define IWMProfileManager_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
|
|
#define IWMProfileManager_AddRef(This) (This)->lpVtbl->AddRef(This)
|
|
#define IWMProfileManager_Release(This) (This)->lpVtbl->Release(This)
|
|
/*** IWMProfileManager methods ***/
|
|
#define IWMProfileManager_CreateEmptyProfile(This,dwVersion,ppProfile) (This)->lpVtbl->CreateEmptyProfile(This,dwVersion,ppProfile)
|
|
#define IWMProfileManager_LoadProfileByID(This,guidProfile,ppProfile) (This)->lpVtbl->LoadProfileByID(This,guidProfile,ppProfile)
|
|
#define IWMProfileManager_LoadProfileByData(This,pwszProfile,ppProfile) (This)->lpVtbl->LoadProfileByData(This,pwszProfile,ppProfile)
|
|
#define IWMProfileManager_SaveProfile(This,pIWMProfile,pwszProfile,pdwLength) (This)->lpVtbl->SaveProfile(This,pIWMProfile,pwszProfile,pdwLength)
|
|
#define IWMProfileManager_GetSystemProfileCount(This,pcProfiles) (This)->lpVtbl->GetSystemProfileCount(This,pcProfiles)
|
|
#define IWMProfileManager_LoadSystemProfile(This,dwProfileIndex,ppProfile) (This)->lpVtbl->LoadSystemProfile(This,dwProfileIndex,ppProfile)
|
|
#else
|
|
/*** IUnknown methods ***/
|
|
static FORCEINLINE HRESULT IWMProfileManager_QueryInterface(IWMProfileManager* This,REFIID riid,void **ppvObject) {
|
|
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
|
|
}
|
|
static FORCEINLINE ULONG IWMProfileManager_AddRef(IWMProfileManager* This) {
|
|
return This->lpVtbl->AddRef(This);
|
|
}
|
|
static FORCEINLINE ULONG IWMProfileManager_Release(IWMProfileManager* This) {
|
|
return This->lpVtbl->Release(This);
|
|
}
|
|
/*** IWMProfileManager methods ***/
|
|
static FORCEINLINE HRESULT IWMProfileManager_CreateEmptyProfile(IWMProfileManager* This,WMT_VERSION dwVersion,IWMProfile **ppProfile) {
|
|
return This->lpVtbl->CreateEmptyProfile(This,dwVersion,ppProfile);
|
|
}
|
|
static FORCEINLINE HRESULT IWMProfileManager_LoadProfileByID(IWMProfileManager* This,REFGUID guidProfile,IWMProfile **ppProfile) {
|
|
return This->lpVtbl->LoadProfileByID(This,guidProfile,ppProfile);
|
|
}
|
|
static FORCEINLINE HRESULT IWMProfileManager_LoadProfileByData(IWMProfileManager* This,const WCHAR *pwszProfile,IWMProfile **ppProfile) {
|
|
return This->lpVtbl->LoadProfileByData(This,pwszProfile,ppProfile);
|
|
}
|
|
static FORCEINLINE HRESULT IWMProfileManager_SaveProfile(IWMProfileManager* This,IWMProfile *pIWMProfile,WCHAR *pwszProfile,DWORD *pdwLength) {
|
|
return This->lpVtbl->SaveProfile(This,pIWMProfile,pwszProfile,pdwLength);
|
|
}
|
|
static FORCEINLINE HRESULT IWMProfileManager_GetSystemProfileCount(IWMProfileManager* This,DWORD *pcProfiles) {
|
|
return This->lpVtbl->GetSystemProfileCount(This,pcProfiles);
|
|
}
|
|
static FORCEINLINE HRESULT IWMProfileManager_LoadSystemProfile(IWMProfileManager* This,DWORD dwProfileIndex,IWMProfile **ppProfile) {
|
|
return This->lpVtbl->LoadSystemProfile(This,dwProfileIndex,ppProfile);
|
|
}
|
|
#endif
|
|
#endif
|
|
|
|
#endif
|
|
|
|
|
|
#endif /* __IWMProfileManager_INTERFACE_DEFINED__ */
|
|
|
|
HRESULT WINAPI WMCreateProfileManager(IWMProfileManager**);
|
|
/*****************************************************************************
|
|
* IWMMediaProps interface
|
|
*/
|
|
#ifndef __IWMMediaProps_INTERFACE_DEFINED__
|
|
#define __IWMMediaProps_INTERFACE_DEFINED__
|
|
|
|
DEFINE_GUID(IID_IWMMediaProps, 0x96406bce, 0x2b2b, 0x11d3, 0xb3,0x6b, 0x00,0xc0,0x4f,0x61,0x08,0xff);
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
MIDL_INTERFACE("96406bce-2b2b-11d3-b36b-00c04f6108ff")
|
|
IWMMediaProps : public IUnknown
|
|
{
|
|
virtual HRESULT STDMETHODCALLTYPE GetType(
|
|
GUID *pguidType) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetMediaType(
|
|
WM_MEDIA_TYPE *pType,
|
|
DWORD *pcbType) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE SetMediaType(
|
|
WM_MEDIA_TYPE *pType) = 0;
|
|
|
|
};
|
|
#ifdef __CRT_UUID_DECL
|
|
__CRT_UUID_DECL(IWMMediaProps, 0x96406bce, 0x2b2b, 0x11d3, 0xb3,0x6b, 0x00,0xc0,0x4f,0x61,0x08,0xff)
|
|
#endif
|
|
#else
|
|
typedef struct IWMMediaPropsVtbl {
|
|
BEGIN_INTERFACE
|
|
|
|
/*** IUnknown methods ***/
|
|
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
|
|
IWMMediaProps *This,
|
|
REFIID riid,
|
|
void **ppvObject);
|
|
|
|
ULONG (STDMETHODCALLTYPE *AddRef)(
|
|
IWMMediaProps *This);
|
|
|
|
ULONG (STDMETHODCALLTYPE *Release)(
|
|
IWMMediaProps *This);
|
|
|
|
/*** IWMMediaProps methods ***/
|
|
HRESULT (STDMETHODCALLTYPE *GetType)(
|
|
IWMMediaProps *This,
|
|
GUID *pguidType);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetMediaType)(
|
|
IWMMediaProps *This,
|
|
WM_MEDIA_TYPE *pType,
|
|
DWORD *pcbType);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetMediaType)(
|
|
IWMMediaProps *This,
|
|
WM_MEDIA_TYPE *pType);
|
|
|
|
END_INTERFACE
|
|
} IWMMediaPropsVtbl;
|
|
|
|
interface IWMMediaProps {
|
|
CONST_VTBL IWMMediaPropsVtbl* lpVtbl;
|
|
};
|
|
|
|
#ifdef COBJMACROS
|
|
#ifndef WIDL_C_INLINE_WRAPPERS
|
|
/*** IUnknown methods ***/
|
|
#define IWMMediaProps_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
|
|
#define IWMMediaProps_AddRef(This) (This)->lpVtbl->AddRef(This)
|
|
#define IWMMediaProps_Release(This) (This)->lpVtbl->Release(This)
|
|
/*** IWMMediaProps methods ***/
|
|
#define IWMMediaProps_GetType(This,pguidType) (This)->lpVtbl->GetType(This,pguidType)
|
|
#define IWMMediaProps_GetMediaType(This,pType,pcbType) (This)->lpVtbl->GetMediaType(This,pType,pcbType)
|
|
#define IWMMediaProps_SetMediaType(This,pType) (This)->lpVtbl->SetMediaType(This,pType)
|
|
#else
|
|
/*** IUnknown methods ***/
|
|
static FORCEINLINE HRESULT IWMMediaProps_QueryInterface(IWMMediaProps* This,REFIID riid,void **ppvObject) {
|
|
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
|
|
}
|
|
static FORCEINLINE ULONG IWMMediaProps_AddRef(IWMMediaProps* This) {
|
|
return This->lpVtbl->AddRef(This);
|
|
}
|
|
static FORCEINLINE ULONG IWMMediaProps_Release(IWMMediaProps* This) {
|
|
return This->lpVtbl->Release(This);
|
|
}
|
|
/*** IWMMediaProps methods ***/
|
|
static FORCEINLINE HRESULT IWMMediaProps_GetType(IWMMediaProps* This,GUID *pguidType) {
|
|
return This->lpVtbl->GetType(This,pguidType);
|
|
}
|
|
static FORCEINLINE HRESULT IWMMediaProps_GetMediaType(IWMMediaProps* This,WM_MEDIA_TYPE *pType,DWORD *pcbType) {
|
|
return This->lpVtbl->GetMediaType(This,pType,pcbType);
|
|
}
|
|
static FORCEINLINE HRESULT IWMMediaProps_SetMediaType(IWMMediaProps* This,WM_MEDIA_TYPE *pType) {
|
|
return This->lpVtbl->SetMediaType(This,pType);
|
|
}
|
|
#endif
|
|
#endif
|
|
|
|
#endif
|
|
|
|
|
|
#endif /* __IWMMediaProps_INTERFACE_DEFINED__ */
|
|
|
|
/*****************************************************************************
|
|
* IWMOutputMediaProps interface
|
|
*/
|
|
#ifndef __IWMOutputMediaProps_INTERFACE_DEFINED__
|
|
#define __IWMOutputMediaProps_INTERFACE_DEFINED__
|
|
|
|
DEFINE_GUID(IID_IWMOutputMediaProps, 0x96406bd7, 0x2b2b, 0x11d3, 0xb3,0x6b, 0x00,0xc0,0x4f,0x61,0x08,0xff);
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
MIDL_INTERFACE("96406bd7-2b2b-11d3-b36b-00c04f6108ff")
|
|
IWMOutputMediaProps : public IWMMediaProps
|
|
{
|
|
virtual HRESULT STDMETHODCALLTYPE GetStreamGroupName(
|
|
WCHAR *pwszName,
|
|
WORD *pcchName) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetConnectionName(
|
|
WCHAR *pwszName,
|
|
WORD *pcchName) = 0;
|
|
|
|
};
|
|
#ifdef __CRT_UUID_DECL
|
|
__CRT_UUID_DECL(IWMOutputMediaProps, 0x96406bd7, 0x2b2b, 0x11d3, 0xb3,0x6b, 0x00,0xc0,0x4f,0x61,0x08,0xff)
|
|
#endif
|
|
#else
|
|
typedef struct IWMOutputMediaPropsVtbl {
|
|
BEGIN_INTERFACE
|
|
|
|
/*** IUnknown methods ***/
|
|
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
|
|
IWMOutputMediaProps *This,
|
|
REFIID riid,
|
|
void **ppvObject);
|
|
|
|
ULONG (STDMETHODCALLTYPE *AddRef)(
|
|
IWMOutputMediaProps *This);
|
|
|
|
ULONG (STDMETHODCALLTYPE *Release)(
|
|
IWMOutputMediaProps *This);
|
|
|
|
/*** IWMMediaProps methods ***/
|
|
HRESULT (STDMETHODCALLTYPE *GetType)(
|
|
IWMOutputMediaProps *This,
|
|
GUID *pguidType);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetMediaType)(
|
|
IWMOutputMediaProps *This,
|
|
WM_MEDIA_TYPE *pType,
|
|
DWORD *pcbType);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetMediaType)(
|
|
IWMOutputMediaProps *This,
|
|
WM_MEDIA_TYPE *pType);
|
|
|
|
/*** IWMOutputMediaProps methods ***/
|
|
HRESULT (STDMETHODCALLTYPE *GetStreamGroupName)(
|
|
IWMOutputMediaProps *This,
|
|
WCHAR *pwszName,
|
|
WORD *pcchName);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetConnectionName)(
|
|
IWMOutputMediaProps *This,
|
|
WCHAR *pwszName,
|
|
WORD *pcchName);
|
|
|
|
END_INTERFACE
|
|
} IWMOutputMediaPropsVtbl;
|
|
|
|
interface IWMOutputMediaProps {
|
|
CONST_VTBL IWMOutputMediaPropsVtbl* lpVtbl;
|
|
};
|
|
|
|
#ifdef COBJMACROS
|
|
#ifndef WIDL_C_INLINE_WRAPPERS
|
|
/*** IUnknown methods ***/
|
|
#define IWMOutputMediaProps_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
|
|
#define IWMOutputMediaProps_AddRef(This) (This)->lpVtbl->AddRef(This)
|
|
#define IWMOutputMediaProps_Release(This) (This)->lpVtbl->Release(This)
|
|
/*** IWMMediaProps methods ***/
|
|
#define IWMOutputMediaProps_GetType(This,pguidType) (This)->lpVtbl->GetType(This,pguidType)
|
|
#define IWMOutputMediaProps_GetMediaType(This,pType,pcbType) (This)->lpVtbl->GetMediaType(This,pType,pcbType)
|
|
#define IWMOutputMediaProps_SetMediaType(This,pType) (This)->lpVtbl->SetMediaType(This,pType)
|
|
/*** IWMOutputMediaProps methods ***/
|
|
#define IWMOutputMediaProps_GetStreamGroupName(This,pwszName,pcchName) (This)->lpVtbl->GetStreamGroupName(This,pwszName,pcchName)
|
|
#define IWMOutputMediaProps_GetConnectionName(This,pwszName,pcchName) (This)->lpVtbl->GetConnectionName(This,pwszName,pcchName)
|
|
#else
|
|
/*** IUnknown methods ***/
|
|
static FORCEINLINE HRESULT IWMOutputMediaProps_QueryInterface(IWMOutputMediaProps* This,REFIID riid,void **ppvObject) {
|
|
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
|
|
}
|
|
static FORCEINLINE ULONG IWMOutputMediaProps_AddRef(IWMOutputMediaProps* This) {
|
|
return This->lpVtbl->AddRef(This);
|
|
}
|
|
static FORCEINLINE ULONG IWMOutputMediaProps_Release(IWMOutputMediaProps* This) {
|
|
return This->lpVtbl->Release(This);
|
|
}
|
|
/*** IWMMediaProps methods ***/
|
|
static FORCEINLINE HRESULT IWMOutputMediaProps_GetType(IWMOutputMediaProps* This,GUID *pguidType) {
|
|
return This->lpVtbl->GetType(This,pguidType);
|
|
}
|
|
static FORCEINLINE HRESULT IWMOutputMediaProps_GetMediaType(IWMOutputMediaProps* This,WM_MEDIA_TYPE *pType,DWORD *pcbType) {
|
|
return This->lpVtbl->GetMediaType(This,pType,pcbType);
|
|
}
|
|
static FORCEINLINE HRESULT IWMOutputMediaProps_SetMediaType(IWMOutputMediaProps* This,WM_MEDIA_TYPE *pType) {
|
|
return This->lpVtbl->SetMediaType(This,pType);
|
|
}
|
|
/*** IWMOutputMediaProps methods ***/
|
|
static FORCEINLINE HRESULT IWMOutputMediaProps_GetStreamGroupName(IWMOutputMediaProps* This,WCHAR *pwszName,WORD *pcchName) {
|
|
return This->lpVtbl->GetStreamGroupName(This,pwszName,pcchName);
|
|
}
|
|
static FORCEINLINE HRESULT IWMOutputMediaProps_GetConnectionName(IWMOutputMediaProps* This,WCHAR *pwszName,WORD *pcchName) {
|
|
return This->lpVtbl->GetConnectionName(This,pwszName,pcchName);
|
|
}
|
|
#endif
|
|
#endif
|
|
|
|
#endif
|
|
|
|
|
|
#endif /* __IWMOutputMediaProps_INTERFACE_DEFINED__ */
|
|
|
|
/*****************************************************************************
|
|
* IWMMetadataEditor interface
|
|
*/
|
|
#ifndef __IWMMetadataEditor_INTERFACE_DEFINED__
|
|
#define __IWMMetadataEditor_INTERFACE_DEFINED__
|
|
|
|
DEFINE_GUID(IID_IWMMetadataEditor, 0x96406bd9, 0x2b2b, 0x11d3, 0xb3,0x6b, 0x00,0xc0,0x4f,0x61,0x08,0xff);
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
MIDL_INTERFACE("96406bd9-2b2b-11d3-b36b-00c04f6108ff")
|
|
IWMMetadataEditor : public IUnknown
|
|
{
|
|
virtual HRESULT STDMETHODCALLTYPE Open(
|
|
const WCHAR *pwszFilename) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE Close(
|
|
) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE Flush(
|
|
) = 0;
|
|
|
|
};
|
|
#ifdef __CRT_UUID_DECL
|
|
__CRT_UUID_DECL(IWMMetadataEditor, 0x96406bd9, 0x2b2b, 0x11d3, 0xb3,0x6b, 0x00,0xc0,0x4f,0x61,0x08,0xff)
|
|
#endif
|
|
#else
|
|
typedef struct IWMMetadataEditorVtbl {
|
|
BEGIN_INTERFACE
|
|
|
|
/*** IUnknown methods ***/
|
|
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
|
|
IWMMetadataEditor *This,
|
|
REFIID riid,
|
|
void **ppvObject);
|
|
|
|
ULONG (STDMETHODCALLTYPE *AddRef)(
|
|
IWMMetadataEditor *This);
|
|
|
|
ULONG (STDMETHODCALLTYPE *Release)(
|
|
IWMMetadataEditor *This);
|
|
|
|
/*** IWMMetadataEditor methods ***/
|
|
HRESULT (STDMETHODCALLTYPE *Open)(
|
|
IWMMetadataEditor *This,
|
|
const WCHAR *pwszFilename);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *Close)(
|
|
IWMMetadataEditor *This);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *Flush)(
|
|
IWMMetadataEditor *This);
|
|
|
|
END_INTERFACE
|
|
} IWMMetadataEditorVtbl;
|
|
|
|
interface IWMMetadataEditor {
|
|
CONST_VTBL IWMMetadataEditorVtbl* lpVtbl;
|
|
};
|
|
|
|
#ifdef COBJMACROS
|
|
#ifndef WIDL_C_INLINE_WRAPPERS
|
|
/*** IUnknown methods ***/
|
|
#define IWMMetadataEditor_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
|
|
#define IWMMetadataEditor_AddRef(This) (This)->lpVtbl->AddRef(This)
|
|
#define IWMMetadataEditor_Release(This) (This)->lpVtbl->Release(This)
|
|
/*** IWMMetadataEditor methods ***/
|
|
#define IWMMetadataEditor_Open(This,pwszFilename) (This)->lpVtbl->Open(This,pwszFilename)
|
|
#define IWMMetadataEditor_Close(This) (This)->lpVtbl->Close(This)
|
|
#define IWMMetadataEditor_Flush(This) (This)->lpVtbl->Flush(This)
|
|
#else
|
|
/*** IUnknown methods ***/
|
|
static FORCEINLINE HRESULT IWMMetadataEditor_QueryInterface(IWMMetadataEditor* This,REFIID riid,void **ppvObject) {
|
|
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
|
|
}
|
|
static FORCEINLINE ULONG IWMMetadataEditor_AddRef(IWMMetadataEditor* This) {
|
|
return This->lpVtbl->AddRef(This);
|
|
}
|
|
static FORCEINLINE ULONG IWMMetadataEditor_Release(IWMMetadataEditor* This) {
|
|
return This->lpVtbl->Release(This);
|
|
}
|
|
/*** IWMMetadataEditor methods ***/
|
|
static FORCEINLINE HRESULT IWMMetadataEditor_Open(IWMMetadataEditor* This,const WCHAR *pwszFilename) {
|
|
return This->lpVtbl->Open(This,pwszFilename);
|
|
}
|
|
static FORCEINLINE HRESULT IWMMetadataEditor_Close(IWMMetadataEditor* This) {
|
|
return This->lpVtbl->Close(This);
|
|
}
|
|
static FORCEINLINE HRESULT IWMMetadataEditor_Flush(IWMMetadataEditor* This) {
|
|
return This->lpVtbl->Flush(This);
|
|
}
|
|
#endif
|
|
#endif
|
|
|
|
#endif
|
|
|
|
|
|
#endif /* __IWMMetadataEditor_INTERFACE_DEFINED__ */
|
|
|
|
/*****************************************************************************
|
|
* IWMReader interface
|
|
*/
|
|
#ifndef __IWMReader_INTERFACE_DEFINED__
|
|
#define __IWMReader_INTERFACE_DEFINED__
|
|
|
|
DEFINE_GUID(IID_IWMReader, 0x96406bd6, 0x2b2b, 0x11d3, 0xb3,0x6b, 0x00,0xc0,0x4f,0x61,0x08,0xff);
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
MIDL_INTERFACE("96406bd6-2b2b-11d3-b36b-00c04f6108ff")
|
|
IWMReader : public IUnknown
|
|
{
|
|
virtual HRESULT STDMETHODCALLTYPE Open(
|
|
const WCHAR *pwszURL,
|
|
IWMReaderCallback *pCallback,
|
|
void *pvContext) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE Close(
|
|
) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetOutputCount(
|
|
DWORD *pcOutputs) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetOutputProps(
|
|
DWORD dwOutputNum,
|
|
IWMOutputMediaProps **ppOutput) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE SetOutputProps(
|
|
DWORD dwOutputNum,
|
|
IWMOutputMediaProps *pOutput) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetOutputFormatCount(
|
|
DWORD dwOutputNumber,
|
|
DWORD *pcFormats) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetOutputFormat(
|
|
DWORD dwOutputNumber,
|
|
DWORD dwFormatNumber,
|
|
IWMOutputMediaProps **ppProps) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE Start(
|
|
QWORD cnsStart,
|
|
QWORD cnsDuration,
|
|
float fRate,
|
|
void *pvContext) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE Stop(
|
|
) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE Pause(
|
|
) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE Resume(
|
|
) = 0;
|
|
|
|
};
|
|
#ifdef __CRT_UUID_DECL
|
|
__CRT_UUID_DECL(IWMReader, 0x96406bd6, 0x2b2b, 0x11d3, 0xb3,0x6b, 0x00,0xc0,0x4f,0x61,0x08,0xff)
|
|
#endif
|
|
#else
|
|
typedef struct IWMReaderVtbl {
|
|
BEGIN_INTERFACE
|
|
|
|
/*** IUnknown methods ***/
|
|
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
|
|
IWMReader *This,
|
|
REFIID riid,
|
|
void **ppvObject);
|
|
|
|
ULONG (STDMETHODCALLTYPE *AddRef)(
|
|
IWMReader *This);
|
|
|
|
ULONG (STDMETHODCALLTYPE *Release)(
|
|
IWMReader *This);
|
|
|
|
/*** IWMReader methods ***/
|
|
HRESULT (STDMETHODCALLTYPE *Open)(
|
|
IWMReader *This,
|
|
const WCHAR *pwszURL,
|
|
IWMReaderCallback *pCallback,
|
|
void *pvContext);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *Close)(
|
|
IWMReader *This);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetOutputCount)(
|
|
IWMReader *This,
|
|
DWORD *pcOutputs);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetOutputProps)(
|
|
IWMReader *This,
|
|
DWORD dwOutputNum,
|
|
IWMOutputMediaProps **ppOutput);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetOutputProps)(
|
|
IWMReader *This,
|
|
DWORD dwOutputNum,
|
|
IWMOutputMediaProps *pOutput);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetOutputFormatCount)(
|
|
IWMReader *This,
|
|
DWORD dwOutputNumber,
|
|
DWORD *pcFormats);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetOutputFormat)(
|
|
IWMReader *This,
|
|
DWORD dwOutputNumber,
|
|
DWORD dwFormatNumber,
|
|
IWMOutputMediaProps **ppProps);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *Start)(
|
|
IWMReader *This,
|
|
QWORD cnsStart,
|
|
QWORD cnsDuration,
|
|
float fRate,
|
|
void *pvContext);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *Stop)(
|
|
IWMReader *This);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *Pause)(
|
|
IWMReader *This);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *Resume)(
|
|
IWMReader *This);
|
|
|
|
END_INTERFACE
|
|
} IWMReaderVtbl;
|
|
|
|
interface IWMReader {
|
|
CONST_VTBL IWMReaderVtbl* lpVtbl;
|
|
};
|
|
|
|
#ifdef COBJMACROS
|
|
#ifndef WIDL_C_INLINE_WRAPPERS
|
|
/*** IUnknown methods ***/
|
|
#define IWMReader_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
|
|
#define IWMReader_AddRef(This) (This)->lpVtbl->AddRef(This)
|
|
#define IWMReader_Release(This) (This)->lpVtbl->Release(This)
|
|
/*** IWMReader methods ***/
|
|
#define IWMReader_Open(This,pwszURL,pCallback,pvContext) (This)->lpVtbl->Open(This,pwszURL,pCallback,pvContext)
|
|
#define IWMReader_Close(This) (This)->lpVtbl->Close(This)
|
|
#define IWMReader_GetOutputCount(This,pcOutputs) (This)->lpVtbl->GetOutputCount(This,pcOutputs)
|
|
#define IWMReader_GetOutputProps(This,dwOutputNum,ppOutput) (This)->lpVtbl->GetOutputProps(This,dwOutputNum,ppOutput)
|
|
#define IWMReader_SetOutputProps(This,dwOutputNum,pOutput) (This)->lpVtbl->SetOutputProps(This,dwOutputNum,pOutput)
|
|
#define IWMReader_GetOutputFormatCount(This,dwOutputNumber,pcFormats) (This)->lpVtbl->GetOutputFormatCount(This,dwOutputNumber,pcFormats)
|
|
#define IWMReader_GetOutputFormat(This,dwOutputNumber,dwFormatNumber,ppProps) (This)->lpVtbl->GetOutputFormat(This,dwOutputNumber,dwFormatNumber,ppProps)
|
|
#define IWMReader_Start(This,cnsStart,cnsDuration,fRate,pvContext) (This)->lpVtbl->Start(This,cnsStart,cnsDuration,fRate,pvContext)
|
|
#define IWMReader_Stop(This) (This)->lpVtbl->Stop(This)
|
|
#define IWMReader_Pause(This) (This)->lpVtbl->Pause(This)
|
|
#define IWMReader_Resume(This) (This)->lpVtbl->Resume(This)
|
|
#else
|
|
/*** IUnknown methods ***/
|
|
static FORCEINLINE HRESULT IWMReader_QueryInterface(IWMReader* This,REFIID riid,void **ppvObject) {
|
|
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
|
|
}
|
|
static FORCEINLINE ULONG IWMReader_AddRef(IWMReader* This) {
|
|
return This->lpVtbl->AddRef(This);
|
|
}
|
|
static FORCEINLINE ULONG IWMReader_Release(IWMReader* This) {
|
|
return This->lpVtbl->Release(This);
|
|
}
|
|
/*** IWMReader methods ***/
|
|
static FORCEINLINE HRESULT IWMReader_Open(IWMReader* This,const WCHAR *pwszURL,IWMReaderCallback *pCallback,void *pvContext) {
|
|
return This->lpVtbl->Open(This,pwszURL,pCallback,pvContext);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReader_Close(IWMReader* This) {
|
|
return This->lpVtbl->Close(This);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReader_GetOutputCount(IWMReader* This,DWORD *pcOutputs) {
|
|
return This->lpVtbl->GetOutputCount(This,pcOutputs);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReader_GetOutputProps(IWMReader* This,DWORD dwOutputNum,IWMOutputMediaProps **ppOutput) {
|
|
return This->lpVtbl->GetOutputProps(This,dwOutputNum,ppOutput);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReader_SetOutputProps(IWMReader* This,DWORD dwOutputNum,IWMOutputMediaProps *pOutput) {
|
|
return This->lpVtbl->SetOutputProps(This,dwOutputNum,pOutput);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReader_GetOutputFormatCount(IWMReader* This,DWORD dwOutputNumber,DWORD *pcFormats) {
|
|
return This->lpVtbl->GetOutputFormatCount(This,dwOutputNumber,pcFormats);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReader_GetOutputFormat(IWMReader* This,DWORD dwOutputNumber,DWORD dwFormatNumber,IWMOutputMediaProps **ppProps) {
|
|
return This->lpVtbl->GetOutputFormat(This,dwOutputNumber,dwFormatNumber,ppProps);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReader_Start(IWMReader* This,QWORD cnsStart,QWORD cnsDuration,float fRate,void *pvContext) {
|
|
return This->lpVtbl->Start(This,cnsStart,cnsDuration,fRate,pvContext);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReader_Stop(IWMReader* This) {
|
|
return This->lpVtbl->Stop(This);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReader_Pause(IWMReader* This) {
|
|
return This->lpVtbl->Pause(This);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReader_Resume(IWMReader* This) {
|
|
return This->lpVtbl->Resume(This);
|
|
}
|
|
#endif
|
|
#endif
|
|
|
|
#endif
|
|
|
|
|
|
#endif /* __IWMReader_INTERFACE_DEFINED__ */
|
|
|
|
/*****************************************************************************
|
|
* IWMPlayerHook interface
|
|
*/
|
|
#ifndef __IWMPlayerHook_INTERFACE_DEFINED__
|
|
#define __IWMPlayerHook_INTERFACE_DEFINED__
|
|
|
|
DEFINE_GUID(IID_IWMPlayerHook, 0xe5b7ca9a, 0x0f1c, 0x4f66, 0x90,0x02, 0x74,0xec,0x50,0xd8,0xb3,0x04);
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
MIDL_INTERFACE("e5b7ca9a-0f1c-4f66-9002-74ec50d8b304")
|
|
IWMPlayerHook : public IUnknown
|
|
{
|
|
virtual HRESULT STDMETHODCALLTYPE PreDecode(
|
|
) = 0;
|
|
|
|
};
|
|
#ifdef __CRT_UUID_DECL
|
|
__CRT_UUID_DECL(IWMPlayerHook, 0xe5b7ca9a, 0x0f1c, 0x4f66, 0x90,0x02, 0x74,0xec,0x50,0xd8,0xb3,0x04)
|
|
#endif
|
|
#else
|
|
typedef struct IWMPlayerHookVtbl {
|
|
BEGIN_INTERFACE
|
|
|
|
/*** IUnknown methods ***/
|
|
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
|
|
IWMPlayerHook *This,
|
|
REFIID riid,
|
|
void **ppvObject);
|
|
|
|
ULONG (STDMETHODCALLTYPE *AddRef)(
|
|
IWMPlayerHook *This);
|
|
|
|
ULONG (STDMETHODCALLTYPE *Release)(
|
|
IWMPlayerHook *This);
|
|
|
|
/*** IWMPlayerHook methods ***/
|
|
HRESULT (STDMETHODCALLTYPE *PreDecode)(
|
|
IWMPlayerHook *This);
|
|
|
|
END_INTERFACE
|
|
} IWMPlayerHookVtbl;
|
|
|
|
interface IWMPlayerHook {
|
|
CONST_VTBL IWMPlayerHookVtbl* lpVtbl;
|
|
};
|
|
|
|
#ifdef COBJMACROS
|
|
#ifndef WIDL_C_INLINE_WRAPPERS
|
|
/*** IUnknown methods ***/
|
|
#define IWMPlayerHook_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
|
|
#define IWMPlayerHook_AddRef(This) (This)->lpVtbl->AddRef(This)
|
|
#define IWMPlayerHook_Release(This) (This)->lpVtbl->Release(This)
|
|
/*** IWMPlayerHook methods ***/
|
|
#define IWMPlayerHook_PreDecode(This) (This)->lpVtbl->PreDecode(This)
|
|
#else
|
|
/*** IUnknown methods ***/
|
|
static FORCEINLINE HRESULT IWMPlayerHook_QueryInterface(IWMPlayerHook* This,REFIID riid,void **ppvObject) {
|
|
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
|
|
}
|
|
static FORCEINLINE ULONG IWMPlayerHook_AddRef(IWMPlayerHook* This) {
|
|
return This->lpVtbl->AddRef(This);
|
|
}
|
|
static FORCEINLINE ULONG IWMPlayerHook_Release(IWMPlayerHook* This) {
|
|
return This->lpVtbl->Release(This);
|
|
}
|
|
/*** IWMPlayerHook methods ***/
|
|
static FORCEINLINE HRESULT IWMPlayerHook_PreDecode(IWMPlayerHook* This) {
|
|
return This->lpVtbl->PreDecode(This);
|
|
}
|
|
#endif
|
|
#endif
|
|
|
|
#endif
|
|
|
|
|
|
#endif /* __IWMPlayerHook_INTERFACE_DEFINED__ */
|
|
|
|
/*****************************************************************************
|
|
* IWMReaderAdvanced interface
|
|
*/
|
|
#ifndef __IWMReaderAdvanced_INTERFACE_DEFINED__
|
|
#define __IWMReaderAdvanced_INTERFACE_DEFINED__
|
|
|
|
DEFINE_GUID(IID_IWMReaderAdvanced, 0x96406bea, 0x2b2b, 0x11d3, 0xb3,0x6b, 0x00,0xc0,0x4f,0x61,0x08,0xff);
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
MIDL_INTERFACE("96406bea-2b2b-11d3-b36b-00c04f6108ff")
|
|
IWMReaderAdvanced : public IUnknown
|
|
{
|
|
virtual HRESULT STDMETHODCALLTYPE SetUserProvidedClock(
|
|
WINBOOL fUserClock) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetUserProvidedClock(
|
|
WINBOOL *pfUserClock) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE DeliverTime(
|
|
QWORD cnsTime) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE SetManualStreamSelection(
|
|
WINBOOL fSelection) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetManualStreamSelection(
|
|
WINBOOL *pfSelection) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE SetStreamsSelected(
|
|
WORD cStreamCount,
|
|
WORD *pwStreamNumbers,
|
|
WMT_STREAM_SELECTION *pSelections) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetStreamSelected(
|
|
WORD wStreamNum,
|
|
WMT_STREAM_SELECTION *pSelection) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE SetReceiveSelectionCallbacks(
|
|
WINBOOL fGetCallbacks) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetReceiveSelectionCallbacks(
|
|
WINBOOL *pfGetCallbacks) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE SetReceiveStreamSamples(
|
|
WORD wStreamNum,
|
|
WINBOOL fReceiveStreamSamples) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetReceiveStreamSamples(
|
|
WORD wStreamNum,
|
|
WINBOOL *pfReceiveStreamSamples) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE SetAllocateForOutput(
|
|
DWORD dwOutputNum,
|
|
WINBOOL fAllocate) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetAllocateForOutput(
|
|
DWORD dwOutputNum,
|
|
WINBOOL *pfAllocate) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE SetAllocateForStream(
|
|
WORD wStreamNum,
|
|
WINBOOL fAllocate) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetAllocateForStream(
|
|
WORD dwStreamNum,
|
|
WINBOOL *pfAllocate) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetStatistics(
|
|
WM_READER_STATISTICS *pStatistics) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE SetClientInfo(
|
|
WM_READER_CLIENTINFO *pClientInfo) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetMaxOutputSampleSize(
|
|
DWORD dwOutput,
|
|
DWORD *pcbMax) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetMaxStreamSampleSize(
|
|
WORD wStream,
|
|
DWORD *pcbMax) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE NotifyLateDelivery(
|
|
QWORD cnsLateness) = 0;
|
|
|
|
};
|
|
#ifdef __CRT_UUID_DECL
|
|
__CRT_UUID_DECL(IWMReaderAdvanced, 0x96406bea, 0x2b2b, 0x11d3, 0xb3,0x6b, 0x00,0xc0,0x4f,0x61,0x08,0xff)
|
|
#endif
|
|
#else
|
|
typedef struct IWMReaderAdvancedVtbl {
|
|
BEGIN_INTERFACE
|
|
|
|
/*** IUnknown methods ***/
|
|
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
|
|
IWMReaderAdvanced *This,
|
|
REFIID riid,
|
|
void **ppvObject);
|
|
|
|
ULONG (STDMETHODCALLTYPE *AddRef)(
|
|
IWMReaderAdvanced *This);
|
|
|
|
ULONG (STDMETHODCALLTYPE *Release)(
|
|
IWMReaderAdvanced *This);
|
|
|
|
/*** IWMReaderAdvanced methods ***/
|
|
HRESULT (STDMETHODCALLTYPE *SetUserProvidedClock)(
|
|
IWMReaderAdvanced *This,
|
|
WINBOOL fUserClock);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetUserProvidedClock)(
|
|
IWMReaderAdvanced *This,
|
|
WINBOOL *pfUserClock);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *DeliverTime)(
|
|
IWMReaderAdvanced *This,
|
|
QWORD cnsTime);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetManualStreamSelection)(
|
|
IWMReaderAdvanced *This,
|
|
WINBOOL fSelection);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetManualStreamSelection)(
|
|
IWMReaderAdvanced *This,
|
|
WINBOOL *pfSelection);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetStreamsSelected)(
|
|
IWMReaderAdvanced *This,
|
|
WORD cStreamCount,
|
|
WORD *pwStreamNumbers,
|
|
WMT_STREAM_SELECTION *pSelections);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetStreamSelected)(
|
|
IWMReaderAdvanced *This,
|
|
WORD wStreamNum,
|
|
WMT_STREAM_SELECTION *pSelection);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetReceiveSelectionCallbacks)(
|
|
IWMReaderAdvanced *This,
|
|
WINBOOL fGetCallbacks);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetReceiveSelectionCallbacks)(
|
|
IWMReaderAdvanced *This,
|
|
WINBOOL *pfGetCallbacks);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetReceiveStreamSamples)(
|
|
IWMReaderAdvanced *This,
|
|
WORD wStreamNum,
|
|
WINBOOL fReceiveStreamSamples);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetReceiveStreamSamples)(
|
|
IWMReaderAdvanced *This,
|
|
WORD wStreamNum,
|
|
WINBOOL *pfReceiveStreamSamples);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetAllocateForOutput)(
|
|
IWMReaderAdvanced *This,
|
|
DWORD dwOutputNum,
|
|
WINBOOL fAllocate);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetAllocateForOutput)(
|
|
IWMReaderAdvanced *This,
|
|
DWORD dwOutputNum,
|
|
WINBOOL *pfAllocate);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetAllocateForStream)(
|
|
IWMReaderAdvanced *This,
|
|
WORD wStreamNum,
|
|
WINBOOL fAllocate);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetAllocateForStream)(
|
|
IWMReaderAdvanced *This,
|
|
WORD dwStreamNum,
|
|
WINBOOL *pfAllocate);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetStatistics)(
|
|
IWMReaderAdvanced *This,
|
|
WM_READER_STATISTICS *pStatistics);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetClientInfo)(
|
|
IWMReaderAdvanced *This,
|
|
WM_READER_CLIENTINFO *pClientInfo);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetMaxOutputSampleSize)(
|
|
IWMReaderAdvanced *This,
|
|
DWORD dwOutput,
|
|
DWORD *pcbMax);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetMaxStreamSampleSize)(
|
|
IWMReaderAdvanced *This,
|
|
WORD wStream,
|
|
DWORD *pcbMax);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *NotifyLateDelivery)(
|
|
IWMReaderAdvanced *This,
|
|
QWORD cnsLateness);
|
|
|
|
END_INTERFACE
|
|
} IWMReaderAdvancedVtbl;
|
|
|
|
interface IWMReaderAdvanced {
|
|
CONST_VTBL IWMReaderAdvancedVtbl* lpVtbl;
|
|
};
|
|
|
|
#ifdef COBJMACROS
|
|
#ifndef WIDL_C_INLINE_WRAPPERS
|
|
/*** IUnknown methods ***/
|
|
#define IWMReaderAdvanced_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
|
|
#define IWMReaderAdvanced_AddRef(This) (This)->lpVtbl->AddRef(This)
|
|
#define IWMReaderAdvanced_Release(This) (This)->lpVtbl->Release(This)
|
|
/*** IWMReaderAdvanced methods ***/
|
|
#define IWMReaderAdvanced_SetUserProvidedClock(This,fUserClock) (This)->lpVtbl->SetUserProvidedClock(This,fUserClock)
|
|
#define IWMReaderAdvanced_GetUserProvidedClock(This,pfUserClock) (This)->lpVtbl->GetUserProvidedClock(This,pfUserClock)
|
|
#define IWMReaderAdvanced_DeliverTime(This,cnsTime) (This)->lpVtbl->DeliverTime(This,cnsTime)
|
|
#define IWMReaderAdvanced_SetManualStreamSelection(This,fSelection) (This)->lpVtbl->SetManualStreamSelection(This,fSelection)
|
|
#define IWMReaderAdvanced_GetManualStreamSelection(This,pfSelection) (This)->lpVtbl->GetManualStreamSelection(This,pfSelection)
|
|
#define IWMReaderAdvanced_SetStreamsSelected(This,cStreamCount,pwStreamNumbers,pSelections) (This)->lpVtbl->SetStreamsSelected(This,cStreamCount,pwStreamNumbers,pSelections)
|
|
#define IWMReaderAdvanced_GetStreamSelected(This,wStreamNum,pSelection) (This)->lpVtbl->GetStreamSelected(This,wStreamNum,pSelection)
|
|
#define IWMReaderAdvanced_SetReceiveSelectionCallbacks(This,fGetCallbacks) (This)->lpVtbl->SetReceiveSelectionCallbacks(This,fGetCallbacks)
|
|
#define IWMReaderAdvanced_GetReceiveSelectionCallbacks(This,pfGetCallbacks) (This)->lpVtbl->GetReceiveSelectionCallbacks(This,pfGetCallbacks)
|
|
#define IWMReaderAdvanced_SetReceiveStreamSamples(This,wStreamNum,fReceiveStreamSamples) (This)->lpVtbl->SetReceiveStreamSamples(This,wStreamNum,fReceiveStreamSamples)
|
|
#define IWMReaderAdvanced_GetReceiveStreamSamples(This,wStreamNum,pfReceiveStreamSamples) (This)->lpVtbl->GetReceiveStreamSamples(This,wStreamNum,pfReceiveStreamSamples)
|
|
#define IWMReaderAdvanced_SetAllocateForOutput(This,dwOutputNum,fAllocate) (This)->lpVtbl->SetAllocateForOutput(This,dwOutputNum,fAllocate)
|
|
#define IWMReaderAdvanced_GetAllocateForOutput(This,dwOutputNum,pfAllocate) (This)->lpVtbl->GetAllocateForOutput(This,dwOutputNum,pfAllocate)
|
|
#define IWMReaderAdvanced_SetAllocateForStream(This,wStreamNum,fAllocate) (This)->lpVtbl->SetAllocateForStream(This,wStreamNum,fAllocate)
|
|
#define IWMReaderAdvanced_GetAllocateForStream(This,dwStreamNum,pfAllocate) (This)->lpVtbl->GetAllocateForStream(This,dwStreamNum,pfAllocate)
|
|
#define IWMReaderAdvanced_GetStatistics(This,pStatistics) (This)->lpVtbl->GetStatistics(This,pStatistics)
|
|
#define IWMReaderAdvanced_SetClientInfo(This,pClientInfo) (This)->lpVtbl->SetClientInfo(This,pClientInfo)
|
|
#define IWMReaderAdvanced_GetMaxOutputSampleSize(This,dwOutput,pcbMax) (This)->lpVtbl->GetMaxOutputSampleSize(This,dwOutput,pcbMax)
|
|
#define IWMReaderAdvanced_GetMaxStreamSampleSize(This,wStream,pcbMax) (This)->lpVtbl->GetMaxStreamSampleSize(This,wStream,pcbMax)
|
|
#define IWMReaderAdvanced_NotifyLateDelivery(This,cnsLateness) (This)->lpVtbl->NotifyLateDelivery(This,cnsLateness)
|
|
#else
|
|
/*** IUnknown methods ***/
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced_QueryInterface(IWMReaderAdvanced* This,REFIID riid,void **ppvObject) {
|
|
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
|
|
}
|
|
static FORCEINLINE ULONG IWMReaderAdvanced_AddRef(IWMReaderAdvanced* This) {
|
|
return This->lpVtbl->AddRef(This);
|
|
}
|
|
static FORCEINLINE ULONG IWMReaderAdvanced_Release(IWMReaderAdvanced* This) {
|
|
return This->lpVtbl->Release(This);
|
|
}
|
|
/*** IWMReaderAdvanced methods ***/
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced_SetUserProvidedClock(IWMReaderAdvanced* This,WINBOOL fUserClock) {
|
|
return This->lpVtbl->SetUserProvidedClock(This,fUserClock);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced_GetUserProvidedClock(IWMReaderAdvanced* This,WINBOOL *pfUserClock) {
|
|
return This->lpVtbl->GetUserProvidedClock(This,pfUserClock);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced_DeliverTime(IWMReaderAdvanced* This,QWORD cnsTime) {
|
|
return This->lpVtbl->DeliverTime(This,cnsTime);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced_SetManualStreamSelection(IWMReaderAdvanced* This,WINBOOL fSelection) {
|
|
return This->lpVtbl->SetManualStreamSelection(This,fSelection);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced_GetManualStreamSelection(IWMReaderAdvanced* This,WINBOOL *pfSelection) {
|
|
return This->lpVtbl->GetManualStreamSelection(This,pfSelection);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced_SetStreamsSelected(IWMReaderAdvanced* This,WORD cStreamCount,WORD *pwStreamNumbers,WMT_STREAM_SELECTION *pSelections) {
|
|
return This->lpVtbl->SetStreamsSelected(This,cStreamCount,pwStreamNumbers,pSelections);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced_GetStreamSelected(IWMReaderAdvanced* This,WORD wStreamNum,WMT_STREAM_SELECTION *pSelection) {
|
|
return This->lpVtbl->GetStreamSelected(This,wStreamNum,pSelection);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced_SetReceiveSelectionCallbacks(IWMReaderAdvanced* This,WINBOOL fGetCallbacks) {
|
|
return This->lpVtbl->SetReceiveSelectionCallbacks(This,fGetCallbacks);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced_GetReceiveSelectionCallbacks(IWMReaderAdvanced* This,WINBOOL *pfGetCallbacks) {
|
|
return This->lpVtbl->GetReceiveSelectionCallbacks(This,pfGetCallbacks);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced_SetReceiveStreamSamples(IWMReaderAdvanced* This,WORD wStreamNum,WINBOOL fReceiveStreamSamples) {
|
|
return This->lpVtbl->SetReceiveStreamSamples(This,wStreamNum,fReceiveStreamSamples);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced_GetReceiveStreamSamples(IWMReaderAdvanced* This,WORD wStreamNum,WINBOOL *pfReceiveStreamSamples) {
|
|
return This->lpVtbl->GetReceiveStreamSamples(This,wStreamNum,pfReceiveStreamSamples);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced_SetAllocateForOutput(IWMReaderAdvanced* This,DWORD dwOutputNum,WINBOOL fAllocate) {
|
|
return This->lpVtbl->SetAllocateForOutput(This,dwOutputNum,fAllocate);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced_GetAllocateForOutput(IWMReaderAdvanced* This,DWORD dwOutputNum,WINBOOL *pfAllocate) {
|
|
return This->lpVtbl->GetAllocateForOutput(This,dwOutputNum,pfAllocate);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced_SetAllocateForStream(IWMReaderAdvanced* This,WORD wStreamNum,WINBOOL fAllocate) {
|
|
return This->lpVtbl->SetAllocateForStream(This,wStreamNum,fAllocate);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced_GetAllocateForStream(IWMReaderAdvanced* This,WORD dwStreamNum,WINBOOL *pfAllocate) {
|
|
return This->lpVtbl->GetAllocateForStream(This,dwStreamNum,pfAllocate);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced_GetStatistics(IWMReaderAdvanced* This,WM_READER_STATISTICS *pStatistics) {
|
|
return This->lpVtbl->GetStatistics(This,pStatistics);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced_SetClientInfo(IWMReaderAdvanced* This,WM_READER_CLIENTINFO *pClientInfo) {
|
|
return This->lpVtbl->SetClientInfo(This,pClientInfo);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced_GetMaxOutputSampleSize(IWMReaderAdvanced* This,DWORD dwOutput,DWORD *pcbMax) {
|
|
return This->lpVtbl->GetMaxOutputSampleSize(This,dwOutput,pcbMax);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced_GetMaxStreamSampleSize(IWMReaderAdvanced* This,WORD wStream,DWORD *pcbMax) {
|
|
return This->lpVtbl->GetMaxStreamSampleSize(This,wStream,pcbMax);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced_NotifyLateDelivery(IWMReaderAdvanced* This,QWORD cnsLateness) {
|
|
return This->lpVtbl->NotifyLateDelivery(This,cnsLateness);
|
|
}
|
|
#endif
|
|
#endif
|
|
|
|
#endif
|
|
|
|
|
|
#endif /* __IWMReaderAdvanced_INTERFACE_DEFINED__ */
|
|
|
|
/*****************************************************************************
|
|
* IWMReaderAdvanced2 interface
|
|
*/
|
|
#ifndef __IWMReaderAdvanced2_INTERFACE_DEFINED__
|
|
#define __IWMReaderAdvanced2_INTERFACE_DEFINED__
|
|
|
|
DEFINE_GUID(IID_IWMReaderAdvanced2, 0xae14a945, 0xb90c, 0x4d0d, 0x91,0x27, 0x80,0xd6,0x65,0xf7,0xd7,0x3e);
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
MIDL_INTERFACE("ae14a945-b90c-4d0d-9127-80d665f7d73e")
|
|
IWMReaderAdvanced2 : public IWMReaderAdvanced
|
|
{
|
|
virtual HRESULT STDMETHODCALLTYPE SetPlayMode(
|
|
WMT_PLAY_MODE Mode) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetPlayMode(
|
|
WMT_PLAY_MODE *pMode) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetBufferProgress(
|
|
DWORD *pdwPercent,
|
|
QWORD *pcnsBuffering) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetDownloadProgress(
|
|
DWORD *pdwPercent,
|
|
QWORD *pqwBytesDownloaded,
|
|
QWORD *pcnsDownload) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetSaveAsProgress(
|
|
DWORD *pdwPercent) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE SaveFileAs(
|
|
const WCHAR *pwszFilename) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetProtocolName(
|
|
WCHAR *pwszProtocol,
|
|
DWORD *pcchProtocol) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE StartAtMarker(
|
|
WORD wMarkerIndex,
|
|
QWORD cnsDuration,
|
|
float fRate,
|
|
void *pvContext) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetOutputSetting(
|
|
DWORD dwOutputNum,
|
|
LPCWSTR pszName,
|
|
WMT_ATTR_DATATYPE *pType,
|
|
BYTE *pValue,
|
|
WORD *pcbLength) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE SetOutputSetting(
|
|
DWORD dwOutputNum,
|
|
LPCWSTR pszName,
|
|
WMT_ATTR_DATATYPE Type,
|
|
const BYTE *pValue,
|
|
WORD cbLength) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE Preroll(
|
|
QWORD cnsStart,
|
|
QWORD cnsDuration,
|
|
float fRate) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE SetLogClientID(
|
|
WINBOOL fLogClientID) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetLogClientID(
|
|
WINBOOL *pfLogClientID) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE StopBuffering(
|
|
) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE OpenStream(
|
|
IStream *pStream,
|
|
IWMReaderCallback *pCallback,
|
|
void *pvContext) = 0;
|
|
|
|
};
|
|
#ifdef __CRT_UUID_DECL
|
|
__CRT_UUID_DECL(IWMReaderAdvanced2, 0xae14a945, 0xb90c, 0x4d0d, 0x91,0x27, 0x80,0xd6,0x65,0xf7,0xd7,0x3e)
|
|
#endif
|
|
#else
|
|
typedef struct IWMReaderAdvanced2Vtbl {
|
|
BEGIN_INTERFACE
|
|
|
|
/*** IUnknown methods ***/
|
|
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
|
|
IWMReaderAdvanced2 *This,
|
|
REFIID riid,
|
|
void **ppvObject);
|
|
|
|
ULONG (STDMETHODCALLTYPE *AddRef)(
|
|
IWMReaderAdvanced2 *This);
|
|
|
|
ULONG (STDMETHODCALLTYPE *Release)(
|
|
IWMReaderAdvanced2 *This);
|
|
|
|
/*** IWMReaderAdvanced methods ***/
|
|
HRESULT (STDMETHODCALLTYPE *SetUserProvidedClock)(
|
|
IWMReaderAdvanced2 *This,
|
|
WINBOOL fUserClock);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetUserProvidedClock)(
|
|
IWMReaderAdvanced2 *This,
|
|
WINBOOL *pfUserClock);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *DeliverTime)(
|
|
IWMReaderAdvanced2 *This,
|
|
QWORD cnsTime);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetManualStreamSelection)(
|
|
IWMReaderAdvanced2 *This,
|
|
WINBOOL fSelection);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetManualStreamSelection)(
|
|
IWMReaderAdvanced2 *This,
|
|
WINBOOL *pfSelection);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetStreamsSelected)(
|
|
IWMReaderAdvanced2 *This,
|
|
WORD cStreamCount,
|
|
WORD *pwStreamNumbers,
|
|
WMT_STREAM_SELECTION *pSelections);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetStreamSelected)(
|
|
IWMReaderAdvanced2 *This,
|
|
WORD wStreamNum,
|
|
WMT_STREAM_SELECTION *pSelection);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetReceiveSelectionCallbacks)(
|
|
IWMReaderAdvanced2 *This,
|
|
WINBOOL fGetCallbacks);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetReceiveSelectionCallbacks)(
|
|
IWMReaderAdvanced2 *This,
|
|
WINBOOL *pfGetCallbacks);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetReceiveStreamSamples)(
|
|
IWMReaderAdvanced2 *This,
|
|
WORD wStreamNum,
|
|
WINBOOL fReceiveStreamSamples);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetReceiveStreamSamples)(
|
|
IWMReaderAdvanced2 *This,
|
|
WORD wStreamNum,
|
|
WINBOOL *pfReceiveStreamSamples);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetAllocateForOutput)(
|
|
IWMReaderAdvanced2 *This,
|
|
DWORD dwOutputNum,
|
|
WINBOOL fAllocate);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetAllocateForOutput)(
|
|
IWMReaderAdvanced2 *This,
|
|
DWORD dwOutputNum,
|
|
WINBOOL *pfAllocate);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetAllocateForStream)(
|
|
IWMReaderAdvanced2 *This,
|
|
WORD wStreamNum,
|
|
WINBOOL fAllocate);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetAllocateForStream)(
|
|
IWMReaderAdvanced2 *This,
|
|
WORD dwStreamNum,
|
|
WINBOOL *pfAllocate);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetStatistics)(
|
|
IWMReaderAdvanced2 *This,
|
|
WM_READER_STATISTICS *pStatistics);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetClientInfo)(
|
|
IWMReaderAdvanced2 *This,
|
|
WM_READER_CLIENTINFO *pClientInfo);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetMaxOutputSampleSize)(
|
|
IWMReaderAdvanced2 *This,
|
|
DWORD dwOutput,
|
|
DWORD *pcbMax);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetMaxStreamSampleSize)(
|
|
IWMReaderAdvanced2 *This,
|
|
WORD wStream,
|
|
DWORD *pcbMax);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *NotifyLateDelivery)(
|
|
IWMReaderAdvanced2 *This,
|
|
QWORD cnsLateness);
|
|
|
|
/*** IWMReaderAdvanced2 methods ***/
|
|
HRESULT (STDMETHODCALLTYPE *SetPlayMode)(
|
|
IWMReaderAdvanced2 *This,
|
|
WMT_PLAY_MODE Mode);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetPlayMode)(
|
|
IWMReaderAdvanced2 *This,
|
|
WMT_PLAY_MODE *pMode);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetBufferProgress)(
|
|
IWMReaderAdvanced2 *This,
|
|
DWORD *pdwPercent,
|
|
QWORD *pcnsBuffering);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetDownloadProgress)(
|
|
IWMReaderAdvanced2 *This,
|
|
DWORD *pdwPercent,
|
|
QWORD *pqwBytesDownloaded,
|
|
QWORD *pcnsDownload);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetSaveAsProgress)(
|
|
IWMReaderAdvanced2 *This,
|
|
DWORD *pdwPercent);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SaveFileAs)(
|
|
IWMReaderAdvanced2 *This,
|
|
const WCHAR *pwszFilename);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetProtocolName)(
|
|
IWMReaderAdvanced2 *This,
|
|
WCHAR *pwszProtocol,
|
|
DWORD *pcchProtocol);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *StartAtMarker)(
|
|
IWMReaderAdvanced2 *This,
|
|
WORD wMarkerIndex,
|
|
QWORD cnsDuration,
|
|
float fRate,
|
|
void *pvContext);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetOutputSetting)(
|
|
IWMReaderAdvanced2 *This,
|
|
DWORD dwOutputNum,
|
|
LPCWSTR pszName,
|
|
WMT_ATTR_DATATYPE *pType,
|
|
BYTE *pValue,
|
|
WORD *pcbLength);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetOutputSetting)(
|
|
IWMReaderAdvanced2 *This,
|
|
DWORD dwOutputNum,
|
|
LPCWSTR pszName,
|
|
WMT_ATTR_DATATYPE Type,
|
|
const BYTE *pValue,
|
|
WORD cbLength);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *Preroll)(
|
|
IWMReaderAdvanced2 *This,
|
|
QWORD cnsStart,
|
|
QWORD cnsDuration,
|
|
float fRate);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetLogClientID)(
|
|
IWMReaderAdvanced2 *This,
|
|
WINBOOL fLogClientID);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetLogClientID)(
|
|
IWMReaderAdvanced2 *This,
|
|
WINBOOL *pfLogClientID);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *StopBuffering)(
|
|
IWMReaderAdvanced2 *This);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *OpenStream)(
|
|
IWMReaderAdvanced2 *This,
|
|
IStream *pStream,
|
|
IWMReaderCallback *pCallback,
|
|
void *pvContext);
|
|
|
|
END_INTERFACE
|
|
} IWMReaderAdvanced2Vtbl;
|
|
|
|
interface IWMReaderAdvanced2 {
|
|
CONST_VTBL IWMReaderAdvanced2Vtbl* lpVtbl;
|
|
};
|
|
|
|
#ifdef COBJMACROS
|
|
#ifndef WIDL_C_INLINE_WRAPPERS
|
|
/*** IUnknown methods ***/
|
|
#define IWMReaderAdvanced2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
|
|
#define IWMReaderAdvanced2_AddRef(This) (This)->lpVtbl->AddRef(This)
|
|
#define IWMReaderAdvanced2_Release(This) (This)->lpVtbl->Release(This)
|
|
/*** IWMReaderAdvanced methods ***/
|
|
#define IWMReaderAdvanced2_SetUserProvidedClock(This,fUserClock) (This)->lpVtbl->SetUserProvidedClock(This,fUserClock)
|
|
#define IWMReaderAdvanced2_GetUserProvidedClock(This,pfUserClock) (This)->lpVtbl->GetUserProvidedClock(This,pfUserClock)
|
|
#define IWMReaderAdvanced2_DeliverTime(This,cnsTime) (This)->lpVtbl->DeliverTime(This,cnsTime)
|
|
#define IWMReaderAdvanced2_SetManualStreamSelection(This,fSelection) (This)->lpVtbl->SetManualStreamSelection(This,fSelection)
|
|
#define IWMReaderAdvanced2_GetManualStreamSelection(This,pfSelection) (This)->lpVtbl->GetManualStreamSelection(This,pfSelection)
|
|
#define IWMReaderAdvanced2_SetStreamsSelected(This,cStreamCount,pwStreamNumbers,pSelections) (This)->lpVtbl->SetStreamsSelected(This,cStreamCount,pwStreamNumbers,pSelections)
|
|
#define IWMReaderAdvanced2_GetStreamSelected(This,wStreamNum,pSelection) (This)->lpVtbl->GetStreamSelected(This,wStreamNum,pSelection)
|
|
#define IWMReaderAdvanced2_SetReceiveSelectionCallbacks(This,fGetCallbacks) (This)->lpVtbl->SetReceiveSelectionCallbacks(This,fGetCallbacks)
|
|
#define IWMReaderAdvanced2_GetReceiveSelectionCallbacks(This,pfGetCallbacks) (This)->lpVtbl->GetReceiveSelectionCallbacks(This,pfGetCallbacks)
|
|
#define IWMReaderAdvanced2_SetReceiveStreamSamples(This,wStreamNum,fReceiveStreamSamples) (This)->lpVtbl->SetReceiveStreamSamples(This,wStreamNum,fReceiveStreamSamples)
|
|
#define IWMReaderAdvanced2_GetReceiveStreamSamples(This,wStreamNum,pfReceiveStreamSamples) (This)->lpVtbl->GetReceiveStreamSamples(This,wStreamNum,pfReceiveStreamSamples)
|
|
#define IWMReaderAdvanced2_SetAllocateForOutput(This,dwOutputNum,fAllocate) (This)->lpVtbl->SetAllocateForOutput(This,dwOutputNum,fAllocate)
|
|
#define IWMReaderAdvanced2_GetAllocateForOutput(This,dwOutputNum,pfAllocate) (This)->lpVtbl->GetAllocateForOutput(This,dwOutputNum,pfAllocate)
|
|
#define IWMReaderAdvanced2_SetAllocateForStream(This,wStreamNum,fAllocate) (This)->lpVtbl->SetAllocateForStream(This,wStreamNum,fAllocate)
|
|
#define IWMReaderAdvanced2_GetAllocateForStream(This,dwStreamNum,pfAllocate) (This)->lpVtbl->GetAllocateForStream(This,dwStreamNum,pfAllocate)
|
|
#define IWMReaderAdvanced2_GetStatistics(This,pStatistics) (This)->lpVtbl->GetStatistics(This,pStatistics)
|
|
#define IWMReaderAdvanced2_SetClientInfo(This,pClientInfo) (This)->lpVtbl->SetClientInfo(This,pClientInfo)
|
|
#define IWMReaderAdvanced2_GetMaxOutputSampleSize(This,dwOutput,pcbMax) (This)->lpVtbl->GetMaxOutputSampleSize(This,dwOutput,pcbMax)
|
|
#define IWMReaderAdvanced2_GetMaxStreamSampleSize(This,wStream,pcbMax) (This)->lpVtbl->GetMaxStreamSampleSize(This,wStream,pcbMax)
|
|
#define IWMReaderAdvanced2_NotifyLateDelivery(This,cnsLateness) (This)->lpVtbl->NotifyLateDelivery(This,cnsLateness)
|
|
/*** IWMReaderAdvanced2 methods ***/
|
|
#define IWMReaderAdvanced2_SetPlayMode(This,Mode) (This)->lpVtbl->SetPlayMode(This,Mode)
|
|
#define IWMReaderAdvanced2_GetPlayMode(This,pMode) (This)->lpVtbl->GetPlayMode(This,pMode)
|
|
#define IWMReaderAdvanced2_GetBufferProgress(This,pdwPercent,pcnsBuffering) (This)->lpVtbl->GetBufferProgress(This,pdwPercent,pcnsBuffering)
|
|
#define IWMReaderAdvanced2_GetDownloadProgress(This,pdwPercent,pqwBytesDownloaded,pcnsDownload) (This)->lpVtbl->GetDownloadProgress(This,pdwPercent,pqwBytesDownloaded,pcnsDownload)
|
|
#define IWMReaderAdvanced2_GetSaveAsProgress(This,pdwPercent) (This)->lpVtbl->GetSaveAsProgress(This,pdwPercent)
|
|
#define IWMReaderAdvanced2_SaveFileAs(This,pwszFilename) (This)->lpVtbl->SaveFileAs(This,pwszFilename)
|
|
#define IWMReaderAdvanced2_GetProtocolName(This,pwszProtocol,pcchProtocol) (This)->lpVtbl->GetProtocolName(This,pwszProtocol,pcchProtocol)
|
|
#define IWMReaderAdvanced2_StartAtMarker(This,wMarkerIndex,cnsDuration,fRate,pvContext) (This)->lpVtbl->StartAtMarker(This,wMarkerIndex,cnsDuration,fRate,pvContext)
|
|
#define IWMReaderAdvanced2_GetOutputSetting(This,dwOutputNum,pszName,pType,pValue,pcbLength) (This)->lpVtbl->GetOutputSetting(This,dwOutputNum,pszName,pType,pValue,pcbLength)
|
|
#define IWMReaderAdvanced2_SetOutputSetting(This,dwOutputNum,pszName,Type,pValue,cbLength) (This)->lpVtbl->SetOutputSetting(This,dwOutputNum,pszName,Type,pValue,cbLength)
|
|
#define IWMReaderAdvanced2_Preroll(This,cnsStart,cnsDuration,fRate) (This)->lpVtbl->Preroll(This,cnsStart,cnsDuration,fRate)
|
|
#define IWMReaderAdvanced2_SetLogClientID(This,fLogClientID) (This)->lpVtbl->SetLogClientID(This,fLogClientID)
|
|
#define IWMReaderAdvanced2_GetLogClientID(This,pfLogClientID) (This)->lpVtbl->GetLogClientID(This,pfLogClientID)
|
|
#define IWMReaderAdvanced2_StopBuffering(This) (This)->lpVtbl->StopBuffering(This)
|
|
#define IWMReaderAdvanced2_OpenStream(This,pStream,pCallback,pvContext) (This)->lpVtbl->OpenStream(This,pStream,pCallback,pvContext)
|
|
#else
|
|
/*** IUnknown methods ***/
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced2_QueryInterface(IWMReaderAdvanced2* This,REFIID riid,void **ppvObject) {
|
|
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
|
|
}
|
|
static FORCEINLINE ULONG IWMReaderAdvanced2_AddRef(IWMReaderAdvanced2* This) {
|
|
return This->lpVtbl->AddRef(This);
|
|
}
|
|
static FORCEINLINE ULONG IWMReaderAdvanced2_Release(IWMReaderAdvanced2* This) {
|
|
return This->lpVtbl->Release(This);
|
|
}
|
|
/*** IWMReaderAdvanced methods ***/
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced2_SetUserProvidedClock(IWMReaderAdvanced2* This,WINBOOL fUserClock) {
|
|
return This->lpVtbl->SetUserProvidedClock(This,fUserClock);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced2_GetUserProvidedClock(IWMReaderAdvanced2* This,WINBOOL *pfUserClock) {
|
|
return This->lpVtbl->GetUserProvidedClock(This,pfUserClock);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced2_DeliverTime(IWMReaderAdvanced2* This,QWORD cnsTime) {
|
|
return This->lpVtbl->DeliverTime(This,cnsTime);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced2_SetManualStreamSelection(IWMReaderAdvanced2* This,WINBOOL fSelection) {
|
|
return This->lpVtbl->SetManualStreamSelection(This,fSelection);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced2_GetManualStreamSelection(IWMReaderAdvanced2* This,WINBOOL *pfSelection) {
|
|
return This->lpVtbl->GetManualStreamSelection(This,pfSelection);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced2_SetStreamsSelected(IWMReaderAdvanced2* This,WORD cStreamCount,WORD *pwStreamNumbers,WMT_STREAM_SELECTION *pSelections) {
|
|
return This->lpVtbl->SetStreamsSelected(This,cStreamCount,pwStreamNumbers,pSelections);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced2_GetStreamSelected(IWMReaderAdvanced2* This,WORD wStreamNum,WMT_STREAM_SELECTION *pSelection) {
|
|
return This->lpVtbl->GetStreamSelected(This,wStreamNum,pSelection);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced2_SetReceiveSelectionCallbacks(IWMReaderAdvanced2* This,WINBOOL fGetCallbacks) {
|
|
return This->lpVtbl->SetReceiveSelectionCallbacks(This,fGetCallbacks);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced2_GetReceiveSelectionCallbacks(IWMReaderAdvanced2* This,WINBOOL *pfGetCallbacks) {
|
|
return This->lpVtbl->GetReceiveSelectionCallbacks(This,pfGetCallbacks);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced2_SetReceiveStreamSamples(IWMReaderAdvanced2* This,WORD wStreamNum,WINBOOL fReceiveStreamSamples) {
|
|
return This->lpVtbl->SetReceiveStreamSamples(This,wStreamNum,fReceiveStreamSamples);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced2_GetReceiveStreamSamples(IWMReaderAdvanced2* This,WORD wStreamNum,WINBOOL *pfReceiveStreamSamples) {
|
|
return This->lpVtbl->GetReceiveStreamSamples(This,wStreamNum,pfReceiveStreamSamples);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced2_SetAllocateForOutput(IWMReaderAdvanced2* This,DWORD dwOutputNum,WINBOOL fAllocate) {
|
|
return This->lpVtbl->SetAllocateForOutput(This,dwOutputNum,fAllocate);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced2_GetAllocateForOutput(IWMReaderAdvanced2* This,DWORD dwOutputNum,WINBOOL *pfAllocate) {
|
|
return This->lpVtbl->GetAllocateForOutput(This,dwOutputNum,pfAllocate);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced2_SetAllocateForStream(IWMReaderAdvanced2* This,WORD wStreamNum,WINBOOL fAllocate) {
|
|
return This->lpVtbl->SetAllocateForStream(This,wStreamNum,fAllocate);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced2_GetAllocateForStream(IWMReaderAdvanced2* This,WORD dwStreamNum,WINBOOL *pfAllocate) {
|
|
return This->lpVtbl->GetAllocateForStream(This,dwStreamNum,pfAllocate);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced2_GetStatistics(IWMReaderAdvanced2* This,WM_READER_STATISTICS *pStatistics) {
|
|
return This->lpVtbl->GetStatistics(This,pStatistics);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced2_SetClientInfo(IWMReaderAdvanced2* This,WM_READER_CLIENTINFO *pClientInfo) {
|
|
return This->lpVtbl->SetClientInfo(This,pClientInfo);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced2_GetMaxOutputSampleSize(IWMReaderAdvanced2* This,DWORD dwOutput,DWORD *pcbMax) {
|
|
return This->lpVtbl->GetMaxOutputSampleSize(This,dwOutput,pcbMax);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced2_GetMaxStreamSampleSize(IWMReaderAdvanced2* This,WORD wStream,DWORD *pcbMax) {
|
|
return This->lpVtbl->GetMaxStreamSampleSize(This,wStream,pcbMax);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced2_NotifyLateDelivery(IWMReaderAdvanced2* This,QWORD cnsLateness) {
|
|
return This->lpVtbl->NotifyLateDelivery(This,cnsLateness);
|
|
}
|
|
/*** IWMReaderAdvanced2 methods ***/
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced2_SetPlayMode(IWMReaderAdvanced2* This,WMT_PLAY_MODE Mode) {
|
|
return This->lpVtbl->SetPlayMode(This,Mode);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced2_GetPlayMode(IWMReaderAdvanced2* This,WMT_PLAY_MODE *pMode) {
|
|
return This->lpVtbl->GetPlayMode(This,pMode);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced2_GetBufferProgress(IWMReaderAdvanced2* This,DWORD *pdwPercent,QWORD *pcnsBuffering) {
|
|
return This->lpVtbl->GetBufferProgress(This,pdwPercent,pcnsBuffering);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced2_GetDownloadProgress(IWMReaderAdvanced2* This,DWORD *pdwPercent,QWORD *pqwBytesDownloaded,QWORD *pcnsDownload) {
|
|
return This->lpVtbl->GetDownloadProgress(This,pdwPercent,pqwBytesDownloaded,pcnsDownload);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced2_GetSaveAsProgress(IWMReaderAdvanced2* This,DWORD *pdwPercent) {
|
|
return This->lpVtbl->GetSaveAsProgress(This,pdwPercent);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced2_SaveFileAs(IWMReaderAdvanced2* This,const WCHAR *pwszFilename) {
|
|
return This->lpVtbl->SaveFileAs(This,pwszFilename);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced2_GetProtocolName(IWMReaderAdvanced2* This,WCHAR *pwszProtocol,DWORD *pcchProtocol) {
|
|
return This->lpVtbl->GetProtocolName(This,pwszProtocol,pcchProtocol);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced2_StartAtMarker(IWMReaderAdvanced2* This,WORD wMarkerIndex,QWORD cnsDuration,float fRate,void *pvContext) {
|
|
return This->lpVtbl->StartAtMarker(This,wMarkerIndex,cnsDuration,fRate,pvContext);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced2_GetOutputSetting(IWMReaderAdvanced2* This,DWORD dwOutputNum,LPCWSTR pszName,WMT_ATTR_DATATYPE *pType,BYTE *pValue,WORD *pcbLength) {
|
|
return This->lpVtbl->GetOutputSetting(This,dwOutputNum,pszName,pType,pValue,pcbLength);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced2_SetOutputSetting(IWMReaderAdvanced2* This,DWORD dwOutputNum,LPCWSTR pszName,WMT_ATTR_DATATYPE Type,const BYTE *pValue,WORD cbLength) {
|
|
return This->lpVtbl->SetOutputSetting(This,dwOutputNum,pszName,Type,pValue,cbLength);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced2_Preroll(IWMReaderAdvanced2* This,QWORD cnsStart,QWORD cnsDuration,float fRate) {
|
|
return This->lpVtbl->Preroll(This,cnsStart,cnsDuration,fRate);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced2_SetLogClientID(IWMReaderAdvanced2* This,WINBOOL fLogClientID) {
|
|
return This->lpVtbl->SetLogClientID(This,fLogClientID);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced2_GetLogClientID(IWMReaderAdvanced2* This,WINBOOL *pfLogClientID) {
|
|
return This->lpVtbl->GetLogClientID(This,pfLogClientID);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced2_StopBuffering(IWMReaderAdvanced2* This) {
|
|
return This->lpVtbl->StopBuffering(This);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced2_OpenStream(IWMReaderAdvanced2* This,IStream *pStream,IWMReaderCallback *pCallback,void *pvContext) {
|
|
return This->lpVtbl->OpenStream(This,pStream,pCallback,pvContext);
|
|
}
|
|
#endif
|
|
#endif
|
|
|
|
#endif
|
|
|
|
|
|
#endif /* __IWMReaderAdvanced2_INTERFACE_DEFINED__ */
|
|
|
|
/*****************************************************************************
|
|
* IWMReaderAdvanced3 interface
|
|
*/
|
|
#ifndef __IWMReaderAdvanced3_INTERFACE_DEFINED__
|
|
#define __IWMReaderAdvanced3_INTERFACE_DEFINED__
|
|
|
|
DEFINE_GUID(IID_IWMReaderAdvanced3, 0x5dc0674b, 0xf04b, 0x4a4e, 0x9f,0x2a, 0xb1,0xaf,0xde,0x2c,0x81,0x00);
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
MIDL_INTERFACE("5dc0674b-f04b-4a4e-9f2a-b1afde2c8100")
|
|
IWMReaderAdvanced3 : public IWMReaderAdvanced2
|
|
{
|
|
virtual HRESULT STDMETHODCALLTYPE StopNetStreaming(
|
|
) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE StartAtPosition(
|
|
WORD wStreamNum,
|
|
void *pvOffsetStart,
|
|
void *pvDuration,
|
|
WMT_OFFSET_FORMAT dwOffsetFormat,
|
|
float fRate,
|
|
void *pvContext) = 0;
|
|
|
|
};
|
|
#ifdef __CRT_UUID_DECL
|
|
__CRT_UUID_DECL(IWMReaderAdvanced3, 0x5dc0674b, 0xf04b, 0x4a4e, 0x9f,0x2a, 0xb1,0xaf,0xde,0x2c,0x81,0x00)
|
|
#endif
|
|
#else
|
|
typedef struct IWMReaderAdvanced3Vtbl {
|
|
BEGIN_INTERFACE
|
|
|
|
/*** IUnknown methods ***/
|
|
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
|
|
IWMReaderAdvanced3 *This,
|
|
REFIID riid,
|
|
void **ppvObject);
|
|
|
|
ULONG (STDMETHODCALLTYPE *AddRef)(
|
|
IWMReaderAdvanced3 *This);
|
|
|
|
ULONG (STDMETHODCALLTYPE *Release)(
|
|
IWMReaderAdvanced3 *This);
|
|
|
|
/*** IWMReaderAdvanced methods ***/
|
|
HRESULT (STDMETHODCALLTYPE *SetUserProvidedClock)(
|
|
IWMReaderAdvanced3 *This,
|
|
WINBOOL fUserClock);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetUserProvidedClock)(
|
|
IWMReaderAdvanced3 *This,
|
|
WINBOOL *pfUserClock);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *DeliverTime)(
|
|
IWMReaderAdvanced3 *This,
|
|
QWORD cnsTime);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetManualStreamSelection)(
|
|
IWMReaderAdvanced3 *This,
|
|
WINBOOL fSelection);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetManualStreamSelection)(
|
|
IWMReaderAdvanced3 *This,
|
|
WINBOOL *pfSelection);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetStreamsSelected)(
|
|
IWMReaderAdvanced3 *This,
|
|
WORD cStreamCount,
|
|
WORD *pwStreamNumbers,
|
|
WMT_STREAM_SELECTION *pSelections);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetStreamSelected)(
|
|
IWMReaderAdvanced3 *This,
|
|
WORD wStreamNum,
|
|
WMT_STREAM_SELECTION *pSelection);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetReceiveSelectionCallbacks)(
|
|
IWMReaderAdvanced3 *This,
|
|
WINBOOL fGetCallbacks);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetReceiveSelectionCallbacks)(
|
|
IWMReaderAdvanced3 *This,
|
|
WINBOOL *pfGetCallbacks);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetReceiveStreamSamples)(
|
|
IWMReaderAdvanced3 *This,
|
|
WORD wStreamNum,
|
|
WINBOOL fReceiveStreamSamples);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetReceiveStreamSamples)(
|
|
IWMReaderAdvanced3 *This,
|
|
WORD wStreamNum,
|
|
WINBOOL *pfReceiveStreamSamples);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetAllocateForOutput)(
|
|
IWMReaderAdvanced3 *This,
|
|
DWORD dwOutputNum,
|
|
WINBOOL fAllocate);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetAllocateForOutput)(
|
|
IWMReaderAdvanced3 *This,
|
|
DWORD dwOutputNum,
|
|
WINBOOL *pfAllocate);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetAllocateForStream)(
|
|
IWMReaderAdvanced3 *This,
|
|
WORD wStreamNum,
|
|
WINBOOL fAllocate);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetAllocateForStream)(
|
|
IWMReaderAdvanced3 *This,
|
|
WORD dwStreamNum,
|
|
WINBOOL *pfAllocate);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetStatistics)(
|
|
IWMReaderAdvanced3 *This,
|
|
WM_READER_STATISTICS *pStatistics);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetClientInfo)(
|
|
IWMReaderAdvanced3 *This,
|
|
WM_READER_CLIENTINFO *pClientInfo);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetMaxOutputSampleSize)(
|
|
IWMReaderAdvanced3 *This,
|
|
DWORD dwOutput,
|
|
DWORD *pcbMax);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetMaxStreamSampleSize)(
|
|
IWMReaderAdvanced3 *This,
|
|
WORD wStream,
|
|
DWORD *pcbMax);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *NotifyLateDelivery)(
|
|
IWMReaderAdvanced3 *This,
|
|
QWORD cnsLateness);
|
|
|
|
/*** IWMReaderAdvanced2 methods ***/
|
|
HRESULT (STDMETHODCALLTYPE *SetPlayMode)(
|
|
IWMReaderAdvanced3 *This,
|
|
WMT_PLAY_MODE Mode);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetPlayMode)(
|
|
IWMReaderAdvanced3 *This,
|
|
WMT_PLAY_MODE *pMode);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetBufferProgress)(
|
|
IWMReaderAdvanced3 *This,
|
|
DWORD *pdwPercent,
|
|
QWORD *pcnsBuffering);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetDownloadProgress)(
|
|
IWMReaderAdvanced3 *This,
|
|
DWORD *pdwPercent,
|
|
QWORD *pqwBytesDownloaded,
|
|
QWORD *pcnsDownload);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetSaveAsProgress)(
|
|
IWMReaderAdvanced3 *This,
|
|
DWORD *pdwPercent);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SaveFileAs)(
|
|
IWMReaderAdvanced3 *This,
|
|
const WCHAR *pwszFilename);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetProtocolName)(
|
|
IWMReaderAdvanced3 *This,
|
|
WCHAR *pwszProtocol,
|
|
DWORD *pcchProtocol);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *StartAtMarker)(
|
|
IWMReaderAdvanced3 *This,
|
|
WORD wMarkerIndex,
|
|
QWORD cnsDuration,
|
|
float fRate,
|
|
void *pvContext);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetOutputSetting)(
|
|
IWMReaderAdvanced3 *This,
|
|
DWORD dwOutputNum,
|
|
LPCWSTR pszName,
|
|
WMT_ATTR_DATATYPE *pType,
|
|
BYTE *pValue,
|
|
WORD *pcbLength);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetOutputSetting)(
|
|
IWMReaderAdvanced3 *This,
|
|
DWORD dwOutputNum,
|
|
LPCWSTR pszName,
|
|
WMT_ATTR_DATATYPE Type,
|
|
const BYTE *pValue,
|
|
WORD cbLength);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *Preroll)(
|
|
IWMReaderAdvanced3 *This,
|
|
QWORD cnsStart,
|
|
QWORD cnsDuration,
|
|
float fRate);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetLogClientID)(
|
|
IWMReaderAdvanced3 *This,
|
|
WINBOOL fLogClientID);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetLogClientID)(
|
|
IWMReaderAdvanced3 *This,
|
|
WINBOOL *pfLogClientID);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *StopBuffering)(
|
|
IWMReaderAdvanced3 *This);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *OpenStream)(
|
|
IWMReaderAdvanced3 *This,
|
|
IStream *pStream,
|
|
IWMReaderCallback *pCallback,
|
|
void *pvContext);
|
|
|
|
/*** IWMReaderAdvanced3 methods ***/
|
|
HRESULT (STDMETHODCALLTYPE *StopNetStreaming)(
|
|
IWMReaderAdvanced3 *This);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *StartAtPosition)(
|
|
IWMReaderAdvanced3 *This,
|
|
WORD wStreamNum,
|
|
void *pvOffsetStart,
|
|
void *pvDuration,
|
|
WMT_OFFSET_FORMAT dwOffsetFormat,
|
|
float fRate,
|
|
void *pvContext);
|
|
|
|
END_INTERFACE
|
|
} IWMReaderAdvanced3Vtbl;
|
|
|
|
interface IWMReaderAdvanced3 {
|
|
CONST_VTBL IWMReaderAdvanced3Vtbl* lpVtbl;
|
|
};
|
|
|
|
#ifdef COBJMACROS
|
|
#ifndef WIDL_C_INLINE_WRAPPERS
|
|
/*** IUnknown methods ***/
|
|
#define IWMReaderAdvanced3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
|
|
#define IWMReaderAdvanced3_AddRef(This) (This)->lpVtbl->AddRef(This)
|
|
#define IWMReaderAdvanced3_Release(This) (This)->lpVtbl->Release(This)
|
|
/*** IWMReaderAdvanced methods ***/
|
|
#define IWMReaderAdvanced3_SetUserProvidedClock(This,fUserClock) (This)->lpVtbl->SetUserProvidedClock(This,fUserClock)
|
|
#define IWMReaderAdvanced3_GetUserProvidedClock(This,pfUserClock) (This)->lpVtbl->GetUserProvidedClock(This,pfUserClock)
|
|
#define IWMReaderAdvanced3_DeliverTime(This,cnsTime) (This)->lpVtbl->DeliverTime(This,cnsTime)
|
|
#define IWMReaderAdvanced3_SetManualStreamSelection(This,fSelection) (This)->lpVtbl->SetManualStreamSelection(This,fSelection)
|
|
#define IWMReaderAdvanced3_GetManualStreamSelection(This,pfSelection) (This)->lpVtbl->GetManualStreamSelection(This,pfSelection)
|
|
#define IWMReaderAdvanced3_SetStreamsSelected(This,cStreamCount,pwStreamNumbers,pSelections) (This)->lpVtbl->SetStreamsSelected(This,cStreamCount,pwStreamNumbers,pSelections)
|
|
#define IWMReaderAdvanced3_GetStreamSelected(This,wStreamNum,pSelection) (This)->lpVtbl->GetStreamSelected(This,wStreamNum,pSelection)
|
|
#define IWMReaderAdvanced3_SetReceiveSelectionCallbacks(This,fGetCallbacks) (This)->lpVtbl->SetReceiveSelectionCallbacks(This,fGetCallbacks)
|
|
#define IWMReaderAdvanced3_GetReceiveSelectionCallbacks(This,pfGetCallbacks) (This)->lpVtbl->GetReceiveSelectionCallbacks(This,pfGetCallbacks)
|
|
#define IWMReaderAdvanced3_SetReceiveStreamSamples(This,wStreamNum,fReceiveStreamSamples) (This)->lpVtbl->SetReceiveStreamSamples(This,wStreamNum,fReceiveStreamSamples)
|
|
#define IWMReaderAdvanced3_GetReceiveStreamSamples(This,wStreamNum,pfReceiveStreamSamples) (This)->lpVtbl->GetReceiveStreamSamples(This,wStreamNum,pfReceiveStreamSamples)
|
|
#define IWMReaderAdvanced3_SetAllocateForOutput(This,dwOutputNum,fAllocate) (This)->lpVtbl->SetAllocateForOutput(This,dwOutputNum,fAllocate)
|
|
#define IWMReaderAdvanced3_GetAllocateForOutput(This,dwOutputNum,pfAllocate) (This)->lpVtbl->GetAllocateForOutput(This,dwOutputNum,pfAllocate)
|
|
#define IWMReaderAdvanced3_SetAllocateForStream(This,wStreamNum,fAllocate) (This)->lpVtbl->SetAllocateForStream(This,wStreamNum,fAllocate)
|
|
#define IWMReaderAdvanced3_GetAllocateForStream(This,dwStreamNum,pfAllocate) (This)->lpVtbl->GetAllocateForStream(This,dwStreamNum,pfAllocate)
|
|
#define IWMReaderAdvanced3_GetStatistics(This,pStatistics) (This)->lpVtbl->GetStatistics(This,pStatistics)
|
|
#define IWMReaderAdvanced3_SetClientInfo(This,pClientInfo) (This)->lpVtbl->SetClientInfo(This,pClientInfo)
|
|
#define IWMReaderAdvanced3_GetMaxOutputSampleSize(This,dwOutput,pcbMax) (This)->lpVtbl->GetMaxOutputSampleSize(This,dwOutput,pcbMax)
|
|
#define IWMReaderAdvanced3_GetMaxStreamSampleSize(This,wStream,pcbMax) (This)->lpVtbl->GetMaxStreamSampleSize(This,wStream,pcbMax)
|
|
#define IWMReaderAdvanced3_NotifyLateDelivery(This,cnsLateness) (This)->lpVtbl->NotifyLateDelivery(This,cnsLateness)
|
|
/*** IWMReaderAdvanced2 methods ***/
|
|
#define IWMReaderAdvanced3_SetPlayMode(This,Mode) (This)->lpVtbl->SetPlayMode(This,Mode)
|
|
#define IWMReaderAdvanced3_GetPlayMode(This,pMode) (This)->lpVtbl->GetPlayMode(This,pMode)
|
|
#define IWMReaderAdvanced3_GetBufferProgress(This,pdwPercent,pcnsBuffering) (This)->lpVtbl->GetBufferProgress(This,pdwPercent,pcnsBuffering)
|
|
#define IWMReaderAdvanced3_GetDownloadProgress(This,pdwPercent,pqwBytesDownloaded,pcnsDownload) (This)->lpVtbl->GetDownloadProgress(This,pdwPercent,pqwBytesDownloaded,pcnsDownload)
|
|
#define IWMReaderAdvanced3_GetSaveAsProgress(This,pdwPercent) (This)->lpVtbl->GetSaveAsProgress(This,pdwPercent)
|
|
#define IWMReaderAdvanced3_SaveFileAs(This,pwszFilename) (This)->lpVtbl->SaveFileAs(This,pwszFilename)
|
|
#define IWMReaderAdvanced3_GetProtocolName(This,pwszProtocol,pcchProtocol) (This)->lpVtbl->GetProtocolName(This,pwszProtocol,pcchProtocol)
|
|
#define IWMReaderAdvanced3_StartAtMarker(This,wMarkerIndex,cnsDuration,fRate,pvContext) (This)->lpVtbl->StartAtMarker(This,wMarkerIndex,cnsDuration,fRate,pvContext)
|
|
#define IWMReaderAdvanced3_GetOutputSetting(This,dwOutputNum,pszName,pType,pValue,pcbLength) (This)->lpVtbl->GetOutputSetting(This,dwOutputNum,pszName,pType,pValue,pcbLength)
|
|
#define IWMReaderAdvanced3_SetOutputSetting(This,dwOutputNum,pszName,Type,pValue,cbLength) (This)->lpVtbl->SetOutputSetting(This,dwOutputNum,pszName,Type,pValue,cbLength)
|
|
#define IWMReaderAdvanced3_Preroll(This,cnsStart,cnsDuration,fRate) (This)->lpVtbl->Preroll(This,cnsStart,cnsDuration,fRate)
|
|
#define IWMReaderAdvanced3_SetLogClientID(This,fLogClientID) (This)->lpVtbl->SetLogClientID(This,fLogClientID)
|
|
#define IWMReaderAdvanced3_GetLogClientID(This,pfLogClientID) (This)->lpVtbl->GetLogClientID(This,pfLogClientID)
|
|
#define IWMReaderAdvanced3_StopBuffering(This) (This)->lpVtbl->StopBuffering(This)
|
|
#define IWMReaderAdvanced3_OpenStream(This,pStream,pCallback,pvContext) (This)->lpVtbl->OpenStream(This,pStream,pCallback,pvContext)
|
|
/*** IWMReaderAdvanced3 methods ***/
|
|
#define IWMReaderAdvanced3_StopNetStreaming(This) (This)->lpVtbl->StopNetStreaming(This)
|
|
#define IWMReaderAdvanced3_StartAtPosition(This,wStreamNum,pvOffsetStart,pvDuration,dwOffsetFormat,fRate,pvContext) (This)->lpVtbl->StartAtPosition(This,wStreamNum,pvOffsetStart,pvDuration,dwOffsetFormat,fRate,pvContext)
|
|
#else
|
|
/*** IUnknown methods ***/
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced3_QueryInterface(IWMReaderAdvanced3* This,REFIID riid,void **ppvObject) {
|
|
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
|
|
}
|
|
static FORCEINLINE ULONG IWMReaderAdvanced3_AddRef(IWMReaderAdvanced3* This) {
|
|
return This->lpVtbl->AddRef(This);
|
|
}
|
|
static FORCEINLINE ULONG IWMReaderAdvanced3_Release(IWMReaderAdvanced3* This) {
|
|
return This->lpVtbl->Release(This);
|
|
}
|
|
/*** IWMReaderAdvanced methods ***/
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced3_SetUserProvidedClock(IWMReaderAdvanced3* This,WINBOOL fUserClock) {
|
|
return This->lpVtbl->SetUserProvidedClock(This,fUserClock);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced3_GetUserProvidedClock(IWMReaderAdvanced3* This,WINBOOL *pfUserClock) {
|
|
return This->lpVtbl->GetUserProvidedClock(This,pfUserClock);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced3_DeliverTime(IWMReaderAdvanced3* This,QWORD cnsTime) {
|
|
return This->lpVtbl->DeliverTime(This,cnsTime);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced3_SetManualStreamSelection(IWMReaderAdvanced3* This,WINBOOL fSelection) {
|
|
return This->lpVtbl->SetManualStreamSelection(This,fSelection);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced3_GetManualStreamSelection(IWMReaderAdvanced3* This,WINBOOL *pfSelection) {
|
|
return This->lpVtbl->GetManualStreamSelection(This,pfSelection);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced3_SetStreamsSelected(IWMReaderAdvanced3* This,WORD cStreamCount,WORD *pwStreamNumbers,WMT_STREAM_SELECTION *pSelections) {
|
|
return This->lpVtbl->SetStreamsSelected(This,cStreamCount,pwStreamNumbers,pSelections);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced3_GetStreamSelected(IWMReaderAdvanced3* This,WORD wStreamNum,WMT_STREAM_SELECTION *pSelection) {
|
|
return This->lpVtbl->GetStreamSelected(This,wStreamNum,pSelection);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced3_SetReceiveSelectionCallbacks(IWMReaderAdvanced3* This,WINBOOL fGetCallbacks) {
|
|
return This->lpVtbl->SetReceiveSelectionCallbacks(This,fGetCallbacks);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced3_GetReceiveSelectionCallbacks(IWMReaderAdvanced3* This,WINBOOL *pfGetCallbacks) {
|
|
return This->lpVtbl->GetReceiveSelectionCallbacks(This,pfGetCallbacks);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced3_SetReceiveStreamSamples(IWMReaderAdvanced3* This,WORD wStreamNum,WINBOOL fReceiveStreamSamples) {
|
|
return This->lpVtbl->SetReceiveStreamSamples(This,wStreamNum,fReceiveStreamSamples);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced3_GetReceiveStreamSamples(IWMReaderAdvanced3* This,WORD wStreamNum,WINBOOL *pfReceiveStreamSamples) {
|
|
return This->lpVtbl->GetReceiveStreamSamples(This,wStreamNum,pfReceiveStreamSamples);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced3_SetAllocateForOutput(IWMReaderAdvanced3* This,DWORD dwOutputNum,WINBOOL fAllocate) {
|
|
return This->lpVtbl->SetAllocateForOutput(This,dwOutputNum,fAllocate);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced3_GetAllocateForOutput(IWMReaderAdvanced3* This,DWORD dwOutputNum,WINBOOL *pfAllocate) {
|
|
return This->lpVtbl->GetAllocateForOutput(This,dwOutputNum,pfAllocate);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced3_SetAllocateForStream(IWMReaderAdvanced3* This,WORD wStreamNum,WINBOOL fAllocate) {
|
|
return This->lpVtbl->SetAllocateForStream(This,wStreamNum,fAllocate);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced3_GetAllocateForStream(IWMReaderAdvanced3* This,WORD dwStreamNum,WINBOOL *pfAllocate) {
|
|
return This->lpVtbl->GetAllocateForStream(This,dwStreamNum,pfAllocate);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced3_GetStatistics(IWMReaderAdvanced3* This,WM_READER_STATISTICS *pStatistics) {
|
|
return This->lpVtbl->GetStatistics(This,pStatistics);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced3_SetClientInfo(IWMReaderAdvanced3* This,WM_READER_CLIENTINFO *pClientInfo) {
|
|
return This->lpVtbl->SetClientInfo(This,pClientInfo);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced3_GetMaxOutputSampleSize(IWMReaderAdvanced3* This,DWORD dwOutput,DWORD *pcbMax) {
|
|
return This->lpVtbl->GetMaxOutputSampleSize(This,dwOutput,pcbMax);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced3_GetMaxStreamSampleSize(IWMReaderAdvanced3* This,WORD wStream,DWORD *pcbMax) {
|
|
return This->lpVtbl->GetMaxStreamSampleSize(This,wStream,pcbMax);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced3_NotifyLateDelivery(IWMReaderAdvanced3* This,QWORD cnsLateness) {
|
|
return This->lpVtbl->NotifyLateDelivery(This,cnsLateness);
|
|
}
|
|
/*** IWMReaderAdvanced2 methods ***/
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced3_SetPlayMode(IWMReaderAdvanced3* This,WMT_PLAY_MODE Mode) {
|
|
return This->lpVtbl->SetPlayMode(This,Mode);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced3_GetPlayMode(IWMReaderAdvanced3* This,WMT_PLAY_MODE *pMode) {
|
|
return This->lpVtbl->GetPlayMode(This,pMode);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced3_GetBufferProgress(IWMReaderAdvanced3* This,DWORD *pdwPercent,QWORD *pcnsBuffering) {
|
|
return This->lpVtbl->GetBufferProgress(This,pdwPercent,pcnsBuffering);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced3_GetDownloadProgress(IWMReaderAdvanced3* This,DWORD *pdwPercent,QWORD *pqwBytesDownloaded,QWORD *pcnsDownload) {
|
|
return This->lpVtbl->GetDownloadProgress(This,pdwPercent,pqwBytesDownloaded,pcnsDownload);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced3_GetSaveAsProgress(IWMReaderAdvanced3* This,DWORD *pdwPercent) {
|
|
return This->lpVtbl->GetSaveAsProgress(This,pdwPercent);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced3_SaveFileAs(IWMReaderAdvanced3* This,const WCHAR *pwszFilename) {
|
|
return This->lpVtbl->SaveFileAs(This,pwszFilename);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced3_GetProtocolName(IWMReaderAdvanced3* This,WCHAR *pwszProtocol,DWORD *pcchProtocol) {
|
|
return This->lpVtbl->GetProtocolName(This,pwszProtocol,pcchProtocol);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced3_StartAtMarker(IWMReaderAdvanced3* This,WORD wMarkerIndex,QWORD cnsDuration,float fRate,void *pvContext) {
|
|
return This->lpVtbl->StartAtMarker(This,wMarkerIndex,cnsDuration,fRate,pvContext);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced3_GetOutputSetting(IWMReaderAdvanced3* This,DWORD dwOutputNum,LPCWSTR pszName,WMT_ATTR_DATATYPE *pType,BYTE *pValue,WORD *pcbLength) {
|
|
return This->lpVtbl->GetOutputSetting(This,dwOutputNum,pszName,pType,pValue,pcbLength);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced3_SetOutputSetting(IWMReaderAdvanced3* This,DWORD dwOutputNum,LPCWSTR pszName,WMT_ATTR_DATATYPE Type,const BYTE *pValue,WORD cbLength) {
|
|
return This->lpVtbl->SetOutputSetting(This,dwOutputNum,pszName,Type,pValue,cbLength);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced3_Preroll(IWMReaderAdvanced3* This,QWORD cnsStart,QWORD cnsDuration,float fRate) {
|
|
return This->lpVtbl->Preroll(This,cnsStart,cnsDuration,fRate);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced3_SetLogClientID(IWMReaderAdvanced3* This,WINBOOL fLogClientID) {
|
|
return This->lpVtbl->SetLogClientID(This,fLogClientID);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced3_GetLogClientID(IWMReaderAdvanced3* This,WINBOOL *pfLogClientID) {
|
|
return This->lpVtbl->GetLogClientID(This,pfLogClientID);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced3_StopBuffering(IWMReaderAdvanced3* This) {
|
|
return This->lpVtbl->StopBuffering(This);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced3_OpenStream(IWMReaderAdvanced3* This,IStream *pStream,IWMReaderCallback *pCallback,void *pvContext) {
|
|
return This->lpVtbl->OpenStream(This,pStream,pCallback,pvContext);
|
|
}
|
|
/*** IWMReaderAdvanced3 methods ***/
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced3_StopNetStreaming(IWMReaderAdvanced3* This) {
|
|
return This->lpVtbl->StopNetStreaming(This);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced3_StartAtPosition(IWMReaderAdvanced3* This,WORD wStreamNum,void *pvOffsetStart,void *pvDuration,WMT_OFFSET_FORMAT dwOffsetFormat,float fRate,void *pvContext) {
|
|
return This->lpVtbl->StartAtPosition(This,wStreamNum,pvOffsetStart,pvDuration,dwOffsetFormat,fRate,pvContext);
|
|
}
|
|
#endif
|
|
#endif
|
|
|
|
#endif
|
|
|
|
|
|
#endif /* __IWMReaderAdvanced3_INTERFACE_DEFINED__ */
|
|
|
|
/*****************************************************************************
|
|
* IWMReaderAdvanced4 interface
|
|
*/
|
|
#ifndef __IWMReaderAdvanced4_INTERFACE_DEFINED__
|
|
#define __IWMReaderAdvanced4_INTERFACE_DEFINED__
|
|
|
|
DEFINE_GUID(IID_IWMReaderAdvanced4, 0x945a76a2, 0x12ae, 0x4d48, 0xbd,0x3c, 0xcd,0x1d,0x90,0x39,0x9b,0x85);
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
MIDL_INTERFACE("945a76a2-12ae-4d48-bd3c-cd1d90399b85")
|
|
IWMReaderAdvanced4 : public IWMReaderAdvanced3
|
|
{
|
|
virtual HRESULT STDMETHODCALLTYPE GetLanguageCount(
|
|
DWORD dwOutputNum,
|
|
WORD *pwLanguageCount) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetLanguage(
|
|
DWORD dwOutputNum,
|
|
WORD wLanguage,
|
|
WCHAR *pwszLanguageString,
|
|
WORD *pcchLanguageStringLength) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetMaxSpeedFactor(
|
|
double *pdblFactor) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE IsUsingFastCache(
|
|
WINBOOL *pfUsingFastCache) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE AddLogParam(
|
|
LPCWSTR wszNameSpace,
|
|
LPCWSTR wszName,
|
|
LPCWSTR wszValue) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE SendLogParams(
|
|
) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE CanSaveFileAs(
|
|
WINBOOL *pfCanSave) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE CancelSaveFileAs(
|
|
) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetURL(
|
|
WCHAR *pwszURL,
|
|
DWORD *pcchURL) = 0;
|
|
|
|
};
|
|
#ifdef __CRT_UUID_DECL
|
|
__CRT_UUID_DECL(IWMReaderAdvanced4, 0x945a76a2, 0x12ae, 0x4d48, 0xbd,0x3c, 0xcd,0x1d,0x90,0x39,0x9b,0x85)
|
|
#endif
|
|
#else
|
|
typedef struct IWMReaderAdvanced4Vtbl {
|
|
BEGIN_INTERFACE
|
|
|
|
/*** IUnknown methods ***/
|
|
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
|
|
IWMReaderAdvanced4 *This,
|
|
REFIID riid,
|
|
void **ppvObject);
|
|
|
|
ULONG (STDMETHODCALLTYPE *AddRef)(
|
|
IWMReaderAdvanced4 *This);
|
|
|
|
ULONG (STDMETHODCALLTYPE *Release)(
|
|
IWMReaderAdvanced4 *This);
|
|
|
|
/*** IWMReaderAdvanced methods ***/
|
|
HRESULT (STDMETHODCALLTYPE *SetUserProvidedClock)(
|
|
IWMReaderAdvanced4 *This,
|
|
WINBOOL fUserClock);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetUserProvidedClock)(
|
|
IWMReaderAdvanced4 *This,
|
|
WINBOOL *pfUserClock);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *DeliverTime)(
|
|
IWMReaderAdvanced4 *This,
|
|
QWORD cnsTime);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetManualStreamSelection)(
|
|
IWMReaderAdvanced4 *This,
|
|
WINBOOL fSelection);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetManualStreamSelection)(
|
|
IWMReaderAdvanced4 *This,
|
|
WINBOOL *pfSelection);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetStreamsSelected)(
|
|
IWMReaderAdvanced4 *This,
|
|
WORD cStreamCount,
|
|
WORD *pwStreamNumbers,
|
|
WMT_STREAM_SELECTION *pSelections);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetStreamSelected)(
|
|
IWMReaderAdvanced4 *This,
|
|
WORD wStreamNum,
|
|
WMT_STREAM_SELECTION *pSelection);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetReceiveSelectionCallbacks)(
|
|
IWMReaderAdvanced4 *This,
|
|
WINBOOL fGetCallbacks);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetReceiveSelectionCallbacks)(
|
|
IWMReaderAdvanced4 *This,
|
|
WINBOOL *pfGetCallbacks);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetReceiveStreamSamples)(
|
|
IWMReaderAdvanced4 *This,
|
|
WORD wStreamNum,
|
|
WINBOOL fReceiveStreamSamples);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetReceiveStreamSamples)(
|
|
IWMReaderAdvanced4 *This,
|
|
WORD wStreamNum,
|
|
WINBOOL *pfReceiveStreamSamples);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetAllocateForOutput)(
|
|
IWMReaderAdvanced4 *This,
|
|
DWORD dwOutputNum,
|
|
WINBOOL fAllocate);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetAllocateForOutput)(
|
|
IWMReaderAdvanced4 *This,
|
|
DWORD dwOutputNum,
|
|
WINBOOL *pfAllocate);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetAllocateForStream)(
|
|
IWMReaderAdvanced4 *This,
|
|
WORD wStreamNum,
|
|
WINBOOL fAllocate);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetAllocateForStream)(
|
|
IWMReaderAdvanced4 *This,
|
|
WORD dwStreamNum,
|
|
WINBOOL *pfAllocate);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetStatistics)(
|
|
IWMReaderAdvanced4 *This,
|
|
WM_READER_STATISTICS *pStatistics);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetClientInfo)(
|
|
IWMReaderAdvanced4 *This,
|
|
WM_READER_CLIENTINFO *pClientInfo);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetMaxOutputSampleSize)(
|
|
IWMReaderAdvanced4 *This,
|
|
DWORD dwOutput,
|
|
DWORD *pcbMax);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetMaxStreamSampleSize)(
|
|
IWMReaderAdvanced4 *This,
|
|
WORD wStream,
|
|
DWORD *pcbMax);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *NotifyLateDelivery)(
|
|
IWMReaderAdvanced4 *This,
|
|
QWORD cnsLateness);
|
|
|
|
/*** IWMReaderAdvanced2 methods ***/
|
|
HRESULT (STDMETHODCALLTYPE *SetPlayMode)(
|
|
IWMReaderAdvanced4 *This,
|
|
WMT_PLAY_MODE Mode);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetPlayMode)(
|
|
IWMReaderAdvanced4 *This,
|
|
WMT_PLAY_MODE *pMode);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetBufferProgress)(
|
|
IWMReaderAdvanced4 *This,
|
|
DWORD *pdwPercent,
|
|
QWORD *pcnsBuffering);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetDownloadProgress)(
|
|
IWMReaderAdvanced4 *This,
|
|
DWORD *pdwPercent,
|
|
QWORD *pqwBytesDownloaded,
|
|
QWORD *pcnsDownload);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetSaveAsProgress)(
|
|
IWMReaderAdvanced4 *This,
|
|
DWORD *pdwPercent);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SaveFileAs)(
|
|
IWMReaderAdvanced4 *This,
|
|
const WCHAR *pwszFilename);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetProtocolName)(
|
|
IWMReaderAdvanced4 *This,
|
|
WCHAR *pwszProtocol,
|
|
DWORD *pcchProtocol);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *StartAtMarker)(
|
|
IWMReaderAdvanced4 *This,
|
|
WORD wMarkerIndex,
|
|
QWORD cnsDuration,
|
|
float fRate,
|
|
void *pvContext);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetOutputSetting)(
|
|
IWMReaderAdvanced4 *This,
|
|
DWORD dwOutputNum,
|
|
LPCWSTR pszName,
|
|
WMT_ATTR_DATATYPE *pType,
|
|
BYTE *pValue,
|
|
WORD *pcbLength);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetOutputSetting)(
|
|
IWMReaderAdvanced4 *This,
|
|
DWORD dwOutputNum,
|
|
LPCWSTR pszName,
|
|
WMT_ATTR_DATATYPE Type,
|
|
const BYTE *pValue,
|
|
WORD cbLength);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *Preroll)(
|
|
IWMReaderAdvanced4 *This,
|
|
QWORD cnsStart,
|
|
QWORD cnsDuration,
|
|
float fRate);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetLogClientID)(
|
|
IWMReaderAdvanced4 *This,
|
|
WINBOOL fLogClientID);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetLogClientID)(
|
|
IWMReaderAdvanced4 *This,
|
|
WINBOOL *pfLogClientID);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *StopBuffering)(
|
|
IWMReaderAdvanced4 *This);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *OpenStream)(
|
|
IWMReaderAdvanced4 *This,
|
|
IStream *pStream,
|
|
IWMReaderCallback *pCallback,
|
|
void *pvContext);
|
|
|
|
/*** IWMReaderAdvanced3 methods ***/
|
|
HRESULT (STDMETHODCALLTYPE *StopNetStreaming)(
|
|
IWMReaderAdvanced4 *This);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *StartAtPosition)(
|
|
IWMReaderAdvanced4 *This,
|
|
WORD wStreamNum,
|
|
void *pvOffsetStart,
|
|
void *pvDuration,
|
|
WMT_OFFSET_FORMAT dwOffsetFormat,
|
|
float fRate,
|
|
void *pvContext);
|
|
|
|
/*** IWMReaderAdvanced4 methods ***/
|
|
HRESULT (STDMETHODCALLTYPE *GetLanguageCount)(
|
|
IWMReaderAdvanced4 *This,
|
|
DWORD dwOutputNum,
|
|
WORD *pwLanguageCount);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetLanguage)(
|
|
IWMReaderAdvanced4 *This,
|
|
DWORD dwOutputNum,
|
|
WORD wLanguage,
|
|
WCHAR *pwszLanguageString,
|
|
WORD *pcchLanguageStringLength);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetMaxSpeedFactor)(
|
|
IWMReaderAdvanced4 *This,
|
|
double *pdblFactor);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *IsUsingFastCache)(
|
|
IWMReaderAdvanced4 *This,
|
|
WINBOOL *pfUsingFastCache);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *AddLogParam)(
|
|
IWMReaderAdvanced4 *This,
|
|
LPCWSTR wszNameSpace,
|
|
LPCWSTR wszName,
|
|
LPCWSTR wszValue);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SendLogParams)(
|
|
IWMReaderAdvanced4 *This);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *CanSaveFileAs)(
|
|
IWMReaderAdvanced4 *This,
|
|
WINBOOL *pfCanSave);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *CancelSaveFileAs)(
|
|
IWMReaderAdvanced4 *This);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetURL)(
|
|
IWMReaderAdvanced4 *This,
|
|
WCHAR *pwszURL,
|
|
DWORD *pcchURL);
|
|
|
|
END_INTERFACE
|
|
} IWMReaderAdvanced4Vtbl;
|
|
|
|
interface IWMReaderAdvanced4 {
|
|
CONST_VTBL IWMReaderAdvanced4Vtbl* lpVtbl;
|
|
};
|
|
|
|
#ifdef COBJMACROS
|
|
#ifndef WIDL_C_INLINE_WRAPPERS
|
|
/*** IUnknown methods ***/
|
|
#define IWMReaderAdvanced4_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
|
|
#define IWMReaderAdvanced4_AddRef(This) (This)->lpVtbl->AddRef(This)
|
|
#define IWMReaderAdvanced4_Release(This) (This)->lpVtbl->Release(This)
|
|
/*** IWMReaderAdvanced methods ***/
|
|
#define IWMReaderAdvanced4_SetUserProvidedClock(This,fUserClock) (This)->lpVtbl->SetUserProvidedClock(This,fUserClock)
|
|
#define IWMReaderAdvanced4_GetUserProvidedClock(This,pfUserClock) (This)->lpVtbl->GetUserProvidedClock(This,pfUserClock)
|
|
#define IWMReaderAdvanced4_DeliverTime(This,cnsTime) (This)->lpVtbl->DeliverTime(This,cnsTime)
|
|
#define IWMReaderAdvanced4_SetManualStreamSelection(This,fSelection) (This)->lpVtbl->SetManualStreamSelection(This,fSelection)
|
|
#define IWMReaderAdvanced4_GetManualStreamSelection(This,pfSelection) (This)->lpVtbl->GetManualStreamSelection(This,pfSelection)
|
|
#define IWMReaderAdvanced4_SetStreamsSelected(This,cStreamCount,pwStreamNumbers,pSelections) (This)->lpVtbl->SetStreamsSelected(This,cStreamCount,pwStreamNumbers,pSelections)
|
|
#define IWMReaderAdvanced4_GetStreamSelected(This,wStreamNum,pSelection) (This)->lpVtbl->GetStreamSelected(This,wStreamNum,pSelection)
|
|
#define IWMReaderAdvanced4_SetReceiveSelectionCallbacks(This,fGetCallbacks) (This)->lpVtbl->SetReceiveSelectionCallbacks(This,fGetCallbacks)
|
|
#define IWMReaderAdvanced4_GetReceiveSelectionCallbacks(This,pfGetCallbacks) (This)->lpVtbl->GetReceiveSelectionCallbacks(This,pfGetCallbacks)
|
|
#define IWMReaderAdvanced4_SetReceiveStreamSamples(This,wStreamNum,fReceiveStreamSamples) (This)->lpVtbl->SetReceiveStreamSamples(This,wStreamNum,fReceiveStreamSamples)
|
|
#define IWMReaderAdvanced4_GetReceiveStreamSamples(This,wStreamNum,pfReceiveStreamSamples) (This)->lpVtbl->GetReceiveStreamSamples(This,wStreamNum,pfReceiveStreamSamples)
|
|
#define IWMReaderAdvanced4_SetAllocateForOutput(This,dwOutputNum,fAllocate) (This)->lpVtbl->SetAllocateForOutput(This,dwOutputNum,fAllocate)
|
|
#define IWMReaderAdvanced4_GetAllocateForOutput(This,dwOutputNum,pfAllocate) (This)->lpVtbl->GetAllocateForOutput(This,dwOutputNum,pfAllocate)
|
|
#define IWMReaderAdvanced4_SetAllocateForStream(This,wStreamNum,fAllocate) (This)->lpVtbl->SetAllocateForStream(This,wStreamNum,fAllocate)
|
|
#define IWMReaderAdvanced4_GetAllocateForStream(This,dwStreamNum,pfAllocate) (This)->lpVtbl->GetAllocateForStream(This,dwStreamNum,pfAllocate)
|
|
#define IWMReaderAdvanced4_GetStatistics(This,pStatistics) (This)->lpVtbl->GetStatistics(This,pStatistics)
|
|
#define IWMReaderAdvanced4_SetClientInfo(This,pClientInfo) (This)->lpVtbl->SetClientInfo(This,pClientInfo)
|
|
#define IWMReaderAdvanced4_GetMaxOutputSampleSize(This,dwOutput,pcbMax) (This)->lpVtbl->GetMaxOutputSampleSize(This,dwOutput,pcbMax)
|
|
#define IWMReaderAdvanced4_GetMaxStreamSampleSize(This,wStream,pcbMax) (This)->lpVtbl->GetMaxStreamSampleSize(This,wStream,pcbMax)
|
|
#define IWMReaderAdvanced4_NotifyLateDelivery(This,cnsLateness) (This)->lpVtbl->NotifyLateDelivery(This,cnsLateness)
|
|
/*** IWMReaderAdvanced2 methods ***/
|
|
#define IWMReaderAdvanced4_SetPlayMode(This,Mode) (This)->lpVtbl->SetPlayMode(This,Mode)
|
|
#define IWMReaderAdvanced4_GetPlayMode(This,pMode) (This)->lpVtbl->GetPlayMode(This,pMode)
|
|
#define IWMReaderAdvanced4_GetBufferProgress(This,pdwPercent,pcnsBuffering) (This)->lpVtbl->GetBufferProgress(This,pdwPercent,pcnsBuffering)
|
|
#define IWMReaderAdvanced4_GetDownloadProgress(This,pdwPercent,pqwBytesDownloaded,pcnsDownload) (This)->lpVtbl->GetDownloadProgress(This,pdwPercent,pqwBytesDownloaded,pcnsDownload)
|
|
#define IWMReaderAdvanced4_GetSaveAsProgress(This,pdwPercent) (This)->lpVtbl->GetSaveAsProgress(This,pdwPercent)
|
|
#define IWMReaderAdvanced4_SaveFileAs(This,pwszFilename) (This)->lpVtbl->SaveFileAs(This,pwszFilename)
|
|
#define IWMReaderAdvanced4_GetProtocolName(This,pwszProtocol,pcchProtocol) (This)->lpVtbl->GetProtocolName(This,pwszProtocol,pcchProtocol)
|
|
#define IWMReaderAdvanced4_StartAtMarker(This,wMarkerIndex,cnsDuration,fRate,pvContext) (This)->lpVtbl->StartAtMarker(This,wMarkerIndex,cnsDuration,fRate,pvContext)
|
|
#define IWMReaderAdvanced4_GetOutputSetting(This,dwOutputNum,pszName,pType,pValue,pcbLength) (This)->lpVtbl->GetOutputSetting(This,dwOutputNum,pszName,pType,pValue,pcbLength)
|
|
#define IWMReaderAdvanced4_SetOutputSetting(This,dwOutputNum,pszName,Type,pValue,cbLength) (This)->lpVtbl->SetOutputSetting(This,dwOutputNum,pszName,Type,pValue,cbLength)
|
|
#define IWMReaderAdvanced4_Preroll(This,cnsStart,cnsDuration,fRate) (This)->lpVtbl->Preroll(This,cnsStart,cnsDuration,fRate)
|
|
#define IWMReaderAdvanced4_SetLogClientID(This,fLogClientID) (This)->lpVtbl->SetLogClientID(This,fLogClientID)
|
|
#define IWMReaderAdvanced4_GetLogClientID(This,pfLogClientID) (This)->lpVtbl->GetLogClientID(This,pfLogClientID)
|
|
#define IWMReaderAdvanced4_StopBuffering(This) (This)->lpVtbl->StopBuffering(This)
|
|
#define IWMReaderAdvanced4_OpenStream(This,pStream,pCallback,pvContext) (This)->lpVtbl->OpenStream(This,pStream,pCallback,pvContext)
|
|
/*** IWMReaderAdvanced3 methods ***/
|
|
#define IWMReaderAdvanced4_StopNetStreaming(This) (This)->lpVtbl->StopNetStreaming(This)
|
|
#define IWMReaderAdvanced4_StartAtPosition(This,wStreamNum,pvOffsetStart,pvDuration,dwOffsetFormat,fRate,pvContext) (This)->lpVtbl->StartAtPosition(This,wStreamNum,pvOffsetStart,pvDuration,dwOffsetFormat,fRate,pvContext)
|
|
/*** IWMReaderAdvanced4 methods ***/
|
|
#define IWMReaderAdvanced4_GetLanguageCount(This,dwOutputNum,pwLanguageCount) (This)->lpVtbl->GetLanguageCount(This,dwOutputNum,pwLanguageCount)
|
|
#define IWMReaderAdvanced4_GetLanguage(This,dwOutputNum,wLanguage,pwszLanguageString,pcchLanguageStringLength) (This)->lpVtbl->GetLanguage(This,dwOutputNum,wLanguage,pwszLanguageString,pcchLanguageStringLength)
|
|
#define IWMReaderAdvanced4_GetMaxSpeedFactor(This,pdblFactor) (This)->lpVtbl->GetMaxSpeedFactor(This,pdblFactor)
|
|
#define IWMReaderAdvanced4_IsUsingFastCache(This,pfUsingFastCache) (This)->lpVtbl->IsUsingFastCache(This,pfUsingFastCache)
|
|
#define IWMReaderAdvanced4_AddLogParam(This,wszNameSpace,wszName,wszValue) (This)->lpVtbl->AddLogParam(This,wszNameSpace,wszName,wszValue)
|
|
#define IWMReaderAdvanced4_SendLogParams(This) (This)->lpVtbl->SendLogParams(This)
|
|
#define IWMReaderAdvanced4_CanSaveFileAs(This,pfCanSave) (This)->lpVtbl->CanSaveFileAs(This,pfCanSave)
|
|
#define IWMReaderAdvanced4_CancelSaveFileAs(This) (This)->lpVtbl->CancelSaveFileAs(This)
|
|
#define IWMReaderAdvanced4_GetURL(This,pwszURL,pcchURL) (This)->lpVtbl->GetURL(This,pwszURL,pcchURL)
|
|
#else
|
|
/*** IUnknown methods ***/
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced4_QueryInterface(IWMReaderAdvanced4* This,REFIID riid,void **ppvObject) {
|
|
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
|
|
}
|
|
static FORCEINLINE ULONG IWMReaderAdvanced4_AddRef(IWMReaderAdvanced4* This) {
|
|
return This->lpVtbl->AddRef(This);
|
|
}
|
|
static FORCEINLINE ULONG IWMReaderAdvanced4_Release(IWMReaderAdvanced4* This) {
|
|
return This->lpVtbl->Release(This);
|
|
}
|
|
/*** IWMReaderAdvanced methods ***/
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced4_SetUserProvidedClock(IWMReaderAdvanced4* This,WINBOOL fUserClock) {
|
|
return This->lpVtbl->SetUserProvidedClock(This,fUserClock);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced4_GetUserProvidedClock(IWMReaderAdvanced4* This,WINBOOL *pfUserClock) {
|
|
return This->lpVtbl->GetUserProvidedClock(This,pfUserClock);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced4_DeliverTime(IWMReaderAdvanced4* This,QWORD cnsTime) {
|
|
return This->lpVtbl->DeliverTime(This,cnsTime);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced4_SetManualStreamSelection(IWMReaderAdvanced4* This,WINBOOL fSelection) {
|
|
return This->lpVtbl->SetManualStreamSelection(This,fSelection);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced4_GetManualStreamSelection(IWMReaderAdvanced4* This,WINBOOL *pfSelection) {
|
|
return This->lpVtbl->GetManualStreamSelection(This,pfSelection);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced4_SetStreamsSelected(IWMReaderAdvanced4* This,WORD cStreamCount,WORD *pwStreamNumbers,WMT_STREAM_SELECTION *pSelections) {
|
|
return This->lpVtbl->SetStreamsSelected(This,cStreamCount,pwStreamNumbers,pSelections);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced4_GetStreamSelected(IWMReaderAdvanced4* This,WORD wStreamNum,WMT_STREAM_SELECTION *pSelection) {
|
|
return This->lpVtbl->GetStreamSelected(This,wStreamNum,pSelection);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced4_SetReceiveSelectionCallbacks(IWMReaderAdvanced4* This,WINBOOL fGetCallbacks) {
|
|
return This->lpVtbl->SetReceiveSelectionCallbacks(This,fGetCallbacks);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced4_GetReceiveSelectionCallbacks(IWMReaderAdvanced4* This,WINBOOL *pfGetCallbacks) {
|
|
return This->lpVtbl->GetReceiveSelectionCallbacks(This,pfGetCallbacks);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced4_SetReceiveStreamSamples(IWMReaderAdvanced4* This,WORD wStreamNum,WINBOOL fReceiveStreamSamples) {
|
|
return This->lpVtbl->SetReceiveStreamSamples(This,wStreamNum,fReceiveStreamSamples);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced4_GetReceiveStreamSamples(IWMReaderAdvanced4* This,WORD wStreamNum,WINBOOL *pfReceiveStreamSamples) {
|
|
return This->lpVtbl->GetReceiveStreamSamples(This,wStreamNum,pfReceiveStreamSamples);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced4_SetAllocateForOutput(IWMReaderAdvanced4* This,DWORD dwOutputNum,WINBOOL fAllocate) {
|
|
return This->lpVtbl->SetAllocateForOutput(This,dwOutputNum,fAllocate);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced4_GetAllocateForOutput(IWMReaderAdvanced4* This,DWORD dwOutputNum,WINBOOL *pfAllocate) {
|
|
return This->lpVtbl->GetAllocateForOutput(This,dwOutputNum,pfAllocate);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced4_SetAllocateForStream(IWMReaderAdvanced4* This,WORD wStreamNum,WINBOOL fAllocate) {
|
|
return This->lpVtbl->SetAllocateForStream(This,wStreamNum,fAllocate);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced4_GetAllocateForStream(IWMReaderAdvanced4* This,WORD dwStreamNum,WINBOOL *pfAllocate) {
|
|
return This->lpVtbl->GetAllocateForStream(This,dwStreamNum,pfAllocate);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced4_GetStatistics(IWMReaderAdvanced4* This,WM_READER_STATISTICS *pStatistics) {
|
|
return This->lpVtbl->GetStatistics(This,pStatistics);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced4_SetClientInfo(IWMReaderAdvanced4* This,WM_READER_CLIENTINFO *pClientInfo) {
|
|
return This->lpVtbl->SetClientInfo(This,pClientInfo);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced4_GetMaxOutputSampleSize(IWMReaderAdvanced4* This,DWORD dwOutput,DWORD *pcbMax) {
|
|
return This->lpVtbl->GetMaxOutputSampleSize(This,dwOutput,pcbMax);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced4_GetMaxStreamSampleSize(IWMReaderAdvanced4* This,WORD wStream,DWORD *pcbMax) {
|
|
return This->lpVtbl->GetMaxStreamSampleSize(This,wStream,pcbMax);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced4_NotifyLateDelivery(IWMReaderAdvanced4* This,QWORD cnsLateness) {
|
|
return This->lpVtbl->NotifyLateDelivery(This,cnsLateness);
|
|
}
|
|
/*** IWMReaderAdvanced2 methods ***/
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced4_SetPlayMode(IWMReaderAdvanced4* This,WMT_PLAY_MODE Mode) {
|
|
return This->lpVtbl->SetPlayMode(This,Mode);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced4_GetPlayMode(IWMReaderAdvanced4* This,WMT_PLAY_MODE *pMode) {
|
|
return This->lpVtbl->GetPlayMode(This,pMode);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced4_GetBufferProgress(IWMReaderAdvanced4* This,DWORD *pdwPercent,QWORD *pcnsBuffering) {
|
|
return This->lpVtbl->GetBufferProgress(This,pdwPercent,pcnsBuffering);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced4_GetDownloadProgress(IWMReaderAdvanced4* This,DWORD *pdwPercent,QWORD *pqwBytesDownloaded,QWORD *pcnsDownload) {
|
|
return This->lpVtbl->GetDownloadProgress(This,pdwPercent,pqwBytesDownloaded,pcnsDownload);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced4_GetSaveAsProgress(IWMReaderAdvanced4* This,DWORD *pdwPercent) {
|
|
return This->lpVtbl->GetSaveAsProgress(This,pdwPercent);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced4_SaveFileAs(IWMReaderAdvanced4* This,const WCHAR *pwszFilename) {
|
|
return This->lpVtbl->SaveFileAs(This,pwszFilename);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced4_GetProtocolName(IWMReaderAdvanced4* This,WCHAR *pwszProtocol,DWORD *pcchProtocol) {
|
|
return This->lpVtbl->GetProtocolName(This,pwszProtocol,pcchProtocol);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced4_StartAtMarker(IWMReaderAdvanced4* This,WORD wMarkerIndex,QWORD cnsDuration,float fRate,void *pvContext) {
|
|
return This->lpVtbl->StartAtMarker(This,wMarkerIndex,cnsDuration,fRate,pvContext);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced4_GetOutputSetting(IWMReaderAdvanced4* This,DWORD dwOutputNum,LPCWSTR pszName,WMT_ATTR_DATATYPE *pType,BYTE *pValue,WORD *pcbLength) {
|
|
return This->lpVtbl->GetOutputSetting(This,dwOutputNum,pszName,pType,pValue,pcbLength);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced4_SetOutputSetting(IWMReaderAdvanced4* This,DWORD dwOutputNum,LPCWSTR pszName,WMT_ATTR_DATATYPE Type,const BYTE *pValue,WORD cbLength) {
|
|
return This->lpVtbl->SetOutputSetting(This,dwOutputNum,pszName,Type,pValue,cbLength);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced4_Preroll(IWMReaderAdvanced4* This,QWORD cnsStart,QWORD cnsDuration,float fRate) {
|
|
return This->lpVtbl->Preroll(This,cnsStart,cnsDuration,fRate);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced4_SetLogClientID(IWMReaderAdvanced4* This,WINBOOL fLogClientID) {
|
|
return This->lpVtbl->SetLogClientID(This,fLogClientID);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced4_GetLogClientID(IWMReaderAdvanced4* This,WINBOOL *pfLogClientID) {
|
|
return This->lpVtbl->GetLogClientID(This,pfLogClientID);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced4_StopBuffering(IWMReaderAdvanced4* This) {
|
|
return This->lpVtbl->StopBuffering(This);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced4_OpenStream(IWMReaderAdvanced4* This,IStream *pStream,IWMReaderCallback *pCallback,void *pvContext) {
|
|
return This->lpVtbl->OpenStream(This,pStream,pCallback,pvContext);
|
|
}
|
|
/*** IWMReaderAdvanced3 methods ***/
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced4_StopNetStreaming(IWMReaderAdvanced4* This) {
|
|
return This->lpVtbl->StopNetStreaming(This);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced4_StartAtPosition(IWMReaderAdvanced4* This,WORD wStreamNum,void *pvOffsetStart,void *pvDuration,WMT_OFFSET_FORMAT dwOffsetFormat,float fRate,void *pvContext) {
|
|
return This->lpVtbl->StartAtPosition(This,wStreamNum,pvOffsetStart,pvDuration,dwOffsetFormat,fRate,pvContext);
|
|
}
|
|
/*** IWMReaderAdvanced4 methods ***/
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced4_GetLanguageCount(IWMReaderAdvanced4* This,DWORD dwOutputNum,WORD *pwLanguageCount) {
|
|
return This->lpVtbl->GetLanguageCount(This,dwOutputNum,pwLanguageCount);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced4_GetLanguage(IWMReaderAdvanced4* This,DWORD dwOutputNum,WORD wLanguage,WCHAR *pwszLanguageString,WORD *pcchLanguageStringLength) {
|
|
return This->lpVtbl->GetLanguage(This,dwOutputNum,wLanguage,pwszLanguageString,pcchLanguageStringLength);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced4_GetMaxSpeedFactor(IWMReaderAdvanced4* This,double *pdblFactor) {
|
|
return This->lpVtbl->GetMaxSpeedFactor(This,pdblFactor);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced4_IsUsingFastCache(IWMReaderAdvanced4* This,WINBOOL *pfUsingFastCache) {
|
|
return This->lpVtbl->IsUsingFastCache(This,pfUsingFastCache);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced4_AddLogParam(IWMReaderAdvanced4* This,LPCWSTR wszNameSpace,LPCWSTR wszName,LPCWSTR wszValue) {
|
|
return This->lpVtbl->AddLogParam(This,wszNameSpace,wszName,wszValue);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced4_SendLogParams(IWMReaderAdvanced4* This) {
|
|
return This->lpVtbl->SendLogParams(This);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced4_CanSaveFileAs(IWMReaderAdvanced4* This,WINBOOL *pfCanSave) {
|
|
return This->lpVtbl->CanSaveFileAs(This,pfCanSave);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced4_CancelSaveFileAs(IWMReaderAdvanced4* This) {
|
|
return This->lpVtbl->CancelSaveFileAs(This);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced4_GetURL(IWMReaderAdvanced4* This,WCHAR *pwszURL,DWORD *pcchURL) {
|
|
return This->lpVtbl->GetURL(This,pwszURL,pcchURL);
|
|
}
|
|
#endif
|
|
#endif
|
|
|
|
#endif
|
|
|
|
|
|
#endif /* __IWMReaderAdvanced4_INTERFACE_DEFINED__ */
|
|
|
|
/*****************************************************************************
|
|
* IWMReaderAdvanced5 interface
|
|
*/
|
|
#ifndef __IWMReaderAdvanced5_INTERFACE_DEFINED__
|
|
#define __IWMReaderAdvanced5_INTERFACE_DEFINED__
|
|
|
|
DEFINE_GUID(IID_IWMReaderAdvanced5, 0x24c44db0, 0x55d1, 0x49ae, 0xa5,0xcc, 0xf1,0x38,0x15,0xe3,0x63,0x63);
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
MIDL_INTERFACE("24c44db0-55d1-49ae-a5cc-f13815e36363")
|
|
IWMReaderAdvanced5 : public IWMReaderAdvanced4
|
|
{
|
|
virtual HRESULT STDMETHODCALLTYPE SetPlayerHook(
|
|
DWORD dwOutputNum,
|
|
IWMPlayerHook *pHook) = 0;
|
|
|
|
};
|
|
#ifdef __CRT_UUID_DECL
|
|
__CRT_UUID_DECL(IWMReaderAdvanced5, 0x24c44db0, 0x55d1, 0x49ae, 0xa5,0xcc, 0xf1,0x38,0x15,0xe3,0x63,0x63)
|
|
#endif
|
|
#else
|
|
typedef struct IWMReaderAdvanced5Vtbl {
|
|
BEGIN_INTERFACE
|
|
|
|
/*** IUnknown methods ***/
|
|
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
|
|
IWMReaderAdvanced5 *This,
|
|
REFIID riid,
|
|
void **ppvObject);
|
|
|
|
ULONG (STDMETHODCALLTYPE *AddRef)(
|
|
IWMReaderAdvanced5 *This);
|
|
|
|
ULONG (STDMETHODCALLTYPE *Release)(
|
|
IWMReaderAdvanced5 *This);
|
|
|
|
/*** IWMReaderAdvanced methods ***/
|
|
HRESULT (STDMETHODCALLTYPE *SetUserProvidedClock)(
|
|
IWMReaderAdvanced5 *This,
|
|
WINBOOL fUserClock);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetUserProvidedClock)(
|
|
IWMReaderAdvanced5 *This,
|
|
WINBOOL *pfUserClock);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *DeliverTime)(
|
|
IWMReaderAdvanced5 *This,
|
|
QWORD cnsTime);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetManualStreamSelection)(
|
|
IWMReaderAdvanced5 *This,
|
|
WINBOOL fSelection);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetManualStreamSelection)(
|
|
IWMReaderAdvanced5 *This,
|
|
WINBOOL *pfSelection);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetStreamsSelected)(
|
|
IWMReaderAdvanced5 *This,
|
|
WORD cStreamCount,
|
|
WORD *pwStreamNumbers,
|
|
WMT_STREAM_SELECTION *pSelections);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetStreamSelected)(
|
|
IWMReaderAdvanced5 *This,
|
|
WORD wStreamNum,
|
|
WMT_STREAM_SELECTION *pSelection);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetReceiveSelectionCallbacks)(
|
|
IWMReaderAdvanced5 *This,
|
|
WINBOOL fGetCallbacks);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetReceiveSelectionCallbacks)(
|
|
IWMReaderAdvanced5 *This,
|
|
WINBOOL *pfGetCallbacks);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetReceiveStreamSamples)(
|
|
IWMReaderAdvanced5 *This,
|
|
WORD wStreamNum,
|
|
WINBOOL fReceiveStreamSamples);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetReceiveStreamSamples)(
|
|
IWMReaderAdvanced5 *This,
|
|
WORD wStreamNum,
|
|
WINBOOL *pfReceiveStreamSamples);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetAllocateForOutput)(
|
|
IWMReaderAdvanced5 *This,
|
|
DWORD dwOutputNum,
|
|
WINBOOL fAllocate);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetAllocateForOutput)(
|
|
IWMReaderAdvanced5 *This,
|
|
DWORD dwOutputNum,
|
|
WINBOOL *pfAllocate);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetAllocateForStream)(
|
|
IWMReaderAdvanced5 *This,
|
|
WORD wStreamNum,
|
|
WINBOOL fAllocate);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetAllocateForStream)(
|
|
IWMReaderAdvanced5 *This,
|
|
WORD dwStreamNum,
|
|
WINBOOL *pfAllocate);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetStatistics)(
|
|
IWMReaderAdvanced5 *This,
|
|
WM_READER_STATISTICS *pStatistics);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetClientInfo)(
|
|
IWMReaderAdvanced5 *This,
|
|
WM_READER_CLIENTINFO *pClientInfo);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetMaxOutputSampleSize)(
|
|
IWMReaderAdvanced5 *This,
|
|
DWORD dwOutput,
|
|
DWORD *pcbMax);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetMaxStreamSampleSize)(
|
|
IWMReaderAdvanced5 *This,
|
|
WORD wStream,
|
|
DWORD *pcbMax);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *NotifyLateDelivery)(
|
|
IWMReaderAdvanced5 *This,
|
|
QWORD cnsLateness);
|
|
|
|
/*** IWMReaderAdvanced2 methods ***/
|
|
HRESULT (STDMETHODCALLTYPE *SetPlayMode)(
|
|
IWMReaderAdvanced5 *This,
|
|
WMT_PLAY_MODE Mode);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetPlayMode)(
|
|
IWMReaderAdvanced5 *This,
|
|
WMT_PLAY_MODE *pMode);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetBufferProgress)(
|
|
IWMReaderAdvanced5 *This,
|
|
DWORD *pdwPercent,
|
|
QWORD *pcnsBuffering);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetDownloadProgress)(
|
|
IWMReaderAdvanced5 *This,
|
|
DWORD *pdwPercent,
|
|
QWORD *pqwBytesDownloaded,
|
|
QWORD *pcnsDownload);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetSaveAsProgress)(
|
|
IWMReaderAdvanced5 *This,
|
|
DWORD *pdwPercent);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SaveFileAs)(
|
|
IWMReaderAdvanced5 *This,
|
|
const WCHAR *pwszFilename);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetProtocolName)(
|
|
IWMReaderAdvanced5 *This,
|
|
WCHAR *pwszProtocol,
|
|
DWORD *pcchProtocol);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *StartAtMarker)(
|
|
IWMReaderAdvanced5 *This,
|
|
WORD wMarkerIndex,
|
|
QWORD cnsDuration,
|
|
float fRate,
|
|
void *pvContext);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetOutputSetting)(
|
|
IWMReaderAdvanced5 *This,
|
|
DWORD dwOutputNum,
|
|
LPCWSTR pszName,
|
|
WMT_ATTR_DATATYPE *pType,
|
|
BYTE *pValue,
|
|
WORD *pcbLength);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetOutputSetting)(
|
|
IWMReaderAdvanced5 *This,
|
|
DWORD dwOutputNum,
|
|
LPCWSTR pszName,
|
|
WMT_ATTR_DATATYPE Type,
|
|
const BYTE *pValue,
|
|
WORD cbLength);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *Preroll)(
|
|
IWMReaderAdvanced5 *This,
|
|
QWORD cnsStart,
|
|
QWORD cnsDuration,
|
|
float fRate);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetLogClientID)(
|
|
IWMReaderAdvanced5 *This,
|
|
WINBOOL fLogClientID);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetLogClientID)(
|
|
IWMReaderAdvanced5 *This,
|
|
WINBOOL *pfLogClientID);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *StopBuffering)(
|
|
IWMReaderAdvanced5 *This);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *OpenStream)(
|
|
IWMReaderAdvanced5 *This,
|
|
IStream *pStream,
|
|
IWMReaderCallback *pCallback,
|
|
void *pvContext);
|
|
|
|
/*** IWMReaderAdvanced3 methods ***/
|
|
HRESULT (STDMETHODCALLTYPE *StopNetStreaming)(
|
|
IWMReaderAdvanced5 *This);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *StartAtPosition)(
|
|
IWMReaderAdvanced5 *This,
|
|
WORD wStreamNum,
|
|
void *pvOffsetStart,
|
|
void *pvDuration,
|
|
WMT_OFFSET_FORMAT dwOffsetFormat,
|
|
float fRate,
|
|
void *pvContext);
|
|
|
|
/*** IWMReaderAdvanced4 methods ***/
|
|
HRESULT (STDMETHODCALLTYPE *GetLanguageCount)(
|
|
IWMReaderAdvanced5 *This,
|
|
DWORD dwOutputNum,
|
|
WORD *pwLanguageCount);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetLanguage)(
|
|
IWMReaderAdvanced5 *This,
|
|
DWORD dwOutputNum,
|
|
WORD wLanguage,
|
|
WCHAR *pwszLanguageString,
|
|
WORD *pcchLanguageStringLength);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetMaxSpeedFactor)(
|
|
IWMReaderAdvanced5 *This,
|
|
double *pdblFactor);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *IsUsingFastCache)(
|
|
IWMReaderAdvanced5 *This,
|
|
WINBOOL *pfUsingFastCache);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *AddLogParam)(
|
|
IWMReaderAdvanced5 *This,
|
|
LPCWSTR wszNameSpace,
|
|
LPCWSTR wszName,
|
|
LPCWSTR wszValue);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SendLogParams)(
|
|
IWMReaderAdvanced5 *This);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *CanSaveFileAs)(
|
|
IWMReaderAdvanced5 *This,
|
|
WINBOOL *pfCanSave);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *CancelSaveFileAs)(
|
|
IWMReaderAdvanced5 *This);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetURL)(
|
|
IWMReaderAdvanced5 *This,
|
|
WCHAR *pwszURL,
|
|
DWORD *pcchURL);
|
|
|
|
/*** IWMReaderAdvanced5 methods ***/
|
|
HRESULT (STDMETHODCALLTYPE *SetPlayerHook)(
|
|
IWMReaderAdvanced5 *This,
|
|
DWORD dwOutputNum,
|
|
IWMPlayerHook *pHook);
|
|
|
|
END_INTERFACE
|
|
} IWMReaderAdvanced5Vtbl;
|
|
|
|
interface IWMReaderAdvanced5 {
|
|
CONST_VTBL IWMReaderAdvanced5Vtbl* lpVtbl;
|
|
};
|
|
|
|
#ifdef COBJMACROS
|
|
#ifndef WIDL_C_INLINE_WRAPPERS
|
|
/*** IUnknown methods ***/
|
|
#define IWMReaderAdvanced5_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
|
|
#define IWMReaderAdvanced5_AddRef(This) (This)->lpVtbl->AddRef(This)
|
|
#define IWMReaderAdvanced5_Release(This) (This)->lpVtbl->Release(This)
|
|
/*** IWMReaderAdvanced methods ***/
|
|
#define IWMReaderAdvanced5_SetUserProvidedClock(This,fUserClock) (This)->lpVtbl->SetUserProvidedClock(This,fUserClock)
|
|
#define IWMReaderAdvanced5_GetUserProvidedClock(This,pfUserClock) (This)->lpVtbl->GetUserProvidedClock(This,pfUserClock)
|
|
#define IWMReaderAdvanced5_DeliverTime(This,cnsTime) (This)->lpVtbl->DeliverTime(This,cnsTime)
|
|
#define IWMReaderAdvanced5_SetManualStreamSelection(This,fSelection) (This)->lpVtbl->SetManualStreamSelection(This,fSelection)
|
|
#define IWMReaderAdvanced5_GetManualStreamSelection(This,pfSelection) (This)->lpVtbl->GetManualStreamSelection(This,pfSelection)
|
|
#define IWMReaderAdvanced5_SetStreamsSelected(This,cStreamCount,pwStreamNumbers,pSelections) (This)->lpVtbl->SetStreamsSelected(This,cStreamCount,pwStreamNumbers,pSelections)
|
|
#define IWMReaderAdvanced5_GetStreamSelected(This,wStreamNum,pSelection) (This)->lpVtbl->GetStreamSelected(This,wStreamNum,pSelection)
|
|
#define IWMReaderAdvanced5_SetReceiveSelectionCallbacks(This,fGetCallbacks) (This)->lpVtbl->SetReceiveSelectionCallbacks(This,fGetCallbacks)
|
|
#define IWMReaderAdvanced5_GetReceiveSelectionCallbacks(This,pfGetCallbacks) (This)->lpVtbl->GetReceiveSelectionCallbacks(This,pfGetCallbacks)
|
|
#define IWMReaderAdvanced5_SetReceiveStreamSamples(This,wStreamNum,fReceiveStreamSamples) (This)->lpVtbl->SetReceiveStreamSamples(This,wStreamNum,fReceiveStreamSamples)
|
|
#define IWMReaderAdvanced5_GetReceiveStreamSamples(This,wStreamNum,pfReceiveStreamSamples) (This)->lpVtbl->GetReceiveStreamSamples(This,wStreamNum,pfReceiveStreamSamples)
|
|
#define IWMReaderAdvanced5_SetAllocateForOutput(This,dwOutputNum,fAllocate) (This)->lpVtbl->SetAllocateForOutput(This,dwOutputNum,fAllocate)
|
|
#define IWMReaderAdvanced5_GetAllocateForOutput(This,dwOutputNum,pfAllocate) (This)->lpVtbl->GetAllocateForOutput(This,dwOutputNum,pfAllocate)
|
|
#define IWMReaderAdvanced5_SetAllocateForStream(This,wStreamNum,fAllocate) (This)->lpVtbl->SetAllocateForStream(This,wStreamNum,fAllocate)
|
|
#define IWMReaderAdvanced5_GetAllocateForStream(This,dwStreamNum,pfAllocate) (This)->lpVtbl->GetAllocateForStream(This,dwStreamNum,pfAllocate)
|
|
#define IWMReaderAdvanced5_GetStatistics(This,pStatistics) (This)->lpVtbl->GetStatistics(This,pStatistics)
|
|
#define IWMReaderAdvanced5_SetClientInfo(This,pClientInfo) (This)->lpVtbl->SetClientInfo(This,pClientInfo)
|
|
#define IWMReaderAdvanced5_GetMaxOutputSampleSize(This,dwOutput,pcbMax) (This)->lpVtbl->GetMaxOutputSampleSize(This,dwOutput,pcbMax)
|
|
#define IWMReaderAdvanced5_GetMaxStreamSampleSize(This,wStream,pcbMax) (This)->lpVtbl->GetMaxStreamSampleSize(This,wStream,pcbMax)
|
|
#define IWMReaderAdvanced5_NotifyLateDelivery(This,cnsLateness) (This)->lpVtbl->NotifyLateDelivery(This,cnsLateness)
|
|
/*** IWMReaderAdvanced2 methods ***/
|
|
#define IWMReaderAdvanced5_SetPlayMode(This,Mode) (This)->lpVtbl->SetPlayMode(This,Mode)
|
|
#define IWMReaderAdvanced5_GetPlayMode(This,pMode) (This)->lpVtbl->GetPlayMode(This,pMode)
|
|
#define IWMReaderAdvanced5_GetBufferProgress(This,pdwPercent,pcnsBuffering) (This)->lpVtbl->GetBufferProgress(This,pdwPercent,pcnsBuffering)
|
|
#define IWMReaderAdvanced5_GetDownloadProgress(This,pdwPercent,pqwBytesDownloaded,pcnsDownload) (This)->lpVtbl->GetDownloadProgress(This,pdwPercent,pqwBytesDownloaded,pcnsDownload)
|
|
#define IWMReaderAdvanced5_GetSaveAsProgress(This,pdwPercent) (This)->lpVtbl->GetSaveAsProgress(This,pdwPercent)
|
|
#define IWMReaderAdvanced5_SaveFileAs(This,pwszFilename) (This)->lpVtbl->SaveFileAs(This,pwszFilename)
|
|
#define IWMReaderAdvanced5_GetProtocolName(This,pwszProtocol,pcchProtocol) (This)->lpVtbl->GetProtocolName(This,pwszProtocol,pcchProtocol)
|
|
#define IWMReaderAdvanced5_StartAtMarker(This,wMarkerIndex,cnsDuration,fRate,pvContext) (This)->lpVtbl->StartAtMarker(This,wMarkerIndex,cnsDuration,fRate,pvContext)
|
|
#define IWMReaderAdvanced5_GetOutputSetting(This,dwOutputNum,pszName,pType,pValue,pcbLength) (This)->lpVtbl->GetOutputSetting(This,dwOutputNum,pszName,pType,pValue,pcbLength)
|
|
#define IWMReaderAdvanced5_SetOutputSetting(This,dwOutputNum,pszName,Type,pValue,cbLength) (This)->lpVtbl->SetOutputSetting(This,dwOutputNum,pszName,Type,pValue,cbLength)
|
|
#define IWMReaderAdvanced5_Preroll(This,cnsStart,cnsDuration,fRate) (This)->lpVtbl->Preroll(This,cnsStart,cnsDuration,fRate)
|
|
#define IWMReaderAdvanced5_SetLogClientID(This,fLogClientID) (This)->lpVtbl->SetLogClientID(This,fLogClientID)
|
|
#define IWMReaderAdvanced5_GetLogClientID(This,pfLogClientID) (This)->lpVtbl->GetLogClientID(This,pfLogClientID)
|
|
#define IWMReaderAdvanced5_StopBuffering(This) (This)->lpVtbl->StopBuffering(This)
|
|
#define IWMReaderAdvanced5_OpenStream(This,pStream,pCallback,pvContext) (This)->lpVtbl->OpenStream(This,pStream,pCallback,pvContext)
|
|
/*** IWMReaderAdvanced3 methods ***/
|
|
#define IWMReaderAdvanced5_StopNetStreaming(This) (This)->lpVtbl->StopNetStreaming(This)
|
|
#define IWMReaderAdvanced5_StartAtPosition(This,wStreamNum,pvOffsetStart,pvDuration,dwOffsetFormat,fRate,pvContext) (This)->lpVtbl->StartAtPosition(This,wStreamNum,pvOffsetStart,pvDuration,dwOffsetFormat,fRate,pvContext)
|
|
/*** IWMReaderAdvanced4 methods ***/
|
|
#define IWMReaderAdvanced5_GetLanguageCount(This,dwOutputNum,pwLanguageCount) (This)->lpVtbl->GetLanguageCount(This,dwOutputNum,pwLanguageCount)
|
|
#define IWMReaderAdvanced5_GetLanguage(This,dwOutputNum,wLanguage,pwszLanguageString,pcchLanguageStringLength) (This)->lpVtbl->GetLanguage(This,dwOutputNum,wLanguage,pwszLanguageString,pcchLanguageStringLength)
|
|
#define IWMReaderAdvanced5_GetMaxSpeedFactor(This,pdblFactor) (This)->lpVtbl->GetMaxSpeedFactor(This,pdblFactor)
|
|
#define IWMReaderAdvanced5_IsUsingFastCache(This,pfUsingFastCache) (This)->lpVtbl->IsUsingFastCache(This,pfUsingFastCache)
|
|
#define IWMReaderAdvanced5_AddLogParam(This,wszNameSpace,wszName,wszValue) (This)->lpVtbl->AddLogParam(This,wszNameSpace,wszName,wszValue)
|
|
#define IWMReaderAdvanced5_SendLogParams(This) (This)->lpVtbl->SendLogParams(This)
|
|
#define IWMReaderAdvanced5_CanSaveFileAs(This,pfCanSave) (This)->lpVtbl->CanSaveFileAs(This,pfCanSave)
|
|
#define IWMReaderAdvanced5_CancelSaveFileAs(This) (This)->lpVtbl->CancelSaveFileAs(This)
|
|
#define IWMReaderAdvanced5_GetURL(This,pwszURL,pcchURL) (This)->lpVtbl->GetURL(This,pwszURL,pcchURL)
|
|
/*** IWMReaderAdvanced5 methods ***/
|
|
#define IWMReaderAdvanced5_SetPlayerHook(This,dwOutputNum,pHook) (This)->lpVtbl->SetPlayerHook(This,dwOutputNum,pHook)
|
|
#else
|
|
/*** IUnknown methods ***/
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced5_QueryInterface(IWMReaderAdvanced5* This,REFIID riid,void **ppvObject) {
|
|
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
|
|
}
|
|
static FORCEINLINE ULONG IWMReaderAdvanced5_AddRef(IWMReaderAdvanced5* This) {
|
|
return This->lpVtbl->AddRef(This);
|
|
}
|
|
static FORCEINLINE ULONG IWMReaderAdvanced5_Release(IWMReaderAdvanced5* This) {
|
|
return This->lpVtbl->Release(This);
|
|
}
|
|
/*** IWMReaderAdvanced methods ***/
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced5_SetUserProvidedClock(IWMReaderAdvanced5* This,WINBOOL fUserClock) {
|
|
return This->lpVtbl->SetUserProvidedClock(This,fUserClock);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced5_GetUserProvidedClock(IWMReaderAdvanced5* This,WINBOOL *pfUserClock) {
|
|
return This->lpVtbl->GetUserProvidedClock(This,pfUserClock);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced5_DeliverTime(IWMReaderAdvanced5* This,QWORD cnsTime) {
|
|
return This->lpVtbl->DeliverTime(This,cnsTime);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced5_SetManualStreamSelection(IWMReaderAdvanced5* This,WINBOOL fSelection) {
|
|
return This->lpVtbl->SetManualStreamSelection(This,fSelection);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced5_GetManualStreamSelection(IWMReaderAdvanced5* This,WINBOOL *pfSelection) {
|
|
return This->lpVtbl->GetManualStreamSelection(This,pfSelection);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced5_SetStreamsSelected(IWMReaderAdvanced5* This,WORD cStreamCount,WORD *pwStreamNumbers,WMT_STREAM_SELECTION *pSelections) {
|
|
return This->lpVtbl->SetStreamsSelected(This,cStreamCount,pwStreamNumbers,pSelections);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced5_GetStreamSelected(IWMReaderAdvanced5* This,WORD wStreamNum,WMT_STREAM_SELECTION *pSelection) {
|
|
return This->lpVtbl->GetStreamSelected(This,wStreamNum,pSelection);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced5_SetReceiveSelectionCallbacks(IWMReaderAdvanced5* This,WINBOOL fGetCallbacks) {
|
|
return This->lpVtbl->SetReceiveSelectionCallbacks(This,fGetCallbacks);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced5_GetReceiveSelectionCallbacks(IWMReaderAdvanced5* This,WINBOOL *pfGetCallbacks) {
|
|
return This->lpVtbl->GetReceiveSelectionCallbacks(This,pfGetCallbacks);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced5_SetReceiveStreamSamples(IWMReaderAdvanced5* This,WORD wStreamNum,WINBOOL fReceiveStreamSamples) {
|
|
return This->lpVtbl->SetReceiveStreamSamples(This,wStreamNum,fReceiveStreamSamples);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced5_GetReceiveStreamSamples(IWMReaderAdvanced5* This,WORD wStreamNum,WINBOOL *pfReceiveStreamSamples) {
|
|
return This->lpVtbl->GetReceiveStreamSamples(This,wStreamNum,pfReceiveStreamSamples);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced5_SetAllocateForOutput(IWMReaderAdvanced5* This,DWORD dwOutputNum,WINBOOL fAllocate) {
|
|
return This->lpVtbl->SetAllocateForOutput(This,dwOutputNum,fAllocate);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced5_GetAllocateForOutput(IWMReaderAdvanced5* This,DWORD dwOutputNum,WINBOOL *pfAllocate) {
|
|
return This->lpVtbl->GetAllocateForOutput(This,dwOutputNum,pfAllocate);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced5_SetAllocateForStream(IWMReaderAdvanced5* This,WORD wStreamNum,WINBOOL fAllocate) {
|
|
return This->lpVtbl->SetAllocateForStream(This,wStreamNum,fAllocate);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced5_GetAllocateForStream(IWMReaderAdvanced5* This,WORD dwStreamNum,WINBOOL *pfAllocate) {
|
|
return This->lpVtbl->GetAllocateForStream(This,dwStreamNum,pfAllocate);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced5_GetStatistics(IWMReaderAdvanced5* This,WM_READER_STATISTICS *pStatistics) {
|
|
return This->lpVtbl->GetStatistics(This,pStatistics);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced5_SetClientInfo(IWMReaderAdvanced5* This,WM_READER_CLIENTINFO *pClientInfo) {
|
|
return This->lpVtbl->SetClientInfo(This,pClientInfo);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced5_GetMaxOutputSampleSize(IWMReaderAdvanced5* This,DWORD dwOutput,DWORD *pcbMax) {
|
|
return This->lpVtbl->GetMaxOutputSampleSize(This,dwOutput,pcbMax);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced5_GetMaxStreamSampleSize(IWMReaderAdvanced5* This,WORD wStream,DWORD *pcbMax) {
|
|
return This->lpVtbl->GetMaxStreamSampleSize(This,wStream,pcbMax);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced5_NotifyLateDelivery(IWMReaderAdvanced5* This,QWORD cnsLateness) {
|
|
return This->lpVtbl->NotifyLateDelivery(This,cnsLateness);
|
|
}
|
|
/*** IWMReaderAdvanced2 methods ***/
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced5_SetPlayMode(IWMReaderAdvanced5* This,WMT_PLAY_MODE Mode) {
|
|
return This->lpVtbl->SetPlayMode(This,Mode);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced5_GetPlayMode(IWMReaderAdvanced5* This,WMT_PLAY_MODE *pMode) {
|
|
return This->lpVtbl->GetPlayMode(This,pMode);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced5_GetBufferProgress(IWMReaderAdvanced5* This,DWORD *pdwPercent,QWORD *pcnsBuffering) {
|
|
return This->lpVtbl->GetBufferProgress(This,pdwPercent,pcnsBuffering);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced5_GetDownloadProgress(IWMReaderAdvanced5* This,DWORD *pdwPercent,QWORD *pqwBytesDownloaded,QWORD *pcnsDownload) {
|
|
return This->lpVtbl->GetDownloadProgress(This,pdwPercent,pqwBytesDownloaded,pcnsDownload);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced5_GetSaveAsProgress(IWMReaderAdvanced5* This,DWORD *pdwPercent) {
|
|
return This->lpVtbl->GetSaveAsProgress(This,pdwPercent);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced5_SaveFileAs(IWMReaderAdvanced5* This,const WCHAR *pwszFilename) {
|
|
return This->lpVtbl->SaveFileAs(This,pwszFilename);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced5_GetProtocolName(IWMReaderAdvanced5* This,WCHAR *pwszProtocol,DWORD *pcchProtocol) {
|
|
return This->lpVtbl->GetProtocolName(This,pwszProtocol,pcchProtocol);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced5_StartAtMarker(IWMReaderAdvanced5* This,WORD wMarkerIndex,QWORD cnsDuration,float fRate,void *pvContext) {
|
|
return This->lpVtbl->StartAtMarker(This,wMarkerIndex,cnsDuration,fRate,pvContext);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced5_GetOutputSetting(IWMReaderAdvanced5* This,DWORD dwOutputNum,LPCWSTR pszName,WMT_ATTR_DATATYPE *pType,BYTE *pValue,WORD *pcbLength) {
|
|
return This->lpVtbl->GetOutputSetting(This,dwOutputNum,pszName,pType,pValue,pcbLength);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced5_SetOutputSetting(IWMReaderAdvanced5* This,DWORD dwOutputNum,LPCWSTR pszName,WMT_ATTR_DATATYPE Type,const BYTE *pValue,WORD cbLength) {
|
|
return This->lpVtbl->SetOutputSetting(This,dwOutputNum,pszName,Type,pValue,cbLength);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced5_Preroll(IWMReaderAdvanced5* This,QWORD cnsStart,QWORD cnsDuration,float fRate) {
|
|
return This->lpVtbl->Preroll(This,cnsStart,cnsDuration,fRate);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced5_SetLogClientID(IWMReaderAdvanced5* This,WINBOOL fLogClientID) {
|
|
return This->lpVtbl->SetLogClientID(This,fLogClientID);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced5_GetLogClientID(IWMReaderAdvanced5* This,WINBOOL *pfLogClientID) {
|
|
return This->lpVtbl->GetLogClientID(This,pfLogClientID);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced5_StopBuffering(IWMReaderAdvanced5* This) {
|
|
return This->lpVtbl->StopBuffering(This);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced5_OpenStream(IWMReaderAdvanced5* This,IStream *pStream,IWMReaderCallback *pCallback,void *pvContext) {
|
|
return This->lpVtbl->OpenStream(This,pStream,pCallback,pvContext);
|
|
}
|
|
/*** IWMReaderAdvanced3 methods ***/
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced5_StopNetStreaming(IWMReaderAdvanced5* This) {
|
|
return This->lpVtbl->StopNetStreaming(This);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced5_StartAtPosition(IWMReaderAdvanced5* This,WORD wStreamNum,void *pvOffsetStart,void *pvDuration,WMT_OFFSET_FORMAT dwOffsetFormat,float fRate,void *pvContext) {
|
|
return This->lpVtbl->StartAtPosition(This,wStreamNum,pvOffsetStart,pvDuration,dwOffsetFormat,fRate,pvContext);
|
|
}
|
|
/*** IWMReaderAdvanced4 methods ***/
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced5_GetLanguageCount(IWMReaderAdvanced5* This,DWORD dwOutputNum,WORD *pwLanguageCount) {
|
|
return This->lpVtbl->GetLanguageCount(This,dwOutputNum,pwLanguageCount);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced5_GetLanguage(IWMReaderAdvanced5* This,DWORD dwOutputNum,WORD wLanguage,WCHAR *pwszLanguageString,WORD *pcchLanguageStringLength) {
|
|
return This->lpVtbl->GetLanguage(This,dwOutputNum,wLanguage,pwszLanguageString,pcchLanguageStringLength);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced5_GetMaxSpeedFactor(IWMReaderAdvanced5* This,double *pdblFactor) {
|
|
return This->lpVtbl->GetMaxSpeedFactor(This,pdblFactor);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced5_IsUsingFastCache(IWMReaderAdvanced5* This,WINBOOL *pfUsingFastCache) {
|
|
return This->lpVtbl->IsUsingFastCache(This,pfUsingFastCache);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced5_AddLogParam(IWMReaderAdvanced5* This,LPCWSTR wszNameSpace,LPCWSTR wszName,LPCWSTR wszValue) {
|
|
return This->lpVtbl->AddLogParam(This,wszNameSpace,wszName,wszValue);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced5_SendLogParams(IWMReaderAdvanced5* This) {
|
|
return This->lpVtbl->SendLogParams(This);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced5_CanSaveFileAs(IWMReaderAdvanced5* This,WINBOOL *pfCanSave) {
|
|
return This->lpVtbl->CanSaveFileAs(This,pfCanSave);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced5_CancelSaveFileAs(IWMReaderAdvanced5* This) {
|
|
return This->lpVtbl->CancelSaveFileAs(This);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced5_GetURL(IWMReaderAdvanced5* This,WCHAR *pwszURL,DWORD *pcchURL) {
|
|
return This->lpVtbl->GetURL(This,pwszURL,pcchURL);
|
|
}
|
|
/*** IWMReaderAdvanced5 methods ***/
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced5_SetPlayerHook(IWMReaderAdvanced5* This,DWORD dwOutputNum,IWMPlayerHook *pHook) {
|
|
return This->lpVtbl->SetPlayerHook(This,dwOutputNum,pHook);
|
|
}
|
|
#endif
|
|
#endif
|
|
|
|
#endif
|
|
|
|
|
|
#endif /* __IWMReaderAdvanced5_INTERFACE_DEFINED__ */
|
|
|
|
/*****************************************************************************
|
|
* IWMReaderAdvanced6 interface
|
|
*/
|
|
#ifndef __IWMReaderAdvanced6_INTERFACE_DEFINED__
|
|
#define __IWMReaderAdvanced6_INTERFACE_DEFINED__
|
|
|
|
DEFINE_GUID(IID_IWMReaderAdvanced6, 0x18a2e7f8, 0x428f, 0x4acd, 0x8a,0x00, 0xe6,0x46,0x39,0xbc,0x93,0xde);
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
MIDL_INTERFACE("18a2e7f8-428f-4acd-8a00-e64639bc93de")
|
|
IWMReaderAdvanced6 : public IWMReaderAdvanced5
|
|
{
|
|
virtual HRESULT STDMETHODCALLTYPE SetProtectStreamSamples(
|
|
BYTE *pbCertificate,
|
|
DWORD cbCertificate,
|
|
DWORD dwCertificateType,
|
|
DWORD dwFlags,
|
|
BYTE *pbInitializationVector,
|
|
DWORD *pcbInitializationVector) = 0;
|
|
|
|
};
|
|
#ifdef __CRT_UUID_DECL
|
|
__CRT_UUID_DECL(IWMReaderAdvanced6, 0x18a2e7f8, 0x428f, 0x4acd, 0x8a,0x00, 0xe6,0x46,0x39,0xbc,0x93,0xde)
|
|
#endif
|
|
#else
|
|
typedef struct IWMReaderAdvanced6Vtbl {
|
|
BEGIN_INTERFACE
|
|
|
|
/*** IUnknown methods ***/
|
|
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
|
|
IWMReaderAdvanced6 *This,
|
|
REFIID riid,
|
|
void **ppvObject);
|
|
|
|
ULONG (STDMETHODCALLTYPE *AddRef)(
|
|
IWMReaderAdvanced6 *This);
|
|
|
|
ULONG (STDMETHODCALLTYPE *Release)(
|
|
IWMReaderAdvanced6 *This);
|
|
|
|
/*** IWMReaderAdvanced methods ***/
|
|
HRESULT (STDMETHODCALLTYPE *SetUserProvidedClock)(
|
|
IWMReaderAdvanced6 *This,
|
|
WINBOOL fUserClock);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetUserProvidedClock)(
|
|
IWMReaderAdvanced6 *This,
|
|
WINBOOL *pfUserClock);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *DeliverTime)(
|
|
IWMReaderAdvanced6 *This,
|
|
QWORD cnsTime);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetManualStreamSelection)(
|
|
IWMReaderAdvanced6 *This,
|
|
WINBOOL fSelection);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetManualStreamSelection)(
|
|
IWMReaderAdvanced6 *This,
|
|
WINBOOL *pfSelection);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetStreamsSelected)(
|
|
IWMReaderAdvanced6 *This,
|
|
WORD cStreamCount,
|
|
WORD *pwStreamNumbers,
|
|
WMT_STREAM_SELECTION *pSelections);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetStreamSelected)(
|
|
IWMReaderAdvanced6 *This,
|
|
WORD wStreamNum,
|
|
WMT_STREAM_SELECTION *pSelection);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetReceiveSelectionCallbacks)(
|
|
IWMReaderAdvanced6 *This,
|
|
WINBOOL fGetCallbacks);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetReceiveSelectionCallbacks)(
|
|
IWMReaderAdvanced6 *This,
|
|
WINBOOL *pfGetCallbacks);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetReceiveStreamSamples)(
|
|
IWMReaderAdvanced6 *This,
|
|
WORD wStreamNum,
|
|
WINBOOL fReceiveStreamSamples);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetReceiveStreamSamples)(
|
|
IWMReaderAdvanced6 *This,
|
|
WORD wStreamNum,
|
|
WINBOOL *pfReceiveStreamSamples);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetAllocateForOutput)(
|
|
IWMReaderAdvanced6 *This,
|
|
DWORD dwOutputNum,
|
|
WINBOOL fAllocate);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetAllocateForOutput)(
|
|
IWMReaderAdvanced6 *This,
|
|
DWORD dwOutputNum,
|
|
WINBOOL *pfAllocate);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetAllocateForStream)(
|
|
IWMReaderAdvanced6 *This,
|
|
WORD wStreamNum,
|
|
WINBOOL fAllocate);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetAllocateForStream)(
|
|
IWMReaderAdvanced6 *This,
|
|
WORD dwStreamNum,
|
|
WINBOOL *pfAllocate);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetStatistics)(
|
|
IWMReaderAdvanced6 *This,
|
|
WM_READER_STATISTICS *pStatistics);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetClientInfo)(
|
|
IWMReaderAdvanced6 *This,
|
|
WM_READER_CLIENTINFO *pClientInfo);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetMaxOutputSampleSize)(
|
|
IWMReaderAdvanced6 *This,
|
|
DWORD dwOutput,
|
|
DWORD *pcbMax);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetMaxStreamSampleSize)(
|
|
IWMReaderAdvanced6 *This,
|
|
WORD wStream,
|
|
DWORD *pcbMax);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *NotifyLateDelivery)(
|
|
IWMReaderAdvanced6 *This,
|
|
QWORD cnsLateness);
|
|
|
|
/*** IWMReaderAdvanced2 methods ***/
|
|
HRESULT (STDMETHODCALLTYPE *SetPlayMode)(
|
|
IWMReaderAdvanced6 *This,
|
|
WMT_PLAY_MODE Mode);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetPlayMode)(
|
|
IWMReaderAdvanced6 *This,
|
|
WMT_PLAY_MODE *pMode);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetBufferProgress)(
|
|
IWMReaderAdvanced6 *This,
|
|
DWORD *pdwPercent,
|
|
QWORD *pcnsBuffering);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetDownloadProgress)(
|
|
IWMReaderAdvanced6 *This,
|
|
DWORD *pdwPercent,
|
|
QWORD *pqwBytesDownloaded,
|
|
QWORD *pcnsDownload);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetSaveAsProgress)(
|
|
IWMReaderAdvanced6 *This,
|
|
DWORD *pdwPercent);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SaveFileAs)(
|
|
IWMReaderAdvanced6 *This,
|
|
const WCHAR *pwszFilename);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetProtocolName)(
|
|
IWMReaderAdvanced6 *This,
|
|
WCHAR *pwszProtocol,
|
|
DWORD *pcchProtocol);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *StartAtMarker)(
|
|
IWMReaderAdvanced6 *This,
|
|
WORD wMarkerIndex,
|
|
QWORD cnsDuration,
|
|
float fRate,
|
|
void *pvContext);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetOutputSetting)(
|
|
IWMReaderAdvanced6 *This,
|
|
DWORD dwOutputNum,
|
|
LPCWSTR pszName,
|
|
WMT_ATTR_DATATYPE *pType,
|
|
BYTE *pValue,
|
|
WORD *pcbLength);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetOutputSetting)(
|
|
IWMReaderAdvanced6 *This,
|
|
DWORD dwOutputNum,
|
|
LPCWSTR pszName,
|
|
WMT_ATTR_DATATYPE Type,
|
|
const BYTE *pValue,
|
|
WORD cbLength);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *Preroll)(
|
|
IWMReaderAdvanced6 *This,
|
|
QWORD cnsStart,
|
|
QWORD cnsDuration,
|
|
float fRate);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetLogClientID)(
|
|
IWMReaderAdvanced6 *This,
|
|
WINBOOL fLogClientID);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetLogClientID)(
|
|
IWMReaderAdvanced6 *This,
|
|
WINBOOL *pfLogClientID);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *StopBuffering)(
|
|
IWMReaderAdvanced6 *This);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *OpenStream)(
|
|
IWMReaderAdvanced6 *This,
|
|
IStream *pStream,
|
|
IWMReaderCallback *pCallback,
|
|
void *pvContext);
|
|
|
|
/*** IWMReaderAdvanced3 methods ***/
|
|
HRESULT (STDMETHODCALLTYPE *StopNetStreaming)(
|
|
IWMReaderAdvanced6 *This);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *StartAtPosition)(
|
|
IWMReaderAdvanced6 *This,
|
|
WORD wStreamNum,
|
|
void *pvOffsetStart,
|
|
void *pvDuration,
|
|
WMT_OFFSET_FORMAT dwOffsetFormat,
|
|
float fRate,
|
|
void *pvContext);
|
|
|
|
/*** IWMReaderAdvanced4 methods ***/
|
|
HRESULT (STDMETHODCALLTYPE *GetLanguageCount)(
|
|
IWMReaderAdvanced6 *This,
|
|
DWORD dwOutputNum,
|
|
WORD *pwLanguageCount);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetLanguage)(
|
|
IWMReaderAdvanced6 *This,
|
|
DWORD dwOutputNum,
|
|
WORD wLanguage,
|
|
WCHAR *pwszLanguageString,
|
|
WORD *pcchLanguageStringLength);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetMaxSpeedFactor)(
|
|
IWMReaderAdvanced6 *This,
|
|
double *pdblFactor);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *IsUsingFastCache)(
|
|
IWMReaderAdvanced6 *This,
|
|
WINBOOL *pfUsingFastCache);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *AddLogParam)(
|
|
IWMReaderAdvanced6 *This,
|
|
LPCWSTR wszNameSpace,
|
|
LPCWSTR wszName,
|
|
LPCWSTR wszValue);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SendLogParams)(
|
|
IWMReaderAdvanced6 *This);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *CanSaveFileAs)(
|
|
IWMReaderAdvanced6 *This,
|
|
WINBOOL *pfCanSave);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *CancelSaveFileAs)(
|
|
IWMReaderAdvanced6 *This);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetURL)(
|
|
IWMReaderAdvanced6 *This,
|
|
WCHAR *pwszURL,
|
|
DWORD *pcchURL);
|
|
|
|
/*** IWMReaderAdvanced5 methods ***/
|
|
HRESULT (STDMETHODCALLTYPE *SetPlayerHook)(
|
|
IWMReaderAdvanced6 *This,
|
|
DWORD dwOutputNum,
|
|
IWMPlayerHook *pHook);
|
|
|
|
/*** IWMReaderAdvanced6 methods ***/
|
|
HRESULT (STDMETHODCALLTYPE *SetProtectStreamSamples)(
|
|
IWMReaderAdvanced6 *This,
|
|
BYTE *pbCertificate,
|
|
DWORD cbCertificate,
|
|
DWORD dwCertificateType,
|
|
DWORD dwFlags,
|
|
BYTE *pbInitializationVector,
|
|
DWORD *pcbInitializationVector);
|
|
|
|
END_INTERFACE
|
|
} IWMReaderAdvanced6Vtbl;
|
|
|
|
interface IWMReaderAdvanced6 {
|
|
CONST_VTBL IWMReaderAdvanced6Vtbl* lpVtbl;
|
|
};
|
|
|
|
#ifdef COBJMACROS
|
|
#ifndef WIDL_C_INLINE_WRAPPERS
|
|
/*** IUnknown methods ***/
|
|
#define IWMReaderAdvanced6_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
|
|
#define IWMReaderAdvanced6_AddRef(This) (This)->lpVtbl->AddRef(This)
|
|
#define IWMReaderAdvanced6_Release(This) (This)->lpVtbl->Release(This)
|
|
/*** IWMReaderAdvanced methods ***/
|
|
#define IWMReaderAdvanced6_SetUserProvidedClock(This,fUserClock) (This)->lpVtbl->SetUserProvidedClock(This,fUserClock)
|
|
#define IWMReaderAdvanced6_GetUserProvidedClock(This,pfUserClock) (This)->lpVtbl->GetUserProvidedClock(This,pfUserClock)
|
|
#define IWMReaderAdvanced6_DeliverTime(This,cnsTime) (This)->lpVtbl->DeliverTime(This,cnsTime)
|
|
#define IWMReaderAdvanced6_SetManualStreamSelection(This,fSelection) (This)->lpVtbl->SetManualStreamSelection(This,fSelection)
|
|
#define IWMReaderAdvanced6_GetManualStreamSelection(This,pfSelection) (This)->lpVtbl->GetManualStreamSelection(This,pfSelection)
|
|
#define IWMReaderAdvanced6_SetStreamsSelected(This,cStreamCount,pwStreamNumbers,pSelections) (This)->lpVtbl->SetStreamsSelected(This,cStreamCount,pwStreamNumbers,pSelections)
|
|
#define IWMReaderAdvanced6_GetStreamSelected(This,wStreamNum,pSelection) (This)->lpVtbl->GetStreamSelected(This,wStreamNum,pSelection)
|
|
#define IWMReaderAdvanced6_SetReceiveSelectionCallbacks(This,fGetCallbacks) (This)->lpVtbl->SetReceiveSelectionCallbacks(This,fGetCallbacks)
|
|
#define IWMReaderAdvanced6_GetReceiveSelectionCallbacks(This,pfGetCallbacks) (This)->lpVtbl->GetReceiveSelectionCallbacks(This,pfGetCallbacks)
|
|
#define IWMReaderAdvanced6_SetReceiveStreamSamples(This,wStreamNum,fReceiveStreamSamples) (This)->lpVtbl->SetReceiveStreamSamples(This,wStreamNum,fReceiveStreamSamples)
|
|
#define IWMReaderAdvanced6_GetReceiveStreamSamples(This,wStreamNum,pfReceiveStreamSamples) (This)->lpVtbl->GetReceiveStreamSamples(This,wStreamNum,pfReceiveStreamSamples)
|
|
#define IWMReaderAdvanced6_SetAllocateForOutput(This,dwOutputNum,fAllocate) (This)->lpVtbl->SetAllocateForOutput(This,dwOutputNum,fAllocate)
|
|
#define IWMReaderAdvanced6_GetAllocateForOutput(This,dwOutputNum,pfAllocate) (This)->lpVtbl->GetAllocateForOutput(This,dwOutputNum,pfAllocate)
|
|
#define IWMReaderAdvanced6_SetAllocateForStream(This,wStreamNum,fAllocate) (This)->lpVtbl->SetAllocateForStream(This,wStreamNum,fAllocate)
|
|
#define IWMReaderAdvanced6_GetAllocateForStream(This,dwStreamNum,pfAllocate) (This)->lpVtbl->GetAllocateForStream(This,dwStreamNum,pfAllocate)
|
|
#define IWMReaderAdvanced6_GetStatistics(This,pStatistics) (This)->lpVtbl->GetStatistics(This,pStatistics)
|
|
#define IWMReaderAdvanced6_SetClientInfo(This,pClientInfo) (This)->lpVtbl->SetClientInfo(This,pClientInfo)
|
|
#define IWMReaderAdvanced6_GetMaxOutputSampleSize(This,dwOutput,pcbMax) (This)->lpVtbl->GetMaxOutputSampleSize(This,dwOutput,pcbMax)
|
|
#define IWMReaderAdvanced6_GetMaxStreamSampleSize(This,wStream,pcbMax) (This)->lpVtbl->GetMaxStreamSampleSize(This,wStream,pcbMax)
|
|
#define IWMReaderAdvanced6_NotifyLateDelivery(This,cnsLateness) (This)->lpVtbl->NotifyLateDelivery(This,cnsLateness)
|
|
/*** IWMReaderAdvanced2 methods ***/
|
|
#define IWMReaderAdvanced6_SetPlayMode(This,Mode) (This)->lpVtbl->SetPlayMode(This,Mode)
|
|
#define IWMReaderAdvanced6_GetPlayMode(This,pMode) (This)->lpVtbl->GetPlayMode(This,pMode)
|
|
#define IWMReaderAdvanced6_GetBufferProgress(This,pdwPercent,pcnsBuffering) (This)->lpVtbl->GetBufferProgress(This,pdwPercent,pcnsBuffering)
|
|
#define IWMReaderAdvanced6_GetDownloadProgress(This,pdwPercent,pqwBytesDownloaded,pcnsDownload) (This)->lpVtbl->GetDownloadProgress(This,pdwPercent,pqwBytesDownloaded,pcnsDownload)
|
|
#define IWMReaderAdvanced6_GetSaveAsProgress(This,pdwPercent) (This)->lpVtbl->GetSaveAsProgress(This,pdwPercent)
|
|
#define IWMReaderAdvanced6_SaveFileAs(This,pwszFilename) (This)->lpVtbl->SaveFileAs(This,pwszFilename)
|
|
#define IWMReaderAdvanced6_GetProtocolName(This,pwszProtocol,pcchProtocol) (This)->lpVtbl->GetProtocolName(This,pwszProtocol,pcchProtocol)
|
|
#define IWMReaderAdvanced6_StartAtMarker(This,wMarkerIndex,cnsDuration,fRate,pvContext) (This)->lpVtbl->StartAtMarker(This,wMarkerIndex,cnsDuration,fRate,pvContext)
|
|
#define IWMReaderAdvanced6_GetOutputSetting(This,dwOutputNum,pszName,pType,pValue,pcbLength) (This)->lpVtbl->GetOutputSetting(This,dwOutputNum,pszName,pType,pValue,pcbLength)
|
|
#define IWMReaderAdvanced6_SetOutputSetting(This,dwOutputNum,pszName,Type,pValue,cbLength) (This)->lpVtbl->SetOutputSetting(This,dwOutputNum,pszName,Type,pValue,cbLength)
|
|
#define IWMReaderAdvanced6_Preroll(This,cnsStart,cnsDuration,fRate) (This)->lpVtbl->Preroll(This,cnsStart,cnsDuration,fRate)
|
|
#define IWMReaderAdvanced6_SetLogClientID(This,fLogClientID) (This)->lpVtbl->SetLogClientID(This,fLogClientID)
|
|
#define IWMReaderAdvanced6_GetLogClientID(This,pfLogClientID) (This)->lpVtbl->GetLogClientID(This,pfLogClientID)
|
|
#define IWMReaderAdvanced6_StopBuffering(This) (This)->lpVtbl->StopBuffering(This)
|
|
#define IWMReaderAdvanced6_OpenStream(This,pStream,pCallback,pvContext) (This)->lpVtbl->OpenStream(This,pStream,pCallback,pvContext)
|
|
/*** IWMReaderAdvanced3 methods ***/
|
|
#define IWMReaderAdvanced6_StopNetStreaming(This) (This)->lpVtbl->StopNetStreaming(This)
|
|
#define IWMReaderAdvanced6_StartAtPosition(This,wStreamNum,pvOffsetStart,pvDuration,dwOffsetFormat,fRate,pvContext) (This)->lpVtbl->StartAtPosition(This,wStreamNum,pvOffsetStart,pvDuration,dwOffsetFormat,fRate,pvContext)
|
|
/*** IWMReaderAdvanced4 methods ***/
|
|
#define IWMReaderAdvanced6_GetLanguageCount(This,dwOutputNum,pwLanguageCount) (This)->lpVtbl->GetLanguageCount(This,dwOutputNum,pwLanguageCount)
|
|
#define IWMReaderAdvanced6_GetLanguage(This,dwOutputNum,wLanguage,pwszLanguageString,pcchLanguageStringLength) (This)->lpVtbl->GetLanguage(This,dwOutputNum,wLanguage,pwszLanguageString,pcchLanguageStringLength)
|
|
#define IWMReaderAdvanced6_GetMaxSpeedFactor(This,pdblFactor) (This)->lpVtbl->GetMaxSpeedFactor(This,pdblFactor)
|
|
#define IWMReaderAdvanced6_IsUsingFastCache(This,pfUsingFastCache) (This)->lpVtbl->IsUsingFastCache(This,pfUsingFastCache)
|
|
#define IWMReaderAdvanced6_AddLogParam(This,wszNameSpace,wszName,wszValue) (This)->lpVtbl->AddLogParam(This,wszNameSpace,wszName,wszValue)
|
|
#define IWMReaderAdvanced6_SendLogParams(This) (This)->lpVtbl->SendLogParams(This)
|
|
#define IWMReaderAdvanced6_CanSaveFileAs(This,pfCanSave) (This)->lpVtbl->CanSaveFileAs(This,pfCanSave)
|
|
#define IWMReaderAdvanced6_CancelSaveFileAs(This) (This)->lpVtbl->CancelSaveFileAs(This)
|
|
#define IWMReaderAdvanced6_GetURL(This,pwszURL,pcchURL) (This)->lpVtbl->GetURL(This,pwszURL,pcchURL)
|
|
/*** IWMReaderAdvanced5 methods ***/
|
|
#define IWMReaderAdvanced6_SetPlayerHook(This,dwOutputNum,pHook) (This)->lpVtbl->SetPlayerHook(This,dwOutputNum,pHook)
|
|
/*** IWMReaderAdvanced6 methods ***/
|
|
#define IWMReaderAdvanced6_SetProtectStreamSamples(This,pbCertificate,cbCertificate,dwCertificateType,dwFlags,pbInitializationVector,pcbInitializationVector) (This)->lpVtbl->SetProtectStreamSamples(This,pbCertificate,cbCertificate,dwCertificateType,dwFlags,pbInitializationVector,pcbInitializationVector)
|
|
#else
|
|
/*** IUnknown methods ***/
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced6_QueryInterface(IWMReaderAdvanced6* This,REFIID riid,void **ppvObject) {
|
|
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
|
|
}
|
|
static FORCEINLINE ULONG IWMReaderAdvanced6_AddRef(IWMReaderAdvanced6* This) {
|
|
return This->lpVtbl->AddRef(This);
|
|
}
|
|
static FORCEINLINE ULONG IWMReaderAdvanced6_Release(IWMReaderAdvanced6* This) {
|
|
return This->lpVtbl->Release(This);
|
|
}
|
|
/*** IWMReaderAdvanced methods ***/
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced6_SetUserProvidedClock(IWMReaderAdvanced6* This,WINBOOL fUserClock) {
|
|
return This->lpVtbl->SetUserProvidedClock(This,fUserClock);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced6_GetUserProvidedClock(IWMReaderAdvanced6* This,WINBOOL *pfUserClock) {
|
|
return This->lpVtbl->GetUserProvidedClock(This,pfUserClock);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced6_DeliverTime(IWMReaderAdvanced6* This,QWORD cnsTime) {
|
|
return This->lpVtbl->DeliverTime(This,cnsTime);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced6_SetManualStreamSelection(IWMReaderAdvanced6* This,WINBOOL fSelection) {
|
|
return This->lpVtbl->SetManualStreamSelection(This,fSelection);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced6_GetManualStreamSelection(IWMReaderAdvanced6* This,WINBOOL *pfSelection) {
|
|
return This->lpVtbl->GetManualStreamSelection(This,pfSelection);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced6_SetStreamsSelected(IWMReaderAdvanced6* This,WORD cStreamCount,WORD *pwStreamNumbers,WMT_STREAM_SELECTION *pSelections) {
|
|
return This->lpVtbl->SetStreamsSelected(This,cStreamCount,pwStreamNumbers,pSelections);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced6_GetStreamSelected(IWMReaderAdvanced6* This,WORD wStreamNum,WMT_STREAM_SELECTION *pSelection) {
|
|
return This->lpVtbl->GetStreamSelected(This,wStreamNum,pSelection);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced6_SetReceiveSelectionCallbacks(IWMReaderAdvanced6* This,WINBOOL fGetCallbacks) {
|
|
return This->lpVtbl->SetReceiveSelectionCallbacks(This,fGetCallbacks);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced6_GetReceiveSelectionCallbacks(IWMReaderAdvanced6* This,WINBOOL *pfGetCallbacks) {
|
|
return This->lpVtbl->GetReceiveSelectionCallbacks(This,pfGetCallbacks);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced6_SetReceiveStreamSamples(IWMReaderAdvanced6* This,WORD wStreamNum,WINBOOL fReceiveStreamSamples) {
|
|
return This->lpVtbl->SetReceiveStreamSamples(This,wStreamNum,fReceiveStreamSamples);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced6_GetReceiveStreamSamples(IWMReaderAdvanced6* This,WORD wStreamNum,WINBOOL *pfReceiveStreamSamples) {
|
|
return This->lpVtbl->GetReceiveStreamSamples(This,wStreamNum,pfReceiveStreamSamples);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced6_SetAllocateForOutput(IWMReaderAdvanced6* This,DWORD dwOutputNum,WINBOOL fAllocate) {
|
|
return This->lpVtbl->SetAllocateForOutput(This,dwOutputNum,fAllocate);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced6_GetAllocateForOutput(IWMReaderAdvanced6* This,DWORD dwOutputNum,WINBOOL *pfAllocate) {
|
|
return This->lpVtbl->GetAllocateForOutput(This,dwOutputNum,pfAllocate);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced6_SetAllocateForStream(IWMReaderAdvanced6* This,WORD wStreamNum,WINBOOL fAllocate) {
|
|
return This->lpVtbl->SetAllocateForStream(This,wStreamNum,fAllocate);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced6_GetAllocateForStream(IWMReaderAdvanced6* This,WORD dwStreamNum,WINBOOL *pfAllocate) {
|
|
return This->lpVtbl->GetAllocateForStream(This,dwStreamNum,pfAllocate);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced6_GetStatistics(IWMReaderAdvanced6* This,WM_READER_STATISTICS *pStatistics) {
|
|
return This->lpVtbl->GetStatistics(This,pStatistics);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced6_SetClientInfo(IWMReaderAdvanced6* This,WM_READER_CLIENTINFO *pClientInfo) {
|
|
return This->lpVtbl->SetClientInfo(This,pClientInfo);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced6_GetMaxOutputSampleSize(IWMReaderAdvanced6* This,DWORD dwOutput,DWORD *pcbMax) {
|
|
return This->lpVtbl->GetMaxOutputSampleSize(This,dwOutput,pcbMax);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced6_GetMaxStreamSampleSize(IWMReaderAdvanced6* This,WORD wStream,DWORD *pcbMax) {
|
|
return This->lpVtbl->GetMaxStreamSampleSize(This,wStream,pcbMax);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced6_NotifyLateDelivery(IWMReaderAdvanced6* This,QWORD cnsLateness) {
|
|
return This->lpVtbl->NotifyLateDelivery(This,cnsLateness);
|
|
}
|
|
/*** IWMReaderAdvanced2 methods ***/
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced6_SetPlayMode(IWMReaderAdvanced6* This,WMT_PLAY_MODE Mode) {
|
|
return This->lpVtbl->SetPlayMode(This,Mode);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced6_GetPlayMode(IWMReaderAdvanced6* This,WMT_PLAY_MODE *pMode) {
|
|
return This->lpVtbl->GetPlayMode(This,pMode);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced6_GetBufferProgress(IWMReaderAdvanced6* This,DWORD *pdwPercent,QWORD *pcnsBuffering) {
|
|
return This->lpVtbl->GetBufferProgress(This,pdwPercent,pcnsBuffering);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced6_GetDownloadProgress(IWMReaderAdvanced6* This,DWORD *pdwPercent,QWORD *pqwBytesDownloaded,QWORD *pcnsDownload) {
|
|
return This->lpVtbl->GetDownloadProgress(This,pdwPercent,pqwBytesDownloaded,pcnsDownload);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced6_GetSaveAsProgress(IWMReaderAdvanced6* This,DWORD *pdwPercent) {
|
|
return This->lpVtbl->GetSaveAsProgress(This,pdwPercent);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced6_SaveFileAs(IWMReaderAdvanced6* This,const WCHAR *pwszFilename) {
|
|
return This->lpVtbl->SaveFileAs(This,pwszFilename);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced6_GetProtocolName(IWMReaderAdvanced6* This,WCHAR *pwszProtocol,DWORD *pcchProtocol) {
|
|
return This->lpVtbl->GetProtocolName(This,pwszProtocol,pcchProtocol);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced6_StartAtMarker(IWMReaderAdvanced6* This,WORD wMarkerIndex,QWORD cnsDuration,float fRate,void *pvContext) {
|
|
return This->lpVtbl->StartAtMarker(This,wMarkerIndex,cnsDuration,fRate,pvContext);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced6_GetOutputSetting(IWMReaderAdvanced6* This,DWORD dwOutputNum,LPCWSTR pszName,WMT_ATTR_DATATYPE *pType,BYTE *pValue,WORD *pcbLength) {
|
|
return This->lpVtbl->GetOutputSetting(This,dwOutputNum,pszName,pType,pValue,pcbLength);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced6_SetOutputSetting(IWMReaderAdvanced6* This,DWORD dwOutputNum,LPCWSTR pszName,WMT_ATTR_DATATYPE Type,const BYTE *pValue,WORD cbLength) {
|
|
return This->lpVtbl->SetOutputSetting(This,dwOutputNum,pszName,Type,pValue,cbLength);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced6_Preroll(IWMReaderAdvanced6* This,QWORD cnsStart,QWORD cnsDuration,float fRate) {
|
|
return This->lpVtbl->Preroll(This,cnsStart,cnsDuration,fRate);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced6_SetLogClientID(IWMReaderAdvanced6* This,WINBOOL fLogClientID) {
|
|
return This->lpVtbl->SetLogClientID(This,fLogClientID);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced6_GetLogClientID(IWMReaderAdvanced6* This,WINBOOL *pfLogClientID) {
|
|
return This->lpVtbl->GetLogClientID(This,pfLogClientID);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced6_StopBuffering(IWMReaderAdvanced6* This) {
|
|
return This->lpVtbl->StopBuffering(This);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced6_OpenStream(IWMReaderAdvanced6* This,IStream *pStream,IWMReaderCallback *pCallback,void *pvContext) {
|
|
return This->lpVtbl->OpenStream(This,pStream,pCallback,pvContext);
|
|
}
|
|
/*** IWMReaderAdvanced3 methods ***/
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced6_StopNetStreaming(IWMReaderAdvanced6* This) {
|
|
return This->lpVtbl->StopNetStreaming(This);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced6_StartAtPosition(IWMReaderAdvanced6* This,WORD wStreamNum,void *pvOffsetStart,void *pvDuration,WMT_OFFSET_FORMAT dwOffsetFormat,float fRate,void *pvContext) {
|
|
return This->lpVtbl->StartAtPosition(This,wStreamNum,pvOffsetStart,pvDuration,dwOffsetFormat,fRate,pvContext);
|
|
}
|
|
/*** IWMReaderAdvanced4 methods ***/
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced6_GetLanguageCount(IWMReaderAdvanced6* This,DWORD dwOutputNum,WORD *pwLanguageCount) {
|
|
return This->lpVtbl->GetLanguageCount(This,dwOutputNum,pwLanguageCount);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced6_GetLanguage(IWMReaderAdvanced6* This,DWORD dwOutputNum,WORD wLanguage,WCHAR *pwszLanguageString,WORD *pcchLanguageStringLength) {
|
|
return This->lpVtbl->GetLanguage(This,dwOutputNum,wLanguage,pwszLanguageString,pcchLanguageStringLength);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced6_GetMaxSpeedFactor(IWMReaderAdvanced6* This,double *pdblFactor) {
|
|
return This->lpVtbl->GetMaxSpeedFactor(This,pdblFactor);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced6_IsUsingFastCache(IWMReaderAdvanced6* This,WINBOOL *pfUsingFastCache) {
|
|
return This->lpVtbl->IsUsingFastCache(This,pfUsingFastCache);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced6_AddLogParam(IWMReaderAdvanced6* This,LPCWSTR wszNameSpace,LPCWSTR wszName,LPCWSTR wszValue) {
|
|
return This->lpVtbl->AddLogParam(This,wszNameSpace,wszName,wszValue);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced6_SendLogParams(IWMReaderAdvanced6* This) {
|
|
return This->lpVtbl->SendLogParams(This);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced6_CanSaveFileAs(IWMReaderAdvanced6* This,WINBOOL *pfCanSave) {
|
|
return This->lpVtbl->CanSaveFileAs(This,pfCanSave);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced6_CancelSaveFileAs(IWMReaderAdvanced6* This) {
|
|
return This->lpVtbl->CancelSaveFileAs(This);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced6_GetURL(IWMReaderAdvanced6* This,WCHAR *pwszURL,DWORD *pcchURL) {
|
|
return This->lpVtbl->GetURL(This,pwszURL,pcchURL);
|
|
}
|
|
/*** IWMReaderAdvanced5 methods ***/
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced6_SetPlayerHook(IWMReaderAdvanced6* This,DWORD dwOutputNum,IWMPlayerHook *pHook) {
|
|
return This->lpVtbl->SetPlayerHook(This,dwOutputNum,pHook);
|
|
}
|
|
/*** IWMReaderAdvanced6 methods ***/
|
|
static FORCEINLINE HRESULT IWMReaderAdvanced6_SetProtectStreamSamples(IWMReaderAdvanced6* This,BYTE *pbCertificate,DWORD cbCertificate,DWORD dwCertificateType,DWORD dwFlags,BYTE *pbInitializationVector,DWORD *pcbInitializationVector) {
|
|
return This->lpVtbl->SetProtectStreamSamples(This,pbCertificate,cbCertificate,dwCertificateType,dwFlags,pbInitializationVector,pcbInitializationVector);
|
|
}
|
|
#endif
|
|
#endif
|
|
|
|
#endif
|
|
|
|
|
|
#endif /* __IWMReaderAdvanced6_INTERFACE_DEFINED__ */
|
|
|
|
/*****************************************************************************
|
|
* IWMSyncReader interface
|
|
*/
|
|
#ifndef __IWMSyncReader_INTERFACE_DEFINED__
|
|
#define __IWMSyncReader_INTERFACE_DEFINED__
|
|
|
|
DEFINE_GUID(IID_IWMSyncReader, 0x9397f121, 0x7705, 0x4dc9, 0xb0,0x49, 0x98,0xb6,0x98,0x18,0x84,0x14);
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
MIDL_INTERFACE("9397f121-7705-4dc9-b049-98b698188414")
|
|
IWMSyncReader : public IUnknown
|
|
{
|
|
virtual HRESULT STDMETHODCALLTYPE Open(
|
|
const WCHAR *pwszFilename) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE Close(
|
|
) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE SetRange(
|
|
QWORD cnsStartTime,
|
|
LONGLONG cnsDuration) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE SetRangeByFrame(
|
|
WORD wStreamNum,
|
|
QWORD qwFrameNumber,
|
|
LONGLONG cFramesToRead) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetNextSample(
|
|
WORD wStreamNum,
|
|
INSSBuffer **ppSample,
|
|
QWORD *pcnsSampleTime,
|
|
QWORD *pcnsDuration,
|
|
DWORD *pdwFlags,
|
|
DWORD *pdwOutputNum,
|
|
WORD *pwStreamNum) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE SetStreamsSelected(
|
|
WORD cStreamCount,
|
|
WORD *pwStreamNumbers,
|
|
WMT_STREAM_SELECTION *pSelections) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetStreamSelected(
|
|
WORD wStreamNum,
|
|
WMT_STREAM_SELECTION *pSelection) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE SetReadStreamSamples(
|
|
WORD wStreamNum,
|
|
WINBOOL fCompressed) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetReadStreamSamples(
|
|
WORD wStreamNum,
|
|
WINBOOL *pfCompressed) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetOutputSetting(
|
|
DWORD dwOutputNum,
|
|
LPCWSTR pszName,
|
|
WMT_ATTR_DATATYPE *pType,
|
|
BYTE *pValue,
|
|
WORD *pcbLength) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE SetOutputSetting(
|
|
DWORD dwOutputNum,
|
|
LPCWSTR pszName,
|
|
WMT_ATTR_DATATYPE Type,
|
|
const BYTE *pValue,
|
|
WORD cbLength) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetOutputCount(
|
|
DWORD *pcOutputs) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetOutputProps(
|
|
DWORD dwOutputNum,
|
|
IWMOutputMediaProps **ppOutput) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE SetOutputProps(
|
|
DWORD dwOutputNum,
|
|
IWMOutputMediaProps *pOutput) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetOutputFormatCount(
|
|
DWORD dwOutputNum,
|
|
DWORD *pcFormats) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetOutputFormat(
|
|
DWORD dwOutputNum,
|
|
DWORD dwFormatNum,
|
|
IWMOutputMediaProps **ppProps) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetOutputNumberForStream(
|
|
WORD wStreamNum,
|
|
DWORD *pdwOutputNum) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetStreamNumberForOutput(
|
|
DWORD dwOutputNum,
|
|
WORD *pwStreamNum) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetMaxOutputSampleSize(
|
|
DWORD dwOutput,
|
|
DWORD *pcbMax) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetMaxStreamSampleSize(
|
|
WORD wStream,
|
|
DWORD *pcbMax) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE OpenStream(
|
|
IStream *pStream) = 0;
|
|
|
|
};
|
|
#ifdef __CRT_UUID_DECL
|
|
__CRT_UUID_DECL(IWMSyncReader, 0x9397f121, 0x7705, 0x4dc9, 0xb0,0x49, 0x98,0xb6,0x98,0x18,0x84,0x14)
|
|
#endif
|
|
#else
|
|
typedef struct IWMSyncReaderVtbl {
|
|
BEGIN_INTERFACE
|
|
|
|
/*** IUnknown methods ***/
|
|
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
|
|
IWMSyncReader *This,
|
|
REFIID riid,
|
|
void **ppvObject);
|
|
|
|
ULONG (STDMETHODCALLTYPE *AddRef)(
|
|
IWMSyncReader *This);
|
|
|
|
ULONG (STDMETHODCALLTYPE *Release)(
|
|
IWMSyncReader *This);
|
|
|
|
/*** IWMSyncReader methods ***/
|
|
HRESULT (STDMETHODCALLTYPE *Open)(
|
|
IWMSyncReader *This,
|
|
const WCHAR *pwszFilename);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *Close)(
|
|
IWMSyncReader *This);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetRange)(
|
|
IWMSyncReader *This,
|
|
QWORD cnsStartTime,
|
|
LONGLONG cnsDuration);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetRangeByFrame)(
|
|
IWMSyncReader *This,
|
|
WORD wStreamNum,
|
|
QWORD qwFrameNumber,
|
|
LONGLONG cFramesToRead);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetNextSample)(
|
|
IWMSyncReader *This,
|
|
WORD wStreamNum,
|
|
INSSBuffer **ppSample,
|
|
QWORD *pcnsSampleTime,
|
|
QWORD *pcnsDuration,
|
|
DWORD *pdwFlags,
|
|
DWORD *pdwOutputNum,
|
|
WORD *pwStreamNum);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetStreamsSelected)(
|
|
IWMSyncReader *This,
|
|
WORD cStreamCount,
|
|
WORD *pwStreamNumbers,
|
|
WMT_STREAM_SELECTION *pSelections);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetStreamSelected)(
|
|
IWMSyncReader *This,
|
|
WORD wStreamNum,
|
|
WMT_STREAM_SELECTION *pSelection);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetReadStreamSamples)(
|
|
IWMSyncReader *This,
|
|
WORD wStreamNum,
|
|
WINBOOL fCompressed);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetReadStreamSamples)(
|
|
IWMSyncReader *This,
|
|
WORD wStreamNum,
|
|
WINBOOL *pfCompressed);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetOutputSetting)(
|
|
IWMSyncReader *This,
|
|
DWORD dwOutputNum,
|
|
LPCWSTR pszName,
|
|
WMT_ATTR_DATATYPE *pType,
|
|
BYTE *pValue,
|
|
WORD *pcbLength);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetOutputSetting)(
|
|
IWMSyncReader *This,
|
|
DWORD dwOutputNum,
|
|
LPCWSTR pszName,
|
|
WMT_ATTR_DATATYPE Type,
|
|
const BYTE *pValue,
|
|
WORD cbLength);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetOutputCount)(
|
|
IWMSyncReader *This,
|
|
DWORD *pcOutputs);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetOutputProps)(
|
|
IWMSyncReader *This,
|
|
DWORD dwOutputNum,
|
|
IWMOutputMediaProps **ppOutput);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetOutputProps)(
|
|
IWMSyncReader *This,
|
|
DWORD dwOutputNum,
|
|
IWMOutputMediaProps *pOutput);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetOutputFormatCount)(
|
|
IWMSyncReader *This,
|
|
DWORD dwOutputNum,
|
|
DWORD *pcFormats);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetOutputFormat)(
|
|
IWMSyncReader *This,
|
|
DWORD dwOutputNum,
|
|
DWORD dwFormatNum,
|
|
IWMOutputMediaProps **ppProps);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetOutputNumberForStream)(
|
|
IWMSyncReader *This,
|
|
WORD wStreamNum,
|
|
DWORD *pdwOutputNum);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetStreamNumberForOutput)(
|
|
IWMSyncReader *This,
|
|
DWORD dwOutputNum,
|
|
WORD *pwStreamNum);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetMaxOutputSampleSize)(
|
|
IWMSyncReader *This,
|
|
DWORD dwOutput,
|
|
DWORD *pcbMax);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetMaxStreamSampleSize)(
|
|
IWMSyncReader *This,
|
|
WORD wStream,
|
|
DWORD *pcbMax);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *OpenStream)(
|
|
IWMSyncReader *This,
|
|
IStream *pStream);
|
|
|
|
END_INTERFACE
|
|
} IWMSyncReaderVtbl;
|
|
|
|
interface IWMSyncReader {
|
|
CONST_VTBL IWMSyncReaderVtbl* lpVtbl;
|
|
};
|
|
|
|
#ifdef COBJMACROS
|
|
#ifndef WIDL_C_INLINE_WRAPPERS
|
|
/*** IUnknown methods ***/
|
|
#define IWMSyncReader_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
|
|
#define IWMSyncReader_AddRef(This) (This)->lpVtbl->AddRef(This)
|
|
#define IWMSyncReader_Release(This) (This)->lpVtbl->Release(This)
|
|
/*** IWMSyncReader methods ***/
|
|
#define IWMSyncReader_Open(This,pwszFilename) (This)->lpVtbl->Open(This,pwszFilename)
|
|
#define IWMSyncReader_Close(This) (This)->lpVtbl->Close(This)
|
|
#define IWMSyncReader_SetRange(This,cnsStartTime,cnsDuration) (This)->lpVtbl->SetRange(This,cnsStartTime,cnsDuration)
|
|
#define IWMSyncReader_SetRangeByFrame(This,wStreamNum,qwFrameNumber,cFramesToRead) (This)->lpVtbl->SetRangeByFrame(This,wStreamNum,qwFrameNumber,cFramesToRead)
|
|
#define IWMSyncReader_GetNextSample(This,wStreamNum,ppSample,pcnsSampleTime,pcnsDuration,pdwFlags,pdwOutputNum,pwStreamNum) (This)->lpVtbl->GetNextSample(This,wStreamNum,ppSample,pcnsSampleTime,pcnsDuration,pdwFlags,pdwOutputNum,pwStreamNum)
|
|
#define IWMSyncReader_SetStreamsSelected(This,cStreamCount,pwStreamNumbers,pSelections) (This)->lpVtbl->SetStreamsSelected(This,cStreamCount,pwStreamNumbers,pSelections)
|
|
#define IWMSyncReader_GetStreamSelected(This,wStreamNum,pSelection) (This)->lpVtbl->GetStreamSelected(This,wStreamNum,pSelection)
|
|
#define IWMSyncReader_SetReadStreamSamples(This,wStreamNum,fCompressed) (This)->lpVtbl->SetReadStreamSamples(This,wStreamNum,fCompressed)
|
|
#define IWMSyncReader_GetReadStreamSamples(This,wStreamNum,pfCompressed) (This)->lpVtbl->GetReadStreamSamples(This,wStreamNum,pfCompressed)
|
|
#define IWMSyncReader_GetOutputSetting(This,dwOutputNum,pszName,pType,pValue,pcbLength) (This)->lpVtbl->GetOutputSetting(This,dwOutputNum,pszName,pType,pValue,pcbLength)
|
|
#define IWMSyncReader_SetOutputSetting(This,dwOutputNum,pszName,Type,pValue,cbLength) (This)->lpVtbl->SetOutputSetting(This,dwOutputNum,pszName,Type,pValue,cbLength)
|
|
#define IWMSyncReader_GetOutputCount(This,pcOutputs) (This)->lpVtbl->GetOutputCount(This,pcOutputs)
|
|
#define IWMSyncReader_GetOutputProps(This,dwOutputNum,ppOutput) (This)->lpVtbl->GetOutputProps(This,dwOutputNum,ppOutput)
|
|
#define IWMSyncReader_SetOutputProps(This,dwOutputNum,pOutput) (This)->lpVtbl->SetOutputProps(This,dwOutputNum,pOutput)
|
|
#define IWMSyncReader_GetOutputFormatCount(This,dwOutputNum,pcFormats) (This)->lpVtbl->GetOutputFormatCount(This,dwOutputNum,pcFormats)
|
|
#define IWMSyncReader_GetOutputFormat(This,dwOutputNum,dwFormatNum,ppProps) (This)->lpVtbl->GetOutputFormat(This,dwOutputNum,dwFormatNum,ppProps)
|
|
#define IWMSyncReader_GetOutputNumberForStream(This,wStreamNum,pdwOutputNum) (This)->lpVtbl->GetOutputNumberForStream(This,wStreamNum,pdwOutputNum)
|
|
#define IWMSyncReader_GetStreamNumberForOutput(This,dwOutputNum,pwStreamNum) (This)->lpVtbl->GetStreamNumberForOutput(This,dwOutputNum,pwStreamNum)
|
|
#define IWMSyncReader_GetMaxOutputSampleSize(This,dwOutput,pcbMax) (This)->lpVtbl->GetMaxOutputSampleSize(This,dwOutput,pcbMax)
|
|
#define IWMSyncReader_GetMaxStreamSampleSize(This,wStream,pcbMax) (This)->lpVtbl->GetMaxStreamSampleSize(This,wStream,pcbMax)
|
|
#define IWMSyncReader_OpenStream(This,pStream) (This)->lpVtbl->OpenStream(This,pStream)
|
|
#else
|
|
/*** IUnknown methods ***/
|
|
static FORCEINLINE HRESULT IWMSyncReader_QueryInterface(IWMSyncReader* This,REFIID riid,void **ppvObject) {
|
|
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
|
|
}
|
|
static FORCEINLINE ULONG IWMSyncReader_AddRef(IWMSyncReader* This) {
|
|
return This->lpVtbl->AddRef(This);
|
|
}
|
|
static FORCEINLINE ULONG IWMSyncReader_Release(IWMSyncReader* This) {
|
|
return This->lpVtbl->Release(This);
|
|
}
|
|
/*** IWMSyncReader methods ***/
|
|
static FORCEINLINE HRESULT IWMSyncReader_Open(IWMSyncReader* This,const WCHAR *pwszFilename) {
|
|
return This->lpVtbl->Open(This,pwszFilename);
|
|
}
|
|
static FORCEINLINE HRESULT IWMSyncReader_Close(IWMSyncReader* This) {
|
|
return This->lpVtbl->Close(This);
|
|
}
|
|
static FORCEINLINE HRESULT IWMSyncReader_SetRange(IWMSyncReader* This,QWORD cnsStartTime,LONGLONG cnsDuration) {
|
|
return This->lpVtbl->SetRange(This,cnsStartTime,cnsDuration);
|
|
}
|
|
static FORCEINLINE HRESULT IWMSyncReader_SetRangeByFrame(IWMSyncReader* This,WORD wStreamNum,QWORD qwFrameNumber,LONGLONG cFramesToRead) {
|
|
return This->lpVtbl->SetRangeByFrame(This,wStreamNum,qwFrameNumber,cFramesToRead);
|
|
}
|
|
static FORCEINLINE HRESULT IWMSyncReader_GetNextSample(IWMSyncReader* This,WORD wStreamNum,INSSBuffer **ppSample,QWORD *pcnsSampleTime,QWORD *pcnsDuration,DWORD *pdwFlags,DWORD *pdwOutputNum,WORD *pwStreamNum) {
|
|
return This->lpVtbl->GetNextSample(This,wStreamNum,ppSample,pcnsSampleTime,pcnsDuration,pdwFlags,pdwOutputNum,pwStreamNum);
|
|
}
|
|
static FORCEINLINE HRESULT IWMSyncReader_SetStreamsSelected(IWMSyncReader* This,WORD cStreamCount,WORD *pwStreamNumbers,WMT_STREAM_SELECTION *pSelections) {
|
|
return This->lpVtbl->SetStreamsSelected(This,cStreamCount,pwStreamNumbers,pSelections);
|
|
}
|
|
static FORCEINLINE HRESULT IWMSyncReader_GetStreamSelected(IWMSyncReader* This,WORD wStreamNum,WMT_STREAM_SELECTION *pSelection) {
|
|
return This->lpVtbl->GetStreamSelected(This,wStreamNum,pSelection);
|
|
}
|
|
static FORCEINLINE HRESULT IWMSyncReader_SetReadStreamSamples(IWMSyncReader* This,WORD wStreamNum,WINBOOL fCompressed) {
|
|
return This->lpVtbl->SetReadStreamSamples(This,wStreamNum,fCompressed);
|
|
}
|
|
static FORCEINLINE HRESULT IWMSyncReader_GetReadStreamSamples(IWMSyncReader* This,WORD wStreamNum,WINBOOL *pfCompressed) {
|
|
return This->lpVtbl->GetReadStreamSamples(This,wStreamNum,pfCompressed);
|
|
}
|
|
static FORCEINLINE HRESULT IWMSyncReader_GetOutputSetting(IWMSyncReader* This,DWORD dwOutputNum,LPCWSTR pszName,WMT_ATTR_DATATYPE *pType,BYTE *pValue,WORD *pcbLength) {
|
|
return This->lpVtbl->GetOutputSetting(This,dwOutputNum,pszName,pType,pValue,pcbLength);
|
|
}
|
|
static FORCEINLINE HRESULT IWMSyncReader_SetOutputSetting(IWMSyncReader* This,DWORD dwOutputNum,LPCWSTR pszName,WMT_ATTR_DATATYPE Type,const BYTE *pValue,WORD cbLength) {
|
|
return This->lpVtbl->SetOutputSetting(This,dwOutputNum,pszName,Type,pValue,cbLength);
|
|
}
|
|
static FORCEINLINE HRESULT IWMSyncReader_GetOutputCount(IWMSyncReader* This,DWORD *pcOutputs) {
|
|
return This->lpVtbl->GetOutputCount(This,pcOutputs);
|
|
}
|
|
static FORCEINLINE HRESULT IWMSyncReader_GetOutputProps(IWMSyncReader* This,DWORD dwOutputNum,IWMOutputMediaProps **ppOutput) {
|
|
return This->lpVtbl->GetOutputProps(This,dwOutputNum,ppOutput);
|
|
}
|
|
static FORCEINLINE HRESULT IWMSyncReader_SetOutputProps(IWMSyncReader* This,DWORD dwOutputNum,IWMOutputMediaProps *pOutput) {
|
|
return This->lpVtbl->SetOutputProps(This,dwOutputNum,pOutput);
|
|
}
|
|
static FORCEINLINE HRESULT IWMSyncReader_GetOutputFormatCount(IWMSyncReader* This,DWORD dwOutputNum,DWORD *pcFormats) {
|
|
return This->lpVtbl->GetOutputFormatCount(This,dwOutputNum,pcFormats);
|
|
}
|
|
static FORCEINLINE HRESULT IWMSyncReader_GetOutputFormat(IWMSyncReader* This,DWORD dwOutputNum,DWORD dwFormatNum,IWMOutputMediaProps **ppProps) {
|
|
return This->lpVtbl->GetOutputFormat(This,dwOutputNum,dwFormatNum,ppProps);
|
|
}
|
|
static FORCEINLINE HRESULT IWMSyncReader_GetOutputNumberForStream(IWMSyncReader* This,WORD wStreamNum,DWORD *pdwOutputNum) {
|
|
return This->lpVtbl->GetOutputNumberForStream(This,wStreamNum,pdwOutputNum);
|
|
}
|
|
static FORCEINLINE HRESULT IWMSyncReader_GetStreamNumberForOutput(IWMSyncReader* This,DWORD dwOutputNum,WORD *pwStreamNum) {
|
|
return This->lpVtbl->GetStreamNumberForOutput(This,dwOutputNum,pwStreamNum);
|
|
}
|
|
static FORCEINLINE HRESULT IWMSyncReader_GetMaxOutputSampleSize(IWMSyncReader* This,DWORD dwOutput,DWORD *pcbMax) {
|
|
return This->lpVtbl->GetMaxOutputSampleSize(This,dwOutput,pcbMax);
|
|
}
|
|
static FORCEINLINE HRESULT IWMSyncReader_GetMaxStreamSampleSize(IWMSyncReader* This,WORD wStream,DWORD *pcbMax) {
|
|
return This->lpVtbl->GetMaxStreamSampleSize(This,wStream,pcbMax);
|
|
}
|
|
static FORCEINLINE HRESULT IWMSyncReader_OpenStream(IWMSyncReader* This,IStream *pStream) {
|
|
return This->lpVtbl->OpenStream(This,pStream);
|
|
}
|
|
#endif
|
|
#endif
|
|
|
|
#endif
|
|
|
|
|
|
#endif /* __IWMSyncReader_INTERFACE_DEFINED__ */
|
|
|
|
/*****************************************************************************
|
|
* IWMInputMediaProps interface
|
|
*/
|
|
#ifndef __IWMInputMediaProps_INTERFACE_DEFINED__
|
|
#define __IWMInputMediaProps_INTERFACE_DEFINED__
|
|
|
|
DEFINE_GUID(IID_IWMInputMediaProps, 0x96406bd5, 0x2b2b, 0x11d3, 0xb3,0x6b, 0x00,0xc0,0x4f,0x61,0x08,0xff);
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
MIDL_INTERFACE("96406bd5-2b2b-11d3-b36b-00c04f6108ff")
|
|
IWMInputMediaProps : public IWMMediaProps
|
|
{
|
|
virtual HRESULT STDMETHODCALLTYPE GetConnectionName(
|
|
WCHAR *pwszName,
|
|
WORD *pcchName) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetGroupName(
|
|
WCHAR *pwszName,
|
|
WORD *pcchName) = 0;
|
|
|
|
};
|
|
#ifdef __CRT_UUID_DECL
|
|
__CRT_UUID_DECL(IWMInputMediaProps, 0x96406bd5, 0x2b2b, 0x11d3, 0xb3,0x6b, 0x00,0xc0,0x4f,0x61,0x08,0xff)
|
|
#endif
|
|
#else
|
|
typedef struct IWMInputMediaPropsVtbl {
|
|
BEGIN_INTERFACE
|
|
|
|
/*** IUnknown methods ***/
|
|
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
|
|
IWMInputMediaProps *This,
|
|
REFIID riid,
|
|
void **ppvObject);
|
|
|
|
ULONG (STDMETHODCALLTYPE *AddRef)(
|
|
IWMInputMediaProps *This);
|
|
|
|
ULONG (STDMETHODCALLTYPE *Release)(
|
|
IWMInputMediaProps *This);
|
|
|
|
/*** IWMMediaProps methods ***/
|
|
HRESULT (STDMETHODCALLTYPE *GetType)(
|
|
IWMInputMediaProps *This,
|
|
GUID *pguidType);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetMediaType)(
|
|
IWMInputMediaProps *This,
|
|
WM_MEDIA_TYPE *pType,
|
|
DWORD *pcbType);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetMediaType)(
|
|
IWMInputMediaProps *This,
|
|
WM_MEDIA_TYPE *pType);
|
|
|
|
/*** IWMInputMediaProps methods ***/
|
|
HRESULT (STDMETHODCALLTYPE *GetConnectionName)(
|
|
IWMInputMediaProps *This,
|
|
WCHAR *pwszName,
|
|
WORD *pcchName);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetGroupName)(
|
|
IWMInputMediaProps *This,
|
|
WCHAR *pwszName,
|
|
WORD *pcchName);
|
|
|
|
END_INTERFACE
|
|
} IWMInputMediaPropsVtbl;
|
|
|
|
interface IWMInputMediaProps {
|
|
CONST_VTBL IWMInputMediaPropsVtbl* lpVtbl;
|
|
};
|
|
|
|
#ifdef COBJMACROS
|
|
#ifndef WIDL_C_INLINE_WRAPPERS
|
|
/*** IUnknown methods ***/
|
|
#define IWMInputMediaProps_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
|
|
#define IWMInputMediaProps_AddRef(This) (This)->lpVtbl->AddRef(This)
|
|
#define IWMInputMediaProps_Release(This) (This)->lpVtbl->Release(This)
|
|
/*** IWMMediaProps methods ***/
|
|
#define IWMInputMediaProps_GetType(This,pguidType) (This)->lpVtbl->GetType(This,pguidType)
|
|
#define IWMInputMediaProps_GetMediaType(This,pType,pcbType) (This)->lpVtbl->GetMediaType(This,pType,pcbType)
|
|
#define IWMInputMediaProps_SetMediaType(This,pType) (This)->lpVtbl->SetMediaType(This,pType)
|
|
/*** IWMInputMediaProps methods ***/
|
|
#define IWMInputMediaProps_GetConnectionName(This,pwszName,pcchName) (This)->lpVtbl->GetConnectionName(This,pwszName,pcchName)
|
|
#define IWMInputMediaProps_GetGroupName(This,pwszName,pcchName) (This)->lpVtbl->GetGroupName(This,pwszName,pcchName)
|
|
#else
|
|
/*** IUnknown methods ***/
|
|
static FORCEINLINE HRESULT IWMInputMediaProps_QueryInterface(IWMInputMediaProps* This,REFIID riid,void **ppvObject) {
|
|
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
|
|
}
|
|
static FORCEINLINE ULONG IWMInputMediaProps_AddRef(IWMInputMediaProps* This) {
|
|
return This->lpVtbl->AddRef(This);
|
|
}
|
|
static FORCEINLINE ULONG IWMInputMediaProps_Release(IWMInputMediaProps* This) {
|
|
return This->lpVtbl->Release(This);
|
|
}
|
|
/*** IWMMediaProps methods ***/
|
|
static FORCEINLINE HRESULT IWMInputMediaProps_GetType(IWMInputMediaProps* This,GUID *pguidType) {
|
|
return This->lpVtbl->GetType(This,pguidType);
|
|
}
|
|
static FORCEINLINE HRESULT IWMInputMediaProps_GetMediaType(IWMInputMediaProps* This,WM_MEDIA_TYPE *pType,DWORD *pcbType) {
|
|
return This->lpVtbl->GetMediaType(This,pType,pcbType);
|
|
}
|
|
static FORCEINLINE HRESULT IWMInputMediaProps_SetMediaType(IWMInputMediaProps* This,WM_MEDIA_TYPE *pType) {
|
|
return This->lpVtbl->SetMediaType(This,pType);
|
|
}
|
|
/*** IWMInputMediaProps methods ***/
|
|
static FORCEINLINE HRESULT IWMInputMediaProps_GetConnectionName(IWMInputMediaProps* This,WCHAR *pwszName,WORD *pcchName) {
|
|
return This->lpVtbl->GetConnectionName(This,pwszName,pcchName);
|
|
}
|
|
static FORCEINLINE HRESULT IWMInputMediaProps_GetGroupName(IWMInputMediaProps* This,WCHAR *pwszName,WORD *pcchName) {
|
|
return This->lpVtbl->GetGroupName(This,pwszName,pcchName);
|
|
}
|
|
#endif
|
|
#endif
|
|
|
|
#endif
|
|
|
|
|
|
#endif /* __IWMInputMediaProps_INTERFACE_DEFINED__ */
|
|
|
|
/*****************************************************************************
|
|
* IWMWriterSink interface
|
|
*/
|
|
#ifndef __IWMWriterSink_INTERFACE_DEFINED__
|
|
#define __IWMWriterSink_INTERFACE_DEFINED__
|
|
|
|
DEFINE_GUID(IID_IWMWriterSink, 0x96406be4, 0x2b2b, 0x11d3, 0xb3,0x6b, 0x00,0xc0,0x4f,0x61,0x08,0xff);
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
MIDL_INTERFACE("96406be4-2b2b-11d3-b36b-00c04f6108ff")
|
|
IWMWriterSink : public IUnknown
|
|
{
|
|
virtual HRESULT STDMETHODCALLTYPE OnHeader(
|
|
INSSBuffer *pHeader) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE IsRealTime(
|
|
WINBOOL *pfRealTime) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE AllocateDataUnit(
|
|
DWORD cbDataUnit,
|
|
INSSBuffer **ppDataUnit) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE OnDataUnit(
|
|
INSSBuffer *pDataUnit) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE OnEndWriting(
|
|
) = 0;
|
|
|
|
};
|
|
#ifdef __CRT_UUID_DECL
|
|
__CRT_UUID_DECL(IWMWriterSink, 0x96406be4, 0x2b2b, 0x11d3, 0xb3,0x6b, 0x00,0xc0,0x4f,0x61,0x08,0xff)
|
|
#endif
|
|
#else
|
|
typedef struct IWMWriterSinkVtbl {
|
|
BEGIN_INTERFACE
|
|
|
|
/*** IUnknown methods ***/
|
|
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
|
|
IWMWriterSink *This,
|
|
REFIID riid,
|
|
void **ppvObject);
|
|
|
|
ULONG (STDMETHODCALLTYPE *AddRef)(
|
|
IWMWriterSink *This);
|
|
|
|
ULONG (STDMETHODCALLTYPE *Release)(
|
|
IWMWriterSink *This);
|
|
|
|
/*** IWMWriterSink methods ***/
|
|
HRESULT (STDMETHODCALLTYPE *OnHeader)(
|
|
IWMWriterSink *This,
|
|
INSSBuffer *pHeader);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *IsRealTime)(
|
|
IWMWriterSink *This,
|
|
WINBOOL *pfRealTime);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *AllocateDataUnit)(
|
|
IWMWriterSink *This,
|
|
DWORD cbDataUnit,
|
|
INSSBuffer **ppDataUnit);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *OnDataUnit)(
|
|
IWMWriterSink *This,
|
|
INSSBuffer *pDataUnit);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *OnEndWriting)(
|
|
IWMWriterSink *This);
|
|
|
|
END_INTERFACE
|
|
} IWMWriterSinkVtbl;
|
|
|
|
interface IWMWriterSink {
|
|
CONST_VTBL IWMWriterSinkVtbl* lpVtbl;
|
|
};
|
|
|
|
#ifdef COBJMACROS
|
|
#ifndef WIDL_C_INLINE_WRAPPERS
|
|
/*** IUnknown methods ***/
|
|
#define IWMWriterSink_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
|
|
#define IWMWriterSink_AddRef(This) (This)->lpVtbl->AddRef(This)
|
|
#define IWMWriterSink_Release(This) (This)->lpVtbl->Release(This)
|
|
/*** IWMWriterSink methods ***/
|
|
#define IWMWriterSink_OnHeader(This,pHeader) (This)->lpVtbl->OnHeader(This,pHeader)
|
|
#define IWMWriterSink_IsRealTime(This,pfRealTime) (This)->lpVtbl->IsRealTime(This,pfRealTime)
|
|
#define IWMWriterSink_AllocateDataUnit(This,cbDataUnit,ppDataUnit) (This)->lpVtbl->AllocateDataUnit(This,cbDataUnit,ppDataUnit)
|
|
#define IWMWriterSink_OnDataUnit(This,pDataUnit) (This)->lpVtbl->OnDataUnit(This,pDataUnit)
|
|
#define IWMWriterSink_OnEndWriting(This) (This)->lpVtbl->OnEndWriting(This)
|
|
#else
|
|
/*** IUnknown methods ***/
|
|
static FORCEINLINE HRESULT IWMWriterSink_QueryInterface(IWMWriterSink* This,REFIID riid,void **ppvObject) {
|
|
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
|
|
}
|
|
static FORCEINLINE ULONG IWMWriterSink_AddRef(IWMWriterSink* This) {
|
|
return This->lpVtbl->AddRef(This);
|
|
}
|
|
static FORCEINLINE ULONG IWMWriterSink_Release(IWMWriterSink* This) {
|
|
return This->lpVtbl->Release(This);
|
|
}
|
|
/*** IWMWriterSink methods ***/
|
|
static FORCEINLINE HRESULT IWMWriterSink_OnHeader(IWMWriterSink* This,INSSBuffer *pHeader) {
|
|
return This->lpVtbl->OnHeader(This,pHeader);
|
|
}
|
|
static FORCEINLINE HRESULT IWMWriterSink_IsRealTime(IWMWriterSink* This,WINBOOL *pfRealTime) {
|
|
return This->lpVtbl->IsRealTime(This,pfRealTime);
|
|
}
|
|
static FORCEINLINE HRESULT IWMWriterSink_AllocateDataUnit(IWMWriterSink* This,DWORD cbDataUnit,INSSBuffer **ppDataUnit) {
|
|
return This->lpVtbl->AllocateDataUnit(This,cbDataUnit,ppDataUnit);
|
|
}
|
|
static FORCEINLINE HRESULT IWMWriterSink_OnDataUnit(IWMWriterSink* This,INSSBuffer *pDataUnit) {
|
|
return This->lpVtbl->OnDataUnit(This,pDataUnit);
|
|
}
|
|
static FORCEINLINE HRESULT IWMWriterSink_OnEndWriting(IWMWriterSink* This) {
|
|
return This->lpVtbl->OnEndWriting(This);
|
|
}
|
|
#endif
|
|
#endif
|
|
|
|
#endif
|
|
|
|
|
|
#endif /* __IWMWriterSink_INTERFACE_DEFINED__ */
|
|
|
|
/*****************************************************************************
|
|
* IWMWriter interface
|
|
*/
|
|
#ifndef __IWMWriter_INTERFACE_DEFINED__
|
|
#define __IWMWriter_INTERFACE_DEFINED__
|
|
|
|
DEFINE_GUID(IID_IWMWriter, 0x96406bd4, 0x2b2b, 0x11d3, 0xb3,0x6b, 0x00,0xc0,0x4f,0x61,0x08,0xff);
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
MIDL_INTERFACE("96406bd4-2b2b-11d3-b36b-00c04f6108ff")
|
|
IWMWriter : public IUnknown
|
|
{
|
|
virtual HRESULT STDMETHODCALLTYPE SetProfileByID(
|
|
REFGUID guidProfile) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE SetProfile(
|
|
IWMProfile *pProfile) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE SetOutputFilename(
|
|
const WCHAR *pwszFilename) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetInputCount(
|
|
DWORD *pcInputs) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetInputProps(
|
|
DWORD dwInputNum,
|
|
IWMInputMediaProps **ppInput) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE SetInputProps(
|
|
DWORD dwInputNum,
|
|
IWMInputMediaProps *pInput) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetInputFormatCount(
|
|
DWORD dwInputNumber,
|
|
DWORD *pcFormats) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetInputFormat(
|
|
DWORD dwInputNumber,
|
|
DWORD dwFormatNumber,
|
|
IWMInputMediaProps **pProps) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE BeginWriting(
|
|
) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE EndWriting(
|
|
) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE AllocateSample(
|
|
DWORD dwSampleSize,
|
|
INSSBuffer **ppSample) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE WriteSample(
|
|
DWORD dwInputNum,
|
|
QWORD cnsSampleTime,
|
|
DWORD dwFlags,
|
|
INSSBuffer *pSample) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE Flush(
|
|
) = 0;
|
|
|
|
};
|
|
#ifdef __CRT_UUID_DECL
|
|
__CRT_UUID_DECL(IWMWriter, 0x96406bd4, 0x2b2b, 0x11d3, 0xb3,0x6b, 0x00,0xc0,0x4f,0x61,0x08,0xff)
|
|
#endif
|
|
#else
|
|
typedef struct IWMWriterVtbl {
|
|
BEGIN_INTERFACE
|
|
|
|
/*** IUnknown methods ***/
|
|
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
|
|
IWMWriter *This,
|
|
REFIID riid,
|
|
void **ppvObject);
|
|
|
|
ULONG (STDMETHODCALLTYPE *AddRef)(
|
|
IWMWriter *This);
|
|
|
|
ULONG (STDMETHODCALLTYPE *Release)(
|
|
IWMWriter *This);
|
|
|
|
/*** IWMWriter methods ***/
|
|
HRESULT (STDMETHODCALLTYPE *SetProfileByID)(
|
|
IWMWriter *This,
|
|
REFGUID guidProfile);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetProfile)(
|
|
IWMWriter *This,
|
|
IWMProfile *pProfile);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetOutputFilename)(
|
|
IWMWriter *This,
|
|
const WCHAR *pwszFilename);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetInputCount)(
|
|
IWMWriter *This,
|
|
DWORD *pcInputs);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetInputProps)(
|
|
IWMWriter *This,
|
|
DWORD dwInputNum,
|
|
IWMInputMediaProps **ppInput);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetInputProps)(
|
|
IWMWriter *This,
|
|
DWORD dwInputNum,
|
|
IWMInputMediaProps *pInput);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetInputFormatCount)(
|
|
IWMWriter *This,
|
|
DWORD dwInputNumber,
|
|
DWORD *pcFormats);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetInputFormat)(
|
|
IWMWriter *This,
|
|
DWORD dwInputNumber,
|
|
DWORD dwFormatNumber,
|
|
IWMInputMediaProps **pProps);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *BeginWriting)(
|
|
IWMWriter *This);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *EndWriting)(
|
|
IWMWriter *This);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *AllocateSample)(
|
|
IWMWriter *This,
|
|
DWORD dwSampleSize,
|
|
INSSBuffer **ppSample);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *WriteSample)(
|
|
IWMWriter *This,
|
|
DWORD dwInputNum,
|
|
QWORD cnsSampleTime,
|
|
DWORD dwFlags,
|
|
INSSBuffer *pSample);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *Flush)(
|
|
IWMWriter *This);
|
|
|
|
END_INTERFACE
|
|
} IWMWriterVtbl;
|
|
|
|
interface IWMWriter {
|
|
CONST_VTBL IWMWriterVtbl* lpVtbl;
|
|
};
|
|
|
|
#ifdef COBJMACROS
|
|
#ifndef WIDL_C_INLINE_WRAPPERS
|
|
/*** IUnknown methods ***/
|
|
#define IWMWriter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
|
|
#define IWMWriter_AddRef(This) (This)->lpVtbl->AddRef(This)
|
|
#define IWMWriter_Release(This) (This)->lpVtbl->Release(This)
|
|
/*** IWMWriter methods ***/
|
|
#define IWMWriter_SetProfileByID(This,guidProfile) (This)->lpVtbl->SetProfileByID(This,guidProfile)
|
|
#define IWMWriter_SetProfile(This,pProfile) (This)->lpVtbl->SetProfile(This,pProfile)
|
|
#define IWMWriter_SetOutputFilename(This,pwszFilename) (This)->lpVtbl->SetOutputFilename(This,pwszFilename)
|
|
#define IWMWriter_GetInputCount(This,pcInputs) (This)->lpVtbl->GetInputCount(This,pcInputs)
|
|
#define IWMWriter_GetInputProps(This,dwInputNum,ppInput) (This)->lpVtbl->GetInputProps(This,dwInputNum,ppInput)
|
|
#define IWMWriter_SetInputProps(This,dwInputNum,pInput) (This)->lpVtbl->SetInputProps(This,dwInputNum,pInput)
|
|
#define IWMWriter_GetInputFormatCount(This,dwInputNumber,pcFormats) (This)->lpVtbl->GetInputFormatCount(This,dwInputNumber,pcFormats)
|
|
#define IWMWriter_GetInputFormat(This,dwInputNumber,dwFormatNumber,pProps) (This)->lpVtbl->GetInputFormat(This,dwInputNumber,dwFormatNumber,pProps)
|
|
#define IWMWriter_BeginWriting(This) (This)->lpVtbl->BeginWriting(This)
|
|
#define IWMWriter_EndWriting(This) (This)->lpVtbl->EndWriting(This)
|
|
#define IWMWriter_AllocateSample(This,dwSampleSize,ppSample) (This)->lpVtbl->AllocateSample(This,dwSampleSize,ppSample)
|
|
#define IWMWriter_WriteSample(This,dwInputNum,cnsSampleTime,dwFlags,pSample) (This)->lpVtbl->WriteSample(This,dwInputNum,cnsSampleTime,dwFlags,pSample)
|
|
#define IWMWriter_Flush(This) (This)->lpVtbl->Flush(This)
|
|
#else
|
|
/*** IUnknown methods ***/
|
|
static FORCEINLINE HRESULT IWMWriter_QueryInterface(IWMWriter* This,REFIID riid,void **ppvObject) {
|
|
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
|
|
}
|
|
static FORCEINLINE ULONG IWMWriter_AddRef(IWMWriter* This) {
|
|
return This->lpVtbl->AddRef(This);
|
|
}
|
|
static FORCEINLINE ULONG IWMWriter_Release(IWMWriter* This) {
|
|
return This->lpVtbl->Release(This);
|
|
}
|
|
/*** IWMWriter methods ***/
|
|
static FORCEINLINE HRESULT IWMWriter_SetProfileByID(IWMWriter* This,REFGUID guidProfile) {
|
|
return This->lpVtbl->SetProfileByID(This,guidProfile);
|
|
}
|
|
static FORCEINLINE HRESULT IWMWriter_SetProfile(IWMWriter* This,IWMProfile *pProfile) {
|
|
return This->lpVtbl->SetProfile(This,pProfile);
|
|
}
|
|
static FORCEINLINE HRESULT IWMWriter_SetOutputFilename(IWMWriter* This,const WCHAR *pwszFilename) {
|
|
return This->lpVtbl->SetOutputFilename(This,pwszFilename);
|
|
}
|
|
static FORCEINLINE HRESULT IWMWriter_GetInputCount(IWMWriter* This,DWORD *pcInputs) {
|
|
return This->lpVtbl->GetInputCount(This,pcInputs);
|
|
}
|
|
static FORCEINLINE HRESULT IWMWriter_GetInputProps(IWMWriter* This,DWORD dwInputNum,IWMInputMediaProps **ppInput) {
|
|
return This->lpVtbl->GetInputProps(This,dwInputNum,ppInput);
|
|
}
|
|
static FORCEINLINE HRESULT IWMWriter_SetInputProps(IWMWriter* This,DWORD dwInputNum,IWMInputMediaProps *pInput) {
|
|
return This->lpVtbl->SetInputProps(This,dwInputNum,pInput);
|
|
}
|
|
static FORCEINLINE HRESULT IWMWriter_GetInputFormatCount(IWMWriter* This,DWORD dwInputNumber,DWORD *pcFormats) {
|
|
return This->lpVtbl->GetInputFormatCount(This,dwInputNumber,pcFormats);
|
|
}
|
|
static FORCEINLINE HRESULT IWMWriter_GetInputFormat(IWMWriter* This,DWORD dwInputNumber,DWORD dwFormatNumber,IWMInputMediaProps **pProps) {
|
|
return This->lpVtbl->GetInputFormat(This,dwInputNumber,dwFormatNumber,pProps);
|
|
}
|
|
static FORCEINLINE HRESULT IWMWriter_BeginWriting(IWMWriter* This) {
|
|
return This->lpVtbl->BeginWriting(This);
|
|
}
|
|
static FORCEINLINE HRESULT IWMWriter_EndWriting(IWMWriter* This) {
|
|
return This->lpVtbl->EndWriting(This);
|
|
}
|
|
static FORCEINLINE HRESULT IWMWriter_AllocateSample(IWMWriter* This,DWORD dwSampleSize,INSSBuffer **ppSample) {
|
|
return This->lpVtbl->AllocateSample(This,dwSampleSize,ppSample);
|
|
}
|
|
static FORCEINLINE HRESULT IWMWriter_WriteSample(IWMWriter* This,DWORD dwInputNum,QWORD cnsSampleTime,DWORD dwFlags,INSSBuffer *pSample) {
|
|
return This->lpVtbl->WriteSample(This,dwInputNum,cnsSampleTime,dwFlags,pSample);
|
|
}
|
|
static FORCEINLINE HRESULT IWMWriter_Flush(IWMWriter* This) {
|
|
return This->lpVtbl->Flush(This);
|
|
}
|
|
#endif
|
|
#endif
|
|
|
|
#endif
|
|
|
|
|
|
#endif /* __IWMWriter_INTERFACE_DEFINED__ */
|
|
|
|
/*****************************************************************************
|
|
* IWMWriterAdvanced interface
|
|
*/
|
|
#ifndef __IWMWriterAdvanced_INTERFACE_DEFINED__
|
|
#define __IWMWriterAdvanced_INTERFACE_DEFINED__
|
|
|
|
DEFINE_GUID(IID_IWMWriterAdvanced, 0x96406be3, 0x2b2b, 0x11d3, 0xb3,0x6b, 0x00,0xc0,0x4f,0x61,0x08,0xff);
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
MIDL_INTERFACE("96406be3-2b2b-11d3-b36b-00c04f6108ff")
|
|
IWMWriterAdvanced : public IUnknown
|
|
{
|
|
virtual HRESULT STDMETHODCALLTYPE GetSinkCount(
|
|
DWORD *pcSinks) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetSink(
|
|
DWORD dwSinkNum,
|
|
IWMWriterSink **ppSink) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE AddSink(
|
|
IWMWriterSink *pSink) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE RemoveSink(
|
|
IWMWriterSink *pSink) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE WriteStreamSample(
|
|
WORD wStreamNum,
|
|
QWORD cnsSampleTime,
|
|
DWORD msSampleSendTime,
|
|
QWORD cnsSampleDuration,
|
|
DWORD dwFlags,
|
|
INSSBuffer *pSample) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE SetLiveSource(
|
|
WINBOOL fIsLiveSource) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE IsRealTime(
|
|
WINBOOL *pfRealTime) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetWriterTime(
|
|
QWORD *pCurrentTime) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetStatistics(
|
|
WORD wStreamNum,
|
|
WM_WRITER_STATISTICS *pStats) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE SetSyncTolerance(
|
|
DWORD msWindow) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetSyncTolerance(
|
|
DWORD *pmsWindow) = 0;
|
|
|
|
};
|
|
#ifdef __CRT_UUID_DECL
|
|
__CRT_UUID_DECL(IWMWriterAdvanced, 0x96406be3, 0x2b2b, 0x11d3, 0xb3,0x6b, 0x00,0xc0,0x4f,0x61,0x08,0xff)
|
|
#endif
|
|
#else
|
|
typedef struct IWMWriterAdvancedVtbl {
|
|
BEGIN_INTERFACE
|
|
|
|
/*** IUnknown methods ***/
|
|
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
|
|
IWMWriterAdvanced *This,
|
|
REFIID riid,
|
|
void **ppvObject);
|
|
|
|
ULONG (STDMETHODCALLTYPE *AddRef)(
|
|
IWMWriterAdvanced *This);
|
|
|
|
ULONG (STDMETHODCALLTYPE *Release)(
|
|
IWMWriterAdvanced *This);
|
|
|
|
/*** IWMWriterAdvanced methods ***/
|
|
HRESULT (STDMETHODCALLTYPE *GetSinkCount)(
|
|
IWMWriterAdvanced *This,
|
|
DWORD *pcSinks);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetSink)(
|
|
IWMWriterAdvanced *This,
|
|
DWORD dwSinkNum,
|
|
IWMWriterSink **ppSink);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *AddSink)(
|
|
IWMWriterAdvanced *This,
|
|
IWMWriterSink *pSink);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *RemoveSink)(
|
|
IWMWriterAdvanced *This,
|
|
IWMWriterSink *pSink);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *WriteStreamSample)(
|
|
IWMWriterAdvanced *This,
|
|
WORD wStreamNum,
|
|
QWORD cnsSampleTime,
|
|
DWORD msSampleSendTime,
|
|
QWORD cnsSampleDuration,
|
|
DWORD dwFlags,
|
|
INSSBuffer *pSample);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetLiveSource)(
|
|
IWMWriterAdvanced *This,
|
|
WINBOOL fIsLiveSource);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *IsRealTime)(
|
|
IWMWriterAdvanced *This,
|
|
WINBOOL *pfRealTime);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetWriterTime)(
|
|
IWMWriterAdvanced *This,
|
|
QWORD *pCurrentTime);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetStatistics)(
|
|
IWMWriterAdvanced *This,
|
|
WORD wStreamNum,
|
|
WM_WRITER_STATISTICS *pStats);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetSyncTolerance)(
|
|
IWMWriterAdvanced *This,
|
|
DWORD msWindow);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetSyncTolerance)(
|
|
IWMWriterAdvanced *This,
|
|
DWORD *pmsWindow);
|
|
|
|
END_INTERFACE
|
|
} IWMWriterAdvancedVtbl;
|
|
|
|
interface IWMWriterAdvanced {
|
|
CONST_VTBL IWMWriterAdvancedVtbl* lpVtbl;
|
|
};
|
|
|
|
#ifdef COBJMACROS
|
|
#ifndef WIDL_C_INLINE_WRAPPERS
|
|
/*** IUnknown methods ***/
|
|
#define IWMWriterAdvanced_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
|
|
#define IWMWriterAdvanced_AddRef(This) (This)->lpVtbl->AddRef(This)
|
|
#define IWMWriterAdvanced_Release(This) (This)->lpVtbl->Release(This)
|
|
/*** IWMWriterAdvanced methods ***/
|
|
#define IWMWriterAdvanced_GetSinkCount(This,pcSinks) (This)->lpVtbl->GetSinkCount(This,pcSinks)
|
|
#define IWMWriterAdvanced_GetSink(This,dwSinkNum,ppSink) (This)->lpVtbl->GetSink(This,dwSinkNum,ppSink)
|
|
#define IWMWriterAdvanced_AddSink(This,pSink) (This)->lpVtbl->AddSink(This,pSink)
|
|
#define IWMWriterAdvanced_RemoveSink(This,pSink) (This)->lpVtbl->RemoveSink(This,pSink)
|
|
#define IWMWriterAdvanced_WriteStreamSample(This,wStreamNum,cnsSampleTime,msSampleSendTime,cnsSampleDuration,dwFlags,pSample) (This)->lpVtbl->WriteStreamSample(This,wStreamNum,cnsSampleTime,msSampleSendTime,cnsSampleDuration,dwFlags,pSample)
|
|
#define IWMWriterAdvanced_SetLiveSource(This,fIsLiveSource) (This)->lpVtbl->SetLiveSource(This,fIsLiveSource)
|
|
#define IWMWriterAdvanced_IsRealTime(This,pfRealTime) (This)->lpVtbl->IsRealTime(This,pfRealTime)
|
|
#define IWMWriterAdvanced_GetWriterTime(This,pCurrentTime) (This)->lpVtbl->GetWriterTime(This,pCurrentTime)
|
|
#define IWMWriterAdvanced_GetStatistics(This,wStreamNum,pStats) (This)->lpVtbl->GetStatistics(This,wStreamNum,pStats)
|
|
#define IWMWriterAdvanced_SetSyncTolerance(This,msWindow) (This)->lpVtbl->SetSyncTolerance(This,msWindow)
|
|
#define IWMWriterAdvanced_GetSyncTolerance(This,pmsWindow) (This)->lpVtbl->GetSyncTolerance(This,pmsWindow)
|
|
#else
|
|
/*** IUnknown methods ***/
|
|
static FORCEINLINE HRESULT IWMWriterAdvanced_QueryInterface(IWMWriterAdvanced* This,REFIID riid,void **ppvObject) {
|
|
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
|
|
}
|
|
static FORCEINLINE ULONG IWMWriterAdvanced_AddRef(IWMWriterAdvanced* This) {
|
|
return This->lpVtbl->AddRef(This);
|
|
}
|
|
static FORCEINLINE ULONG IWMWriterAdvanced_Release(IWMWriterAdvanced* This) {
|
|
return This->lpVtbl->Release(This);
|
|
}
|
|
/*** IWMWriterAdvanced methods ***/
|
|
static FORCEINLINE HRESULT IWMWriterAdvanced_GetSinkCount(IWMWriterAdvanced* This,DWORD *pcSinks) {
|
|
return This->lpVtbl->GetSinkCount(This,pcSinks);
|
|
}
|
|
static FORCEINLINE HRESULT IWMWriterAdvanced_GetSink(IWMWriterAdvanced* This,DWORD dwSinkNum,IWMWriterSink **ppSink) {
|
|
return This->lpVtbl->GetSink(This,dwSinkNum,ppSink);
|
|
}
|
|
static FORCEINLINE HRESULT IWMWriterAdvanced_AddSink(IWMWriterAdvanced* This,IWMWriterSink *pSink) {
|
|
return This->lpVtbl->AddSink(This,pSink);
|
|
}
|
|
static FORCEINLINE HRESULT IWMWriterAdvanced_RemoveSink(IWMWriterAdvanced* This,IWMWriterSink *pSink) {
|
|
return This->lpVtbl->RemoveSink(This,pSink);
|
|
}
|
|
static FORCEINLINE HRESULT IWMWriterAdvanced_WriteStreamSample(IWMWriterAdvanced* This,WORD wStreamNum,QWORD cnsSampleTime,DWORD msSampleSendTime,QWORD cnsSampleDuration,DWORD dwFlags,INSSBuffer *pSample) {
|
|
return This->lpVtbl->WriteStreamSample(This,wStreamNum,cnsSampleTime,msSampleSendTime,cnsSampleDuration,dwFlags,pSample);
|
|
}
|
|
static FORCEINLINE HRESULT IWMWriterAdvanced_SetLiveSource(IWMWriterAdvanced* This,WINBOOL fIsLiveSource) {
|
|
return This->lpVtbl->SetLiveSource(This,fIsLiveSource);
|
|
}
|
|
static FORCEINLINE HRESULT IWMWriterAdvanced_IsRealTime(IWMWriterAdvanced* This,WINBOOL *pfRealTime) {
|
|
return This->lpVtbl->IsRealTime(This,pfRealTime);
|
|
}
|
|
static FORCEINLINE HRESULT IWMWriterAdvanced_GetWriterTime(IWMWriterAdvanced* This,QWORD *pCurrentTime) {
|
|
return This->lpVtbl->GetWriterTime(This,pCurrentTime);
|
|
}
|
|
static FORCEINLINE HRESULT IWMWriterAdvanced_GetStatistics(IWMWriterAdvanced* This,WORD wStreamNum,WM_WRITER_STATISTICS *pStats) {
|
|
return This->lpVtbl->GetStatistics(This,wStreamNum,pStats);
|
|
}
|
|
static FORCEINLINE HRESULT IWMWriterAdvanced_SetSyncTolerance(IWMWriterAdvanced* This,DWORD msWindow) {
|
|
return This->lpVtbl->SetSyncTolerance(This,msWindow);
|
|
}
|
|
static FORCEINLINE HRESULT IWMWriterAdvanced_GetSyncTolerance(IWMWriterAdvanced* This,DWORD *pmsWindow) {
|
|
return This->lpVtbl->GetSyncTolerance(This,pmsWindow);
|
|
}
|
|
#endif
|
|
#endif
|
|
|
|
#endif
|
|
|
|
|
|
#endif /* __IWMWriterAdvanced_INTERFACE_DEFINED__ */
|
|
|
|
/*****************************************************************************
|
|
* IWMWriterAdvanced2 interface
|
|
*/
|
|
#ifndef __IWMWriterAdvanced2_INTERFACE_DEFINED__
|
|
#define __IWMWriterAdvanced2_INTERFACE_DEFINED__
|
|
|
|
DEFINE_GUID(IID_IWMWriterAdvanced2, 0x962dc1ec, 0xc046, 0x4db8, 0x9c,0xc7, 0x26,0xce,0xae,0x50,0x08,0x17);
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
MIDL_INTERFACE("962dc1ec-c046-4db8-9cc7-26ceae500817")
|
|
IWMWriterAdvanced2 : public IWMWriterAdvanced
|
|
{
|
|
virtual HRESULT STDMETHODCALLTYPE GetInputSetting(
|
|
DWORD dwInputNum,
|
|
LPCWSTR pszName,
|
|
WMT_ATTR_DATATYPE *pType,
|
|
BYTE *pValue,
|
|
WORD *pcbLength) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE SetInputSetting(
|
|
DWORD dwInputNum,
|
|
LPCWSTR pszName,
|
|
WMT_ATTR_DATATYPE Type,
|
|
const BYTE *pValue,
|
|
WORD cbLength) = 0;
|
|
|
|
};
|
|
#ifdef __CRT_UUID_DECL
|
|
__CRT_UUID_DECL(IWMWriterAdvanced2, 0x962dc1ec, 0xc046, 0x4db8, 0x9c,0xc7, 0x26,0xce,0xae,0x50,0x08,0x17)
|
|
#endif
|
|
#else
|
|
typedef struct IWMWriterAdvanced2Vtbl {
|
|
BEGIN_INTERFACE
|
|
|
|
/*** IUnknown methods ***/
|
|
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
|
|
IWMWriterAdvanced2 *This,
|
|
REFIID riid,
|
|
void **ppvObject);
|
|
|
|
ULONG (STDMETHODCALLTYPE *AddRef)(
|
|
IWMWriterAdvanced2 *This);
|
|
|
|
ULONG (STDMETHODCALLTYPE *Release)(
|
|
IWMWriterAdvanced2 *This);
|
|
|
|
/*** IWMWriterAdvanced methods ***/
|
|
HRESULT (STDMETHODCALLTYPE *GetSinkCount)(
|
|
IWMWriterAdvanced2 *This,
|
|
DWORD *pcSinks);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetSink)(
|
|
IWMWriterAdvanced2 *This,
|
|
DWORD dwSinkNum,
|
|
IWMWriterSink **ppSink);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *AddSink)(
|
|
IWMWriterAdvanced2 *This,
|
|
IWMWriterSink *pSink);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *RemoveSink)(
|
|
IWMWriterAdvanced2 *This,
|
|
IWMWriterSink *pSink);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *WriteStreamSample)(
|
|
IWMWriterAdvanced2 *This,
|
|
WORD wStreamNum,
|
|
QWORD cnsSampleTime,
|
|
DWORD msSampleSendTime,
|
|
QWORD cnsSampleDuration,
|
|
DWORD dwFlags,
|
|
INSSBuffer *pSample);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetLiveSource)(
|
|
IWMWriterAdvanced2 *This,
|
|
WINBOOL fIsLiveSource);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *IsRealTime)(
|
|
IWMWriterAdvanced2 *This,
|
|
WINBOOL *pfRealTime);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetWriterTime)(
|
|
IWMWriterAdvanced2 *This,
|
|
QWORD *pCurrentTime);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetStatistics)(
|
|
IWMWriterAdvanced2 *This,
|
|
WORD wStreamNum,
|
|
WM_WRITER_STATISTICS *pStats);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetSyncTolerance)(
|
|
IWMWriterAdvanced2 *This,
|
|
DWORD msWindow);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetSyncTolerance)(
|
|
IWMWriterAdvanced2 *This,
|
|
DWORD *pmsWindow);
|
|
|
|
/*** IWMWriterAdvanced2 methods ***/
|
|
HRESULT (STDMETHODCALLTYPE *GetInputSetting)(
|
|
IWMWriterAdvanced2 *This,
|
|
DWORD dwInputNum,
|
|
LPCWSTR pszName,
|
|
WMT_ATTR_DATATYPE *pType,
|
|
BYTE *pValue,
|
|
WORD *pcbLength);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetInputSetting)(
|
|
IWMWriterAdvanced2 *This,
|
|
DWORD dwInputNum,
|
|
LPCWSTR pszName,
|
|
WMT_ATTR_DATATYPE Type,
|
|
const BYTE *pValue,
|
|
WORD cbLength);
|
|
|
|
END_INTERFACE
|
|
} IWMWriterAdvanced2Vtbl;
|
|
|
|
interface IWMWriterAdvanced2 {
|
|
CONST_VTBL IWMWriterAdvanced2Vtbl* lpVtbl;
|
|
};
|
|
|
|
#ifdef COBJMACROS
|
|
#ifndef WIDL_C_INLINE_WRAPPERS
|
|
/*** IUnknown methods ***/
|
|
#define IWMWriterAdvanced2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
|
|
#define IWMWriterAdvanced2_AddRef(This) (This)->lpVtbl->AddRef(This)
|
|
#define IWMWriterAdvanced2_Release(This) (This)->lpVtbl->Release(This)
|
|
/*** IWMWriterAdvanced methods ***/
|
|
#define IWMWriterAdvanced2_GetSinkCount(This,pcSinks) (This)->lpVtbl->GetSinkCount(This,pcSinks)
|
|
#define IWMWriterAdvanced2_GetSink(This,dwSinkNum,ppSink) (This)->lpVtbl->GetSink(This,dwSinkNum,ppSink)
|
|
#define IWMWriterAdvanced2_AddSink(This,pSink) (This)->lpVtbl->AddSink(This,pSink)
|
|
#define IWMWriterAdvanced2_RemoveSink(This,pSink) (This)->lpVtbl->RemoveSink(This,pSink)
|
|
#define IWMWriterAdvanced2_WriteStreamSample(This,wStreamNum,cnsSampleTime,msSampleSendTime,cnsSampleDuration,dwFlags,pSample) (This)->lpVtbl->WriteStreamSample(This,wStreamNum,cnsSampleTime,msSampleSendTime,cnsSampleDuration,dwFlags,pSample)
|
|
#define IWMWriterAdvanced2_SetLiveSource(This,fIsLiveSource) (This)->lpVtbl->SetLiveSource(This,fIsLiveSource)
|
|
#define IWMWriterAdvanced2_IsRealTime(This,pfRealTime) (This)->lpVtbl->IsRealTime(This,pfRealTime)
|
|
#define IWMWriterAdvanced2_GetWriterTime(This,pCurrentTime) (This)->lpVtbl->GetWriterTime(This,pCurrentTime)
|
|
#define IWMWriterAdvanced2_GetStatistics(This,wStreamNum,pStats) (This)->lpVtbl->GetStatistics(This,wStreamNum,pStats)
|
|
#define IWMWriterAdvanced2_SetSyncTolerance(This,msWindow) (This)->lpVtbl->SetSyncTolerance(This,msWindow)
|
|
#define IWMWriterAdvanced2_GetSyncTolerance(This,pmsWindow) (This)->lpVtbl->GetSyncTolerance(This,pmsWindow)
|
|
/*** IWMWriterAdvanced2 methods ***/
|
|
#define IWMWriterAdvanced2_GetInputSetting(This,dwInputNum,pszName,pType,pValue,pcbLength) (This)->lpVtbl->GetInputSetting(This,dwInputNum,pszName,pType,pValue,pcbLength)
|
|
#define IWMWriterAdvanced2_SetInputSetting(This,dwInputNum,pszName,Type,pValue,cbLength) (This)->lpVtbl->SetInputSetting(This,dwInputNum,pszName,Type,pValue,cbLength)
|
|
#else
|
|
/*** IUnknown methods ***/
|
|
static FORCEINLINE HRESULT IWMWriterAdvanced2_QueryInterface(IWMWriterAdvanced2* This,REFIID riid,void **ppvObject) {
|
|
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
|
|
}
|
|
static FORCEINLINE ULONG IWMWriterAdvanced2_AddRef(IWMWriterAdvanced2* This) {
|
|
return This->lpVtbl->AddRef(This);
|
|
}
|
|
static FORCEINLINE ULONG IWMWriterAdvanced2_Release(IWMWriterAdvanced2* This) {
|
|
return This->lpVtbl->Release(This);
|
|
}
|
|
/*** IWMWriterAdvanced methods ***/
|
|
static FORCEINLINE HRESULT IWMWriterAdvanced2_GetSinkCount(IWMWriterAdvanced2* This,DWORD *pcSinks) {
|
|
return This->lpVtbl->GetSinkCount(This,pcSinks);
|
|
}
|
|
static FORCEINLINE HRESULT IWMWriterAdvanced2_GetSink(IWMWriterAdvanced2* This,DWORD dwSinkNum,IWMWriterSink **ppSink) {
|
|
return This->lpVtbl->GetSink(This,dwSinkNum,ppSink);
|
|
}
|
|
static FORCEINLINE HRESULT IWMWriterAdvanced2_AddSink(IWMWriterAdvanced2* This,IWMWriterSink *pSink) {
|
|
return This->lpVtbl->AddSink(This,pSink);
|
|
}
|
|
static FORCEINLINE HRESULT IWMWriterAdvanced2_RemoveSink(IWMWriterAdvanced2* This,IWMWriterSink *pSink) {
|
|
return This->lpVtbl->RemoveSink(This,pSink);
|
|
}
|
|
static FORCEINLINE HRESULT IWMWriterAdvanced2_WriteStreamSample(IWMWriterAdvanced2* This,WORD wStreamNum,QWORD cnsSampleTime,DWORD msSampleSendTime,QWORD cnsSampleDuration,DWORD dwFlags,INSSBuffer *pSample) {
|
|
return This->lpVtbl->WriteStreamSample(This,wStreamNum,cnsSampleTime,msSampleSendTime,cnsSampleDuration,dwFlags,pSample);
|
|
}
|
|
static FORCEINLINE HRESULT IWMWriterAdvanced2_SetLiveSource(IWMWriterAdvanced2* This,WINBOOL fIsLiveSource) {
|
|
return This->lpVtbl->SetLiveSource(This,fIsLiveSource);
|
|
}
|
|
static FORCEINLINE HRESULT IWMWriterAdvanced2_IsRealTime(IWMWriterAdvanced2* This,WINBOOL *pfRealTime) {
|
|
return This->lpVtbl->IsRealTime(This,pfRealTime);
|
|
}
|
|
static FORCEINLINE HRESULT IWMWriterAdvanced2_GetWriterTime(IWMWriterAdvanced2* This,QWORD *pCurrentTime) {
|
|
return This->lpVtbl->GetWriterTime(This,pCurrentTime);
|
|
}
|
|
static FORCEINLINE HRESULT IWMWriterAdvanced2_GetStatistics(IWMWriterAdvanced2* This,WORD wStreamNum,WM_WRITER_STATISTICS *pStats) {
|
|
return This->lpVtbl->GetStatistics(This,wStreamNum,pStats);
|
|
}
|
|
static FORCEINLINE HRESULT IWMWriterAdvanced2_SetSyncTolerance(IWMWriterAdvanced2* This,DWORD msWindow) {
|
|
return This->lpVtbl->SetSyncTolerance(This,msWindow);
|
|
}
|
|
static FORCEINLINE HRESULT IWMWriterAdvanced2_GetSyncTolerance(IWMWriterAdvanced2* This,DWORD *pmsWindow) {
|
|
return This->lpVtbl->GetSyncTolerance(This,pmsWindow);
|
|
}
|
|
/*** IWMWriterAdvanced2 methods ***/
|
|
static FORCEINLINE HRESULT IWMWriterAdvanced2_GetInputSetting(IWMWriterAdvanced2* This,DWORD dwInputNum,LPCWSTR pszName,WMT_ATTR_DATATYPE *pType,BYTE *pValue,WORD *pcbLength) {
|
|
return This->lpVtbl->GetInputSetting(This,dwInputNum,pszName,pType,pValue,pcbLength);
|
|
}
|
|
static FORCEINLINE HRESULT IWMWriterAdvanced2_SetInputSetting(IWMWriterAdvanced2* This,DWORD dwInputNum,LPCWSTR pszName,WMT_ATTR_DATATYPE Type,const BYTE *pValue,WORD cbLength) {
|
|
return This->lpVtbl->SetInputSetting(This,dwInputNum,pszName,Type,pValue,cbLength);
|
|
}
|
|
#endif
|
|
#endif
|
|
|
|
#endif
|
|
|
|
|
|
#endif /* __IWMWriterAdvanced2_INTERFACE_DEFINED__ */
|
|
|
|
/*****************************************************************************
|
|
* IWMWriterAdvanced3 interface
|
|
*/
|
|
#ifndef __IWMWriterAdvanced3_INTERFACE_DEFINED__
|
|
#define __IWMWriterAdvanced3_INTERFACE_DEFINED__
|
|
|
|
DEFINE_GUID(IID_IWMWriterAdvanced3, 0x2cd6492d, 0x7c37, 0x4e76, 0x9d,0x3b, 0x59,0x26,0x11,0x83,0xa2,0x2e);
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
MIDL_INTERFACE("2cd6492d-7c37-4e76-9d3b-59261183a22e")
|
|
IWMWriterAdvanced3 : public IWMWriterAdvanced2
|
|
{
|
|
virtual HRESULT STDMETHODCALLTYPE GetStatisticsEx(
|
|
WORD wStreamNum,
|
|
WM_WRITER_STATISTICS_EX *pStats) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE SetNonBlocking(
|
|
) = 0;
|
|
|
|
};
|
|
#ifdef __CRT_UUID_DECL
|
|
__CRT_UUID_DECL(IWMWriterAdvanced3, 0x2cd6492d, 0x7c37, 0x4e76, 0x9d,0x3b, 0x59,0x26,0x11,0x83,0xa2,0x2e)
|
|
#endif
|
|
#else
|
|
typedef struct IWMWriterAdvanced3Vtbl {
|
|
BEGIN_INTERFACE
|
|
|
|
/*** IUnknown methods ***/
|
|
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
|
|
IWMWriterAdvanced3 *This,
|
|
REFIID riid,
|
|
void **ppvObject);
|
|
|
|
ULONG (STDMETHODCALLTYPE *AddRef)(
|
|
IWMWriterAdvanced3 *This);
|
|
|
|
ULONG (STDMETHODCALLTYPE *Release)(
|
|
IWMWriterAdvanced3 *This);
|
|
|
|
/*** IWMWriterAdvanced methods ***/
|
|
HRESULT (STDMETHODCALLTYPE *GetSinkCount)(
|
|
IWMWriterAdvanced3 *This,
|
|
DWORD *pcSinks);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetSink)(
|
|
IWMWriterAdvanced3 *This,
|
|
DWORD dwSinkNum,
|
|
IWMWriterSink **ppSink);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *AddSink)(
|
|
IWMWriterAdvanced3 *This,
|
|
IWMWriterSink *pSink);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *RemoveSink)(
|
|
IWMWriterAdvanced3 *This,
|
|
IWMWriterSink *pSink);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *WriteStreamSample)(
|
|
IWMWriterAdvanced3 *This,
|
|
WORD wStreamNum,
|
|
QWORD cnsSampleTime,
|
|
DWORD msSampleSendTime,
|
|
QWORD cnsSampleDuration,
|
|
DWORD dwFlags,
|
|
INSSBuffer *pSample);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetLiveSource)(
|
|
IWMWriterAdvanced3 *This,
|
|
WINBOOL fIsLiveSource);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *IsRealTime)(
|
|
IWMWriterAdvanced3 *This,
|
|
WINBOOL *pfRealTime);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetWriterTime)(
|
|
IWMWriterAdvanced3 *This,
|
|
QWORD *pCurrentTime);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetStatistics)(
|
|
IWMWriterAdvanced3 *This,
|
|
WORD wStreamNum,
|
|
WM_WRITER_STATISTICS *pStats);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetSyncTolerance)(
|
|
IWMWriterAdvanced3 *This,
|
|
DWORD msWindow);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetSyncTolerance)(
|
|
IWMWriterAdvanced3 *This,
|
|
DWORD *pmsWindow);
|
|
|
|
/*** IWMWriterAdvanced2 methods ***/
|
|
HRESULT (STDMETHODCALLTYPE *GetInputSetting)(
|
|
IWMWriterAdvanced3 *This,
|
|
DWORD dwInputNum,
|
|
LPCWSTR pszName,
|
|
WMT_ATTR_DATATYPE *pType,
|
|
BYTE *pValue,
|
|
WORD *pcbLength);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetInputSetting)(
|
|
IWMWriterAdvanced3 *This,
|
|
DWORD dwInputNum,
|
|
LPCWSTR pszName,
|
|
WMT_ATTR_DATATYPE Type,
|
|
const BYTE *pValue,
|
|
WORD cbLength);
|
|
|
|
/*** IWMWriterAdvanced3 methods ***/
|
|
HRESULT (STDMETHODCALLTYPE *GetStatisticsEx)(
|
|
IWMWriterAdvanced3 *This,
|
|
WORD wStreamNum,
|
|
WM_WRITER_STATISTICS_EX *pStats);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetNonBlocking)(
|
|
IWMWriterAdvanced3 *This);
|
|
|
|
END_INTERFACE
|
|
} IWMWriterAdvanced3Vtbl;
|
|
|
|
interface IWMWriterAdvanced3 {
|
|
CONST_VTBL IWMWriterAdvanced3Vtbl* lpVtbl;
|
|
};
|
|
|
|
#ifdef COBJMACROS
|
|
#ifndef WIDL_C_INLINE_WRAPPERS
|
|
/*** IUnknown methods ***/
|
|
#define IWMWriterAdvanced3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
|
|
#define IWMWriterAdvanced3_AddRef(This) (This)->lpVtbl->AddRef(This)
|
|
#define IWMWriterAdvanced3_Release(This) (This)->lpVtbl->Release(This)
|
|
/*** IWMWriterAdvanced methods ***/
|
|
#define IWMWriterAdvanced3_GetSinkCount(This,pcSinks) (This)->lpVtbl->GetSinkCount(This,pcSinks)
|
|
#define IWMWriterAdvanced3_GetSink(This,dwSinkNum,ppSink) (This)->lpVtbl->GetSink(This,dwSinkNum,ppSink)
|
|
#define IWMWriterAdvanced3_AddSink(This,pSink) (This)->lpVtbl->AddSink(This,pSink)
|
|
#define IWMWriterAdvanced3_RemoveSink(This,pSink) (This)->lpVtbl->RemoveSink(This,pSink)
|
|
#define IWMWriterAdvanced3_WriteStreamSample(This,wStreamNum,cnsSampleTime,msSampleSendTime,cnsSampleDuration,dwFlags,pSample) (This)->lpVtbl->WriteStreamSample(This,wStreamNum,cnsSampleTime,msSampleSendTime,cnsSampleDuration,dwFlags,pSample)
|
|
#define IWMWriterAdvanced3_SetLiveSource(This,fIsLiveSource) (This)->lpVtbl->SetLiveSource(This,fIsLiveSource)
|
|
#define IWMWriterAdvanced3_IsRealTime(This,pfRealTime) (This)->lpVtbl->IsRealTime(This,pfRealTime)
|
|
#define IWMWriterAdvanced3_GetWriterTime(This,pCurrentTime) (This)->lpVtbl->GetWriterTime(This,pCurrentTime)
|
|
#define IWMWriterAdvanced3_GetStatistics(This,wStreamNum,pStats) (This)->lpVtbl->GetStatistics(This,wStreamNum,pStats)
|
|
#define IWMWriterAdvanced3_SetSyncTolerance(This,msWindow) (This)->lpVtbl->SetSyncTolerance(This,msWindow)
|
|
#define IWMWriterAdvanced3_GetSyncTolerance(This,pmsWindow) (This)->lpVtbl->GetSyncTolerance(This,pmsWindow)
|
|
/*** IWMWriterAdvanced2 methods ***/
|
|
#define IWMWriterAdvanced3_GetInputSetting(This,dwInputNum,pszName,pType,pValue,pcbLength) (This)->lpVtbl->GetInputSetting(This,dwInputNum,pszName,pType,pValue,pcbLength)
|
|
#define IWMWriterAdvanced3_SetInputSetting(This,dwInputNum,pszName,Type,pValue,cbLength) (This)->lpVtbl->SetInputSetting(This,dwInputNum,pszName,Type,pValue,cbLength)
|
|
/*** IWMWriterAdvanced3 methods ***/
|
|
#define IWMWriterAdvanced3_GetStatisticsEx(This,wStreamNum,pStats) (This)->lpVtbl->GetStatisticsEx(This,wStreamNum,pStats)
|
|
#define IWMWriterAdvanced3_SetNonBlocking(This) (This)->lpVtbl->SetNonBlocking(This)
|
|
#else
|
|
/*** IUnknown methods ***/
|
|
static FORCEINLINE HRESULT IWMWriterAdvanced3_QueryInterface(IWMWriterAdvanced3* This,REFIID riid,void **ppvObject) {
|
|
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
|
|
}
|
|
static FORCEINLINE ULONG IWMWriterAdvanced3_AddRef(IWMWriterAdvanced3* This) {
|
|
return This->lpVtbl->AddRef(This);
|
|
}
|
|
static FORCEINLINE ULONG IWMWriterAdvanced3_Release(IWMWriterAdvanced3* This) {
|
|
return This->lpVtbl->Release(This);
|
|
}
|
|
/*** IWMWriterAdvanced methods ***/
|
|
static FORCEINLINE HRESULT IWMWriterAdvanced3_GetSinkCount(IWMWriterAdvanced3* This,DWORD *pcSinks) {
|
|
return This->lpVtbl->GetSinkCount(This,pcSinks);
|
|
}
|
|
static FORCEINLINE HRESULT IWMWriterAdvanced3_GetSink(IWMWriterAdvanced3* This,DWORD dwSinkNum,IWMWriterSink **ppSink) {
|
|
return This->lpVtbl->GetSink(This,dwSinkNum,ppSink);
|
|
}
|
|
static FORCEINLINE HRESULT IWMWriterAdvanced3_AddSink(IWMWriterAdvanced3* This,IWMWriterSink *pSink) {
|
|
return This->lpVtbl->AddSink(This,pSink);
|
|
}
|
|
static FORCEINLINE HRESULT IWMWriterAdvanced3_RemoveSink(IWMWriterAdvanced3* This,IWMWriterSink *pSink) {
|
|
return This->lpVtbl->RemoveSink(This,pSink);
|
|
}
|
|
static FORCEINLINE HRESULT IWMWriterAdvanced3_WriteStreamSample(IWMWriterAdvanced3* This,WORD wStreamNum,QWORD cnsSampleTime,DWORD msSampleSendTime,QWORD cnsSampleDuration,DWORD dwFlags,INSSBuffer *pSample) {
|
|
return This->lpVtbl->WriteStreamSample(This,wStreamNum,cnsSampleTime,msSampleSendTime,cnsSampleDuration,dwFlags,pSample);
|
|
}
|
|
static FORCEINLINE HRESULT IWMWriterAdvanced3_SetLiveSource(IWMWriterAdvanced3* This,WINBOOL fIsLiveSource) {
|
|
return This->lpVtbl->SetLiveSource(This,fIsLiveSource);
|
|
}
|
|
static FORCEINLINE HRESULT IWMWriterAdvanced3_IsRealTime(IWMWriterAdvanced3* This,WINBOOL *pfRealTime) {
|
|
return This->lpVtbl->IsRealTime(This,pfRealTime);
|
|
}
|
|
static FORCEINLINE HRESULT IWMWriterAdvanced3_GetWriterTime(IWMWriterAdvanced3* This,QWORD *pCurrentTime) {
|
|
return This->lpVtbl->GetWriterTime(This,pCurrentTime);
|
|
}
|
|
static FORCEINLINE HRESULT IWMWriterAdvanced3_GetStatistics(IWMWriterAdvanced3* This,WORD wStreamNum,WM_WRITER_STATISTICS *pStats) {
|
|
return This->lpVtbl->GetStatistics(This,wStreamNum,pStats);
|
|
}
|
|
static FORCEINLINE HRESULT IWMWriterAdvanced3_SetSyncTolerance(IWMWriterAdvanced3* This,DWORD msWindow) {
|
|
return This->lpVtbl->SetSyncTolerance(This,msWindow);
|
|
}
|
|
static FORCEINLINE HRESULT IWMWriterAdvanced3_GetSyncTolerance(IWMWriterAdvanced3* This,DWORD *pmsWindow) {
|
|
return This->lpVtbl->GetSyncTolerance(This,pmsWindow);
|
|
}
|
|
/*** IWMWriterAdvanced2 methods ***/
|
|
static FORCEINLINE HRESULT IWMWriterAdvanced3_GetInputSetting(IWMWriterAdvanced3* This,DWORD dwInputNum,LPCWSTR pszName,WMT_ATTR_DATATYPE *pType,BYTE *pValue,WORD *pcbLength) {
|
|
return This->lpVtbl->GetInputSetting(This,dwInputNum,pszName,pType,pValue,pcbLength);
|
|
}
|
|
static FORCEINLINE HRESULT IWMWriterAdvanced3_SetInputSetting(IWMWriterAdvanced3* This,DWORD dwInputNum,LPCWSTR pszName,WMT_ATTR_DATATYPE Type,const BYTE *pValue,WORD cbLength) {
|
|
return This->lpVtbl->SetInputSetting(This,dwInputNum,pszName,Type,pValue,cbLength);
|
|
}
|
|
/*** IWMWriterAdvanced3 methods ***/
|
|
static FORCEINLINE HRESULT IWMWriterAdvanced3_GetStatisticsEx(IWMWriterAdvanced3* This,WORD wStreamNum,WM_WRITER_STATISTICS_EX *pStats) {
|
|
return This->lpVtbl->GetStatisticsEx(This,wStreamNum,pStats);
|
|
}
|
|
static FORCEINLINE HRESULT IWMWriterAdvanced3_SetNonBlocking(IWMWriterAdvanced3* This) {
|
|
return This->lpVtbl->SetNonBlocking(This);
|
|
}
|
|
#endif
|
|
#endif
|
|
|
|
#endif
|
|
|
|
|
|
#endif /* __IWMWriterAdvanced3_INTERFACE_DEFINED__ */
|
|
|
|
/*****************************************************************************
|
|
* IWMHeaderInfo interface
|
|
*/
|
|
#ifndef __IWMHeaderInfo_INTERFACE_DEFINED__
|
|
#define __IWMHeaderInfo_INTERFACE_DEFINED__
|
|
|
|
DEFINE_GUID(IID_IWMHeaderInfo, 0x96406bda, 0x2b2b, 0x11d3, 0xb3,0x6b, 0x00,0xc0,0x4f,0x61,0x08,0xff);
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
MIDL_INTERFACE("96406bda-2b2b-11d3-b36b-00c04f6108ff")
|
|
IWMHeaderInfo : public IUnknown
|
|
{
|
|
virtual HRESULT STDMETHODCALLTYPE GetAttributeCount(
|
|
WORD stream_num,
|
|
WORD *attributes) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetAttributeByIndex(
|
|
WORD index,
|
|
WORD *stream_num,
|
|
WCHAR *name,
|
|
WORD *name_len,
|
|
WMT_ATTR_DATATYPE *type,
|
|
BYTE *value,
|
|
WORD *length) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetAttributeByName(
|
|
WORD *stream_num,
|
|
LPCWSTR name,
|
|
WMT_ATTR_DATATYPE *type,
|
|
BYTE *value,
|
|
WORD *length) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE SetAttribute(
|
|
WORD stream_num,
|
|
LPCWSTR name,
|
|
WMT_ATTR_DATATYPE type,
|
|
const BYTE *value,
|
|
WORD length) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetMarkerCount(
|
|
WORD *markers) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetMarker(
|
|
WORD index,
|
|
WCHAR *marker_name,
|
|
WORD *marker_len,
|
|
QWORD *marker_time) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE AddMarker(
|
|
LPCWSTR_WMSDK_TYPE_SAFE marker_name,
|
|
QWORD marker_time) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE RemoveMarker(
|
|
WORD index) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetScriptCount(
|
|
WORD *scripts) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetScript(
|
|
WORD index,
|
|
WCHAR *type,
|
|
WORD *type_len,
|
|
WCHAR *command,
|
|
WORD *command_len,
|
|
QWORD *script_time) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE AddScript(
|
|
LPCWSTR_WMSDK_TYPE_SAFE type,
|
|
LPCWSTR_WMSDK_TYPE_SAFE command,
|
|
QWORD script_time) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE RemoveScript(
|
|
WORD index) = 0;
|
|
|
|
};
|
|
#ifdef __CRT_UUID_DECL
|
|
__CRT_UUID_DECL(IWMHeaderInfo, 0x96406bda, 0x2b2b, 0x11d3, 0xb3,0x6b, 0x00,0xc0,0x4f,0x61,0x08,0xff)
|
|
#endif
|
|
#else
|
|
typedef struct IWMHeaderInfoVtbl {
|
|
BEGIN_INTERFACE
|
|
|
|
/*** IUnknown methods ***/
|
|
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
|
|
IWMHeaderInfo *This,
|
|
REFIID riid,
|
|
void **ppvObject);
|
|
|
|
ULONG (STDMETHODCALLTYPE *AddRef)(
|
|
IWMHeaderInfo *This);
|
|
|
|
ULONG (STDMETHODCALLTYPE *Release)(
|
|
IWMHeaderInfo *This);
|
|
|
|
/*** IWMHeaderInfo methods ***/
|
|
HRESULT (STDMETHODCALLTYPE *GetAttributeCount)(
|
|
IWMHeaderInfo *This,
|
|
WORD stream_num,
|
|
WORD *attributes);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetAttributeByIndex)(
|
|
IWMHeaderInfo *This,
|
|
WORD index,
|
|
WORD *stream_num,
|
|
WCHAR *name,
|
|
WORD *name_len,
|
|
WMT_ATTR_DATATYPE *type,
|
|
BYTE *value,
|
|
WORD *length);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetAttributeByName)(
|
|
IWMHeaderInfo *This,
|
|
WORD *stream_num,
|
|
LPCWSTR name,
|
|
WMT_ATTR_DATATYPE *type,
|
|
BYTE *value,
|
|
WORD *length);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetAttribute)(
|
|
IWMHeaderInfo *This,
|
|
WORD stream_num,
|
|
LPCWSTR name,
|
|
WMT_ATTR_DATATYPE type,
|
|
const BYTE *value,
|
|
WORD length);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetMarkerCount)(
|
|
IWMHeaderInfo *This,
|
|
WORD *markers);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetMarker)(
|
|
IWMHeaderInfo *This,
|
|
WORD index,
|
|
WCHAR *marker_name,
|
|
WORD *marker_len,
|
|
QWORD *marker_time);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *AddMarker)(
|
|
IWMHeaderInfo *This,
|
|
LPCWSTR_WMSDK_TYPE_SAFE marker_name,
|
|
QWORD marker_time);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *RemoveMarker)(
|
|
IWMHeaderInfo *This,
|
|
WORD index);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetScriptCount)(
|
|
IWMHeaderInfo *This,
|
|
WORD *scripts);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetScript)(
|
|
IWMHeaderInfo *This,
|
|
WORD index,
|
|
WCHAR *type,
|
|
WORD *type_len,
|
|
WCHAR *command,
|
|
WORD *command_len,
|
|
QWORD *script_time);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *AddScript)(
|
|
IWMHeaderInfo *This,
|
|
LPCWSTR_WMSDK_TYPE_SAFE type,
|
|
LPCWSTR_WMSDK_TYPE_SAFE command,
|
|
QWORD script_time);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *RemoveScript)(
|
|
IWMHeaderInfo *This,
|
|
WORD index);
|
|
|
|
END_INTERFACE
|
|
} IWMHeaderInfoVtbl;
|
|
|
|
interface IWMHeaderInfo {
|
|
CONST_VTBL IWMHeaderInfoVtbl* lpVtbl;
|
|
};
|
|
|
|
#ifdef COBJMACROS
|
|
#ifndef WIDL_C_INLINE_WRAPPERS
|
|
/*** IUnknown methods ***/
|
|
#define IWMHeaderInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
|
|
#define IWMHeaderInfo_AddRef(This) (This)->lpVtbl->AddRef(This)
|
|
#define IWMHeaderInfo_Release(This) (This)->lpVtbl->Release(This)
|
|
/*** IWMHeaderInfo methods ***/
|
|
#define IWMHeaderInfo_GetAttributeCount(This,stream_num,attributes) (This)->lpVtbl->GetAttributeCount(This,stream_num,attributes)
|
|
#define IWMHeaderInfo_GetAttributeByIndex(This,index,stream_num,name,name_len,type,value,length) (This)->lpVtbl->GetAttributeByIndex(This,index,stream_num,name,name_len,type,value,length)
|
|
#define IWMHeaderInfo_GetAttributeByName(This,stream_num,name,type,value,length) (This)->lpVtbl->GetAttributeByName(This,stream_num,name,type,value,length)
|
|
#define IWMHeaderInfo_SetAttribute(This,stream_num,name,type,value,length) (This)->lpVtbl->SetAttribute(This,stream_num,name,type,value,length)
|
|
#define IWMHeaderInfo_GetMarkerCount(This,markers) (This)->lpVtbl->GetMarkerCount(This,markers)
|
|
#define IWMHeaderInfo_GetMarker(This,index,marker_name,marker_len,marker_time) (This)->lpVtbl->GetMarker(This,index,marker_name,marker_len,marker_time)
|
|
#define IWMHeaderInfo_AddMarker(This,marker_name,marker_time) (This)->lpVtbl->AddMarker(This,marker_name,marker_time)
|
|
#define IWMHeaderInfo_RemoveMarker(This,index) (This)->lpVtbl->RemoveMarker(This,index)
|
|
#define IWMHeaderInfo_GetScriptCount(This,scripts) (This)->lpVtbl->GetScriptCount(This,scripts)
|
|
#define IWMHeaderInfo_GetScript(This,index,type,type_len,command,command_len,script_time) (This)->lpVtbl->GetScript(This,index,type,type_len,command,command_len,script_time)
|
|
#define IWMHeaderInfo_AddScript(This,type,command,script_time) (This)->lpVtbl->AddScript(This,type,command,script_time)
|
|
#define IWMHeaderInfo_RemoveScript(This,index) (This)->lpVtbl->RemoveScript(This,index)
|
|
#else
|
|
/*** IUnknown methods ***/
|
|
static FORCEINLINE HRESULT IWMHeaderInfo_QueryInterface(IWMHeaderInfo* This,REFIID riid,void **ppvObject) {
|
|
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
|
|
}
|
|
static FORCEINLINE ULONG IWMHeaderInfo_AddRef(IWMHeaderInfo* This) {
|
|
return This->lpVtbl->AddRef(This);
|
|
}
|
|
static FORCEINLINE ULONG IWMHeaderInfo_Release(IWMHeaderInfo* This) {
|
|
return This->lpVtbl->Release(This);
|
|
}
|
|
/*** IWMHeaderInfo methods ***/
|
|
static FORCEINLINE HRESULT IWMHeaderInfo_GetAttributeCount(IWMHeaderInfo* This,WORD stream_num,WORD *attributes) {
|
|
return This->lpVtbl->GetAttributeCount(This,stream_num,attributes);
|
|
}
|
|
static FORCEINLINE HRESULT IWMHeaderInfo_GetAttributeByIndex(IWMHeaderInfo* This,WORD index,WORD *stream_num,WCHAR *name,WORD *name_len,WMT_ATTR_DATATYPE *type,BYTE *value,WORD *length) {
|
|
return This->lpVtbl->GetAttributeByIndex(This,index,stream_num,name,name_len,type,value,length);
|
|
}
|
|
static FORCEINLINE HRESULT IWMHeaderInfo_GetAttributeByName(IWMHeaderInfo* This,WORD *stream_num,LPCWSTR name,WMT_ATTR_DATATYPE *type,BYTE *value,WORD *length) {
|
|
return This->lpVtbl->GetAttributeByName(This,stream_num,name,type,value,length);
|
|
}
|
|
static FORCEINLINE HRESULT IWMHeaderInfo_SetAttribute(IWMHeaderInfo* This,WORD stream_num,LPCWSTR name,WMT_ATTR_DATATYPE type,const BYTE *value,WORD length) {
|
|
return This->lpVtbl->SetAttribute(This,stream_num,name,type,value,length);
|
|
}
|
|
static FORCEINLINE HRESULT IWMHeaderInfo_GetMarkerCount(IWMHeaderInfo* This,WORD *markers) {
|
|
return This->lpVtbl->GetMarkerCount(This,markers);
|
|
}
|
|
static FORCEINLINE HRESULT IWMHeaderInfo_GetMarker(IWMHeaderInfo* This,WORD index,WCHAR *marker_name,WORD *marker_len,QWORD *marker_time) {
|
|
return This->lpVtbl->GetMarker(This,index,marker_name,marker_len,marker_time);
|
|
}
|
|
static FORCEINLINE HRESULT IWMHeaderInfo_AddMarker(IWMHeaderInfo* This,LPCWSTR_WMSDK_TYPE_SAFE marker_name,QWORD marker_time) {
|
|
return This->lpVtbl->AddMarker(This,marker_name,marker_time);
|
|
}
|
|
static FORCEINLINE HRESULT IWMHeaderInfo_RemoveMarker(IWMHeaderInfo* This,WORD index) {
|
|
return This->lpVtbl->RemoveMarker(This,index);
|
|
}
|
|
static FORCEINLINE HRESULT IWMHeaderInfo_GetScriptCount(IWMHeaderInfo* This,WORD *scripts) {
|
|
return This->lpVtbl->GetScriptCount(This,scripts);
|
|
}
|
|
static FORCEINLINE HRESULT IWMHeaderInfo_GetScript(IWMHeaderInfo* This,WORD index,WCHAR *type,WORD *type_len,WCHAR *command,WORD *command_len,QWORD *script_time) {
|
|
return This->lpVtbl->GetScript(This,index,type,type_len,command,command_len,script_time);
|
|
}
|
|
static FORCEINLINE HRESULT IWMHeaderInfo_AddScript(IWMHeaderInfo* This,LPCWSTR_WMSDK_TYPE_SAFE type,LPCWSTR_WMSDK_TYPE_SAFE command,QWORD script_time) {
|
|
return This->lpVtbl->AddScript(This,type,command,script_time);
|
|
}
|
|
static FORCEINLINE HRESULT IWMHeaderInfo_RemoveScript(IWMHeaderInfo* This,WORD index) {
|
|
return This->lpVtbl->RemoveScript(This,index);
|
|
}
|
|
#endif
|
|
#endif
|
|
|
|
#endif
|
|
|
|
|
|
#endif /* __IWMHeaderInfo_INTERFACE_DEFINED__ */
|
|
|
|
/*****************************************************************************
|
|
* IWMHeaderInfo2 interface
|
|
*/
|
|
#ifndef __IWMHeaderInfo2_INTERFACE_DEFINED__
|
|
#define __IWMHeaderInfo2_INTERFACE_DEFINED__
|
|
|
|
DEFINE_GUID(IID_IWMHeaderInfo2, 0x15cf9781, 0x454e, 0x482e, 0xb3,0x93, 0x85,0xfa,0xe4,0x87,0xa8,0x10);
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
MIDL_INTERFACE("15cf9781-454e-482e-b393-85fae487a810")
|
|
IWMHeaderInfo2 : public IWMHeaderInfo
|
|
{
|
|
virtual HRESULT STDMETHODCALLTYPE GetCodecInfoCount(
|
|
DWORD *codec_infos) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetCodecInfo(
|
|
DWORD index,
|
|
WORD *name_len,
|
|
WCHAR *name,
|
|
WORD *description_len,
|
|
WCHAR *description,
|
|
WMT_CODEC_INFO_TYPE *codec_type,
|
|
WORD *codec_info_cnt,
|
|
BYTE *codec_info) = 0;
|
|
|
|
};
|
|
#ifdef __CRT_UUID_DECL
|
|
__CRT_UUID_DECL(IWMHeaderInfo2, 0x15cf9781, 0x454e, 0x482e, 0xb3,0x93, 0x85,0xfa,0xe4,0x87,0xa8,0x10)
|
|
#endif
|
|
#else
|
|
typedef struct IWMHeaderInfo2Vtbl {
|
|
BEGIN_INTERFACE
|
|
|
|
/*** IUnknown methods ***/
|
|
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
|
|
IWMHeaderInfo2 *This,
|
|
REFIID riid,
|
|
void **ppvObject);
|
|
|
|
ULONG (STDMETHODCALLTYPE *AddRef)(
|
|
IWMHeaderInfo2 *This);
|
|
|
|
ULONG (STDMETHODCALLTYPE *Release)(
|
|
IWMHeaderInfo2 *This);
|
|
|
|
/*** IWMHeaderInfo methods ***/
|
|
HRESULT (STDMETHODCALLTYPE *GetAttributeCount)(
|
|
IWMHeaderInfo2 *This,
|
|
WORD stream_num,
|
|
WORD *attributes);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetAttributeByIndex)(
|
|
IWMHeaderInfo2 *This,
|
|
WORD index,
|
|
WORD *stream_num,
|
|
WCHAR *name,
|
|
WORD *name_len,
|
|
WMT_ATTR_DATATYPE *type,
|
|
BYTE *value,
|
|
WORD *length);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetAttributeByName)(
|
|
IWMHeaderInfo2 *This,
|
|
WORD *stream_num,
|
|
LPCWSTR name,
|
|
WMT_ATTR_DATATYPE *type,
|
|
BYTE *value,
|
|
WORD *length);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetAttribute)(
|
|
IWMHeaderInfo2 *This,
|
|
WORD stream_num,
|
|
LPCWSTR name,
|
|
WMT_ATTR_DATATYPE type,
|
|
const BYTE *value,
|
|
WORD length);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetMarkerCount)(
|
|
IWMHeaderInfo2 *This,
|
|
WORD *markers);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetMarker)(
|
|
IWMHeaderInfo2 *This,
|
|
WORD index,
|
|
WCHAR *marker_name,
|
|
WORD *marker_len,
|
|
QWORD *marker_time);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *AddMarker)(
|
|
IWMHeaderInfo2 *This,
|
|
LPCWSTR_WMSDK_TYPE_SAFE marker_name,
|
|
QWORD marker_time);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *RemoveMarker)(
|
|
IWMHeaderInfo2 *This,
|
|
WORD index);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetScriptCount)(
|
|
IWMHeaderInfo2 *This,
|
|
WORD *scripts);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetScript)(
|
|
IWMHeaderInfo2 *This,
|
|
WORD index,
|
|
WCHAR *type,
|
|
WORD *type_len,
|
|
WCHAR *command,
|
|
WORD *command_len,
|
|
QWORD *script_time);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *AddScript)(
|
|
IWMHeaderInfo2 *This,
|
|
LPCWSTR_WMSDK_TYPE_SAFE type,
|
|
LPCWSTR_WMSDK_TYPE_SAFE command,
|
|
QWORD script_time);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *RemoveScript)(
|
|
IWMHeaderInfo2 *This,
|
|
WORD index);
|
|
|
|
/*** IWMHeaderInfo2 methods ***/
|
|
HRESULT (STDMETHODCALLTYPE *GetCodecInfoCount)(
|
|
IWMHeaderInfo2 *This,
|
|
DWORD *codec_infos);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetCodecInfo)(
|
|
IWMHeaderInfo2 *This,
|
|
DWORD index,
|
|
WORD *name_len,
|
|
WCHAR *name,
|
|
WORD *description_len,
|
|
WCHAR *description,
|
|
WMT_CODEC_INFO_TYPE *codec_type,
|
|
WORD *codec_info_cnt,
|
|
BYTE *codec_info);
|
|
|
|
END_INTERFACE
|
|
} IWMHeaderInfo2Vtbl;
|
|
|
|
interface IWMHeaderInfo2 {
|
|
CONST_VTBL IWMHeaderInfo2Vtbl* lpVtbl;
|
|
};
|
|
|
|
#ifdef COBJMACROS
|
|
#ifndef WIDL_C_INLINE_WRAPPERS
|
|
/*** IUnknown methods ***/
|
|
#define IWMHeaderInfo2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
|
|
#define IWMHeaderInfo2_AddRef(This) (This)->lpVtbl->AddRef(This)
|
|
#define IWMHeaderInfo2_Release(This) (This)->lpVtbl->Release(This)
|
|
/*** IWMHeaderInfo methods ***/
|
|
#define IWMHeaderInfo2_GetAttributeCount(This,stream_num,attributes) (This)->lpVtbl->GetAttributeCount(This,stream_num,attributes)
|
|
#define IWMHeaderInfo2_GetAttributeByIndex(This,index,stream_num,name,name_len,type,value,length) (This)->lpVtbl->GetAttributeByIndex(This,index,stream_num,name,name_len,type,value,length)
|
|
#define IWMHeaderInfo2_GetAttributeByName(This,stream_num,name,type,value,length) (This)->lpVtbl->GetAttributeByName(This,stream_num,name,type,value,length)
|
|
#define IWMHeaderInfo2_SetAttribute(This,stream_num,name,type,value,length) (This)->lpVtbl->SetAttribute(This,stream_num,name,type,value,length)
|
|
#define IWMHeaderInfo2_GetMarkerCount(This,markers) (This)->lpVtbl->GetMarkerCount(This,markers)
|
|
#define IWMHeaderInfo2_GetMarker(This,index,marker_name,marker_len,marker_time) (This)->lpVtbl->GetMarker(This,index,marker_name,marker_len,marker_time)
|
|
#define IWMHeaderInfo2_AddMarker(This,marker_name,marker_time) (This)->lpVtbl->AddMarker(This,marker_name,marker_time)
|
|
#define IWMHeaderInfo2_RemoveMarker(This,index) (This)->lpVtbl->RemoveMarker(This,index)
|
|
#define IWMHeaderInfo2_GetScriptCount(This,scripts) (This)->lpVtbl->GetScriptCount(This,scripts)
|
|
#define IWMHeaderInfo2_GetScript(This,index,type,type_len,command,command_len,script_time) (This)->lpVtbl->GetScript(This,index,type,type_len,command,command_len,script_time)
|
|
#define IWMHeaderInfo2_AddScript(This,type,command,script_time) (This)->lpVtbl->AddScript(This,type,command,script_time)
|
|
#define IWMHeaderInfo2_RemoveScript(This,index) (This)->lpVtbl->RemoveScript(This,index)
|
|
/*** IWMHeaderInfo2 methods ***/
|
|
#define IWMHeaderInfo2_GetCodecInfoCount(This,codec_infos) (This)->lpVtbl->GetCodecInfoCount(This,codec_infos)
|
|
#define IWMHeaderInfo2_GetCodecInfo(This,index,name_len,name,description_len,description,codec_type,codec_info_cnt,codec_info) (This)->lpVtbl->GetCodecInfo(This,index,name_len,name,description_len,description,codec_type,codec_info_cnt,codec_info)
|
|
#else
|
|
/*** IUnknown methods ***/
|
|
static FORCEINLINE HRESULT IWMHeaderInfo2_QueryInterface(IWMHeaderInfo2* This,REFIID riid,void **ppvObject) {
|
|
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
|
|
}
|
|
static FORCEINLINE ULONG IWMHeaderInfo2_AddRef(IWMHeaderInfo2* This) {
|
|
return This->lpVtbl->AddRef(This);
|
|
}
|
|
static FORCEINLINE ULONG IWMHeaderInfo2_Release(IWMHeaderInfo2* This) {
|
|
return This->lpVtbl->Release(This);
|
|
}
|
|
/*** IWMHeaderInfo methods ***/
|
|
static FORCEINLINE HRESULT IWMHeaderInfo2_GetAttributeCount(IWMHeaderInfo2* This,WORD stream_num,WORD *attributes) {
|
|
return This->lpVtbl->GetAttributeCount(This,stream_num,attributes);
|
|
}
|
|
static FORCEINLINE HRESULT IWMHeaderInfo2_GetAttributeByIndex(IWMHeaderInfo2* This,WORD index,WORD *stream_num,WCHAR *name,WORD *name_len,WMT_ATTR_DATATYPE *type,BYTE *value,WORD *length) {
|
|
return This->lpVtbl->GetAttributeByIndex(This,index,stream_num,name,name_len,type,value,length);
|
|
}
|
|
static FORCEINLINE HRESULT IWMHeaderInfo2_GetAttributeByName(IWMHeaderInfo2* This,WORD *stream_num,LPCWSTR name,WMT_ATTR_DATATYPE *type,BYTE *value,WORD *length) {
|
|
return This->lpVtbl->GetAttributeByName(This,stream_num,name,type,value,length);
|
|
}
|
|
static FORCEINLINE HRESULT IWMHeaderInfo2_SetAttribute(IWMHeaderInfo2* This,WORD stream_num,LPCWSTR name,WMT_ATTR_DATATYPE type,const BYTE *value,WORD length) {
|
|
return This->lpVtbl->SetAttribute(This,stream_num,name,type,value,length);
|
|
}
|
|
static FORCEINLINE HRESULT IWMHeaderInfo2_GetMarkerCount(IWMHeaderInfo2* This,WORD *markers) {
|
|
return This->lpVtbl->GetMarkerCount(This,markers);
|
|
}
|
|
static FORCEINLINE HRESULT IWMHeaderInfo2_GetMarker(IWMHeaderInfo2* This,WORD index,WCHAR *marker_name,WORD *marker_len,QWORD *marker_time) {
|
|
return This->lpVtbl->GetMarker(This,index,marker_name,marker_len,marker_time);
|
|
}
|
|
static FORCEINLINE HRESULT IWMHeaderInfo2_AddMarker(IWMHeaderInfo2* This,LPCWSTR_WMSDK_TYPE_SAFE marker_name,QWORD marker_time) {
|
|
return This->lpVtbl->AddMarker(This,marker_name,marker_time);
|
|
}
|
|
static FORCEINLINE HRESULT IWMHeaderInfo2_RemoveMarker(IWMHeaderInfo2* This,WORD index) {
|
|
return This->lpVtbl->RemoveMarker(This,index);
|
|
}
|
|
static FORCEINLINE HRESULT IWMHeaderInfo2_GetScriptCount(IWMHeaderInfo2* This,WORD *scripts) {
|
|
return This->lpVtbl->GetScriptCount(This,scripts);
|
|
}
|
|
static FORCEINLINE HRESULT IWMHeaderInfo2_GetScript(IWMHeaderInfo2* This,WORD index,WCHAR *type,WORD *type_len,WCHAR *command,WORD *command_len,QWORD *script_time) {
|
|
return This->lpVtbl->GetScript(This,index,type,type_len,command,command_len,script_time);
|
|
}
|
|
static FORCEINLINE HRESULT IWMHeaderInfo2_AddScript(IWMHeaderInfo2* This,LPCWSTR_WMSDK_TYPE_SAFE type,LPCWSTR_WMSDK_TYPE_SAFE command,QWORD script_time) {
|
|
return This->lpVtbl->AddScript(This,type,command,script_time);
|
|
}
|
|
static FORCEINLINE HRESULT IWMHeaderInfo2_RemoveScript(IWMHeaderInfo2* This,WORD index) {
|
|
return This->lpVtbl->RemoveScript(This,index);
|
|
}
|
|
/*** IWMHeaderInfo2 methods ***/
|
|
static FORCEINLINE HRESULT IWMHeaderInfo2_GetCodecInfoCount(IWMHeaderInfo2* This,DWORD *codec_infos) {
|
|
return This->lpVtbl->GetCodecInfoCount(This,codec_infos);
|
|
}
|
|
static FORCEINLINE HRESULT IWMHeaderInfo2_GetCodecInfo(IWMHeaderInfo2* This,DWORD index,WORD *name_len,WCHAR *name,WORD *description_len,WCHAR *description,WMT_CODEC_INFO_TYPE *codec_type,WORD *codec_info_cnt,BYTE *codec_info) {
|
|
return This->lpVtbl->GetCodecInfo(This,index,name_len,name,description_len,description,codec_type,codec_info_cnt,codec_info);
|
|
}
|
|
#endif
|
|
#endif
|
|
|
|
#endif
|
|
|
|
|
|
#endif /* __IWMHeaderInfo2_INTERFACE_DEFINED__ */
|
|
|
|
/*****************************************************************************
|
|
* IWMHeaderInfo3 interface
|
|
*/
|
|
#ifndef __IWMHeaderInfo3_INTERFACE_DEFINED__
|
|
#define __IWMHeaderInfo3_INTERFACE_DEFINED__
|
|
|
|
DEFINE_GUID(IID_IWMHeaderInfo3, 0x15cc68e3, 0x27cc, 0x4ecd, 0xb2,0x22, 0x3f,0x5d,0x02,0xd8,0x0b,0xd5);
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
MIDL_INTERFACE("15cc68e3-27cc-4ecd-b222-3f5d02d80bd5")
|
|
IWMHeaderInfo3 : public IWMHeaderInfo2
|
|
{
|
|
virtual HRESULT STDMETHODCALLTYPE GetAttributeCountEx(
|
|
WORD stream_num,
|
|
WORD *attributes) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetAttributeIndices(
|
|
WORD stream_num,
|
|
LPCWSTR name,
|
|
WORD *lang_index,
|
|
WORD *indices,
|
|
WORD *count) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetAttributeByIndexEx(
|
|
WORD stream_num,
|
|
WORD index,
|
|
LPWSTR name,
|
|
WORD *name_len,
|
|
WMT_ATTR_DATATYPE *type,
|
|
WORD *lang_index,
|
|
BYTE *value,
|
|
DWORD *data_len) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE ModifyAttribute(
|
|
WORD stream_num,
|
|
WORD index,
|
|
WMT_ATTR_DATATYPE type,
|
|
WORD lang_index,
|
|
const BYTE *value,
|
|
DWORD length) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE AddAttribute(
|
|
WORD stream_num,
|
|
LPCWSTR name,
|
|
WORD *index,
|
|
WMT_ATTR_DATATYPE type,
|
|
WORD lang_index,
|
|
const BYTE *value,
|
|
DWORD length) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE DeleteAttribute(
|
|
WORD stream_num,
|
|
WORD index) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE AddCodecInfo(
|
|
LPCWSTR_WMSDK_TYPE_SAFE name,
|
|
LPCWSTR_WMSDK_TYPE_SAFE description,
|
|
WMT_CODEC_INFO_TYPE codec_type,
|
|
WORD codec_info_cnt,
|
|
BYTE *codec_info) = 0;
|
|
|
|
};
|
|
#ifdef __CRT_UUID_DECL
|
|
__CRT_UUID_DECL(IWMHeaderInfo3, 0x15cc68e3, 0x27cc, 0x4ecd, 0xb2,0x22, 0x3f,0x5d,0x02,0xd8,0x0b,0xd5)
|
|
#endif
|
|
#else
|
|
typedef struct IWMHeaderInfo3Vtbl {
|
|
BEGIN_INTERFACE
|
|
|
|
/*** IUnknown methods ***/
|
|
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
|
|
IWMHeaderInfo3 *This,
|
|
REFIID riid,
|
|
void **ppvObject);
|
|
|
|
ULONG (STDMETHODCALLTYPE *AddRef)(
|
|
IWMHeaderInfo3 *This);
|
|
|
|
ULONG (STDMETHODCALLTYPE *Release)(
|
|
IWMHeaderInfo3 *This);
|
|
|
|
/*** IWMHeaderInfo methods ***/
|
|
HRESULT (STDMETHODCALLTYPE *GetAttributeCount)(
|
|
IWMHeaderInfo3 *This,
|
|
WORD stream_num,
|
|
WORD *attributes);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetAttributeByIndex)(
|
|
IWMHeaderInfo3 *This,
|
|
WORD index,
|
|
WORD *stream_num,
|
|
WCHAR *name,
|
|
WORD *name_len,
|
|
WMT_ATTR_DATATYPE *type,
|
|
BYTE *value,
|
|
WORD *length);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetAttributeByName)(
|
|
IWMHeaderInfo3 *This,
|
|
WORD *stream_num,
|
|
LPCWSTR name,
|
|
WMT_ATTR_DATATYPE *type,
|
|
BYTE *value,
|
|
WORD *length);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetAttribute)(
|
|
IWMHeaderInfo3 *This,
|
|
WORD stream_num,
|
|
LPCWSTR name,
|
|
WMT_ATTR_DATATYPE type,
|
|
const BYTE *value,
|
|
WORD length);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetMarkerCount)(
|
|
IWMHeaderInfo3 *This,
|
|
WORD *markers);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetMarker)(
|
|
IWMHeaderInfo3 *This,
|
|
WORD index,
|
|
WCHAR *marker_name,
|
|
WORD *marker_len,
|
|
QWORD *marker_time);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *AddMarker)(
|
|
IWMHeaderInfo3 *This,
|
|
LPCWSTR_WMSDK_TYPE_SAFE marker_name,
|
|
QWORD marker_time);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *RemoveMarker)(
|
|
IWMHeaderInfo3 *This,
|
|
WORD index);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetScriptCount)(
|
|
IWMHeaderInfo3 *This,
|
|
WORD *scripts);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetScript)(
|
|
IWMHeaderInfo3 *This,
|
|
WORD index,
|
|
WCHAR *type,
|
|
WORD *type_len,
|
|
WCHAR *command,
|
|
WORD *command_len,
|
|
QWORD *script_time);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *AddScript)(
|
|
IWMHeaderInfo3 *This,
|
|
LPCWSTR_WMSDK_TYPE_SAFE type,
|
|
LPCWSTR_WMSDK_TYPE_SAFE command,
|
|
QWORD script_time);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *RemoveScript)(
|
|
IWMHeaderInfo3 *This,
|
|
WORD index);
|
|
|
|
/*** IWMHeaderInfo2 methods ***/
|
|
HRESULT (STDMETHODCALLTYPE *GetCodecInfoCount)(
|
|
IWMHeaderInfo3 *This,
|
|
DWORD *codec_infos);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetCodecInfo)(
|
|
IWMHeaderInfo3 *This,
|
|
DWORD index,
|
|
WORD *name_len,
|
|
WCHAR *name,
|
|
WORD *description_len,
|
|
WCHAR *description,
|
|
WMT_CODEC_INFO_TYPE *codec_type,
|
|
WORD *codec_info_cnt,
|
|
BYTE *codec_info);
|
|
|
|
/*** IWMHeaderInfo3 methods ***/
|
|
HRESULT (STDMETHODCALLTYPE *GetAttributeCountEx)(
|
|
IWMHeaderInfo3 *This,
|
|
WORD stream_num,
|
|
WORD *attributes);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetAttributeIndices)(
|
|
IWMHeaderInfo3 *This,
|
|
WORD stream_num,
|
|
LPCWSTR name,
|
|
WORD *lang_index,
|
|
WORD *indices,
|
|
WORD *count);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetAttributeByIndexEx)(
|
|
IWMHeaderInfo3 *This,
|
|
WORD stream_num,
|
|
WORD index,
|
|
LPWSTR name,
|
|
WORD *name_len,
|
|
WMT_ATTR_DATATYPE *type,
|
|
WORD *lang_index,
|
|
BYTE *value,
|
|
DWORD *data_len);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *ModifyAttribute)(
|
|
IWMHeaderInfo3 *This,
|
|
WORD stream_num,
|
|
WORD index,
|
|
WMT_ATTR_DATATYPE type,
|
|
WORD lang_index,
|
|
const BYTE *value,
|
|
DWORD length);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *AddAttribute)(
|
|
IWMHeaderInfo3 *This,
|
|
WORD stream_num,
|
|
LPCWSTR name,
|
|
WORD *index,
|
|
WMT_ATTR_DATATYPE type,
|
|
WORD lang_index,
|
|
const BYTE *value,
|
|
DWORD length);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *DeleteAttribute)(
|
|
IWMHeaderInfo3 *This,
|
|
WORD stream_num,
|
|
WORD index);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *AddCodecInfo)(
|
|
IWMHeaderInfo3 *This,
|
|
LPCWSTR_WMSDK_TYPE_SAFE name,
|
|
LPCWSTR_WMSDK_TYPE_SAFE description,
|
|
WMT_CODEC_INFO_TYPE codec_type,
|
|
WORD codec_info_cnt,
|
|
BYTE *codec_info);
|
|
|
|
END_INTERFACE
|
|
} IWMHeaderInfo3Vtbl;
|
|
|
|
interface IWMHeaderInfo3 {
|
|
CONST_VTBL IWMHeaderInfo3Vtbl* lpVtbl;
|
|
};
|
|
|
|
#ifdef COBJMACROS
|
|
#ifndef WIDL_C_INLINE_WRAPPERS
|
|
/*** IUnknown methods ***/
|
|
#define IWMHeaderInfo3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
|
|
#define IWMHeaderInfo3_AddRef(This) (This)->lpVtbl->AddRef(This)
|
|
#define IWMHeaderInfo3_Release(This) (This)->lpVtbl->Release(This)
|
|
/*** IWMHeaderInfo methods ***/
|
|
#define IWMHeaderInfo3_GetAttributeCount(This,stream_num,attributes) (This)->lpVtbl->GetAttributeCount(This,stream_num,attributes)
|
|
#define IWMHeaderInfo3_GetAttributeByIndex(This,index,stream_num,name,name_len,type,value,length) (This)->lpVtbl->GetAttributeByIndex(This,index,stream_num,name,name_len,type,value,length)
|
|
#define IWMHeaderInfo3_GetAttributeByName(This,stream_num,name,type,value,length) (This)->lpVtbl->GetAttributeByName(This,stream_num,name,type,value,length)
|
|
#define IWMHeaderInfo3_SetAttribute(This,stream_num,name,type,value,length) (This)->lpVtbl->SetAttribute(This,stream_num,name,type,value,length)
|
|
#define IWMHeaderInfo3_GetMarkerCount(This,markers) (This)->lpVtbl->GetMarkerCount(This,markers)
|
|
#define IWMHeaderInfo3_GetMarker(This,index,marker_name,marker_len,marker_time) (This)->lpVtbl->GetMarker(This,index,marker_name,marker_len,marker_time)
|
|
#define IWMHeaderInfo3_AddMarker(This,marker_name,marker_time) (This)->lpVtbl->AddMarker(This,marker_name,marker_time)
|
|
#define IWMHeaderInfo3_RemoveMarker(This,index) (This)->lpVtbl->RemoveMarker(This,index)
|
|
#define IWMHeaderInfo3_GetScriptCount(This,scripts) (This)->lpVtbl->GetScriptCount(This,scripts)
|
|
#define IWMHeaderInfo3_GetScript(This,index,type,type_len,command,command_len,script_time) (This)->lpVtbl->GetScript(This,index,type,type_len,command,command_len,script_time)
|
|
#define IWMHeaderInfo3_AddScript(This,type,command,script_time) (This)->lpVtbl->AddScript(This,type,command,script_time)
|
|
#define IWMHeaderInfo3_RemoveScript(This,index) (This)->lpVtbl->RemoveScript(This,index)
|
|
/*** IWMHeaderInfo2 methods ***/
|
|
#define IWMHeaderInfo3_GetCodecInfoCount(This,codec_infos) (This)->lpVtbl->GetCodecInfoCount(This,codec_infos)
|
|
#define IWMHeaderInfo3_GetCodecInfo(This,index,name_len,name,description_len,description,codec_type,codec_info_cnt,codec_info) (This)->lpVtbl->GetCodecInfo(This,index,name_len,name,description_len,description,codec_type,codec_info_cnt,codec_info)
|
|
/*** IWMHeaderInfo3 methods ***/
|
|
#define IWMHeaderInfo3_GetAttributeCountEx(This,stream_num,attributes) (This)->lpVtbl->GetAttributeCountEx(This,stream_num,attributes)
|
|
#define IWMHeaderInfo3_GetAttributeIndices(This,stream_num,name,lang_index,indices,count) (This)->lpVtbl->GetAttributeIndices(This,stream_num,name,lang_index,indices,count)
|
|
#define IWMHeaderInfo3_GetAttributeByIndexEx(This,stream_num,index,name,name_len,type,lang_index,value,data_len) (This)->lpVtbl->GetAttributeByIndexEx(This,stream_num,index,name,name_len,type,lang_index,value,data_len)
|
|
#define IWMHeaderInfo3_ModifyAttribute(This,stream_num,index,type,lang_index,value,length) (This)->lpVtbl->ModifyAttribute(This,stream_num,index,type,lang_index,value,length)
|
|
#define IWMHeaderInfo3_AddAttribute(This,stream_num,name,index,type,lang_index,value,length) (This)->lpVtbl->AddAttribute(This,stream_num,name,index,type,lang_index,value,length)
|
|
#define IWMHeaderInfo3_DeleteAttribute(This,stream_num,index) (This)->lpVtbl->DeleteAttribute(This,stream_num,index)
|
|
#define IWMHeaderInfo3_AddCodecInfo(This,name,description,codec_type,codec_info_cnt,codec_info) (This)->lpVtbl->AddCodecInfo(This,name,description,codec_type,codec_info_cnt,codec_info)
|
|
#else
|
|
/*** IUnknown methods ***/
|
|
static FORCEINLINE HRESULT IWMHeaderInfo3_QueryInterface(IWMHeaderInfo3* This,REFIID riid,void **ppvObject) {
|
|
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
|
|
}
|
|
static FORCEINLINE ULONG IWMHeaderInfo3_AddRef(IWMHeaderInfo3* This) {
|
|
return This->lpVtbl->AddRef(This);
|
|
}
|
|
static FORCEINLINE ULONG IWMHeaderInfo3_Release(IWMHeaderInfo3* This) {
|
|
return This->lpVtbl->Release(This);
|
|
}
|
|
/*** IWMHeaderInfo methods ***/
|
|
static FORCEINLINE HRESULT IWMHeaderInfo3_GetAttributeCount(IWMHeaderInfo3* This,WORD stream_num,WORD *attributes) {
|
|
return This->lpVtbl->GetAttributeCount(This,stream_num,attributes);
|
|
}
|
|
static FORCEINLINE HRESULT IWMHeaderInfo3_GetAttributeByIndex(IWMHeaderInfo3* This,WORD index,WORD *stream_num,WCHAR *name,WORD *name_len,WMT_ATTR_DATATYPE *type,BYTE *value,WORD *length) {
|
|
return This->lpVtbl->GetAttributeByIndex(This,index,stream_num,name,name_len,type,value,length);
|
|
}
|
|
static FORCEINLINE HRESULT IWMHeaderInfo3_GetAttributeByName(IWMHeaderInfo3* This,WORD *stream_num,LPCWSTR name,WMT_ATTR_DATATYPE *type,BYTE *value,WORD *length) {
|
|
return This->lpVtbl->GetAttributeByName(This,stream_num,name,type,value,length);
|
|
}
|
|
static FORCEINLINE HRESULT IWMHeaderInfo3_SetAttribute(IWMHeaderInfo3* This,WORD stream_num,LPCWSTR name,WMT_ATTR_DATATYPE type,const BYTE *value,WORD length) {
|
|
return This->lpVtbl->SetAttribute(This,stream_num,name,type,value,length);
|
|
}
|
|
static FORCEINLINE HRESULT IWMHeaderInfo3_GetMarkerCount(IWMHeaderInfo3* This,WORD *markers) {
|
|
return This->lpVtbl->GetMarkerCount(This,markers);
|
|
}
|
|
static FORCEINLINE HRESULT IWMHeaderInfo3_GetMarker(IWMHeaderInfo3* This,WORD index,WCHAR *marker_name,WORD *marker_len,QWORD *marker_time) {
|
|
return This->lpVtbl->GetMarker(This,index,marker_name,marker_len,marker_time);
|
|
}
|
|
static FORCEINLINE HRESULT IWMHeaderInfo3_AddMarker(IWMHeaderInfo3* This,LPCWSTR_WMSDK_TYPE_SAFE marker_name,QWORD marker_time) {
|
|
return This->lpVtbl->AddMarker(This,marker_name,marker_time);
|
|
}
|
|
static FORCEINLINE HRESULT IWMHeaderInfo3_RemoveMarker(IWMHeaderInfo3* This,WORD index) {
|
|
return This->lpVtbl->RemoveMarker(This,index);
|
|
}
|
|
static FORCEINLINE HRESULT IWMHeaderInfo3_GetScriptCount(IWMHeaderInfo3* This,WORD *scripts) {
|
|
return This->lpVtbl->GetScriptCount(This,scripts);
|
|
}
|
|
static FORCEINLINE HRESULT IWMHeaderInfo3_GetScript(IWMHeaderInfo3* This,WORD index,WCHAR *type,WORD *type_len,WCHAR *command,WORD *command_len,QWORD *script_time) {
|
|
return This->lpVtbl->GetScript(This,index,type,type_len,command,command_len,script_time);
|
|
}
|
|
static FORCEINLINE HRESULT IWMHeaderInfo3_AddScript(IWMHeaderInfo3* This,LPCWSTR_WMSDK_TYPE_SAFE type,LPCWSTR_WMSDK_TYPE_SAFE command,QWORD script_time) {
|
|
return This->lpVtbl->AddScript(This,type,command,script_time);
|
|
}
|
|
static FORCEINLINE HRESULT IWMHeaderInfo3_RemoveScript(IWMHeaderInfo3* This,WORD index) {
|
|
return This->lpVtbl->RemoveScript(This,index);
|
|
}
|
|
/*** IWMHeaderInfo2 methods ***/
|
|
static FORCEINLINE HRESULT IWMHeaderInfo3_GetCodecInfoCount(IWMHeaderInfo3* This,DWORD *codec_infos) {
|
|
return This->lpVtbl->GetCodecInfoCount(This,codec_infos);
|
|
}
|
|
static FORCEINLINE HRESULT IWMHeaderInfo3_GetCodecInfo(IWMHeaderInfo3* This,DWORD index,WORD *name_len,WCHAR *name,WORD *description_len,WCHAR *description,WMT_CODEC_INFO_TYPE *codec_type,WORD *codec_info_cnt,BYTE *codec_info) {
|
|
return This->lpVtbl->GetCodecInfo(This,index,name_len,name,description_len,description,codec_type,codec_info_cnt,codec_info);
|
|
}
|
|
/*** IWMHeaderInfo3 methods ***/
|
|
static FORCEINLINE HRESULT IWMHeaderInfo3_GetAttributeCountEx(IWMHeaderInfo3* This,WORD stream_num,WORD *attributes) {
|
|
return This->lpVtbl->GetAttributeCountEx(This,stream_num,attributes);
|
|
}
|
|
static FORCEINLINE HRESULT IWMHeaderInfo3_GetAttributeIndices(IWMHeaderInfo3* This,WORD stream_num,LPCWSTR name,WORD *lang_index,WORD *indices,WORD *count) {
|
|
return This->lpVtbl->GetAttributeIndices(This,stream_num,name,lang_index,indices,count);
|
|
}
|
|
static FORCEINLINE HRESULT IWMHeaderInfo3_GetAttributeByIndexEx(IWMHeaderInfo3* This,WORD stream_num,WORD index,LPWSTR name,WORD *name_len,WMT_ATTR_DATATYPE *type,WORD *lang_index,BYTE *value,DWORD *data_len) {
|
|
return This->lpVtbl->GetAttributeByIndexEx(This,stream_num,index,name,name_len,type,lang_index,value,data_len);
|
|
}
|
|
static FORCEINLINE HRESULT IWMHeaderInfo3_ModifyAttribute(IWMHeaderInfo3* This,WORD stream_num,WORD index,WMT_ATTR_DATATYPE type,WORD lang_index,const BYTE *value,DWORD length) {
|
|
return This->lpVtbl->ModifyAttribute(This,stream_num,index,type,lang_index,value,length);
|
|
}
|
|
static FORCEINLINE HRESULT IWMHeaderInfo3_AddAttribute(IWMHeaderInfo3* This,WORD stream_num,LPCWSTR name,WORD *index,WMT_ATTR_DATATYPE type,WORD lang_index,const BYTE *value,DWORD length) {
|
|
return This->lpVtbl->AddAttribute(This,stream_num,name,index,type,lang_index,value,length);
|
|
}
|
|
static FORCEINLINE HRESULT IWMHeaderInfo3_DeleteAttribute(IWMHeaderInfo3* This,WORD stream_num,WORD index) {
|
|
return This->lpVtbl->DeleteAttribute(This,stream_num,index);
|
|
}
|
|
static FORCEINLINE HRESULT IWMHeaderInfo3_AddCodecInfo(IWMHeaderInfo3* This,LPCWSTR_WMSDK_TYPE_SAFE name,LPCWSTR_WMSDK_TYPE_SAFE description,WMT_CODEC_INFO_TYPE codec_type,WORD codec_info_cnt,BYTE *codec_info) {
|
|
return This->lpVtbl->AddCodecInfo(This,name,description,codec_type,codec_info_cnt,codec_info);
|
|
}
|
|
#endif
|
|
#endif
|
|
|
|
#endif
|
|
|
|
|
|
#endif /* __IWMHeaderInfo3_INTERFACE_DEFINED__ */
|
|
|
|
/*****************************************************************************
|
|
* IWMReaderNetworkConfig interface
|
|
*/
|
|
#ifndef __IWMReaderNetworkConfig_INTERFACE_DEFINED__
|
|
#define __IWMReaderNetworkConfig_INTERFACE_DEFINED__
|
|
|
|
DEFINE_GUID(IID_IWMReaderNetworkConfig, 0x96406bec, 0x2b2b, 0x11d3, 0xb3,0x6b, 0x00,0xc0,0x4f,0x61,0x08,0xff);
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
MIDL_INTERFACE("96406bec-2b2b-11d3-b36b-00c04f6108ff")
|
|
IWMReaderNetworkConfig : public IUnknown
|
|
{
|
|
virtual HRESULT STDMETHODCALLTYPE GetBufferingTime(
|
|
QWORD *buffering_time) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE SetBufferingTime(
|
|
QWORD buffering_time) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetUDPPortRanges(
|
|
WM_PORT_NUMBER_RANGE *array,
|
|
DWORD *ranges) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE SetUDPPortRanges(
|
|
WM_PORT_NUMBER_RANGE *array,
|
|
DWORD ranges) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetProxySettings(
|
|
const WCHAR *protocol,
|
|
WMT_PROXY_SETTINGS *proxy) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE SetProxySettings(
|
|
LPCWSTR protocol,
|
|
WMT_PROXY_SETTINGS proxy) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetProxyHostName(
|
|
const WCHAR *protocol,
|
|
WCHAR *hostname,
|
|
DWORD *size) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE SetProxyHostName(
|
|
const WCHAR *protocol,
|
|
const WCHAR *hostname) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetProxyPort(
|
|
const WCHAR *protocol,
|
|
DWORD *port) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE SetProxyPort(
|
|
const WCHAR *protocol,
|
|
DWORD port) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetProxyExceptionList(
|
|
const WCHAR *protocol,
|
|
WCHAR *exceptions,
|
|
DWORD *count) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE SetProxyExceptionList(
|
|
const WCHAR *protocol,
|
|
const WCHAR *exceptions) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetProxyBypassForLocal(
|
|
const WCHAR *protocol,
|
|
WINBOOL *bypass) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE SetProxyBypassForLocal(
|
|
const WCHAR *protocol,
|
|
WINBOOL bypass) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetForceRerunAutoProxyDetection(
|
|
WINBOOL *detection) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE SetForceRerunAutoProxyDetection(
|
|
WINBOOL detection) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetEnableMulticast(
|
|
WINBOOL *multicast) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE SetEnableMulticast(
|
|
WINBOOL multicast) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetEnableHTTP(
|
|
WINBOOL *enable) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE SetEnableHTTP(
|
|
WINBOOL enable) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetEnableUDP(
|
|
WINBOOL *enable) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE SetEnableUDP(
|
|
WINBOOL enable) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetEnableTCP(
|
|
WINBOOL *enable) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE SetEnableTCP(
|
|
WINBOOL enable) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE ResetProtocolRollover(
|
|
) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetConnectionBandwidth(
|
|
DWORD *bandwidth) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE SetConnectionBandwidth(
|
|
DWORD bandwidth) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetNumProtocolsSupported(
|
|
DWORD *protocols) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetSupportedProtocolName(
|
|
DWORD protocol_num,
|
|
WCHAR *protocol,
|
|
DWORD *size) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE AddLoggingUrl(
|
|
const WCHAR *url) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetLoggingUrl(
|
|
DWORD index,
|
|
WCHAR *url,
|
|
DWORD *size) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetLoggingUrlCount(
|
|
DWORD *count) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE ResetLoggingUrlList(
|
|
) = 0;
|
|
|
|
};
|
|
#ifdef __CRT_UUID_DECL
|
|
__CRT_UUID_DECL(IWMReaderNetworkConfig, 0x96406bec, 0x2b2b, 0x11d3, 0xb3,0x6b, 0x00,0xc0,0x4f,0x61,0x08,0xff)
|
|
#endif
|
|
#else
|
|
typedef struct IWMReaderNetworkConfigVtbl {
|
|
BEGIN_INTERFACE
|
|
|
|
/*** IUnknown methods ***/
|
|
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
|
|
IWMReaderNetworkConfig *This,
|
|
REFIID riid,
|
|
void **ppvObject);
|
|
|
|
ULONG (STDMETHODCALLTYPE *AddRef)(
|
|
IWMReaderNetworkConfig *This);
|
|
|
|
ULONG (STDMETHODCALLTYPE *Release)(
|
|
IWMReaderNetworkConfig *This);
|
|
|
|
/*** IWMReaderNetworkConfig methods ***/
|
|
HRESULT (STDMETHODCALLTYPE *GetBufferingTime)(
|
|
IWMReaderNetworkConfig *This,
|
|
QWORD *buffering_time);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetBufferingTime)(
|
|
IWMReaderNetworkConfig *This,
|
|
QWORD buffering_time);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetUDPPortRanges)(
|
|
IWMReaderNetworkConfig *This,
|
|
WM_PORT_NUMBER_RANGE *array,
|
|
DWORD *ranges);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetUDPPortRanges)(
|
|
IWMReaderNetworkConfig *This,
|
|
WM_PORT_NUMBER_RANGE *array,
|
|
DWORD ranges);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetProxySettings)(
|
|
IWMReaderNetworkConfig *This,
|
|
const WCHAR *protocol,
|
|
WMT_PROXY_SETTINGS *proxy);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetProxySettings)(
|
|
IWMReaderNetworkConfig *This,
|
|
LPCWSTR protocol,
|
|
WMT_PROXY_SETTINGS proxy);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetProxyHostName)(
|
|
IWMReaderNetworkConfig *This,
|
|
const WCHAR *protocol,
|
|
WCHAR *hostname,
|
|
DWORD *size);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetProxyHostName)(
|
|
IWMReaderNetworkConfig *This,
|
|
const WCHAR *protocol,
|
|
const WCHAR *hostname);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetProxyPort)(
|
|
IWMReaderNetworkConfig *This,
|
|
const WCHAR *protocol,
|
|
DWORD *port);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetProxyPort)(
|
|
IWMReaderNetworkConfig *This,
|
|
const WCHAR *protocol,
|
|
DWORD port);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetProxyExceptionList)(
|
|
IWMReaderNetworkConfig *This,
|
|
const WCHAR *protocol,
|
|
WCHAR *exceptions,
|
|
DWORD *count);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetProxyExceptionList)(
|
|
IWMReaderNetworkConfig *This,
|
|
const WCHAR *protocol,
|
|
const WCHAR *exceptions);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetProxyBypassForLocal)(
|
|
IWMReaderNetworkConfig *This,
|
|
const WCHAR *protocol,
|
|
WINBOOL *bypass);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetProxyBypassForLocal)(
|
|
IWMReaderNetworkConfig *This,
|
|
const WCHAR *protocol,
|
|
WINBOOL bypass);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetForceRerunAutoProxyDetection)(
|
|
IWMReaderNetworkConfig *This,
|
|
WINBOOL *detection);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetForceRerunAutoProxyDetection)(
|
|
IWMReaderNetworkConfig *This,
|
|
WINBOOL detection);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetEnableMulticast)(
|
|
IWMReaderNetworkConfig *This,
|
|
WINBOOL *multicast);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetEnableMulticast)(
|
|
IWMReaderNetworkConfig *This,
|
|
WINBOOL multicast);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetEnableHTTP)(
|
|
IWMReaderNetworkConfig *This,
|
|
WINBOOL *enable);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetEnableHTTP)(
|
|
IWMReaderNetworkConfig *This,
|
|
WINBOOL enable);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetEnableUDP)(
|
|
IWMReaderNetworkConfig *This,
|
|
WINBOOL *enable);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetEnableUDP)(
|
|
IWMReaderNetworkConfig *This,
|
|
WINBOOL enable);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetEnableTCP)(
|
|
IWMReaderNetworkConfig *This,
|
|
WINBOOL *enable);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetEnableTCP)(
|
|
IWMReaderNetworkConfig *This,
|
|
WINBOOL enable);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *ResetProtocolRollover)(
|
|
IWMReaderNetworkConfig *This);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetConnectionBandwidth)(
|
|
IWMReaderNetworkConfig *This,
|
|
DWORD *bandwidth);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetConnectionBandwidth)(
|
|
IWMReaderNetworkConfig *This,
|
|
DWORD bandwidth);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetNumProtocolsSupported)(
|
|
IWMReaderNetworkConfig *This,
|
|
DWORD *protocols);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetSupportedProtocolName)(
|
|
IWMReaderNetworkConfig *This,
|
|
DWORD protocol_num,
|
|
WCHAR *protocol,
|
|
DWORD *size);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *AddLoggingUrl)(
|
|
IWMReaderNetworkConfig *This,
|
|
const WCHAR *url);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetLoggingUrl)(
|
|
IWMReaderNetworkConfig *This,
|
|
DWORD index,
|
|
WCHAR *url,
|
|
DWORD *size);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetLoggingUrlCount)(
|
|
IWMReaderNetworkConfig *This,
|
|
DWORD *count);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *ResetLoggingUrlList)(
|
|
IWMReaderNetworkConfig *This);
|
|
|
|
END_INTERFACE
|
|
} IWMReaderNetworkConfigVtbl;
|
|
|
|
interface IWMReaderNetworkConfig {
|
|
CONST_VTBL IWMReaderNetworkConfigVtbl* lpVtbl;
|
|
};
|
|
|
|
#ifdef COBJMACROS
|
|
#ifndef WIDL_C_INLINE_WRAPPERS
|
|
/*** IUnknown methods ***/
|
|
#define IWMReaderNetworkConfig_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
|
|
#define IWMReaderNetworkConfig_AddRef(This) (This)->lpVtbl->AddRef(This)
|
|
#define IWMReaderNetworkConfig_Release(This) (This)->lpVtbl->Release(This)
|
|
/*** IWMReaderNetworkConfig methods ***/
|
|
#define IWMReaderNetworkConfig_GetBufferingTime(This,buffering_time) (This)->lpVtbl->GetBufferingTime(This,buffering_time)
|
|
#define IWMReaderNetworkConfig_SetBufferingTime(This,buffering_time) (This)->lpVtbl->SetBufferingTime(This,buffering_time)
|
|
#define IWMReaderNetworkConfig_GetUDPPortRanges(This,array,ranges) (This)->lpVtbl->GetUDPPortRanges(This,array,ranges)
|
|
#define IWMReaderNetworkConfig_SetUDPPortRanges(This,array,ranges) (This)->lpVtbl->SetUDPPortRanges(This,array,ranges)
|
|
#define IWMReaderNetworkConfig_GetProxySettings(This,protocol,proxy) (This)->lpVtbl->GetProxySettings(This,protocol,proxy)
|
|
#define IWMReaderNetworkConfig_SetProxySettings(This,protocol,proxy) (This)->lpVtbl->SetProxySettings(This,protocol,proxy)
|
|
#define IWMReaderNetworkConfig_GetProxyHostName(This,protocol,hostname,size) (This)->lpVtbl->GetProxyHostName(This,protocol,hostname,size)
|
|
#define IWMReaderNetworkConfig_SetProxyHostName(This,protocol,hostname) (This)->lpVtbl->SetProxyHostName(This,protocol,hostname)
|
|
#define IWMReaderNetworkConfig_GetProxyPort(This,protocol,port) (This)->lpVtbl->GetProxyPort(This,protocol,port)
|
|
#define IWMReaderNetworkConfig_SetProxyPort(This,protocol,port) (This)->lpVtbl->SetProxyPort(This,protocol,port)
|
|
#define IWMReaderNetworkConfig_GetProxyExceptionList(This,protocol,exceptions,count) (This)->lpVtbl->GetProxyExceptionList(This,protocol,exceptions,count)
|
|
#define IWMReaderNetworkConfig_SetProxyExceptionList(This,protocol,exceptions) (This)->lpVtbl->SetProxyExceptionList(This,protocol,exceptions)
|
|
#define IWMReaderNetworkConfig_GetProxyBypassForLocal(This,protocol,bypass) (This)->lpVtbl->GetProxyBypassForLocal(This,protocol,bypass)
|
|
#define IWMReaderNetworkConfig_SetProxyBypassForLocal(This,protocol,bypass) (This)->lpVtbl->SetProxyBypassForLocal(This,protocol,bypass)
|
|
#define IWMReaderNetworkConfig_GetForceRerunAutoProxyDetection(This,detection) (This)->lpVtbl->GetForceRerunAutoProxyDetection(This,detection)
|
|
#define IWMReaderNetworkConfig_SetForceRerunAutoProxyDetection(This,detection) (This)->lpVtbl->SetForceRerunAutoProxyDetection(This,detection)
|
|
#define IWMReaderNetworkConfig_GetEnableMulticast(This,multicast) (This)->lpVtbl->GetEnableMulticast(This,multicast)
|
|
#define IWMReaderNetworkConfig_SetEnableMulticast(This,multicast) (This)->lpVtbl->SetEnableMulticast(This,multicast)
|
|
#define IWMReaderNetworkConfig_GetEnableHTTP(This,enable) (This)->lpVtbl->GetEnableHTTP(This,enable)
|
|
#define IWMReaderNetworkConfig_SetEnableHTTP(This,enable) (This)->lpVtbl->SetEnableHTTP(This,enable)
|
|
#define IWMReaderNetworkConfig_GetEnableUDP(This,enable) (This)->lpVtbl->GetEnableUDP(This,enable)
|
|
#define IWMReaderNetworkConfig_SetEnableUDP(This,enable) (This)->lpVtbl->SetEnableUDP(This,enable)
|
|
#define IWMReaderNetworkConfig_GetEnableTCP(This,enable) (This)->lpVtbl->GetEnableTCP(This,enable)
|
|
#define IWMReaderNetworkConfig_SetEnableTCP(This,enable) (This)->lpVtbl->SetEnableTCP(This,enable)
|
|
#define IWMReaderNetworkConfig_ResetProtocolRollover(This) (This)->lpVtbl->ResetProtocolRollover(This)
|
|
#define IWMReaderNetworkConfig_GetConnectionBandwidth(This,bandwidth) (This)->lpVtbl->GetConnectionBandwidth(This,bandwidth)
|
|
#define IWMReaderNetworkConfig_SetConnectionBandwidth(This,bandwidth) (This)->lpVtbl->SetConnectionBandwidth(This,bandwidth)
|
|
#define IWMReaderNetworkConfig_GetNumProtocolsSupported(This,protocols) (This)->lpVtbl->GetNumProtocolsSupported(This,protocols)
|
|
#define IWMReaderNetworkConfig_GetSupportedProtocolName(This,protocol_num,protocol,size) (This)->lpVtbl->GetSupportedProtocolName(This,protocol_num,protocol,size)
|
|
#define IWMReaderNetworkConfig_AddLoggingUrl(This,url) (This)->lpVtbl->AddLoggingUrl(This,url)
|
|
#define IWMReaderNetworkConfig_GetLoggingUrl(This,index,url,size) (This)->lpVtbl->GetLoggingUrl(This,index,url,size)
|
|
#define IWMReaderNetworkConfig_GetLoggingUrlCount(This,count) (This)->lpVtbl->GetLoggingUrlCount(This,count)
|
|
#define IWMReaderNetworkConfig_ResetLoggingUrlList(This) (This)->lpVtbl->ResetLoggingUrlList(This)
|
|
#else
|
|
/*** IUnknown methods ***/
|
|
static FORCEINLINE HRESULT IWMReaderNetworkConfig_QueryInterface(IWMReaderNetworkConfig* This,REFIID riid,void **ppvObject) {
|
|
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
|
|
}
|
|
static FORCEINLINE ULONG IWMReaderNetworkConfig_AddRef(IWMReaderNetworkConfig* This) {
|
|
return This->lpVtbl->AddRef(This);
|
|
}
|
|
static FORCEINLINE ULONG IWMReaderNetworkConfig_Release(IWMReaderNetworkConfig* This) {
|
|
return This->lpVtbl->Release(This);
|
|
}
|
|
/*** IWMReaderNetworkConfig methods ***/
|
|
static FORCEINLINE HRESULT IWMReaderNetworkConfig_GetBufferingTime(IWMReaderNetworkConfig* This,QWORD *buffering_time) {
|
|
return This->lpVtbl->GetBufferingTime(This,buffering_time);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderNetworkConfig_SetBufferingTime(IWMReaderNetworkConfig* This,QWORD buffering_time) {
|
|
return This->lpVtbl->SetBufferingTime(This,buffering_time);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderNetworkConfig_GetUDPPortRanges(IWMReaderNetworkConfig* This,WM_PORT_NUMBER_RANGE *array,DWORD *ranges) {
|
|
return This->lpVtbl->GetUDPPortRanges(This,array,ranges);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderNetworkConfig_SetUDPPortRanges(IWMReaderNetworkConfig* This,WM_PORT_NUMBER_RANGE *array,DWORD ranges) {
|
|
return This->lpVtbl->SetUDPPortRanges(This,array,ranges);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderNetworkConfig_GetProxySettings(IWMReaderNetworkConfig* This,const WCHAR *protocol,WMT_PROXY_SETTINGS *proxy) {
|
|
return This->lpVtbl->GetProxySettings(This,protocol,proxy);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderNetworkConfig_SetProxySettings(IWMReaderNetworkConfig* This,LPCWSTR protocol,WMT_PROXY_SETTINGS proxy) {
|
|
return This->lpVtbl->SetProxySettings(This,protocol,proxy);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderNetworkConfig_GetProxyHostName(IWMReaderNetworkConfig* This,const WCHAR *protocol,WCHAR *hostname,DWORD *size) {
|
|
return This->lpVtbl->GetProxyHostName(This,protocol,hostname,size);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderNetworkConfig_SetProxyHostName(IWMReaderNetworkConfig* This,const WCHAR *protocol,const WCHAR *hostname) {
|
|
return This->lpVtbl->SetProxyHostName(This,protocol,hostname);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderNetworkConfig_GetProxyPort(IWMReaderNetworkConfig* This,const WCHAR *protocol,DWORD *port) {
|
|
return This->lpVtbl->GetProxyPort(This,protocol,port);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderNetworkConfig_SetProxyPort(IWMReaderNetworkConfig* This,const WCHAR *protocol,DWORD port) {
|
|
return This->lpVtbl->SetProxyPort(This,protocol,port);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderNetworkConfig_GetProxyExceptionList(IWMReaderNetworkConfig* This,const WCHAR *protocol,WCHAR *exceptions,DWORD *count) {
|
|
return This->lpVtbl->GetProxyExceptionList(This,protocol,exceptions,count);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderNetworkConfig_SetProxyExceptionList(IWMReaderNetworkConfig* This,const WCHAR *protocol,const WCHAR *exceptions) {
|
|
return This->lpVtbl->SetProxyExceptionList(This,protocol,exceptions);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderNetworkConfig_GetProxyBypassForLocal(IWMReaderNetworkConfig* This,const WCHAR *protocol,WINBOOL *bypass) {
|
|
return This->lpVtbl->GetProxyBypassForLocal(This,protocol,bypass);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderNetworkConfig_SetProxyBypassForLocal(IWMReaderNetworkConfig* This,const WCHAR *protocol,WINBOOL bypass) {
|
|
return This->lpVtbl->SetProxyBypassForLocal(This,protocol,bypass);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderNetworkConfig_GetForceRerunAutoProxyDetection(IWMReaderNetworkConfig* This,WINBOOL *detection) {
|
|
return This->lpVtbl->GetForceRerunAutoProxyDetection(This,detection);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderNetworkConfig_SetForceRerunAutoProxyDetection(IWMReaderNetworkConfig* This,WINBOOL detection) {
|
|
return This->lpVtbl->SetForceRerunAutoProxyDetection(This,detection);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderNetworkConfig_GetEnableMulticast(IWMReaderNetworkConfig* This,WINBOOL *multicast) {
|
|
return This->lpVtbl->GetEnableMulticast(This,multicast);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderNetworkConfig_SetEnableMulticast(IWMReaderNetworkConfig* This,WINBOOL multicast) {
|
|
return This->lpVtbl->SetEnableMulticast(This,multicast);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderNetworkConfig_GetEnableHTTP(IWMReaderNetworkConfig* This,WINBOOL *enable) {
|
|
return This->lpVtbl->GetEnableHTTP(This,enable);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderNetworkConfig_SetEnableHTTP(IWMReaderNetworkConfig* This,WINBOOL enable) {
|
|
return This->lpVtbl->SetEnableHTTP(This,enable);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderNetworkConfig_GetEnableUDP(IWMReaderNetworkConfig* This,WINBOOL *enable) {
|
|
return This->lpVtbl->GetEnableUDP(This,enable);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderNetworkConfig_SetEnableUDP(IWMReaderNetworkConfig* This,WINBOOL enable) {
|
|
return This->lpVtbl->SetEnableUDP(This,enable);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderNetworkConfig_GetEnableTCP(IWMReaderNetworkConfig* This,WINBOOL *enable) {
|
|
return This->lpVtbl->GetEnableTCP(This,enable);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderNetworkConfig_SetEnableTCP(IWMReaderNetworkConfig* This,WINBOOL enable) {
|
|
return This->lpVtbl->SetEnableTCP(This,enable);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderNetworkConfig_ResetProtocolRollover(IWMReaderNetworkConfig* This) {
|
|
return This->lpVtbl->ResetProtocolRollover(This);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderNetworkConfig_GetConnectionBandwidth(IWMReaderNetworkConfig* This,DWORD *bandwidth) {
|
|
return This->lpVtbl->GetConnectionBandwidth(This,bandwidth);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderNetworkConfig_SetConnectionBandwidth(IWMReaderNetworkConfig* This,DWORD bandwidth) {
|
|
return This->lpVtbl->SetConnectionBandwidth(This,bandwidth);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderNetworkConfig_GetNumProtocolsSupported(IWMReaderNetworkConfig* This,DWORD *protocols) {
|
|
return This->lpVtbl->GetNumProtocolsSupported(This,protocols);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderNetworkConfig_GetSupportedProtocolName(IWMReaderNetworkConfig* This,DWORD protocol_num,WCHAR *protocol,DWORD *size) {
|
|
return This->lpVtbl->GetSupportedProtocolName(This,protocol_num,protocol,size);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderNetworkConfig_AddLoggingUrl(IWMReaderNetworkConfig* This,const WCHAR *url) {
|
|
return This->lpVtbl->AddLoggingUrl(This,url);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderNetworkConfig_GetLoggingUrl(IWMReaderNetworkConfig* This,DWORD index,WCHAR *url,DWORD *size) {
|
|
return This->lpVtbl->GetLoggingUrl(This,index,url,size);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderNetworkConfig_GetLoggingUrlCount(IWMReaderNetworkConfig* This,DWORD *count) {
|
|
return This->lpVtbl->GetLoggingUrlCount(This,count);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderNetworkConfig_ResetLoggingUrlList(IWMReaderNetworkConfig* This) {
|
|
return This->lpVtbl->ResetLoggingUrlList(This);
|
|
}
|
|
#endif
|
|
#endif
|
|
|
|
#endif
|
|
|
|
|
|
#endif /* __IWMReaderNetworkConfig_INTERFACE_DEFINED__ */
|
|
|
|
/*****************************************************************************
|
|
* IWMReaderNetworkConfig2 interface
|
|
*/
|
|
#ifndef __IWMReaderNetworkConfig2_INTERFACE_DEFINED__
|
|
#define __IWMReaderNetworkConfig2_INTERFACE_DEFINED__
|
|
|
|
DEFINE_GUID(IID_IWMReaderNetworkConfig2, 0xd979a853, 0x042b, 0x4050, 0x83,0x87, 0xc9,0x39,0xdb,0x22,0x01,0x3f);
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
MIDL_INTERFACE("d979a853-042b-4050-8387-c939db22013f")
|
|
IWMReaderNetworkConfig2 : public IWMReaderNetworkConfig
|
|
{
|
|
virtual HRESULT STDMETHODCALLTYPE GetEnableContentCaching(
|
|
WINBOOL *enable) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE SetEnableContentCaching(
|
|
WINBOOL enable) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetEnableFastCache(
|
|
WINBOOL *enable) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE SetEnableFastCache(
|
|
WINBOOL enable) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetAcceleratedStreamingDuration(
|
|
QWORD *duration) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE SetAcceleratedStreamingDuration(
|
|
QWORD duration) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetAutoReconnectLimit(
|
|
DWORD *limit) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE SetAutoReconnectLimit(
|
|
DWORD limit) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetEnableResends(
|
|
WINBOOL *enable) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE SetEnableResends(
|
|
WINBOOL enable) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetEnableThinning(
|
|
WINBOOL *enable) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE SetEnableThinning(
|
|
WINBOOL enable) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetMaxNetPacketSize(
|
|
DWORD *packet_size) = 0;
|
|
|
|
};
|
|
#ifdef __CRT_UUID_DECL
|
|
__CRT_UUID_DECL(IWMReaderNetworkConfig2, 0xd979a853, 0x042b, 0x4050, 0x83,0x87, 0xc9,0x39,0xdb,0x22,0x01,0x3f)
|
|
#endif
|
|
#else
|
|
typedef struct IWMReaderNetworkConfig2Vtbl {
|
|
BEGIN_INTERFACE
|
|
|
|
/*** IUnknown methods ***/
|
|
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
|
|
IWMReaderNetworkConfig2 *This,
|
|
REFIID riid,
|
|
void **ppvObject);
|
|
|
|
ULONG (STDMETHODCALLTYPE *AddRef)(
|
|
IWMReaderNetworkConfig2 *This);
|
|
|
|
ULONG (STDMETHODCALLTYPE *Release)(
|
|
IWMReaderNetworkConfig2 *This);
|
|
|
|
/*** IWMReaderNetworkConfig methods ***/
|
|
HRESULT (STDMETHODCALLTYPE *GetBufferingTime)(
|
|
IWMReaderNetworkConfig2 *This,
|
|
QWORD *buffering_time);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetBufferingTime)(
|
|
IWMReaderNetworkConfig2 *This,
|
|
QWORD buffering_time);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetUDPPortRanges)(
|
|
IWMReaderNetworkConfig2 *This,
|
|
WM_PORT_NUMBER_RANGE *array,
|
|
DWORD *ranges);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetUDPPortRanges)(
|
|
IWMReaderNetworkConfig2 *This,
|
|
WM_PORT_NUMBER_RANGE *array,
|
|
DWORD ranges);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetProxySettings)(
|
|
IWMReaderNetworkConfig2 *This,
|
|
const WCHAR *protocol,
|
|
WMT_PROXY_SETTINGS *proxy);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetProxySettings)(
|
|
IWMReaderNetworkConfig2 *This,
|
|
LPCWSTR protocol,
|
|
WMT_PROXY_SETTINGS proxy);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetProxyHostName)(
|
|
IWMReaderNetworkConfig2 *This,
|
|
const WCHAR *protocol,
|
|
WCHAR *hostname,
|
|
DWORD *size);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetProxyHostName)(
|
|
IWMReaderNetworkConfig2 *This,
|
|
const WCHAR *protocol,
|
|
const WCHAR *hostname);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetProxyPort)(
|
|
IWMReaderNetworkConfig2 *This,
|
|
const WCHAR *protocol,
|
|
DWORD *port);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetProxyPort)(
|
|
IWMReaderNetworkConfig2 *This,
|
|
const WCHAR *protocol,
|
|
DWORD port);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetProxyExceptionList)(
|
|
IWMReaderNetworkConfig2 *This,
|
|
const WCHAR *protocol,
|
|
WCHAR *exceptions,
|
|
DWORD *count);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetProxyExceptionList)(
|
|
IWMReaderNetworkConfig2 *This,
|
|
const WCHAR *protocol,
|
|
const WCHAR *exceptions);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetProxyBypassForLocal)(
|
|
IWMReaderNetworkConfig2 *This,
|
|
const WCHAR *protocol,
|
|
WINBOOL *bypass);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetProxyBypassForLocal)(
|
|
IWMReaderNetworkConfig2 *This,
|
|
const WCHAR *protocol,
|
|
WINBOOL bypass);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetForceRerunAutoProxyDetection)(
|
|
IWMReaderNetworkConfig2 *This,
|
|
WINBOOL *detection);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetForceRerunAutoProxyDetection)(
|
|
IWMReaderNetworkConfig2 *This,
|
|
WINBOOL detection);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetEnableMulticast)(
|
|
IWMReaderNetworkConfig2 *This,
|
|
WINBOOL *multicast);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetEnableMulticast)(
|
|
IWMReaderNetworkConfig2 *This,
|
|
WINBOOL multicast);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetEnableHTTP)(
|
|
IWMReaderNetworkConfig2 *This,
|
|
WINBOOL *enable);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetEnableHTTP)(
|
|
IWMReaderNetworkConfig2 *This,
|
|
WINBOOL enable);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetEnableUDP)(
|
|
IWMReaderNetworkConfig2 *This,
|
|
WINBOOL *enable);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetEnableUDP)(
|
|
IWMReaderNetworkConfig2 *This,
|
|
WINBOOL enable);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetEnableTCP)(
|
|
IWMReaderNetworkConfig2 *This,
|
|
WINBOOL *enable);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetEnableTCP)(
|
|
IWMReaderNetworkConfig2 *This,
|
|
WINBOOL enable);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *ResetProtocolRollover)(
|
|
IWMReaderNetworkConfig2 *This);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetConnectionBandwidth)(
|
|
IWMReaderNetworkConfig2 *This,
|
|
DWORD *bandwidth);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetConnectionBandwidth)(
|
|
IWMReaderNetworkConfig2 *This,
|
|
DWORD bandwidth);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetNumProtocolsSupported)(
|
|
IWMReaderNetworkConfig2 *This,
|
|
DWORD *protocols);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetSupportedProtocolName)(
|
|
IWMReaderNetworkConfig2 *This,
|
|
DWORD protocol_num,
|
|
WCHAR *protocol,
|
|
DWORD *size);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *AddLoggingUrl)(
|
|
IWMReaderNetworkConfig2 *This,
|
|
const WCHAR *url);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetLoggingUrl)(
|
|
IWMReaderNetworkConfig2 *This,
|
|
DWORD index,
|
|
WCHAR *url,
|
|
DWORD *size);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetLoggingUrlCount)(
|
|
IWMReaderNetworkConfig2 *This,
|
|
DWORD *count);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *ResetLoggingUrlList)(
|
|
IWMReaderNetworkConfig2 *This);
|
|
|
|
/*** IWMReaderNetworkConfig2 methods ***/
|
|
HRESULT (STDMETHODCALLTYPE *GetEnableContentCaching)(
|
|
IWMReaderNetworkConfig2 *This,
|
|
WINBOOL *enable);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetEnableContentCaching)(
|
|
IWMReaderNetworkConfig2 *This,
|
|
WINBOOL enable);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetEnableFastCache)(
|
|
IWMReaderNetworkConfig2 *This,
|
|
WINBOOL *enable);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetEnableFastCache)(
|
|
IWMReaderNetworkConfig2 *This,
|
|
WINBOOL enable);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetAcceleratedStreamingDuration)(
|
|
IWMReaderNetworkConfig2 *This,
|
|
QWORD *duration);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetAcceleratedStreamingDuration)(
|
|
IWMReaderNetworkConfig2 *This,
|
|
QWORD duration);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetAutoReconnectLimit)(
|
|
IWMReaderNetworkConfig2 *This,
|
|
DWORD *limit);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetAutoReconnectLimit)(
|
|
IWMReaderNetworkConfig2 *This,
|
|
DWORD limit);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetEnableResends)(
|
|
IWMReaderNetworkConfig2 *This,
|
|
WINBOOL *enable);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetEnableResends)(
|
|
IWMReaderNetworkConfig2 *This,
|
|
WINBOOL enable);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetEnableThinning)(
|
|
IWMReaderNetworkConfig2 *This,
|
|
WINBOOL *enable);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetEnableThinning)(
|
|
IWMReaderNetworkConfig2 *This,
|
|
WINBOOL enable);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetMaxNetPacketSize)(
|
|
IWMReaderNetworkConfig2 *This,
|
|
DWORD *packet_size);
|
|
|
|
END_INTERFACE
|
|
} IWMReaderNetworkConfig2Vtbl;
|
|
|
|
interface IWMReaderNetworkConfig2 {
|
|
CONST_VTBL IWMReaderNetworkConfig2Vtbl* lpVtbl;
|
|
};
|
|
|
|
#ifdef COBJMACROS
|
|
#ifndef WIDL_C_INLINE_WRAPPERS
|
|
/*** IUnknown methods ***/
|
|
#define IWMReaderNetworkConfig2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
|
|
#define IWMReaderNetworkConfig2_AddRef(This) (This)->lpVtbl->AddRef(This)
|
|
#define IWMReaderNetworkConfig2_Release(This) (This)->lpVtbl->Release(This)
|
|
/*** IWMReaderNetworkConfig methods ***/
|
|
#define IWMReaderNetworkConfig2_GetBufferingTime(This,buffering_time) (This)->lpVtbl->GetBufferingTime(This,buffering_time)
|
|
#define IWMReaderNetworkConfig2_SetBufferingTime(This,buffering_time) (This)->lpVtbl->SetBufferingTime(This,buffering_time)
|
|
#define IWMReaderNetworkConfig2_GetUDPPortRanges(This,array,ranges) (This)->lpVtbl->GetUDPPortRanges(This,array,ranges)
|
|
#define IWMReaderNetworkConfig2_SetUDPPortRanges(This,array,ranges) (This)->lpVtbl->SetUDPPortRanges(This,array,ranges)
|
|
#define IWMReaderNetworkConfig2_GetProxySettings(This,protocol,proxy) (This)->lpVtbl->GetProxySettings(This,protocol,proxy)
|
|
#define IWMReaderNetworkConfig2_SetProxySettings(This,protocol,proxy) (This)->lpVtbl->SetProxySettings(This,protocol,proxy)
|
|
#define IWMReaderNetworkConfig2_GetProxyHostName(This,protocol,hostname,size) (This)->lpVtbl->GetProxyHostName(This,protocol,hostname,size)
|
|
#define IWMReaderNetworkConfig2_SetProxyHostName(This,protocol,hostname) (This)->lpVtbl->SetProxyHostName(This,protocol,hostname)
|
|
#define IWMReaderNetworkConfig2_GetProxyPort(This,protocol,port) (This)->lpVtbl->GetProxyPort(This,protocol,port)
|
|
#define IWMReaderNetworkConfig2_SetProxyPort(This,protocol,port) (This)->lpVtbl->SetProxyPort(This,protocol,port)
|
|
#define IWMReaderNetworkConfig2_GetProxyExceptionList(This,protocol,exceptions,count) (This)->lpVtbl->GetProxyExceptionList(This,protocol,exceptions,count)
|
|
#define IWMReaderNetworkConfig2_SetProxyExceptionList(This,protocol,exceptions) (This)->lpVtbl->SetProxyExceptionList(This,protocol,exceptions)
|
|
#define IWMReaderNetworkConfig2_GetProxyBypassForLocal(This,protocol,bypass) (This)->lpVtbl->GetProxyBypassForLocal(This,protocol,bypass)
|
|
#define IWMReaderNetworkConfig2_SetProxyBypassForLocal(This,protocol,bypass) (This)->lpVtbl->SetProxyBypassForLocal(This,protocol,bypass)
|
|
#define IWMReaderNetworkConfig2_GetForceRerunAutoProxyDetection(This,detection) (This)->lpVtbl->GetForceRerunAutoProxyDetection(This,detection)
|
|
#define IWMReaderNetworkConfig2_SetForceRerunAutoProxyDetection(This,detection) (This)->lpVtbl->SetForceRerunAutoProxyDetection(This,detection)
|
|
#define IWMReaderNetworkConfig2_GetEnableMulticast(This,multicast) (This)->lpVtbl->GetEnableMulticast(This,multicast)
|
|
#define IWMReaderNetworkConfig2_SetEnableMulticast(This,multicast) (This)->lpVtbl->SetEnableMulticast(This,multicast)
|
|
#define IWMReaderNetworkConfig2_GetEnableHTTP(This,enable) (This)->lpVtbl->GetEnableHTTP(This,enable)
|
|
#define IWMReaderNetworkConfig2_SetEnableHTTP(This,enable) (This)->lpVtbl->SetEnableHTTP(This,enable)
|
|
#define IWMReaderNetworkConfig2_GetEnableUDP(This,enable) (This)->lpVtbl->GetEnableUDP(This,enable)
|
|
#define IWMReaderNetworkConfig2_SetEnableUDP(This,enable) (This)->lpVtbl->SetEnableUDP(This,enable)
|
|
#define IWMReaderNetworkConfig2_GetEnableTCP(This,enable) (This)->lpVtbl->GetEnableTCP(This,enable)
|
|
#define IWMReaderNetworkConfig2_SetEnableTCP(This,enable) (This)->lpVtbl->SetEnableTCP(This,enable)
|
|
#define IWMReaderNetworkConfig2_ResetProtocolRollover(This) (This)->lpVtbl->ResetProtocolRollover(This)
|
|
#define IWMReaderNetworkConfig2_GetConnectionBandwidth(This,bandwidth) (This)->lpVtbl->GetConnectionBandwidth(This,bandwidth)
|
|
#define IWMReaderNetworkConfig2_SetConnectionBandwidth(This,bandwidth) (This)->lpVtbl->SetConnectionBandwidth(This,bandwidth)
|
|
#define IWMReaderNetworkConfig2_GetNumProtocolsSupported(This,protocols) (This)->lpVtbl->GetNumProtocolsSupported(This,protocols)
|
|
#define IWMReaderNetworkConfig2_GetSupportedProtocolName(This,protocol_num,protocol,size) (This)->lpVtbl->GetSupportedProtocolName(This,protocol_num,protocol,size)
|
|
#define IWMReaderNetworkConfig2_AddLoggingUrl(This,url) (This)->lpVtbl->AddLoggingUrl(This,url)
|
|
#define IWMReaderNetworkConfig2_GetLoggingUrl(This,index,url,size) (This)->lpVtbl->GetLoggingUrl(This,index,url,size)
|
|
#define IWMReaderNetworkConfig2_GetLoggingUrlCount(This,count) (This)->lpVtbl->GetLoggingUrlCount(This,count)
|
|
#define IWMReaderNetworkConfig2_ResetLoggingUrlList(This) (This)->lpVtbl->ResetLoggingUrlList(This)
|
|
/*** IWMReaderNetworkConfig2 methods ***/
|
|
#define IWMReaderNetworkConfig2_GetEnableContentCaching(This,enable) (This)->lpVtbl->GetEnableContentCaching(This,enable)
|
|
#define IWMReaderNetworkConfig2_SetEnableContentCaching(This,enable) (This)->lpVtbl->SetEnableContentCaching(This,enable)
|
|
#define IWMReaderNetworkConfig2_GetEnableFastCache(This,enable) (This)->lpVtbl->GetEnableFastCache(This,enable)
|
|
#define IWMReaderNetworkConfig2_SetEnableFastCache(This,enable) (This)->lpVtbl->SetEnableFastCache(This,enable)
|
|
#define IWMReaderNetworkConfig2_GetAcceleratedStreamingDuration(This,duration) (This)->lpVtbl->GetAcceleratedStreamingDuration(This,duration)
|
|
#define IWMReaderNetworkConfig2_SetAcceleratedStreamingDuration(This,duration) (This)->lpVtbl->SetAcceleratedStreamingDuration(This,duration)
|
|
#define IWMReaderNetworkConfig2_GetAutoReconnectLimit(This,limit) (This)->lpVtbl->GetAutoReconnectLimit(This,limit)
|
|
#define IWMReaderNetworkConfig2_SetAutoReconnectLimit(This,limit) (This)->lpVtbl->SetAutoReconnectLimit(This,limit)
|
|
#define IWMReaderNetworkConfig2_GetEnableResends(This,enable) (This)->lpVtbl->GetEnableResends(This,enable)
|
|
#define IWMReaderNetworkConfig2_SetEnableResends(This,enable) (This)->lpVtbl->SetEnableResends(This,enable)
|
|
#define IWMReaderNetworkConfig2_GetEnableThinning(This,enable) (This)->lpVtbl->GetEnableThinning(This,enable)
|
|
#define IWMReaderNetworkConfig2_SetEnableThinning(This,enable) (This)->lpVtbl->SetEnableThinning(This,enable)
|
|
#define IWMReaderNetworkConfig2_GetMaxNetPacketSize(This,packet_size) (This)->lpVtbl->GetMaxNetPacketSize(This,packet_size)
|
|
#else
|
|
/*** IUnknown methods ***/
|
|
static FORCEINLINE HRESULT IWMReaderNetworkConfig2_QueryInterface(IWMReaderNetworkConfig2* This,REFIID riid,void **ppvObject) {
|
|
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
|
|
}
|
|
static FORCEINLINE ULONG IWMReaderNetworkConfig2_AddRef(IWMReaderNetworkConfig2* This) {
|
|
return This->lpVtbl->AddRef(This);
|
|
}
|
|
static FORCEINLINE ULONG IWMReaderNetworkConfig2_Release(IWMReaderNetworkConfig2* This) {
|
|
return This->lpVtbl->Release(This);
|
|
}
|
|
/*** IWMReaderNetworkConfig methods ***/
|
|
static FORCEINLINE HRESULT IWMReaderNetworkConfig2_GetBufferingTime(IWMReaderNetworkConfig2* This,QWORD *buffering_time) {
|
|
return This->lpVtbl->GetBufferingTime(This,buffering_time);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderNetworkConfig2_SetBufferingTime(IWMReaderNetworkConfig2* This,QWORD buffering_time) {
|
|
return This->lpVtbl->SetBufferingTime(This,buffering_time);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderNetworkConfig2_GetUDPPortRanges(IWMReaderNetworkConfig2* This,WM_PORT_NUMBER_RANGE *array,DWORD *ranges) {
|
|
return This->lpVtbl->GetUDPPortRanges(This,array,ranges);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderNetworkConfig2_SetUDPPortRanges(IWMReaderNetworkConfig2* This,WM_PORT_NUMBER_RANGE *array,DWORD ranges) {
|
|
return This->lpVtbl->SetUDPPortRanges(This,array,ranges);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderNetworkConfig2_GetProxySettings(IWMReaderNetworkConfig2* This,const WCHAR *protocol,WMT_PROXY_SETTINGS *proxy) {
|
|
return This->lpVtbl->GetProxySettings(This,protocol,proxy);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderNetworkConfig2_SetProxySettings(IWMReaderNetworkConfig2* This,LPCWSTR protocol,WMT_PROXY_SETTINGS proxy) {
|
|
return This->lpVtbl->SetProxySettings(This,protocol,proxy);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderNetworkConfig2_GetProxyHostName(IWMReaderNetworkConfig2* This,const WCHAR *protocol,WCHAR *hostname,DWORD *size) {
|
|
return This->lpVtbl->GetProxyHostName(This,protocol,hostname,size);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderNetworkConfig2_SetProxyHostName(IWMReaderNetworkConfig2* This,const WCHAR *protocol,const WCHAR *hostname) {
|
|
return This->lpVtbl->SetProxyHostName(This,protocol,hostname);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderNetworkConfig2_GetProxyPort(IWMReaderNetworkConfig2* This,const WCHAR *protocol,DWORD *port) {
|
|
return This->lpVtbl->GetProxyPort(This,protocol,port);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderNetworkConfig2_SetProxyPort(IWMReaderNetworkConfig2* This,const WCHAR *protocol,DWORD port) {
|
|
return This->lpVtbl->SetProxyPort(This,protocol,port);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderNetworkConfig2_GetProxyExceptionList(IWMReaderNetworkConfig2* This,const WCHAR *protocol,WCHAR *exceptions,DWORD *count) {
|
|
return This->lpVtbl->GetProxyExceptionList(This,protocol,exceptions,count);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderNetworkConfig2_SetProxyExceptionList(IWMReaderNetworkConfig2* This,const WCHAR *protocol,const WCHAR *exceptions) {
|
|
return This->lpVtbl->SetProxyExceptionList(This,protocol,exceptions);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderNetworkConfig2_GetProxyBypassForLocal(IWMReaderNetworkConfig2* This,const WCHAR *protocol,WINBOOL *bypass) {
|
|
return This->lpVtbl->GetProxyBypassForLocal(This,protocol,bypass);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderNetworkConfig2_SetProxyBypassForLocal(IWMReaderNetworkConfig2* This,const WCHAR *protocol,WINBOOL bypass) {
|
|
return This->lpVtbl->SetProxyBypassForLocal(This,protocol,bypass);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderNetworkConfig2_GetForceRerunAutoProxyDetection(IWMReaderNetworkConfig2* This,WINBOOL *detection) {
|
|
return This->lpVtbl->GetForceRerunAutoProxyDetection(This,detection);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderNetworkConfig2_SetForceRerunAutoProxyDetection(IWMReaderNetworkConfig2* This,WINBOOL detection) {
|
|
return This->lpVtbl->SetForceRerunAutoProxyDetection(This,detection);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderNetworkConfig2_GetEnableMulticast(IWMReaderNetworkConfig2* This,WINBOOL *multicast) {
|
|
return This->lpVtbl->GetEnableMulticast(This,multicast);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderNetworkConfig2_SetEnableMulticast(IWMReaderNetworkConfig2* This,WINBOOL multicast) {
|
|
return This->lpVtbl->SetEnableMulticast(This,multicast);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderNetworkConfig2_GetEnableHTTP(IWMReaderNetworkConfig2* This,WINBOOL *enable) {
|
|
return This->lpVtbl->GetEnableHTTP(This,enable);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderNetworkConfig2_SetEnableHTTP(IWMReaderNetworkConfig2* This,WINBOOL enable) {
|
|
return This->lpVtbl->SetEnableHTTP(This,enable);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderNetworkConfig2_GetEnableUDP(IWMReaderNetworkConfig2* This,WINBOOL *enable) {
|
|
return This->lpVtbl->GetEnableUDP(This,enable);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderNetworkConfig2_SetEnableUDP(IWMReaderNetworkConfig2* This,WINBOOL enable) {
|
|
return This->lpVtbl->SetEnableUDP(This,enable);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderNetworkConfig2_GetEnableTCP(IWMReaderNetworkConfig2* This,WINBOOL *enable) {
|
|
return This->lpVtbl->GetEnableTCP(This,enable);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderNetworkConfig2_SetEnableTCP(IWMReaderNetworkConfig2* This,WINBOOL enable) {
|
|
return This->lpVtbl->SetEnableTCP(This,enable);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderNetworkConfig2_ResetProtocolRollover(IWMReaderNetworkConfig2* This) {
|
|
return This->lpVtbl->ResetProtocolRollover(This);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderNetworkConfig2_GetConnectionBandwidth(IWMReaderNetworkConfig2* This,DWORD *bandwidth) {
|
|
return This->lpVtbl->GetConnectionBandwidth(This,bandwidth);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderNetworkConfig2_SetConnectionBandwidth(IWMReaderNetworkConfig2* This,DWORD bandwidth) {
|
|
return This->lpVtbl->SetConnectionBandwidth(This,bandwidth);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderNetworkConfig2_GetNumProtocolsSupported(IWMReaderNetworkConfig2* This,DWORD *protocols) {
|
|
return This->lpVtbl->GetNumProtocolsSupported(This,protocols);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderNetworkConfig2_GetSupportedProtocolName(IWMReaderNetworkConfig2* This,DWORD protocol_num,WCHAR *protocol,DWORD *size) {
|
|
return This->lpVtbl->GetSupportedProtocolName(This,protocol_num,protocol,size);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderNetworkConfig2_AddLoggingUrl(IWMReaderNetworkConfig2* This,const WCHAR *url) {
|
|
return This->lpVtbl->AddLoggingUrl(This,url);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderNetworkConfig2_GetLoggingUrl(IWMReaderNetworkConfig2* This,DWORD index,WCHAR *url,DWORD *size) {
|
|
return This->lpVtbl->GetLoggingUrl(This,index,url,size);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderNetworkConfig2_GetLoggingUrlCount(IWMReaderNetworkConfig2* This,DWORD *count) {
|
|
return This->lpVtbl->GetLoggingUrlCount(This,count);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderNetworkConfig2_ResetLoggingUrlList(IWMReaderNetworkConfig2* This) {
|
|
return This->lpVtbl->ResetLoggingUrlList(This);
|
|
}
|
|
/*** IWMReaderNetworkConfig2 methods ***/
|
|
static FORCEINLINE HRESULT IWMReaderNetworkConfig2_GetEnableContentCaching(IWMReaderNetworkConfig2* This,WINBOOL *enable) {
|
|
return This->lpVtbl->GetEnableContentCaching(This,enable);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderNetworkConfig2_SetEnableContentCaching(IWMReaderNetworkConfig2* This,WINBOOL enable) {
|
|
return This->lpVtbl->SetEnableContentCaching(This,enable);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderNetworkConfig2_GetEnableFastCache(IWMReaderNetworkConfig2* This,WINBOOL *enable) {
|
|
return This->lpVtbl->GetEnableFastCache(This,enable);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderNetworkConfig2_SetEnableFastCache(IWMReaderNetworkConfig2* This,WINBOOL enable) {
|
|
return This->lpVtbl->SetEnableFastCache(This,enable);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderNetworkConfig2_GetAcceleratedStreamingDuration(IWMReaderNetworkConfig2* This,QWORD *duration) {
|
|
return This->lpVtbl->GetAcceleratedStreamingDuration(This,duration);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderNetworkConfig2_SetAcceleratedStreamingDuration(IWMReaderNetworkConfig2* This,QWORD duration) {
|
|
return This->lpVtbl->SetAcceleratedStreamingDuration(This,duration);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderNetworkConfig2_GetAutoReconnectLimit(IWMReaderNetworkConfig2* This,DWORD *limit) {
|
|
return This->lpVtbl->GetAutoReconnectLimit(This,limit);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderNetworkConfig2_SetAutoReconnectLimit(IWMReaderNetworkConfig2* This,DWORD limit) {
|
|
return This->lpVtbl->SetAutoReconnectLimit(This,limit);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderNetworkConfig2_GetEnableResends(IWMReaderNetworkConfig2* This,WINBOOL *enable) {
|
|
return This->lpVtbl->GetEnableResends(This,enable);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderNetworkConfig2_SetEnableResends(IWMReaderNetworkConfig2* This,WINBOOL enable) {
|
|
return This->lpVtbl->SetEnableResends(This,enable);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderNetworkConfig2_GetEnableThinning(IWMReaderNetworkConfig2* This,WINBOOL *enable) {
|
|
return This->lpVtbl->GetEnableThinning(This,enable);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderNetworkConfig2_SetEnableThinning(IWMReaderNetworkConfig2* This,WINBOOL enable) {
|
|
return This->lpVtbl->SetEnableThinning(This,enable);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderNetworkConfig2_GetMaxNetPacketSize(IWMReaderNetworkConfig2* This,DWORD *packet_size) {
|
|
return This->lpVtbl->GetMaxNetPacketSize(This,packet_size);
|
|
}
|
|
#endif
|
|
#endif
|
|
|
|
#endif
|
|
|
|
|
|
#endif /* __IWMReaderNetworkConfig2_INTERFACE_DEFINED__ */
|
|
|
|
/*****************************************************************************
|
|
* IWMReaderStreamClock interface
|
|
*/
|
|
#ifndef __IWMReaderStreamClock_INTERFACE_DEFINED__
|
|
#define __IWMReaderStreamClock_INTERFACE_DEFINED__
|
|
|
|
DEFINE_GUID(IID_IWMReaderStreamClock, 0x96406bed, 0x2b2b, 0x11d3, 0xb3,0x6b, 0x00,0xc0,0x4f,0x61,0x08,0xff);
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
MIDL_INTERFACE("96406bed-2b2b-11d3-b36b-00c04f6108ff")
|
|
IWMReaderStreamClock : public IUnknown
|
|
{
|
|
virtual HRESULT STDMETHODCALLTYPE GetTime(
|
|
QWORD *now) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE SetTimer(
|
|
QWORD when,
|
|
void *param,
|
|
DWORD *id) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE KillTimer(
|
|
DWORD id) = 0;
|
|
|
|
};
|
|
#ifdef __CRT_UUID_DECL
|
|
__CRT_UUID_DECL(IWMReaderStreamClock, 0x96406bed, 0x2b2b, 0x11d3, 0xb3,0x6b, 0x00,0xc0,0x4f,0x61,0x08,0xff)
|
|
#endif
|
|
#else
|
|
typedef struct IWMReaderStreamClockVtbl {
|
|
BEGIN_INTERFACE
|
|
|
|
/*** IUnknown methods ***/
|
|
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
|
|
IWMReaderStreamClock *This,
|
|
REFIID riid,
|
|
void **ppvObject);
|
|
|
|
ULONG (STDMETHODCALLTYPE *AddRef)(
|
|
IWMReaderStreamClock *This);
|
|
|
|
ULONG (STDMETHODCALLTYPE *Release)(
|
|
IWMReaderStreamClock *This);
|
|
|
|
/*** IWMReaderStreamClock methods ***/
|
|
HRESULT (STDMETHODCALLTYPE *GetTime)(
|
|
IWMReaderStreamClock *This,
|
|
QWORD *now);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetTimer)(
|
|
IWMReaderStreamClock *This,
|
|
QWORD when,
|
|
void *param,
|
|
DWORD *id);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *KillTimer)(
|
|
IWMReaderStreamClock *This,
|
|
DWORD id);
|
|
|
|
END_INTERFACE
|
|
} IWMReaderStreamClockVtbl;
|
|
|
|
interface IWMReaderStreamClock {
|
|
CONST_VTBL IWMReaderStreamClockVtbl* lpVtbl;
|
|
};
|
|
|
|
#ifdef COBJMACROS
|
|
#ifndef WIDL_C_INLINE_WRAPPERS
|
|
/*** IUnknown methods ***/
|
|
#define IWMReaderStreamClock_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
|
|
#define IWMReaderStreamClock_AddRef(This) (This)->lpVtbl->AddRef(This)
|
|
#define IWMReaderStreamClock_Release(This) (This)->lpVtbl->Release(This)
|
|
/*** IWMReaderStreamClock methods ***/
|
|
#define IWMReaderStreamClock_GetTime(This,now) (This)->lpVtbl->GetTime(This,now)
|
|
#define IWMReaderStreamClock_SetTimer(This,when,param,id) (This)->lpVtbl->SetTimer(This,when,param,id)
|
|
#define IWMReaderStreamClock_KillTimer(This,id) (This)->lpVtbl->KillTimer(This,id)
|
|
#else
|
|
/*** IUnknown methods ***/
|
|
static FORCEINLINE HRESULT IWMReaderStreamClock_QueryInterface(IWMReaderStreamClock* This,REFIID riid,void **ppvObject) {
|
|
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
|
|
}
|
|
static FORCEINLINE ULONG IWMReaderStreamClock_AddRef(IWMReaderStreamClock* This) {
|
|
return This->lpVtbl->AddRef(This);
|
|
}
|
|
static FORCEINLINE ULONG IWMReaderStreamClock_Release(IWMReaderStreamClock* This) {
|
|
return This->lpVtbl->Release(This);
|
|
}
|
|
/*** IWMReaderStreamClock methods ***/
|
|
static FORCEINLINE HRESULT IWMReaderStreamClock_GetTime(IWMReaderStreamClock* This,QWORD *now) {
|
|
return This->lpVtbl->GetTime(This,now);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderStreamClock_SetTimer(IWMReaderStreamClock* This,QWORD when,void *param,DWORD *id) {
|
|
return This->lpVtbl->SetTimer(This,when,param,id);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderStreamClock_KillTimer(IWMReaderStreamClock* This,DWORD id) {
|
|
return This->lpVtbl->KillTimer(This,id);
|
|
}
|
|
#endif
|
|
#endif
|
|
|
|
#endif
|
|
|
|
|
|
#endif /* __IWMReaderStreamClock_INTERFACE_DEFINED__ */
|
|
|
|
/*****************************************************************************
|
|
* IWMPacketSize interface
|
|
*/
|
|
#ifndef __IWMPacketSize_INTERFACE_DEFINED__
|
|
#define __IWMPacketSize_INTERFACE_DEFINED__
|
|
|
|
DEFINE_GUID(IID_IWMPacketSize, 0xcdfb97ab, 0x188f, 0x40b3, 0xb6,0x43, 0x5b,0x79,0x03,0x97,0x5c,0x59);
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
MIDL_INTERFACE("cdfb97ab-188f-40b3-b643-5b7903975c59")
|
|
IWMPacketSize : public IUnknown
|
|
{
|
|
virtual HRESULT STDMETHODCALLTYPE GetMaxPacketSize(
|
|
DWORD *size) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE SetMaxPacketSize(
|
|
DWORD size) = 0;
|
|
|
|
};
|
|
#ifdef __CRT_UUID_DECL
|
|
__CRT_UUID_DECL(IWMPacketSize, 0xcdfb97ab, 0x188f, 0x40b3, 0xb6,0x43, 0x5b,0x79,0x03,0x97,0x5c,0x59)
|
|
#endif
|
|
#else
|
|
typedef struct IWMPacketSizeVtbl {
|
|
BEGIN_INTERFACE
|
|
|
|
/*** IUnknown methods ***/
|
|
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
|
|
IWMPacketSize *This,
|
|
REFIID riid,
|
|
void **ppvObject);
|
|
|
|
ULONG (STDMETHODCALLTYPE *AddRef)(
|
|
IWMPacketSize *This);
|
|
|
|
ULONG (STDMETHODCALLTYPE *Release)(
|
|
IWMPacketSize *This);
|
|
|
|
/*** IWMPacketSize methods ***/
|
|
HRESULT (STDMETHODCALLTYPE *GetMaxPacketSize)(
|
|
IWMPacketSize *This,
|
|
DWORD *size);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetMaxPacketSize)(
|
|
IWMPacketSize *This,
|
|
DWORD size);
|
|
|
|
END_INTERFACE
|
|
} IWMPacketSizeVtbl;
|
|
|
|
interface IWMPacketSize {
|
|
CONST_VTBL IWMPacketSizeVtbl* lpVtbl;
|
|
};
|
|
|
|
#ifdef COBJMACROS
|
|
#ifndef WIDL_C_INLINE_WRAPPERS
|
|
/*** IUnknown methods ***/
|
|
#define IWMPacketSize_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
|
|
#define IWMPacketSize_AddRef(This) (This)->lpVtbl->AddRef(This)
|
|
#define IWMPacketSize_Release(This) (This)->lpVtbl->Release(This)
|
|
/*** IWMPacketSize methods ***/
|
|
#define IWMPacketSize_GetMaxPacketSize(This,size) (This)->lpVtbl->GetMaxPacketSize(This,size)
|
|
#define IWMPacketSize_SetMaxPacketSize(This,size) (This)->lpVtbl->SetMaxPacketSize(This,size)
|
|
#else
|
|
/*** IUnknown methods ***/
|
|
static FORCEINLINE HRESULT IWMPacketSize_QueryInterface(IWMPacketSize* This,REFIID riid,void **ppvObject) {
|
|
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
|
|
}
|
|
static FORCEINLINE ULONG IWMPacketSize_AddRef(IWMPacketSize* This) {
|
|
return This->lpVtbl->AddRef(This);
|
|
}
|
|
static FORCEINLINE ULONG IWMPacketSize_Release(IWMPacketSize* This) {
|
|
return This->lpVtbl->Release(This);
|
|
}
|
|
/*** IWMPacketSize methods ***/
|
|
static FORCEINLINE HRESULT IWMPacketSize_GetMaxPacketSize(IWMPacketSize* This,DWORD *size) {
|
|
return This->lpVtbl->GetMaxPacketSize(This,size);
|
|
}
|
|
static FORCEINLINE HRESULT IWMPacketSize_SetMaxPacketSize(IWMPacketSize* This,DWORD size) {
|
|
return This->lpVtbl->SetMaxPacketSize(This,size);
|
|
}
|
|
#endif
|
|
#endif
|
|
|
|
#endif
|
|
|
|
|
|
#endif /* __IWMPacketSize_INTERFACE_DEFINED__ */
|
|
|
|
/*****************************************************************************
|
|
* IWMPacketSize2 interface
|
|
*/
|
|
#ifndef __IWMPacketSize2_INTERFACE_DEFINED__
|
|
#define __IWMPacketSize2_INTERFACE_DEFINED__
|
|
|
|
DEFINE_GUID(IID_IWMPacketSize2, 0x8bfc2b9e, 0xb646, 0x4233, 0xa8,0x77, 0x1c,0x6a,0x07,0x96,0x69,0xdc);
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
MIDL_INTERFACE("8bfc2b9e-b646-4233-a877-1c6a079669dc")
|
|
IWMPacketSize2 : public IWMPacketSize
|
|
{
|
|
virtual HRESULT STDMETHODCALLTYPE GetMinPacketSize(
|
|
DWORD *size) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE SetMinPacketSize(
|
|
DWORD size) = 0;
|
|
|
|
};
|
|
#ifdef __CRT_UUID_DECL
|
|
__CRT_UUID_DECL(IWMPacketSize2, 0x8bfc2b9e, 0xb646, 0x4233, 0xa8,0x77, 0x1c,0x6a,0x07,0x96,0x69,0xdc)
|
|
#endif
|
|
#else
|
|
typedef struct IWMPacketSize2Vtbl {
|
|
BEGIN_INTERFACE
|
|
|
|
/*** IUnknown methods ***/
|
|
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
|
|
IWMPacketSize2 *This,
|
|
REFIID riid,
|
|
void **ppvObject);
|
|
|
|
ULONG (STDMETHODCALLTYPE *AddRef)(
|
|
IWMPacketSize2 *This);
|
|
|
|
ULONG (STDMETHODCALLTYPE *Release)(
|
|
IWMPacketSize2 *This);
|
|
|
|
/*** IWMPacketSize methods ***/
|
|
HRESULT (STDMETHODCALLTYPE *GetMaxPacketSize)(
|
|
IWMPacketSize2 *This,
|
|
DWORD *size);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetMaxPacketSize)(
|
|
IWMPacketSize2 *This,
|
|
DWORD size);
|
|
|
|
/*** IWMPacketSize2 methods ***/
|
|
HRESULT (STDMETHODCALLTYPE *GetMinPacketSize)(
|
|
IWMPacketSize2 *This,
|
|
DWORD *size);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetMinPacketSize)(
|
|
IWMPacketSize2 *This,
|
|
DWORD size);
|
|
|
|
END_INTERFACE
|
|
} IWMPacketSize2Vtbl;
|
|
|
|
interface IWMPacketSize2 {
|
|
CONST_VTBL IWMPacketSize2Vtbl* lpVtbl;
|
|
};
|
|
|
|
#ifdef COBJMACROS
|
|
#ifndef WIDL_C_INLINE_WRAPPERS
|
|
/*** IUnknown methods ***/
|
|
#define IWMPacketSize2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
|
|
#define IWMPacketSize2_AddRef(This) (This)->lpVtbl->AddRef(This)
|
|
#define IWMPacketSize2_Release(This) (This)->lpVtbl->Release(This)
|
|
/*** IWMPacketSize methods ***/
|
|
#define IWMPacketSize2_GetMaxPacketSize(This,size) (This)->lpVtbl->GetMaxPacketSize(This,size)
|
|
#define IWMPacketSize2_SetMaxPacketSize(This,size) (This)->lpVtbl->SetMaxPacketSize(This,size)
|
|
/*** IWMPacketSize2 methods ***/
|
|
#define IWMPacketSize2_GetMinPacketSize(This,size) (This)->lpVtbl->GetMinPacketSize(This,size)
|
|
#define IWMPacketSize2_SetMinPacketSize(This,size) (This)->lpVtbl->SetMinPacketSize(This,size)
|
|
#else
|
|
/*** IUnknown methods ***/
|
|
static FORCEINLINE HRESULT IWMPacketSize2_QueryInterface(IWMPacketSize2* This,REFIID riid,void **ppvObject) {
|
|
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
|
|
}
|
|
static FORCEINLINE ULONG IWMPacketSize2_AddRef(IWMPacketSize2* This) {
|
|
return This->lpVtbl->AddRef(This);
|
|
}
|
|
static FORCEINLINE ULONG IWMPacketSize2_Release(IWMPacketSize2* This) {
|
|
return This->lpVtbl->Release(This);
|
|
}
|
|
/*** IWMPacketSize methods ***/
|
|
static FORCEINLINE HRESULT IWMPacketSize2_GetMaxPacketSize(IWMPacketSize2* This,DWORD *size) {
|
|
return This->lpVtbl->GetMaxPacketSize(This,size);
|
|
}
|
|
static FORCEINLINE HRESULT IWMPacketSize2_SetMaxPacketSize(IWMPacketSize2* This,DWORD size) {
|
|
return This->lpVtbl->SetMaxPacketSize(This,size);
|
|
}
|
|
/*** IWMPacketSize2 methods ***/
|
|
static FORCEINLINE HRESULT IWMPacketSize2_GetMinPacketSize(IWMPacketSize2* This,DWORD *size) {
|
|
return This->lpVtbl->GetMinPacketSize(This,size);
|
|
}
|
|
static FORCEINLINE HRESULT IWMPacketSize2_SetMinPacketSize(IWMPacketSize2* This,DWORD size) {
|
|
return This->lpVtbl->SetMinPacketSize(This,size);
|
|
}
|
|
#endif
|
|
#endif
|
|
|
|
#endif
|
|
|
|
|
|
#endif /* __IWMPacketSize2_INTERFACE_DEFINED__ */
|
|
|
|
/*****************************************************************************
|
|
* IWMDRMReader interface
|
|
*/
|
|
#ifndef __IWMDRMReader_INTERFACE_DEFINED__
|
|
#define __IWMDRMReader_INTERFACE_DEFINED__
|
|
|
|
DEFINE_GUID(IID_IWMDRMReader, 0xd2827540, 0x3ee7, 0x432c, 0xb1,0x4c, 0xdc,0x17,0xf0,0x85,0xd3,0xb3);
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
MIDL_INTERFACE("d2827540-3ee7-432c-b14c-dc17f085d3b3")
|
|
IWMDRMReader : public IUnknown
|
|
{
|
|
virtual HRESULT STDMETHODCALLTYPE AcquireLicense(
|
|
DWORD flags) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE CancelLicenseAcquisition(
|
|
) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE Individualize(
|
|
DWORD flags) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE CancelIndividualization(
|
|
) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE MonitorLicenseAcquisition(
|
|
) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE CancelMonitorLicenseAcquisition(
|
|
) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE SetDRMProperty(
|
|
const WCHAR *name,
|
|
WMT_ATTR_DATATYPE type,
|
|
const BYTE *value,
|
|
WORD length) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetDRMProperty(
|
|
const WCHAR *name,
|
|
WMT_ATTR_DATATYPE *type,
|
|
BYTE *value,
|
|
WORD *length) = 0;
|
|
|
|
};
|
|
#ifdef __CRT_UUID_DECL
|
|
__CRT_UUID_DECL(IWMDRMReader, 0xd2827540, 0x3ee7, 0x432c, 0xb1,0x4c, 0xdc,0x17,0xf0,0x85,0xd3,0xb3)
|
|
#endif
|
|
#else
|
|
typedef struct IWMDRMReaderVtbl {
|
|
BEGIN_INTERFACE
|
|
|
|
/*** IUnknown methods ***/
|
|
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
|
|
IWMDRMReader *This,
|
|
REFIID riid,
|
|
void **ppvObject);
|
|
|
|
ULONG (STDMETHODCALLTYPE *AddRef)(
|
|
IWMDRMReader *This);
|
|
|
|
ULONG (STDMETHODCALLTYPE *Release)(
|
|
IWMDRMReader *This);
|
|
|
|
/*** IWMDRMReader methods ***/
|
|
HRESULT (STDMETHODCALLTYPE *AcquireLicense)(
|
|
IWMDRMReader *This,
|
|
DWORD flags);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *CancelLicenseAcquisition)(
|
|
IWMDRMReader *This);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *Individualize)(
|
|
IWMDRMReader *This,
|
|
DWORD flags);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *CancelIndividualization)(
|
|
IWMDRMReader *This);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *MonitorLicenseAcquisition)(
|
|
IWMDRMReader *This);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *CancelMonitorLicenseAcquisition)(
|
|
IWMDRMReader *This);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetDRMProperty)(
|
|
IWMDRMReader *This,
|
|
const WCHAR *name,
|
|
WMT_ATTR_DATATYPE type,
|
|
const BYTE *value,
|
|
WORD length);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetDRMProperty)(
|
|
IWMDRMReader *This,
|
|
const WCHAR *name,
|
|
WMT_ATTR_DATATYPE *type,
|
|
BYTE *value,
|
|
WORD *length);
|
|
|
|
END_INTERFACE
|
|
} IWMDRMReaderVtbl;
|
|
|
|
interface IWMDRMReader {
|
|
CONST_VTBL IWMDRMReaderVtbl* lpVtbl;
|
|
};
|
|
|
|
#ifdef COBJMACROS
|
|
#ifndef WIDL_C_INLINE_WRAPPERS
|
|
/*** IUnknown methods ***/
|
|
#define IWMDRMReader_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
|
|
#define IWMDRMReader_AddRef(This) (This)->lpVtbl->AddRef(This)
|
|
#define IWMDRMReader_Release(This) (This)->lpVtbl->Release(This)
|
|
/*** IWMDRMReader methods ***/
|
|
#define IWMDRMReader_AcquireLicense(This,flags) (This)->lpVtbl->AcquireLicense(This,flags)
|
|
#define IWMDRMReader_CancelLicenseAcquisition(This) (This)->lpVtbl->CancelLicenseAcquisition(This)
|
|
#define IWMDRMReader_Individualize(This,flags) (This)->lpVtbl->Individualize(This,flags)
|
|
#define IWMDRMReader_CancelIndividualization(This) (This)->lpVtbl->CancelIndividualization(This)
|
|
#define IWMDRMReader_MonitorLicenseAcquisition(This) (This)->lpVtbl->MonitorLicenseAcquisition(This)
|
|
#define IWMDRMReader_CancelMonitorLicenseAcquisition(This) (This)->lpVtbl->CancelMonitorLicenseAcquisition(This)
|
|
#define IWMDRMReader_SetDRMProperty(This,name,type,value,length) (This)->lpVtbl->SetDRMProperty(This,name,type,value,length)
|
|
#define IWMDRMReader_GetDRMProperty(This,name,type,value,length) (This)->lpVtbl->GetDRMProperty(This,name,type,value,length)
|
|
#else
|
|
/*** IUnknown methods ***/
|
|
static FORCEINLINE HRESULT IWMDRMReader_QueryInterface(IWMDRMReader* This,REFIID riid,void **ppvObject) {
|
|
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
|
|
}
|
|
static FORCEINLINE ULONG IWMDRMReader_AddRef(IWMDRMReader* This) {
|
|
return This->lpVtbl->AddRef(This);
|
|
}
|
|
static FORCEINLINE ULONG IWMDRMReader_Release(IWMDRMReader* This) {
|
|
return This->lpVtbl->Release(This);
|
|
}
|
|
/*** IWMDRMReader methods ***/
|
|
static FORCEINLINE HRESULT IWMDRMReader_AcquireLicense(IWMDRMReader* This,DWORD flags) {
|
|
return This->lpVtbl->AcquireLicense(This,flags);
|
|
}
|
|
static FORCEINLINE HRESULT IWMDRMReader_CancelLicenseAcquisition(IWMDRMReader* This) {
|
|
return This->lpVtbl->CancelLicenseAcquisition(This);
|
|
}
|
|
static FORCEINLINE HRESULT IWMDRMReader_Individualize(IWMDRMReader* This,DWORD flags) {
|
|
return This->lpVtbl->Individualize(This,flags);
|
|
}
|
|
static FORCEINLINE HRESULT IWMDRMReader_CancelIndividualization(IWMDRMReader* This) {
|
|
return This->lpVtbl->CancelIndividualization(This);
|
|
}
|
|
static FORCEINLINE HRESULT IWMDRMReader_MonitorLicenseAcquisition(IWMDRMReader* This) {
|
|
return This->lpVtbl->MonitorLicenseAcquisition(This);
|
|
}
|
|
static FORCEINLINE HRESULT IWMDRMReader_CancelMonitorLicenseAcquisition(IWMDRMReader* This) {
|
|
return This->lpVtbl->CancelMonitorLicenseAcquisition(This);
|
|
}
|
|
static FORCEINLINE HRESULT IWMDRMReader_SetDRMProperty(IWMDRMReader* This,const WCHAR *name,WMT_ATTR_DATATYPE type,const BYTE *value,WORD length) {
|
|
return This->lpVtbl->SetDRMProperty(This,name,type,value,length);
|
|
}
|
|
static FORCEINLINE HRESULT IWMDRMReader_GetDRMProperty(IWMDRMReader* This,const WCHAR *name,WMT_ATTR_DATATYPE *type,BYTE *value,WORD *length) {
|
|
return This->lpVtbl->GetDRMProperty(This,name,type,value,length);
|
|
}
|
|
#endif
|
|
#endif
|
|
|
|
#endif
|
|
|
|
|
|
#endif /* __IWMDRMReader_INTERFACE_DEFINED__ */
|
|
|
|
/*****************************************************************************
|
|
* IWMDRMReader2 interface
|
|
*/
|
|
#ifndef __IWMDRMReader2_INTERFACE_DEFINED__
|
|
#define __IWMDRMReader2_INTERFACE_DEFINED__
|
|
|
|
DEFINE_GUID(IID_IWMDRMReader2, 0xbefe7a75, 0x9f1d, 0x4075, 0xb9,0xd9, 0xa3,0xc3,0x7b,0xda,0x49,0xa0);
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
MIDL_INTERFACE("befe7a75-9f1d-4075-b9d9-a3c37bda49a0")
|
|
IWMDRMReader2 : public IWMDRMReader
|
|
{
|
|
virtual HRESULT STDMETHODCALLTYPE SetEvaluateOutputLevelLicenses(
|
|
WINBOOL evaluate) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetPlayOutputLevels(
|
|
DRM_PLAY_OPL *play,
|
|
DWORD *length,
|
|
DWORD *level) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetCopyOutputLevels(
|
|
DRM_COPY_OPL *copy,
|
|
DWORD *length,
|
|
DWORD *level) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE TryNextLicense(
|
|
) = 0;
|
|
|
|
};
|
|
#ifdef __CRT_UUID_DECL
|
|
__CRT_UUID_DECL(IWMDRMReader2, 0xbefe7a75, 0x9f1d, 0x4075, 0xb9,0xd9, 0xa3,0xc3,0x7b,0xda,0x49,0xa0)
|
|
#endif
|
|
#else
|
|
typedef struct IWMDRMReader2Vtbl {
|
|
BEGIN_INTERFACE
|
|
|
|
/*** IUnknown methods ***/
|
|
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
|
|
IWMDRMReader2 *This,
|
|
REFIID riid,
|
|
void **ppvObject);
|
|
|
|
ULONG (STDMETHODCALLTYPE *AddRef)(
|
|
IWMDRMReader2 *This);
|
|
|
|
ULONG (STDMETHODCALLTYPE *Release)(
|
|
IWMDRMReader2 *This);
|
|
|
|
/*** IWMDRMReader methods ***/
|
|
HRESULT (STDMETHODCALLTYPE *AcquireLicense)(
|
|
IWMDRMReader2 *This,
|
|
DWORD flags);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *CancelLicenseAcquisition)(
|
|
IWMDRMReader2 *This);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *Individualize)(
|
|
IWMDRMReader2 *This,
|
|
DWORD flags);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *CancelIndividualization)(
|
|
IWMDRMReader2 *This);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *MonitorLicenseAcquisition)(
|
|
IWMDRMReader2 *This);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *CancelMonitorLicenseAcquisition)(
|
|
IWMDRMReader2 *This);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetDRMProperty)(
|
|
IWMDRMReader2 *This,
|
|
const WCHAR *name,
|
|
WMT_ATTR_DATATYPE type,
|
|
const BYTE *value,
|
|
WORD length);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetDRMProperty)(
|
|
IWMDRMReader2 *This,
|
|
const WCHAR *name,
|
|
WMT_ATTR_DATATYPE *type,
|
|
BYTE *value,
|
|
WORD *length);
|
|
|
|
/*** IWMDRMReader2 methods ***/
|
|
HRESULT (STDMETHODCALLTYPE *SetEvaluateOutputLevelLicenses)(
|
|
IWMDRMReader2 *This,
|
|
WINBOOL evaluate);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetPlayOutputLevels)(
|
|
IWMDRMReader2 *This,
|
|
DRM_PLAY_OPL *play,
|
|
DWORD *length,
|
|
DWORD *level);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetCopyOutputLevels)(
|
|
IWMDRMReader2 *This,
|
|
DRM_COPY_OPL *copy,
|
|
DWORD *length,
|
|
DWORD *level);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *TryNextLicense)(
|
|
IWMDRMReader2 *This);
|
|
|
|
END_INTERFACE
|
|
} IWMDRMReader2Vtbl;
|
|
|
|
interface IWMDRMReader2 {
|
|
CONST_VTBL IWMDRMReader2Vtbl* lpVtbl;
|
|
};
|
|
|
|
#ifdef COBJMACROS
|
|
#ifndef WIDL_C_INLINE_WRAPPERS
|
|
/*** IUnknown methods ***/
|
|
#define IWMDRMReader2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
|
|
#define IWMDRMReader2_AddRef(This) (This)->lpVtbl->AddRef(This)
|
|
#define IWMDRMReader2_Release(This) (This)->lpVtbl->Release(This)
|
|
/*** IWMDRMReader methods ***/
|
|
#define IWMDRMReader2_AcquireLicense(This,flags) (This)->lpVtbl->AcquireLicense(This,flags)
|
|
#define IWMDRMReader2_CancelLicenseAcquisition(This) (This)->lpVtbl->CancelLicenseAcquisition(This)
|
|
#define IWMDRMReader2_Individualize(This,flags) (This)->lpVtbl->Individualize(This,flags)
|
|
#define IWMDRMReader2_CancelIndividualization(This) (This)->lpVtbl->CancelIndividualization(This)
|
|
#define IWMDRMReader2_MonitorLicenseAcquisition(This) (This)->lpVtbl->MonitorLicenseAcquisition(This)
|
|
#define IWMDRMReader2_CancelMonitorLicenseAcquisition(This) (This)->lpVtbl->CancelMonitorLicenseAcquisition(This)
|
|
#define IWMDRMReader2_SetDRMProperty(This,name,type,value,length) (This)->lpVtbl->SetDRMProperty(This,name,type,value,length)
|
|
#define IWMDRMReader2_GetDRMProperty(This,name,type,value,length) (This)->lpVtbl->GetDRMProperty(This,name,type,value,length)
|
|
/*** IWMDRMReader2 methods ***/
|
|
#define IWMDRMReader2_SetEvaluateOutputLevelLicenses(This,evaluate) (This)->lpVtbl->SetEvaluateOutputLevelLicenses(This,evaluate)
|
|
#define IWMDRMReader2_GetPlayOutputLevels(This,play,length,level) (This)->lpVtbl->GetPlayOutputLevels(This,play,length,level)
|
|
#define IWMDRMReader2_GetCopyOutputLevels(This,copy,length,level) (This)->lpVtbl->GetCopyOutputLevels(This,copy,length,level)
|
|
#define IWMDRMReader2_TryNextLicense(This) (This)->lpVtbl->TryNextLicense(This)
|
|
#else
|
|
/*** IUnknown methods ***/
|
|
static FORCEINLINE HRESULT IWMDRMReader2_QueryInterface(IWMDRMReader2* This,REFIID riid,void **ppvObject) {
|
|
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
|
|
}
|
|
static FORCEINLINE ULONG IWMDRMReader2_AddRef(IWMDRMReader2* This) {
|
|
return This->lpVtbl->AddRef(This);
|
|
}
|
|
static FORCEINLINE ULONG IWMDRMReader2_Release(IWMDRMReader2* This) {
|
|
return This->lpVtbl->Release(This);
|
|
}
|
|
/*** IWMDRMReader methods ***/
|
|
static FORCEINLINE HRESULT IWMDRMReader2_AcquireLicense(IWMDRMReader2* This,DWORD flags) {
|
|
return This->lpVtbl->AcquireLicense(This,flags);
|
|
}
|
|
static FORCEINLINE HRESULT IWMDRMReader2_CancelLicenseAcquisition(IWMDRMReader2* This) {
|
|
return This->lpVtbl->CancelLicenseAcquisition(This);
|
|
}
|
|
static FORCEINLINE HRESULT IWMDRMReader2_Individualize(IWMDRMReader2* This,DWORD flags) {
|
|
return This->lpVtbl->Individualize(This,flags);
|
|
}
|
|
static FORCEINLINE HRESULT IWMDRMReader2_CancelIndividualization(IWMDRMReader2* This) {
|
|
return This->lpVtbl->CancelIndividualization(This);
|
|
}
|
|
static FORCEINLINE HRESULT IWMDRMReader2_MonitorLicenseAcquisition(IWMDRMReader2* This) {
|
|
return This->lpVtbl->MonitorLicenseAcquisition(This);
|
|
}
|
|
static FORCEINLINE HRESULT IWMDRMReader2_CancelMonitorLicenseAcquisition(IWMDRMReader2* This) {
|
|
return This->lpVtbl->CancelMonitorLicenseAcquisition(This);
|
|
}
|
|
static FORCEINLINE HRESULT IWMDRMReader2_SetDRMProperty(IWMDRMReader2* This,const WCHAR *name,WMT_ATTR_DATATYPE type,const BYTE *value,WORD length) {
|
|
return This->lpVtbl->SetDRMProperty(This,name,type,value,length);
|
|
}
|
|
static FORCEINLINE HRESULT IWMDRMReader2_GetDRMProperty(IWMDRMReader2* This,const WCHAR *name,WMT_ATTR_DATATYPE *type,BYTE *value,WORD *length) {
|
|
return This->lpVtbl->GetDRMProperty(This,name,type,value,length);
|
|
}
|
|
/*** IWMDRMReader2 methods ***/
|
|
static FORCEINLINE HRESULT IWMDRMReader2_SetEvaluateOutputLevelLicenses(IWMDRMReader2* This,WINBOOL evaluate) {
|
|
return This->lpVtbl->SetEvaluateOutputLevelLicenses(This,evaluate);
|
|
}
|
|
static FORCEINLINE HRESULT IWMDRMReader2_GetPlayOutputLevels(IWMDRMReader2* This,DRM_PLAY_OPL *play,DWORD *length,DWORD *level) {
|
|
return This->lpVtbl->GetPlayOutputLevels(This,play,length,level);
|
|
}
|
|
static FORCEINLINE HRESULT IWMDRMReader2_GetCopyOutputLevels(IWMDRMReader2* This,DRM_COPY_OPL *copy,DWORD *length,DWORD *level) {
|
|
return This->lpVtbl->GetCopyOutputLevels(This,copy,length,level);
|
|
}
|
|
static FORCEINLINE HRESULT IWMDRMReader2_TryNextLicense(IWMDRMReader2* This) {
|
|
return This->lpVtbl->TryNextLicense(This);
|
|
}
|
|
#endif
|
|
#endif
|
|
|
|
#endif
|
|
|
|
|
|
#endif /* __IWMDRMReader2_INTERFACE_DEFINED__ */
|
|
|
|
/*****************************************************************************
|
|
* IWMDRMReader3 interface
|
|
*/
|
|
#ifndef __IWMDRMReader3_INTERFACE_DEFINED__
|
|
#define __IWMDRMReader3_INTERFACE_DEFINED__
|
|
|
|
DEFINE_GUID(IID_IWMDRMReader3, 0xe08672de, 0xf1e7, 0x4ff4, 0xa0,0xa3, 0xfc,0x4b,0x08,0xe4,0xca,0xf8);
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
MIDL_INTERFACE("e08672de-f1e7-4ff4-a0a3-fc4b08e4caf8")
|
|
IWMDRMReader3 : public IWMDRMReader2
|
|
{
|
|
virtual HRESULT STDMETHODCALLTYPE GetInclusionList(
|
|
GUID **guids,
|
|
DWORD *count) = 0;
|
|
|
|
};
|
|
#ifdef __CRT_UUID_DECL
|
|
__CRT_UUID_DECL(IWMDRMReader3, 0xe08672de, 0xf1e7, 0x4ff4, 0xa0,0xa3, 0xfc,0x4b,0x08,0xe4,0xca,0xf8)
|
|
#endif
|
|
#else
|
|
typedef struct IWMDRMReader3Vtbl {
|
|
BEGIN_INTERFACE
|
|
|
|
/*** IUnknown methods ***/
|
|
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
|
|
IWMDRMReader3 *This,
|
|
REFIID riid,
|
|
void **ppvObject);
|
|
|
|
ULONG (STDMETHODCALLTYPE *AddRef)(
|
|
IWMDRMReader3 *This);
|
|
|
|
ULONG (STDMETHODCALLTYPE *Release)(
|
|
IWMDRMReader3 *This);
|
|
|
|
/*** IWMDRMReader methods ***/
|
|
HRESULT (STDMETHODCALLTYPE *AcquireLicense)(
|
|
IWMDRMReader3 *This,
|
|
DWORD flags);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *CancelLicenseAcquisition)(
|
|
IWMDRMReader3 *This);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *Individualize)(
|
|
IWMDRMReader3 *This,
|
|
DWORD flags);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *CancelIndividualization)(
|
|
IWMDRMReader3 *This);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *MonitorLicenseAcquisition)(
|
|
IWMDRMReader3 *This);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *CancelMonitorLicenseAcquisition)(
|
|
IWMDRMReader3 *This);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *SetDRMProperty)(
|
|
IWMDRMReader3 *This,
|
|
const WCHAR *name,
|
|
WMT_ATTR_DATATYPE type,
|
|
const BYTE *value,
|
|
WORD length);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetDRMProperty)(
|
|
IWMDRMReader3 *This,
|
|
const WCHAR *name,
|
|
WMT_ATTR_DATATYPE *type,
|
|
BYTE *value,
|
|
WORD *length);
|
|
|
|
/*** IWMDRMReader2 methods ***/
|
|
HRESULT (STDMETHODCALLTYPE *SetEvaluateOutputLevelLicenses)(
|
|
IWMDRMReader3 *This,
|
|
WINBOOL evaluate);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetPlayOutputLevels)(
|
|
IWMDRMReader3 *This,
|
|
DRM_PLAY_OPL *play,
|
|
DWORD *length,
|
|
DWORD *level);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetCopyOutputLevels)(
|
|
IWMDRMReader3 *This,
|
|
DRM_COPY_OPL *copy,
|
|
DWORD *length,
|
|
DWORD *level);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *TryNextLicense)(
|
|
IWMDRMReader3 *This);
|
|
|
|
/*** IWMDRMReader3 methods ***/
|
|
HRESULT (STDMETHODCALLTYPE *GetInclusionList)(
|
|
IWMDRMReader3 *This,
|
|
GUID **guids,
|
|
DWORD *count);
|
|
|
|
END_INTERFACE
|
|
} IWMDRMReader3Vtbl;
|
|
|
|
interface IWMDRMReader3 {
|
|
CONST_VTBL IWMDRMReader3Vtbl* lpVtbl;
|
|
};
|
|
|
|
#ifdef COBJMACROS
|
|
#ifndef WIDL_C_INLINE_WRAPPERS
|
|
/*** IUnknown methods ***/
|
|
#define IWMDRMReader3_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
|
|
#define IWMDRMReader3_AddRef(This) (This)->lpVtbl->AddRef(This)
|
|
#define IWMDRMReader3_Release(This) (This)->lpVtbl->Release(This)
|
|
/*** IWMDRMReader methods ***/
|
|
#define IWMDRMReader3_AcquireLicense(This,flags) (This)->lpVtbl->AcquireLicense(This,flags)
|
|
#define IWMDRMReader3_CancelLicenseAcquisition(This) (This)->lpVtbl->CancelLicenseAcquisition(This)
|
|
#define IWMDRMReader3_Individualize(This,flags) (This)->lpVtbl->Individualize(This,flags)
|
|
#define IWMDRMReader3_CancelIndividualization(This) (This)->lpVtbl->CancelIndividualization(This)
|
|
#define IWMDRMReader3_MonitorLicenseAcquisition(This) (This)->lpVtbl->MonitorLicenseAcquisition(This)
|
|
#define IWMDRMReader3_CancelMonitorLicenseAcquisition(This) (This)->lpVtbl->CancelMonitorLicenseAcquisition(This)
|
|
#define IWMDRMReader3_SetDRMProperty(This,name,type,value,length) (This)->lpVtbl->SetDRMProperty(This,name,type,value,length)
|
|
#define IWMDRMReader3_GetDRMProperty(This,name,type,value,length) (This)->lpVtbl->GetDRMProperty(This,name,type,value,length)
|
|
/*** IWMDRMReader2 methods ***/
|
|
#define IWMDRMReader3_SetEvaluateOutputLevelLicenses(This,evaluate) (This)->lpVtbl->SetEvaluateOutputLevelLicenses(This,evaluate)
|
|
#define IWMDRMReader3_GetPlayOutputLevels(This,play,length,level) (This)->lpVtbl->GetPlayOutputLevels(This,play,length,level)
|
|
#define IWMDRMReader3_GetCopyOutputLevels(This,copy,length,level) (This)->lpVtbl->GetCopyOutputLevels(This,copy,length,level)
|
|
#define IWMDRMReader3_TryNextLicense(This) (This)->lpVtbl->TryNextLicense(This)
|
|
/*** IWMDRMReader3 methods ***/
|
|
#define IWMDRMReader3_GetInclusionList(This,guids,count) (This)->lpVtbl->GetInclusionList(This,guids,count)
|
|
#else
|
|
/*** IUnknown methods ***/
|
|
static FORCEINLINE HRESULT IWMDRMReader3_QueryInterface(IWMDRMReader3* This,REFIID riid,void **ppvObject) {
|
|
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
|
|
}
|
|
static FORCEINLINE ULONG IWMDRMReader3_AddRef(IWMDRMReader3* This) {
|
|
return This->lpVtbl->AddRef(This);
|
|
}
|
|
static FORCEINLINE ULONG IWMDRMReader3_Release(IWMDRMReader3* This) {
|
|
return This->lpVtbl->Release(This);
|
|
}
|
|
/*** IWMDRMReader methods ***/
|
|
static FORCEINLINE HRESULT IWMDRMReader3_AcquireLicense(IWMDRMReader3* This,DWORD flags) {
|
|
return This->lpVtbl->AcquireLicense(This,flags);
|
|
}
|
|
static FORCEINLINE HRESULT IWMDRMReader3_CancelLicenseAcquisition(IWMDRMReader3* This) {
|
|
return This->lpVtbl->CancelLicenseAcquisition(This);
|
|
}
|
|
static FORCEINLINE HRESULT IWMDRMReader3_Individualize(IWMDRMReader3* This,DWORD flags) {
|
|
return This->lpVtbl->Individualize(This,flags);
|
|
}
|
|
static FORCEINLINE HRESULT IWMDRMReader3_CancelIndividualization(IWMDRMReader3* This) {
|
|
return This->lpVtbl->CancelIndividualization(This);
|
|
}
|
|
static FORCEINLINE HRESULT IWMDRMReader3_MonitorLicenseAcquisition(IWMDRMReader3* This) {
|
|
return This->lpVtbl->MonitorLicenseAcquisition(This);
|
|
}
|
|
static FORCEINLINE HRESULT IWMDRMReader3_CancelMonitorLicenseAcquisition(IWMDRMReader3* This) {
|
|
return This->lpVtbl->CancelMonitorLicenseAcquisition(This);
|
|
}
|
|
static FORCEINLINE HRESULT IWMDRMReader3_SetDRMProperty(IWMDRMReader3* This,const WCHAR *name,WMT_ATTR_DATATYPE type,const BYTE *value,WORD length) {
|
|
return This->lpVtbl->SetDRMProperty(This,name,type,value,length);
|
|
}
|
|
static FORCEINLINE HRESULT IWMDRMReader3_GetDRMProperty(IWMDRMReader3* This,const WCHAR *name,WMT_ATTR_DATATYPE *type,BYTE *value,WORD *length) {
|
|
return This->lpVtbl->GetDRMProperty(This,name,type,value,length);
|
|
}
|
|
/*** IWMDRMReader2 methods ***/
|
|
static FORCEINLINE HRESULT IWMDRMReader3_SetEvaluateOutputLevelLicenses(IWMDRMReader3* This,WINBOOL evaluate) {
|
|
return This->lpVtbl->SetEvaluateOutputLevelLicenses(This,evaluate);
|
|
}
|
|
static FORCEINLINE HRESULT IWMDRMReader3_GetPlayOutputLevels(IWMDRMReader3* This,DRM_PLAY_OPL *play,DWORD *length,DWORD *level) {
|
|
return This->lpVtbl->GetPlayOutputLevels(This,play,length,level);
|
|
}
|
|
static FORCEINLINE HRESULT IWMDRMReader3_GetCopyOutputLevels(IWMDRMReader3* This,DRM_COPY_OPL *copy,DWORD *length,DWORD *level) {
|
|
return This->lpVtbl->GetCopyOutputLevels(This,copy,length,level);
|
|
}
|
|
static FORCEINLINE HRESULT IWMDRMReader3_TryNextLicense(IWMDRMReader3* This) {
|
|
return This->lpVtbl->TryNextLicense(This);
|
|
}
|
|
/*** IWMDRMReader3 methods ***/
|
|
static FORCEINLINE HRESULT IWMDRMReader3_GetInclusionList(IWMDRMReader3* This,GUID **guids,DWORD *count) {
|
|
return This->lpVtbl->GetInclusionList(This,guids,count);
|
|
}
|
|
#endif
|
|
#endif
|
|
|
|
#endif
|
|
|
|
|
|
#endif /* __IWMDRMReader3_INTERFACE_DEFINED__ */
|
|
|
|
/*****************************************************************************
|
|
* IWMReaderAccelerator interface
|
|
*/
|
|
#ifndef __IWMReaderAccelerator_INTERFACE_DEFINED__
|
|
#define __IWMReaderAccelerator_INTERFACE_DEFINED__
|
|
|
|
DEFINE_GUID(IID_IWMReaderAccelerator, 0xbddc4d08, 0x944d, 0x4d52, 0xa6,0x12, 0x46,0xc3,0xfd,0xa0,0x7d,0xd4);
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
MIDL_INTERFACE("bddc4d08-944d-4d52-a612-46c3fda07dd4")
|
|
IWMReaderAccelerator : public IUnknown
|
|
{
|
|
virtual HRESULT STDMETHODCALLTYPE GetCodecInterface(
|
|
DWORD output,
|
|
REFIID riid,
|
|
void **codec) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE Notify(
|
|
DWORD output,
|
|
WM_MEDIA_TYPE *subtype) = 0;
|
|
|
|
};
|
|
#ifdef __CRT_UUID_DECL
|
|
__CRT_UUID_DECL(IWMReaderAccelerator, 0xbddc4d08, 0x944d, 0x4d52, 0xa6,0x12, 0x46,0xc3,0xfd,0xa0,0x7d,0xd4)
|
|
#endif
|
|
#else
|
|
typedef struct IWMReaderAcceleratorVtbl {
|
|
BEGIN_INTERFACE
|
|
|
|
/*** IUnknown methods ***/
|
|
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
|
|
IWMReaderAccelerator *This,
|
|
REFIID riid,
|
|
void **ppvObject);
|
|
|
|
ULONG (STDMETHODCALLTYPE *AddRef)(
|
|
IWMReaderAccelerator *This);
|
|
|
|
ULONG (STDMETHODCALLTYPE *Release)(
|
|
IWMReaderAccelerator *This);
|
|
|
|
/*** IWMReaderAccelerator methods ***/
|
|
HRESULT (STDMETHODCALLTYPE *GetCodecInterface)(
|
|
IWMReaderAccelerator *This,
|
|
DWORD output,
|
|
REFIID riid,
|
|
void **codec);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *Notify)(
|
|
IWMReaderAccelerator *This,
|
|
DWORD output,
|
|
WM_MEDIA_TYPE *subtype);
|
|
|
|
END_INTERFACE
|
|
} IWMReaderAcceleratorVtbl;
|
|
|
|
interface IWMReaderAccelerator {
|
|
CONST_VTBL IWMReaderAcceleratorVtbl* lpVtbl;
|
|
};
|
|
|
|
#ifdef COBJMACROS
|
|
#ifndef WIDL_C_INLINE_WRAPPERS
|
|
/*** IUnknown methods ***/
|
|
#define IWMReaderAccelerator_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
|
|
#define IWMReaderAccelerator_AddRef(This) (This)->lpVtbl->AddRef(This)
|
|
#define IWMReaderAccelerator_Release(This) (This)->lpVtbl->Release(This)
|
|
/*** IWMReaderAccelerator methods ***/
|
|
#define IWMReaderAccelerator_GetCodecInterface(This,output,riid,codec) (This)->lpVtbl->GetCodecInterface(This,output,riid,codec)
|
|
#define IWMReaderAccelerator_Notify(This,output,subtype) (This)->lpVtbl->Notify(This,output,subtype)
|
|
#else
|
|
/*** IUnknown methods ***/
|
|
static FORCEINLINE HRESULT IWMReaderAccelerator_QueryInterface(IWMReaderAccelerator* This,REFIID riid,void **ppvObject) {
|
|
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
|
|
}
|
|
static FORCEINLINE ULONG IWMReaderAccelerator_AddRef(IWMReaderAccelerator* This) {
|
|
return This->lpVtbl->AddRef(This);
|
|
}
|
|
static FORCEINLINE ULONG IWMReaderAccelerator_Release(IWMReaderAccelerator* This) {
|
|
return This->lpVtbl->Release(This);
|
|
}
|
|
/*** IWMReaderAccelerator methods ***/
|
|
static FORCEINLINE HRESULT IWMReaderAccelerator_GetCodecInterface(IWMReaderAccelerator* This,DWORD output,REFIID riid,void **codec) {
|
|
return This->lpVtbl->GetCodecInterface(This,output,riid,codec);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderAccelerator_Notify(IWMReaderAccelerator* This,DWORD output,WM_MEDIA_TYPE *subtype) {
|
|
return This->lpVtbl->Notify(This,output,subtype);
|
|
}
|
|
#endif
|
|
#endif
|
|
|
|
#endif
|
|
|
|
|
|
#endif /* __IWMReaderAccelerator_INTERFACE_DEFINED__ */
|
|
|
|
/*****************************************************************************
|
|
* IWMReaderTimecode interface
|
|
*/
|
|
#ifndef __IWMReaderTimecode_INTERFACE_DEFINED__
|
|
#define __IWMReaderTimecode_INTERFACE_DEFINED__
|
|
|
|
DEFINE_GUID(IID_IWMReaderTimecode, 0xf369e2f0, 0xe081, 0x4fe6, 0x84,0x50, 0xb8,0x10,0xb2,0xf4,0x10,0xd1);
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
MIDL_INTERFACE("f369e2f0-e081-4fe6-8450-b810b2f410d1")
|
|
IWMReaderTimecode : public IUnknown
|
|
{
|
|
virtual HRESULT STDMETHODCALLTYPE GetTimecodeRangeCount(
|
|
WORD num,
|
|
WORD *count) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetTimecodeRangeBounds(
|
|
WORD stream,
|
|
WORD range,
|
|
DWORD *start_timecode,
|
|
DWORD *end_timecode) = 0;
|
|
|
|
};
|
|
#ifdef __CRT_UUID_DECL
|
|
__CRT_UUID_DECL(IWMReaderTimecode, 0xf369e2f0, 0xe081, 0x4fe6, 0x84,0x50, 0xb8,0x10,0xb2,0xf4,0x10,0xd1)
|
|
#endif
|
|
#else
|
|
typedef struct IWMReaderTimecodeVtbl {
|
|
BEGIN_INTERFACE
|
|
|
|
/*** IUnknown methods ***/
|
|
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
|
|
IWMReaderTimecode *This,
|
|
REFIID riid,
|
|
void **ppvObject);
|
|
|
|
ULONG (STDMETHODCALLTYPE *AddRef)(
|
|
IWMReaderTimecode *This);
|
|
|
|
ULONG (STDMETHODCALLTYPE *Release)(
|
|
IWMReaderTimecode *This);
|
|
|
|
/*** IWMReaderTimecode methods ***/
|
|
HRESULT (STDMETHODCALLTYPE *GetTimecodeRangeCount)(
|
|
IWMReaderTimecode *This,
|
|
WORD num,
|
|
WORD *count);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetTimecodeRangeBounds)(
|
|
IWMReaderTimecode *This,
|
|
WORD stream,
|
|
WORD range,
|
|
DWORD *start_timecode,
|
|
DWORD *end_timecode);
|
|
|
|
END_INTERFACE
|
|
} IWMReaderTimecodeVtbl;
|
|
|
|
interface IWMReaderTimecode {
|
|
CONST_VTBL IWMReaderTimecodeVtbl* lpVtbl;
|
|
};
|
|
|
|
#ifdef COBJMACROS
|
|
#ifndef WIDL_C_INLINE_WRAPPERS
|
|
/*** IUnknown methods ***/
|
|
#define IWMReaderTimecode_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
|
|
#define IWMReaderTimecode_AddRef(This) (This)->lpVtbl->AddRef(This)
|
|
#define IWMReaderTimecode_Release(This) (This)->lpVtbl->Release(This)
|
|
/*** IWMReaderTimecode methods ***/
|
|
#define IWMReaderTimecode_GetTimecodeRangeCount(This,num,count) (This)->lpVtbl->GetTimecodeRangeCount(This,num,count)
|
|
#define IWMReaderTimecode_GetTimecodeRangeBounds(This,stream,range,start_timecode,end_timecode) (This)->lpVtbl->GetTimecodeRangeBounds(This,stream,range,start_timecode,end_timecode)
|
|
#else
|
|
/*** IUnknown methods ***/
|
|
static FORCEINLINE HRESULT IWMReaderTimecode_QueryInterface(IWMReaderTimecode* This,REFIID riid,void **ppvObject) {
|
|
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
|
|
}
|
|
static FORCEINLINE ULONG IWMReaderTimecode_AddRef(IWMReaderTimecode* This) {
|
|
return This->lpVtbl->AddRef(This);
|
|
}
|
|
static FORCEINLINE ULONG IWMReaderTimecode_Release(IWMReaderTimecode* This) {
|
|
return This->lpVtbl->Release(This);
|
|
}
|
|
/*** IWMReaderTimecode methods ***/
|
|
static FORCEINLINE HRESULT IWMReaderTimecode_GetTimecodeRangeCount(IWMReaderTimecode* This,WORD num,WORD *count) {
|
|
return This->lpVtbl->GetTimecodeRangeCount(This,num,count);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderTimecode_GetTimecodeRangeBounds(IWMReaderTimecode* This,WORD stream,WORD range,DWORD *start_timecode,DWORD *end_timecode) {
|
|
return This->lpVtbl->GetTimecodeRangeBounds(This,stream,range,start_timecode,end_timecode);
|
|
}
|
|
#endif
|
|
#endif
|
|
|
|
#endif
|
|
|
|
|
|
#endif /* __IWMReaderTimecode_INTERFACE_DEFINED__ */
|
|
|
|
/*****************************************************************************
|
|
* IWMReaderTypeNegotiation interface
|
|
*/
|
|
#ifndef __IWMReaderTypeNegotiation_INTERFACE_DEFINED__
|
|
#define __IWMReaderTypeNegotiation_INTERFACE_DEFINED__
|
|
|
|
DEFINE_GUID(IID_IWMReaderTypeNegotiation, 0xfdbe5592, 0x81a1, 0x41ea, 0x93,0xbd, 0x73,0x5c,0xad,0x1a,0xdc,0x05);
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
MIDL_INTERFACE("fdbe5592-81a1-41ea-93bd-735cad1adc05")
|
|
IWMReaderTypeNegotiation : public IUnknown
|
|
{
|
|
virtual HRESULT STDMETHODCALLTYPE TryOutputProps(
|
|
DWORD output,
|
|
IWMOutputMediaProps *props) = 0;
|
|
|
|
};
|
|
#ifdef __CRT_UUID_DECL
|
|
__CRT_UUID_DECL(IWMReaderTypeNegotiation, 0xfdbe5592, 0x81a1, 0x41ea, 0x93,0xbd, 0x73,0x5c,0xad,0x1a,0xdc,0x05)
|
|
#endif
|
|
#else
|
|
typedef struct IWMReaderTypeNegotiationVtbl {
|
|
BEGIN_INTERFACE
|
|
|
|
/*** IUnknown methods ***/
|
|
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
|
|
IWMReaderTypeNegotiation *This,
|
|
REFIID riid,
|
|
void **ppvObject);
|
|
|
|
ULONG (STDMETHODCALLTYPE *AddRef)(
|
|
IWMReaderTypeNegotiation *This);
|
|
|
|
ULONG (STDMETHODCALLTYPE *Release)(
|
|
IWMReaderTypeNegotiation *This);
|
|
|
|
/*** IWMReaderTypeNegotiation methods ***/
|
|
HRESULT (STDMETHODCALLTYPE *TryOutputProps)(
|
|
IWMReaderTypeNegotiation *This,
|
|
DWORD output,
|
|
IWMOutputMediaProps *props);
|
|
|
|
END_INTERFACE
|
|
} IWMReaderTypeNegotiationVtbl;
|
|
|
|
interface IWMReaderTypeNegotiation {
|
|
CONST_VTBL IWMReaderTypeNegotiationVtbl* lpVtbl;
|
|
};
|
|
|
|
#ifdef COBJMACROS
|
|
#ifndef WIDL_C_INLINE_WRAPPERS
|
|
/*** IUnknown methods ***/
|
|
#define IWMReaderTypeNegotiation_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
|
|
#define IWMReaderTypeNegotiation_AddRef(This) (This)->lpVtbl->AddRef(This)
|
|
#define IWMReaderTypeNegotiation_Release(This) (This)->lpVtbl->Release(This)
|
|
/*** IWMReaderTypeNegotiation methods ***/
|
|
#define IWMReaderTypeNegotiation_TryOutputProps(This,output,props) (This)->lpVtbl->TryOutputProps(This,output,props)
|
|
#else
|
|
/*** IUnknown methods ***/
|
|
static FORCEINLINE HRESULT IWMReaderTypeNegotiation_QueryInterface(IWMReaderTypeNegotiation* This,REFIID riid,void **ppvObject) {
|
|
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
|
|
}
|
|
static FORCEINLINE ULONG IWMReaderTypeNegotiation_AddRef(IWMReaderTypeNegotiation* This) {
|
|
return This->lpVtbl->AddRef(This);
|
|
}
|
|
static FORCEINLINE ULONG IWMReaderTypeNegotiation_Release(IWMReaderTypeNegotiation* This) {
|
|
return This->lpVtbl->Release(This);
|
|
}
|
|
/*** IWMReaderTypeNegotiation methods ***/
|
|
static FORCEINLINE HRESULT IWMReaderTypeNegotiation_TryOutputProps(IWMReaderTypeNegotiation* This,DWORD output,IWMOutputMediaProps *props) {
|
|
return This->lpVtbl->TryOutputProps(This,output,props);
|
|
}
|
|
#endif
|
|
#endif
|
|
|
|
#endif
|
|
|
|
|
|
#endif /* __IWMReaderTypeNegotiation_INTERFACE_DEFINED__ */
|
|
|
|
/*****************************************************************************
|
|
* IWMLanguageList interface
|
|
*/
|
|
#ifndef __IWMLanguageList_INTERFACE_DEFINED__
|
|
#define __IWMLanguageList_INTERFACE_DEFINED__
|
|
|
|
DEFINE_GUID(IID_IWMLanguageList, 0xdf683f00, 0x2d49, 0x4d8e, 0x92,0xb7, 0xfb,0x19,0xf6,0xa0,0xdc,0x57);
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
MIDL_INTERFACE("df683f00-2d49-4d8e-92b7-fb19f6a0dc57")
|
|
IWMLanguageList : public IUnknown
|
|
{
|
|
virtual HRESULT STDMETHODCALLTYPE GetLanguageCount(
|
|
WORD *count) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetLanguageDetails(
|
|
WORD index,
|
|
WCHAR *language,
|
|
WORD *length) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE AddLanguageByRFC1766String(
|
|
LPCWSTR_WMSDK_TYPE_SAFE language,
|
|
WORD *index) = 0;
|
|
|
|
};
|
|
#ifdef __CRT_UUID_DECL
|
|
__CRT_UUID_DECL(IWMLanguageList, 0xdf683f00, 0x2d49, 0x4d8e, 0x92,0xb7, 0xfb,0x19,0xf6,0xa0,0xdc,0x57)
|
|
#endif
|
|
#else
|
|
typedef struct IWMLanguageListVtbl {
|
|
BEGIN_INTERFACE
|
|
|
|
/*** IUnknown methods ***/
|
|
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
|
|
IWMLanguageList *This,
|
|
REFIID riid,
|
|
void **ppvObject);
|
|
|
|
ULONG (STDMETHODCALLTYPE *AddRef)(
|
|
IWMLanguageList *This);
|
|
|
|
ULONG (STDMETHODCALLTYPE *Release)(
|
|
IWMLanguageList *This);
|
|
|
|
/*** IWMLanguageList methods ***/
|
|
HRESULT (STDMETHODCALLTYPE *GetLanguageCount)(
|
|
IWMLanguageList *This,
|
|
WORD *count);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetLanguageDetails)(
|
|
IWMLanguageList *This,
|
|
WORD index,
|
|
WCHAR *language,
|
|
WORD *length);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *AddLanguageByRFC1766String)(
|
|
IWMLanguageList *This,
|
|
LPCWSTR_WMSDK_TYPE_SAFE language,
|
|
WORD *index);
|
|
|
|
END_INTERFACE
|
|
} IWMLanguageListVtbl;
|
|
|
|
interface IWMLanguageList {
|
|
CONST_VTBL IWMLanguageListVtbl* lpVtbl;
|
|
};
|
|
|
|
#ifdef COBJMACROS
|
|
#ifndef WIDL_C_INLINE_WRAPPERS
|
|
/*** IUnknown methods ***/
|
|
#define IWMLanguageList_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
|
|
#define IWMLanguageList_AddRef(This) (This)->lpVtbl->AddRef(This)
|
|
#define IWMLanguageList_Release(This) (This)->lpVtbl->Release(This)
|
|
/*** IWMLanguageList methods ***/
|
|
#define IWMLanguageList_GetLanguageCount(This,count) (This)->lpVtbl->GetLanguageCount(This,count)
|
|
#define IWMLanguageList_GetLanguageDetails(This,index,language,length) (This)->lpVtbl->GetLanguageDetails(This,index,language,length)
|
|
#define IWMLanguageList_AddLanguageByRFC1766String(This,language,index) (This)->lpVtbl->AddLanguageByRFC1766String(This,language,index)
|
|
#else
|
|
/*** IUnknown methods ***/
|
|
static FORCEINLINE HRESULT IWMLanguageList_QueryInterface(IWMLanguageList* This,REFIID riid,void **ppvObject) {
|
|
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
|
|
}
|
|
static FORCEINLINE ULONG IWMLanguageList_AddRef(IWMLanguageList* This) {
|
|
return This->lpVtbl->AddRef(This);
|
|
}
|
|
static FORCEINLINE ULONG IWMLanguageList_Release(IWMLanguageList* This) {
|
|
return This->lpVtbl->Release(This);
|
|
}
|
|
/*** IWMLanguageList methods ***/
|
|
static FORCEINLINE HRESULT IWMLanguageList_GetLanguageCount(IWMLanguageList* This,WORD *count) {
|
|
return This->lpVtbl->GetLanguageCount(This,count);
|
|
}
|
|
static FORCEINLINE HRESULT IWMLanguageList_GetLanguageDetails(IWMLanguageList* This,WORD index,WCHAR *language,WORD *length) {
|
|
return This->lpVtbl->GetLanguageDetails(This,index,language,length);
|
|
}
|
|
static FORCEINLINE HRESULT IWMLanguageList_AddLanguageByRFC1766String(IWMLanguageList* This,LPCWSTR_WMSDK_TYPE_SAFE language,WORD *index) {
|
|
return This->lpVtbl->AddLanguageByRFC1766String(This,language,index);
|
|
}
|
|
#endif
|
|
#endif
|
|
|
|
#endif
|
|
|
|
|
|
#endif /* __IWMLanguageList_INTERFACE_DEFINED__ */
|
|
|
|
/*****************************************************************************
|
|
* IWMReaderPlaylistBurn interface
|
|
*/
|
|
#ifndef __IWMReaderPlaylistBurn_INTERFACE_DEFINED__
|
|
#define __IWMReaderPlaylistBurn_INTERFACE_DEFINED__
|
|
|
|
DEFINE_GUID(IID_IWMReaderPlaylistBurn, 0xf28c0300, 0x9baa, 0x4477, 0xa8,0x46, 0x17,0x44,0xd9,0xcb,0xf5,0x33);
|
|
#if defined(__cplusplus) && !defined(CINTERFACE)
|
|
MIDL_INTERFACE("f28c0300-9baa-4477-a846-1744d9cbf533")
|
|
IWMReaderPlaylistBurn : public IUnknown
|
|
{
|
|
virtual HRESULT STDMETHODCALLTYPE InitPlaylistBurn(
|
|
DWORD count,
|
|
LPCWSTR_WMSDK_TYPE_SAFE *filenames,
|
|
IWMStatusCallback *callback,
|
|
void *context) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE GetInitResults(
|
|
DWORD count,
|
|
HRESULT *stat) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE Cancel(
|
|
) = 0;
|
|
|
|
virtual HRESULT STDMETHODCALLTYPE EndPlaylistBurn(
|
|
HRESULT result) = 0;
|
|
|
|
};
|
|
#ifdef __CRT_UUID_DECL
|
|
__CRT_UUID_DECL(IWMReaderPlaylistBurn, 0xf28c0300, 0x9baa, 0x4477, 0xa8,0x46, 0x17,0x44,0xd9,0xcb,0xf5,0x33)
|
|
#endif
|
|
#else
|
|
typedef struct IWMReaderPlaylistBurnVtbl {
|
|
BEGIN_INTERFACE
|
|
|
|
/*** IUnknown methods ***/
|
|
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
|
|
IWMReaderPlaylistBurn *This,
|
|
REFIID riid,
|
|
void **ppvObject);
|
|
|
|
ULONG (STDMETHODCALLTYPE *AddRef)(
|
|
IWMReaderPlaylistBurn *This);
|
|
|
|
ULONG (STDMETHODCALLTYPE *Release)(
|
|
IWMReaderPlaylistBurn *This);
|
|
|
|
/*** IWMReaderPlaylistBurn methods ***/
|
|
HRESULT (STDMETHODCALLTYPE *InitPlaylistBurn)(
|
|
IWMReaderPlaylistBurn *This,
|
|
DWORD count,
|
|
LPCWSTR_WMSDK_TYPE_SAFE *filenames,
|
|
IWMStatusCallback *callback,
|
|
void *context);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *GetInitResults)(
|
|
IWMReaderPlaylistBurn *This,
|
|
DWORD count,
|
|
HRESULT *stat);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *Cancel)(
|
|
IWMReaderPlaylistBurn *This);
|
|
|
|
HRESULT (STDMETHODCALLTYPE *EndPlaylistBurn)(
|
|
IWMReaderPlaylistBurn *This,
|
|
HRESULT result);
|
|
|
|
END_INTERFACE
|
|
} IWMReaderPlaylistBurnVtbl;
|
|
|
|
interface IWMReaderPlaylistBurn {
|
|
CONST_VTBL IWMReaderPlaylistBurnVtbl* lpVtbl;
|
|
};
|
|
|
|
#ifdef COBJMACROS
|
|
#ifndef WIDL_C_INLINE_WRAPPERS
|
|
/*** IUnknown methods ***/
|
|
#define IWMReaderPlaylistBurn_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
|
|
#define IWMReaderPlaylistBurn_AddRef(This) (This)->lpVtbl->AddRef(This)
|
|
#define IWMReaderPlaylistBurn_Release(This) (This)->lpVtbl->Release(This)
|
|
/*** IWMReaderPlaylistBurn methods ***/
|
|
#define IWMReaderPlaylistBurn_InitPlaylistBurn(This,count,filenames,callback,context) (This)->lpVtbl->InitPlaylistBurn(This,count,filenames,callback,context)
|
|
#define IWMReaderPlaylistBurn_GetInitResults(This,count,stat) (This)->lpVtbl->GetInitResults(This,count,stat)
|
|
#define IWMReaderPlaylistBurn_Cancel(This) (This)->lpVtbl->Cancel(This)
|
|
#define IWMReaderPlaylistBurn_EndPlaylistBurn(This,result) (This)->lpVtbl->EndPlaylistBurn(This,result)
|
|
#else
|
|
/*** IUnknown methods ***/
|
|
static FORCEINLINE HRESULT IWMReaderPlaylistBurn_QueryInterface(IWMReaderPlaylistBurn* This,REFIID riid,void **ppvObject) {
|
|
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
|
|
}
|
|
static FORCEINLINE ULONG IWMReaderPlaylistBurn_AddRef(IWMReaderPlaylistBurn* This) {
|
|
return This->lpVtbl->AddRef(This);
|
|
}
|
|
static FORCEINLINE ULONG IWMReaderPlaylistBurn_Release(IWMReaderPlaylistBurn* This) {
|
|
return This->lpVtbl->Release(This);
|
|
}
|
|
/*** IWMReaderPlaylistBurn methods ***/
|
|
static FORCEINLINE HRESULT IWMReaderPlaylistBurn_InitPlaylistBurn(IWMReaderPlaylistBurn* This,DWORD count,LPCWSTR_WMSDK_TYPE_SAFE *filenames,IWMStatusCallback *callback,void *context) {
|
|
return This->lpVtbl->InitPlaylistBurn(This,count,filenames,callback,context);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderPlaylistBurn_GetInitResults(IWMReaderPlaylistBurn* This,DWORD count,HRESULT *stat) {
|
|
return This->lpVtbl->GetInitResults(This,count,stat);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderPlaylistBurn_Cancel(IWMReaderPlaylistBurn* This) {
|
|
return This->lpVtbl->Cancel(This);
|
|
}
|
|
static FORCEINLINE HRESULT IWMReaderPlaylistBurn_EndPlaylistBurn(IWMReaderPlaylistBurn* This,HRESULT result) {
|
|
return This->lpVtbl->EndPlaylistBurn(This,result);
|
|
}
|
|
#endif
|
|
#endif
|
|
|
|
#endif
|
|
|
|
|
|
#endif /* __IWMReaderPlaylistBurn_INTERFACE_DEFINED__ */
|
|
|
|
HRESULT WINAPI WMCreateWriter(IUnknown*,IWMWriter**);
|
|
HRESULT WINAPI WMCreateReader(IUnknown*,DWORD,IWMReader**);
|
|
EXTERN_GUID(WMMEDIASUBTYPE_Base, 0x00000000,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);
|
|
EXTERN_GUID(WMMEDIATYPE_Video, 0x73646976,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);
|
|
EXTERN_GUID(WMMEDIASUBTYPE_RGB1, 0xe436eb78,0x524f,0x11ce,0x9f,0x53,0x00,0x20,0xaf,0x0b,0xa7,0x70);
|
|
EXTERN_GUID(WMMEDIASUBTYPE_RGB4, 0xe436eb79,0x524f,0x11ce,0x9f,0x53,0x00,0x20,0xaf,0x0b,0xa7,0x70);
|
|
EXTERN_GUID(WMMEDIASUBTYPE_RGB8, 0xe436eb7a,0x524f,0x11ce,0x9f,0x53,0x00,0x20,0xaf,0x0b,0xa7,0x70);
|
|
EXTERN_GUID(WMMEDIASUBTYPE_RGB565, 0xe436eb7b,0x524f,0x11ce,0x9f,0x53,0x00,0x20,0xaf,0x0b,0xa7,0x70);
|
|
EXTERN_GUID(WMMEDIASUBTYPE_RGB555, 0xe436eb7c,0x524f,0x11ce,0x9f,0x53,0x00,0x20,0xaf,0x0b,0xa7,0x70);
|
|
EXTERN_GUID(WMMEDIASUBTYPE_RGB24, 0xe436eb7d,0x524f,0x11ce,0x9f,0x53,0x00,0x20,0xaf,0x0b,0xa7,0x70);
|
|
EXTERN_GUID(WMMEDIASUBTYPE_RGB32, 0xe436eb7e,0x524f,0x11ce,0x9f,0x53,0x00,0x20,0xaf,0x0b,0xa7,0x70);
|
|
EXTERN_GUID(WMMEDIASUBTYPE_I420, 0x30323449,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);
|
|
EXTERN_GUID(WMMEDIASUBTYPE_IYUV, 0x56555949,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);
|
|
EXTERN_GUID(WMMEDIASUBTYPE_YV12, 0x32315659,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);
|
|
EXTERN_GUID(WMMEDIASUBTYPE_YUY2, 0x32595559,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);
|
|
EXTERN_GUID(WMMEDIASUBTYPE_P422, 0x32323450,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);
|
|
EXTERN_GUID(WMMEDIASUBTYPE_UYVY, 0x59565955,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);
|
|
EXTERN_GUID(WMMEDIASUBTYPE_YVYU, 0x55595659,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);
|
|
EXTERN_GUID(WMMEDIASUBTYPE_YVU9, 0x39555659,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);
|
|
EXTERN_GUID(WMMEDIASUBTYPE_VIDEOIMAGE, 0x1d4a45f2,0xe5f6,0x4b44,0x83,0x88,0xf0,0xae,0x5c,0x0e,0x0c,0x37);
|
|
EXTERN_GUID(WMMEDIASUBTYPE_MP43, 0x3334504d,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);
|
|
EXTERN_GUID(WMMEDIASUBTYPE_MP4S, 0x5334504d,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);
|
|
EXTERN_GUID(WMMEDIASUBTYPE_M4S2, 0x3253344d,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);
|
|
EXTERN_GUID(WMMEDIASUBTYPE_WMV1, 0x31564d57,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);
|
|
EXTERN_GUID(WMMEDIASUBTYPE_WMV2, 0x32564d57,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);
|
|
EXTERN_GUID(WMMEDIASUBTYPE_MSS1, 0x3153534d,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);
|
|
EXTERN_GUID(WMMEDIASUBTYPE_MPEG2_VIDEO, 0xe06d8026,0xdb46,0x11cf,0xb4,0xd1,0x00,0x80,0x5f,0x6c,0xbb,0xea);
|
|
EXTERN_GUID(WMMEDIATYPE_Audio, 0x73647561,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);
|
|
EXTERN_GUID(WMMEDIASUBTYPE_PCM, 0x00000001,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);
|
|
EXTERN_GUID(WMMEDIASUBTYPE_DRM, 0x00000009,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);
|
|
EXTERN_GUID(WMMEDIASUBTYPE_WMAudioV9, 0x00000162,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);
|
|
EXTERN_GUID(WMMEDIASUBTYPE_WMAudio_Lossless, 0x00000163,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);
|
|
EXTERN_GUID(WMMEDIASUBTYPE_MSS2, 0x3253534d,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);
|
|
EXTERN_GUID(WMMEDIASUBTYPE_WMSP1, 0x0000000a,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);
|
|
EXTERN_GUID(WMMEDIASUBTYPE_WMSP2, 0x0000000b,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);
|
|
EXTERN_GUID(WMMEDIASUBTYPE_WMV3, 0x33564d57,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);
|
|
EXTERN_GUID(WMMEDIASUBTYPE_WMVP, 0x50564d57,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);
|
|
EXTERN_GUID(WMMEDIASUBTYPE_WVP2, 0x32505657,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);
|
|
EXTERN_GUID(WMMEDIASUBTYPE_WMVA, 0x41564d57,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);
|
|
EXTERN_GUID(WMMEDIASUBTYPE_WVC1, 0x31435657,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);
|
|
/* Begin additional prototypes for all interfaces */
|
|
|
|
|
|
/* End additional prototypes */
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif /* __wmsdkidl_h__ */
|