/* this ALWAYS GENERATED file contains the definitions for the interfaces */ /* File created by MIDL compiler version 7.00.0555 */ /* Compiler settings for wmsdkidl.idl: Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 7.00.0555 protocol : dce , ms_ext, c_ext, robust error checks: allocation ref bounds_check enum stub_data VC __declspec() decoration level: __declspec(uuid()), __declspec(selectany), __declspec(novtable) DECLSPEC_UUID(), MIDL_INTERFACE() */ /* @@MIDL_FILE_HEADING( ) */ #pragma warning( disable: 4049 ) /* more than 64k source lines */ /* verify that the version is high enough to compile this file*/ #ifndef __REQUIRED_RPCNDR_H_VERSION__ #define __REQUIRED_RPCNDR_H_VERSION__ 500 #endif /* verify that the version is high enough to compile this file*/ #ifndef __REQUIRED_RPCSAL_H_VERSION__ #define __REQUIRED_RPCSAL_H_VERSION__ 100 #endif #include "rpc.h" #include "rpcndr.h" #ifndef __RPCNDR_H_VERSION__ #error this stub requires an updated version of #endif // __RPCNDR_H_VERSION__ #ifndef COM_NO_WINDOWS_H #include "windows.h" #include "ole2.h" #endif /*COM_NO_WINDOWS_H*/ #ifndef __wmsdkidl_h__ #define __wmsdkidl_h__ #if defined(_MSC_VER) && (_MSC_VER >= 1020) #pragma once #endif /* Forward Declarations */ #ifndef __IWMMediaProps_FWD_DEFINED__ #define __IWMMediaProps_FWD_DEFINED__ typedef interface IWMMediaProps IWMMediaProps; #endif /* __IWMMediaProps_FWD_DEFINED__ */ #ifndef __IWMVideoMediaProps_FWD_DEFINED__ #define __IWMVideoMediaProps_FWD_DEFINED__ typedef interface IWMVideoMediaProps IWMVideoMediaProps; #endif /* __IWMVideoMediaProps_FWD_DEFINED__ */ #ifndef __IWMWriter_FWD_DEFINED__ #define __IWMWriter_FWD_DEFINED__ typedef interface IWMWriter IWMWriter; #endif /* __IWMWriter_FWD_DEFINED__ */ #ifndef __IWMDRMWriter_FWD_DEFINED__ #define __IWMDRMWriter_FWD_DEFINED__ typedef interface IWMDRMWriter IWMDRMWriter; #endif /* __IWMDRMWriter_FWD_DEFINED__ */ #ifndef __IWMDRMWriter2_FWD_DEFINED__ #define __IWMDRMWriter2_FWD_DEFINED__ typedef interface IWMDRMWriter2 IWMDRMWriter2; #endif /* __IWMDRMWriter2_FWD_DEFINED__ */ #ifndef __IWMDRMWriter3_FWD_DEFINED__ #define __IWMDRMWriter3_FWD_DEFINED__ typedef interface IWMDRMWriter3 IWMDRMWriter3; #endif /* __IWMDRMWriter3_FWD_DEFINED__ */ #ifndef __IWMInputMediaProps_FWD_DEFINED__ #define __IWMInputMediaProps_FWD_DEFINED__ typedef interface IWMInputMediaProps IWMInputMediaProps; #endif /* __IWMInputMediaProps_FWD_DEFINED__ */ #ifndef __IWMPropertyVault_FWD_DEFINED__ #define __IWMPropertyVault_FWD_DEFINED__ typedef interface IWMPropertyVault IWMPropertyVault; #endif /* __IWMPropertyVault_FWD_DEFINED__ */ #ifndef __IWMIStreamProps_FWD_DEFINED__ #define __IWMIStreamProps_FWD_DEFINED__ typedef interface IWMIStreamProps IWMIStreamProps; #endif /* __IWMIStreamProps_FWD_DEFINED__ */ #ifndef __IWMReader_FWD_DEFINED__ #define __IWMReader_FWD_DEFINED__ typedef interface IWMReader IWMReader; #endif /* __IWMReader_FWD_DEFINED__ */ #ifndef __IWMSyncReader_FWD_DEFINED__ #define __IWMSyncReader_FWD_DEFINED__ typedef interface IWMSyncReader IWMSyncReader; #endif /* __IWMSyncReader_FWD_DEFINED__ */ #ifndef __IWMSyncReader2_FWD_DEFINED__ #define __IWMSyncReader2_FWD_DEFINED__ typedef interface IWMSyncReader2 IWMSyncReader2; #endif /* __IWMSyncReader2_FWD_DEFINED__ */ #ifndef __IWMOutputMediaProps_FWD_DEFINED__ #define __IWMOutputMediaProps_FWD_DEFINED__ typedef interface IWMOutputMediaProps IWMOutputMediaProps; #endif /* __IWMOutputMediaProps_FWD_DEFINED__ */ #ifndef __IWMStatusCallback_FWD_DEFINED__ #define __IWMStatusCallback_FWD_DEFINED__ typedef interface IWMStatusCallback IWMStatusCallback; #endif /* __IWMStatusCallback_FWD_DEFINED__ */ #ifndef __IWMReaderCallback_FWD_DEFINED__ #define __IWMReaderCallback_FWD_DEFINED__ typedef interface IWMReaderCallback IWMReaderCallback; #endif /* __IWMReaderCallback_FWD_DEFINED__ */ #ifndef __IWMCredentialCallback_FWD_DEFINED__ #define __IWMCredentialCallback_FWD_DEFINED__ typedef interface IWMCredentialCallback IWMCredentialCallback; #endif /* __IWMCredentialCallback_FWD_DEFINED__ */ #ifndef __IWMMetadataEditor_FWD_DEFINED__ #define __IWMMetadataEditor_FWD_DEFINED__ typedef interface IWMMetadataEditor IWMMetadataEditor; #endif /* __IWMMetadataEditor_FWD_DEFINED__ */ #ifndef __IWMMetadataEditor2_FWD_DEFINED__ #define __IWMMetadataEditor2_FWD_DEFINED__ typedef interface IWMMetadataEditor2 IWMMetadataEditor2; #endif /* __IWMMetadataEditor2_FWD_DEFINED__ */ #ifndef __IWMDRMEditor_FWD_DEFINED__ #define __IWMDRMEditor_FWD_DEFINED__ typedef interface IWMDRMEditor IWMDRMEditor; #endif /* __IWMDRMEditor_FWD_DEFINED__ */ #ifndef __IWMHeaderInfo_FWD_DEFINED__ #define __IWMHeaderInfo_FWD_DEFINED__ typedef interface IWMHeaderInfo IWMHeaderInfo; #endif /* __IWMHeaderInfo_FWD_DEFINED__ */ #ifndef __IWMHeaderInfo2_FWD_DEFINED__ #define __IWMHeaderInfo2_FWD_DEFINED__ typedef interface IWMHeaderInfo2 IWMHeaderInfo2; #endif /* __IWMHeaderInfo2_FWD_DEFINED__ */ #ifndef __IWMHeaderInfo3_FWD_DEFINED__ #define __IWMHeaderInfo3_FWD_DEFINED__ typedef interface IWMHeaderInfo3 IWMHeaderInfo3; #endif /* __IWMHeaderInfo3_FWD_DEFINED__ */ #ifndef __IWMProfileManager_FWD_DEFINED__ #define __IWMProfileManager_FWD_DEFINED__ typedef interface IWMProfileManager IWMProfileManager; #endif /* __IWMProfileManager_FWD_DEFINED__ */ #ifndef __IWMProfileManager2_FWD_DEFINED__ #define __IWMProfileManager2_FWD_DEFINED__ typedef interface IWMProfileManager2 IWMProfileManager2; #endif /* __IWMProfileManager2_FWD_DEFINED__ */ #ifndef __IWMProfileManagerLanguage_FWD_DEFINED__ #define __IWMProfileManagerLanguage_FWD_DEFINED__ typedef interface IWMProfileManagerLanguage IWMProfileManagerLanguage; #endif /* __IWMProfileManagerLanguage_FWD_DEFINED__ */ #ifndef __IWMProfile_FWD_DEFINED__ #define __IWMProfile_FWD_DEFINED__ typedef interface IWMProfile IWMProfile; #endif /* __IWMProfile_FWD_DEFINED__ */ #ifndef __IWMProfile2_FWD_DEFINED__ #define __IWMProfile2_FWD_DEFINED__ typedef interface IWMProfile2 IWMProfile2; #endif /* __IWMProfile2_FWD_DEFINED__ */ #ifndef __IWMProfile3_FWD_DEFINED__ #define __IWMProfile3_FWD_DEFINED__ typedef interface IWMProfile3 IWMProfile3; #endif /* __IWMProfile3_FWD_DEFINED__ */ #ifndef __IWMStreamConfig_FWD_DEFINED__ #define __IWMStreamConfig_FWD_DEFINED__ typedef interface IWMStreamConfig IWMStreamConfig; #endif /* __IWMStreamConfig_FWD_DEFINED__ */ #ifndef __IWMStreamConfig2_FWD_DEFINED__ #define __IWMStreamConfig2_FWD_DEFINED__ typedef interface IWMStreamConfig2 IWMStreamConfig2; #endif /* __IWMStreamConfig2_FWD_DEFINED__ */ #ifndef __IWMStreamConfig3_FWD_DEFINED__ #define __IWMStreamConfig3_FWD_DEFINED__ typedef interface IWMStreamConfig3 IWMStreamConfig3; #endif /* __IWMStreamConfig3_FWD_DEFINED__ */ #ifndef __IWMPacketSize_FWD_DEFINED__ #define __IWMPacketSize_FWD_DEFINED__ typedef interface IWMPacketSize IWMPacketSize; #endif /* __IWMPacketSize_FWD_DEFINED__ */ #ifndef __IWMPacketSize2_FWD_DEFINED__ #define __IWMPacketSize2_FWD_DEFINED__ typedef interface IWMPacketSize2 IWMPacketSize2; #endif /* __IWMPacketSize2_FWD_DEFINED__ */ #ifndef __IWMStreamList_FWD_DEFINED__ #define __IWMStreamList_FWD_DEFINED__ typedef interface IWMStreamList IWMStreamList; #endif /* __IWMStreamList_FWD_DEFINED__ */ #ifndef __IWMMutualExclusion_FWD_DEFINED__ #define __IWMMutualExclusion_FWD_DEFINED__ typedef interface IWMMutualExclusion IWMMutualExclusion; #endif /* __IWMMutualExclusion_FWD_DEFINED__ */ #ifndef __IWMMutualExclusion2_FWD_DEFINED__ #define __IWMMutualExclusion2_FWD_DEFINED__ typedef interface IWMMutualExclusion2 IWMMutualExclusion2; #endif /* __IWMMutualExclusion2_FWD_DEFINED__ */ #ifndef __IWMBandwidthSharing_FWD_DEFINED__ #define __IWMBandwidthSharing_FWD_DEFINED__ typedef interface IWMBandwidthSharing IWMBandwidthSharing; #endif /* __IWMBandwidthSharing_FWD_DEFINED__ */ #ifndef __IWMStreamPrioritization_FWD_DEFINED__ #define __IWMStreamPrioritization_FWD_DEFINED__ typedef interface IWMStreamPrioritization IWMStreamPrioritization; #endif /* __IWMStreamPrioritization_FWD_DEFINED__ */ #ifndef __IWMWriterAdvanced_FWD_DEFINED__ #define __IWMWriterAdvanced_FWD_DEFINED__ typedef interface IWMWriterAdvanced IWMWriterAdvanced; #endif /* __IWMWriterAdvanced_FWD_DEFINED__ */ #ifndef __IWMWriterAdvanced2_FWD_DEFINED__ #define __IWMWriterAdvanced2_FWD_DEFINED__ typedef interface IWMWriterAdvanced2 IWMWriterAdvanced2; #endif /* __IWMWriterAdvanced2_FWD_DEFINED__ */ #ifndef __IWMWriterAdvanced3_FWD_DEFINED__ #define __IWMWriterAdvanced3_FWD_DEFINED__ typedef interface IWMWriterAdvanced3 IWMWriterAdvanced3; #endif /* __IWMWriterAdvanced3_FWD_DEFINED__ */ #ifndef __IWMWriterPreprocess_FWD_DEFINED__ #define __IWMWriterPreprocess_FWD_DEFINED__ typedef interface IWMWriterPreprocess IWMWriterPreprocess; #endif /* __IWMWriterPreprocess_FWD_DEFINED__ */ #ifndef __IWMWriterPostViewCallback_FWD_DEFINED__ #define __IWMWriterPostViewCallback_FWD_DEFINED__ typedef interface IWMWriterPostViewCallback IWMWriterPostViewCallback; #endif /* __IWMWriterPostViewCallback_FWD_DEFINED__ */ #ifndef __IWMWriterPostView_FWD_DEFINED__ #define __IWMWriterPostView_FWD_DEFINED__ typedef interface IWMWriterPostView IWMWriterPostView; #endif /* __IWMWriterPostView_FWD_DEFINED__ */ #ifndef __IWMWriterSink_FWD_DEFINED__ #define __IWMWriterSink_FWD_DEFINED__ typedef interface IWMWriterSink IWMWriterSink; #endif /* __IWMWriterSink_FWD_DEFINED__ */ #ifndef __IWMRegisterCallback_FWD_DEFINED__ #define __IWMRegisterCallback_FWD_DEFINED__ typedef interface IWMRegisterCallback IWMRegisterCallback; #endif /* __IWMRegisterCallback_FWD_DEFINED__ */ #ifndef __IWMWriterFileSink_FWD_DEFINED__ #define __IWMWriterFileSink_FWD_DEFINED__ typedef interface IWMWriterFileSink IWMWriterFileSink; #endif /* __IWMWriterFileSink_FWD_DEFINED__ */ #ifndef __IWMWriterFileSink2_FWD_DEFINED__ #define __IWMWriterFileSink2_FWD_DEFINED__ typedef interface IWMWriterFileSink2 IWMWriterFileSink2; #endif /* __IWMWriterFileSink2_FWD_DEFINED__ */ #ifndef __IWMWriterFileSink3_FWD_DEFINED__ #define __IWMWriterFileSink3_FWD_DEFINED__ typedef interface IWMWriterFileSink3 IWMWriterFileSink3; #endif /* __IWMWriterFileSink3_FWD_DEFINED__ */ #ifndef __IWMWriterNetworkSink_FWD_DEFINED__ #define __IWMWriterNetworkSink_FWD_DEFINED__ typedef interface IWMWriterNetworkSink IWMWriterNetworkSink; #endif /* __IWMWriterNetworkSink_FWD_DEFINED__ */ #ifndef __IWMClientConnections_FWD_DEFINED__ #define __IWMClientConnections_FWD_DEFINED__ typedef interface IWMClientConnections IWMClientConnections; #endif /* __IWMClientConnections_FWD_DEFINED__ */ #ifndef __IWMClientConnections2_FWD_DEFINED__ #define __IWMClientConnections2_FWD_DEFINED__ typedef interface IWMClientConnections2 IWMClientConnections2; #endif /* __IWMClientConnections2_FWD_DEFINED__ */ #ifndef __IWMReaderAdvanced_FWD_DEFINED__ #define __IWMReaderAdvanced_FWD_DEFINED__ typedef interface IWMReaderAdvanced IWMReaderAdvanced; #endif /* __IWMReaderAdvanced_FWD_DEFINED__ */ #ifndef __IWMReaderAdvanced2_FWD_DEFINED__ #define __IWMReaderAdvanced2_FWD_DEFINED__ typedef interface IWMReaderAdvanced2 IWMReaderAdvanced2; #endif /* __IWMReaderAdvanced2_FWD_DEFINED__ */ #ifndef __IWMReaderAdvanced3_FWD_DEFINED__ #define __IWMReaderAdvanced3_FWD_DEFINED__ typedef interface IWMReaderAdvanced3 IWMReaderAdvanced3; #endif /* __IWMReaderAdvanced3_FWD_DEFINED__ */ #ifndef __IWMReaderAdvanced4_FWD_DEFINED__ #define __IWMReaderAdvanced4_FWD_DEFINED__ typedef interface IWMReaderAdvanced4 IWMReaderAdvanced4; #endif /* __IWMReaderAdvanced4_FWD_DEFINED__ */ #ifndef __IWMReaderAdvanced5_FWD_DEFINED__ #define __IWMReaderAdvanced5_FWD_DEFINED__ typedef interface IWMReaderAdvanced5 IWMReaderAdvanced5; #endif /* __IWMReaderAdvanced5_FWD_DEFINED__ */ #ifndef __IWMReaderAdvanced6_FWD_DEFINED__ #define __IWMReaderAdvanced6_FWD_DEFINED__ typedef interface IWMReaderAdvanced6 IWMReaderAdvanced6; #endif /* __IWMReaderAdvanced6_FWD_DEFINED__ */ #ifndef __IWMPlayerHook_FWD_DEFINED__ #define __IWMPlayerHook_FWD_DEFINED__ typedef interface IWMPlayerHook IWMPlayerHook; #endif /* __IWMPlayerHook_FWD_DEFINED__ */ #ifndef __IWMReaderAllocatorEx_FWD_DEFINED__ #define __IWMReaderAllocatorEx_FWD_DEFINED__ typedef interface IWMReaderAllocatorEx IWMReaderAllocatorEx; #endif /* __IWMReaderAllocatorEx_FWD_DEFINED__ */ #ifndef __IWMReaderTypeNegotiation_FWD_DEFINED__ #define __IWMReaderTypeNegotiation_FWD_DEFINED__ typedef interface IWMReaderTypeNegotiation IWMReaderTypeNegotiation; #endif /* __IWMReaderTypeNegotiation_FWD_DEFINED__ */ #ifndef __IWMReaderCallbackAdvanced_FWD_DEFINED__ #define __IWMReaderCallbackAdvanced_FWD_DEFINED__ typedef interface IWMReaderCallbackAdvanced IWMReaderCallbackAdvanced; #endif /* __IWMReaderCallbackAdvanced_FWD_DEFINED__ */ #ifndef __IWMDRMReader_FWD_DEFINED__ #define __IWMDRMReader_FWD_DEFINED__ typedef interface IWMDRMReader IWMDRMReader; #endif /* __IWMDRMReader_FWD_DEFINED__ */ #ifndef __IWMDRMReader2_FWD_DEFINED__ #define __IWMDRMReader2_FWD_DEFINED__ typedef interface IWMDRMReader2 IWMDRMReader2; #endif /* __IWMDRMReader2_FWD_DEFINED__ */ #ifndef __IWMDRMReader3_FWD_DEFINED__ #define __IWMDRMReader3_FWD_DEFINED__ typedef interface IWMDRMReader3 IWMDRMReader3; #endif /* __IWMDRMReader3_FWD_DEFINED__ */ #ifndef __IWMReaderPlaylistBurn_FWD_DEFINED__ #define __IWMReaderPlaylistBurn_FWD_DEFINED__ typedef interface IWMReaderPlaylistBurn IWMReaderPlaylistBurn; #endif /* __IWMReaderPlaylistBurn_FWD_DEFINED__ */ #ifndef __IWMReaderNetworkConfig_FWD_DEFINED__ #define __IWMReaderNetworkConfig_FWD_DEFINED__ typedef interface IWMReaderNetworkConfig IWMReaderNetworkConfig; #endif /* __IWMReaderNetworkConfig_FWD_DEFINED__ */ #ifndef __IWMReaderNetworkConfig2_FWD_DEFINED__ #define __IWMReaderNetworkConfig2_FWD_DEFINED__ typedef interface IWMReaderNetworkConfig2 IWMReaderNetworkConfig2; #endif /* __IWMReaderNetworkConfig2_FWD_DEFINED__ */ #ifndef __IWMReaderStreamClock_FWD_DEFINED__ #define __IWMReaderStreamClock_FWD_DEFINED__ typedef interface IWMReaderStreamClock IWMReaderStreamClock; #endif /* __IWMReaderStreamClock_FWD_DEFINED__ */ #ifndef __IWMIndexer_FWD_DEFINED__ #define __IWMIndexer_FWD_DEFINED__ typedef interface IWMIndexer IWMIndexer; #endif /* __IWMIndexer_FWD_DEFINED__ */ #ifndef __IWMIndexer2_FWD_DEFINED__ #define __IWMIndexer2_FWD_DEFINED__ typedef interface IWMIndexer2 IWMIndexer2; #endif /* __IWMIndexer2_FWD_DEFINED__ */ #ifndef __IWMLicenseBackup_FWD_DEFINED__ #define __IWMLicenseBackup_FWD_DEFINED__ typedef interface IWMLicenseBackup IWMLicenseBackup; #endif /* __IWMLicenseBackup_FWD_DEFINED__ */ #ifndef __IWMLicenseRestore_FWD_DEFINED__ #define __IWMLicenseRestore_FWD_DEFINED__ typedef interface IWMLicenseRestore IWMLicenseRestore; #endif /* __IWMLicenseRestore_FWD_DEFINED__ */ #ifndef __IWMBackupRestoreProps_FWD_DEFINED__ #define __IWMBackupRestoreProps_FWD_DEFINED__ typedef interface IWMBackupRestoreProps IWMBackupRestoreProps; #endif /* __IWMBackupRestoreProps_FWD_DEFINED__ */ #ifndef __IWMCodecInfo_FWD_DEFINED__ #define __IWMCodecInfo_FWD_DEFINED__ typedef interface IWMCodecInfo IWMCodecInfo; #endif /* __IWMCodecInfo_FWD_DEFINED__ */ #ifndef __IWMCodecInfo2_FWD_DEFINED__ #define __IWMCodecInfo2_FWD_DEFINED__ typedef interface IWMCodecInfo2 IWMCodecInfo2; #endif /* __IWMCodecInfo2_FWD_DEFINED__ */ #ifndef __IWMCodecInfo3_FWD_DEFINED__ #define __IWMCodecInfo3_FWD_DEFINED__ typedef interface IWMCodecInfo3 IWMCodecInfo3; #endif /* __IWMCodecInfo3_FWD_DEFINED__ */ #ifndef __IWMLanguageList_FWD_DEFINED__ #define __IWMLanguageList_FWD_DEFINED__ typedef interface IWMLanguageList IWMLanguageList; #endif /* __IWMLanguageList_FWD_DEFINED__ */ #ifndef __IWMWriterPushSink_FWD_DEFINED__ #define __IWMWriterPushSink_FWD_DEFINED__ typedef interface IWMWriterPushSink IWMWriterPushSink; #endif /* __IWMWriterPushSink_FWD_DEFINED__ */ #ifndef __IWMDeviceRegistration_FWD_DEFINED__ #define __IWMDeviceRegistration_FWD_DEFINED__ typedef interface IWMDeviceRegistration IWMDeviceRegistration; #endif /* __IWMDeviceRegistration_FWD_DEFINED__ */ #ifndef __IWMRegisteredDevice_FWD_DEFINED__ #define __IWMRegisteredDevice_FWD_DEFINED__ typedef interface IWMRegisteredDevice IWMRegisteredDevice; #endif /* __IWMRegisteredDevice_FWD_DEFINED__ */ #ifndef __IWMProximityDetection_FWD_DEFINED__ #define __IWMProximityDetection_FWD_DEFINED__ typedef interface IWMProximityDetection IWMProximityDetection; #endif /* __IWMProximityDetection_FWD_DEFINED__ */ #ifndef __IWMDRMMessageParser_FWD_DEFINED__ #define __IWMDRMMessageParser_FWD_DEFINED__ typedef interface IWMDRMMessageParser IWMDRMMessageParser; #endif /* __IWMDRMMessageParser_FWD_DEFINED__ */ #ifndef __IWMDRMTranscryptor_FWD_DEFINED__ #define __IWMDRMTranscryptor_FWD_DEFINED__ typedef interface IWMDRMTranscryptor IWMDRMTranscryptor; #endif /* __IWMDRMTranscryptor_FWD_DEFINED__ */ #ifndef __IWMDRMTranscryptor2_FWD_DEFINED__ #define __IWMDRMTranscryptor2_FWD_DEFINED__ typedef interface IWMDRMTranscryptor2 IWMDRMTranscryptor2; #endif /* __IWMDRMTranscryptor2_FWD_DEFINED__ */ #ifndef __IWMDRMTranscryptionManager_FWD_DEFINED__ #define __IWMDRMTranscryptionManager_FWD_DEFINED__ typedef interface IWMDRMTranscryptionManager IWMDRMTranscryptionManager; #endif /* __IWMDRMTranscryptionManager_FWD_DEFINED__ */ #ifndef __IWMWatermarkInfo_FWD_DEFINED__ #define __IWMWatermarkInfo_FWD_DEFINED__ typedef interface IWMWatermarkInfo IWMWatermarkInfo; #endif /* __IWMWatermarkInfo_FWD_DEFINED__ */ #ifndef __IWMReaderAccelerator_FWD_DEFINED__ #define __IWMReaderAccelerator_FWD_DEFINED__ typedef interface IWMReaderAccelerator IWMReaderAccelerator; #endif /* __IWMReaderAccelerator_FWD_DEFINED__ */ #ifndef __IWMReaderTimecode_FWD_DEFINED__ #define __IWMReaderTimecode_FWD_DEFINED__ typedef interface IWMReaderTimecode IWMReaderTimecode; #endif /* __IWMReaderTimecode_FWD_DEFINED__ */ #ifndef __IWMAddressAccess_FWD_DEFINED__ #define __IWMAddressAccess_FWD_DEFINED__ typedef interface IWMAddressAccess IWMAddressAccess; #endif /* __IWMAddressAccess_FWD_DEFINED__ */ #ifndef __IWMAddressAccess2_FWD_DEFINED__ #define __IWMAddressAccess2_FWD_DEFINED__ typedef interface IWMAddressAccess2 IWMAddressAccess2; #endif /* __IWMAddressAccess2_FWD_DEFINED__ */ #ifndef __IWMImageInfo_FWD_DEFINED__ #define __IWMImageInfo_FWD_DEFINED__ typedef interface IWMImageInfo IWMImageInfo; #endif /* __IWMImageInfo_FWD_DEFINED__ */ #ifndef __IWMLicenseRevocationAgent_FWD_DEFINED__ #define __IWMLicenseRevocationAgent_FWD_DEFINED__ typedef interface IWMLicenseRevocationAgent IWMLicenseRevocationAgent; #endif /* __IWMLicenseRevocationAgent_FWD_DEFINED__ */ /* header files for imported files */ #include "oaidl.h" #include "wmsbuffer.h" #include "drmexternals.h" #ifdef __cplusplus extern "C"{ #endif /* interface __MIDL_itf_wmsdkidl_0000_0000 */ /* [local] */ //========================================================================= // // Microsoft Windows Media Technologies // Copyright (C) Microsoft Corporation. All Rights Reserved. // //========================================================================= typedef unsigned __int64 QWORD; //////////////////////////////////////////////////////////////// // // These are the special case attributes that give information // about the Windows Media file. // static const DWORD g_dwWMSpecialAttributes = 20; static const WCHAR g_wszWMDuration[] =L"Duration"; static const WCHAR g_wszWMBitrate[] =L"Bitrate"; static const WCHAR g_wszWMSeekable[] =L"Seekable"; static const WCHAR g_wszWMStridable[] =L"Stridable"; static const WCHAR g_wszWMBroadcast[] =L"Broadcast"; static const WCHAR g_wszWMProtected[] =L"Is_Protected"; static const WCHAR g_wszWMTrusted[] =L"Is_Trusted"; static const WCHAR g_wszWMSignature_Name[] =L"Signature_Name"; static const WCHAR g_wszWMHasAudio[] =L"HasAudio"; static const WCHAR g_wszWMHasImage[] =L"HasImage"; static const WCHAR g_wszWMHasScript[] =L"HasScript"; static const WCHAR g_wszWMHasVideo[] =L"HasVideo"; static const WCHAR g_wszWMCurrentBitrate[] =L"CurrentBitrate"; static const WCHAR g_wszWMOptimalBitrate[] =L"OptimalBitrate"; static const WCHAR g_wszWMHasAttachedImages[] =L"HasAttachedImages"; static const WCHAR g_wszWMSkipBackward[] =L"Can_Skip_Backward"; static const WCHAR g_wszWMSkipForward[] =L"Can_Skip_Forward"; static const WCHAR g_wszWMNumberOfFrames[] =L"NumberOfFrames"; static const WCHAR g_wszWMFileSize[] =L"FileSize"; static const WCHAR g_wszWMHasArbitraryDataStream[] =L"HasArbitraryDataStream"; static const WCHAR g_wszWMHasFileTransferStream[] =L"HasFileTransferStream"; static const WCHAR g_wszWMContainerFormat[] =L"WM/ContainerFormat"; //////////////////////////////////////////////////////////////// // // The content description object supports 5 basic attributes. // static const DWORD g_dwWMContentAttributes = 5; static const WCHAR g_wszWMTitle[] =L"Title"; static const WCHAR g_wszWMAuthor[] =L"Author"; static const WCHAR g_wszWMDescription[] =L"Description"; static const WCHAR g_wszWMRating[] =L"Rating"; static const WCHAR g_wszWMCopyright[] =L"Copyright"; //////////////////////////////////////////////////////////////// // // These attributes are used to configure and query DRM settings in the reader and writer. // static const WCHAR g_wszWMUse_DRM[] = L"Use_DRM"; static const WCHAR g_wszWMDRM_Flags[] = L"DRM_Flags"; static const WCHAR g_wszWMDRM_Level[] = L"DRM_Level"; static const WCHAR g_wszWMUse_Advanced_DRM[] = L"Use_Advanced_DRM"; static const WCHAR g_wszWMDRM_KeySeed[] = L"DRM_KeySeed"; static const WCHAR g_wszWMDRM_KeyID[] = L"DRM_KeyID"; static const WCHAR g_wszWMDRM_ContentID[] = L"DRM_ContentID"; static const WCHAR g_wszWMDRM_SourceID[] = L"DRM_SourceID"; static const WCHAR g_wszWMDRM_IndividualizedVersion[] = L"DRM_IndividualizedVersion"; static const WCHAR g_wszWMDRM_LicenseAcqURL[] = L"DRM_LicenseAcqURL"; static const WCHAR g_wszWMDRM_V1LicenseAcqURL[] = L"DRM_V1LicenseAcqURL"; static const WCHAR g_wszWMDRM_HeaderSignPrivKey[] = L"DRM_HeaderSignPrivKey"; static const WCHAR g_wszWMDRM_LASignaturePrivKey[] = L"DRM_LASignaturePrivKey"; static const WCHAR g_wszWMDRM_LASignatureCert[] = L"DRM_LASignatureCert"; static const WCHAR g_wszWMDRM_LASignatureLicSrvCert[] = L"DRM_LASignatureLicSrvCert"; static const WCHAR g_wszWMDRM_LASignatureRootCert[] = L"DRM_LASignatureRootCert"; //////////////////////////////////////////////////////////////// // // These are the additional attributes defined in the WM attribute // namespace that give information about the content. // static const WCHAR g_wszWMAlbumTitle[] =L"WM/AlbumTitle"; static const WCHAR g_wszWMTrack[] =L"WM/Track"; static const WCHAR g_wszWMPromotionURL[] =L"WM/PromotionURL"; static const WCHAR g_wszWMAlbumCoverURL[] =L"WM/AlbumCoverURL"; static const WCHAR g_wszWMGenre[] =L"WM/Genre"; static const WCHAR g_wszWMYear[] =L"WM/Year"; static const WCHAR g_wszWMGenreID[] =L"WM/GenreID"; static const WCHAR g_wszWMMCDI[] =L"WM/MCDI"; static const WCHAR g_wszWMComposer[] =L"WM/Composer"; static const WCHAR g_wszWMLyrics[] =L"WM/Lyrics"; static const WCHAR g_wszWMTrackNumber[] =L"WM/TrackNumber"; static const WCHAR g_wszWMToolName[] =L"WM/ToolName"; static const WCHAR g_wszWMToolVersion[] =L"WM/ToolVersion"; static const WCHAR g_wszWMIsVBR[] =L"IsVBR"; static const WCHAR g_wszWMAlbumArtist[] =L"WM/AlbumArtist"; //////////////////////////////////////////////////////////////// // // These optional attributes may be used to give information // about the branding of the content. // static const WCHAR g_wszWMBannerImageType[] =L"BannerImageType"; static const WCHAR g_wszWMBannerImageData[] =L"BannerImageData"; static const WCHAR g_wszWMBannerImageURL[] =L"BannerImageURL"; static const WCHAR g_wszWMCopyrightURL[] =L"CopyrightURL"; //////////////////////////////////////////////////////////////// // // Optional attributes, used to give information // about video stream properties. // static const WCHAR g_wszWMAspectRatioX[] =L"AspectRatioX"; static const WCHAR g_wszWMAspectRatioY[] =L"AspectRatioY"; //////////////////////////////////////////////////////////////// // // Optional attributes, used to give information // about the overall streaming properties of VBR files. // This attribute takes the format: // WORD wReserved (must be 0) // WM_LEAKY_BUCKET_PAIR pair1 // WM_LEAKY_BUCKET_PAIR pair2 // ... // static const WCHAR g_wszASFLeakyBucketPairs[] =L"ASFLeakyBucketPairs"; //////////////////////////////////////////////////////////////// // // The NSC file supports the following attributes. // static const DWORD g_dwWMNSCAttributes = 5; static const WCHAR g_wszWMNSCName[] =L"NSC_Name"; static const WCHAR g_wszWMNSCAddress[] =L"NSC_Address"; static const WCHAR g_wszWMNSCPhone[] =L"NSC_Phone"; static const WCHAR g_wszWMNSCEmail[] =L"NSC_Email"; static const WCHAR g_wszWMNSCDescription[] =L"NSC_Description"; //////////////////////////////////////////////////////////////// // // Attributes introduced in V9 // static const WCHAR g_wszWMWriter[] =L"WM/Writer"; static const WCHAR g_wszWMConductor[] =L"WM/Conductor"; static const WCHAR g_wszWMProducer[] =L"WM/Producer"; static const WCHAR g_wszWMDirector[] =L"WM/Director"; static const WCHAR g_wszWMContentGroupDescription[] =L"WM/ContentGroupDescription"; static const WCHAR g_wszWMSubTitle[] =L"WM/SubTitle"; static const WCHAR g_wszWMPartOfSet[] =L"WM/PartOfSet"; static const WCHAR g_wszWMProtectionType[] =L"WM/ProtectionType"; static const WCHAR g_wszWMVideoHeight[] =L"WM/VideoHeight"; static const WCHAR g_wszWMVideoWidth[] =L"WM/VideoWidth"; static const WCHAR g_wszWMVideoFrameRate[] =L"WM/VideoFrameRate"; static const WCHAR g_wszWMMediaClassPrimaryID[] =L"WM/MediaClassPrimaryID"; static const WCHAR g_wszWMMediaClassSecondaryID[] =L"WM/MediaClassSecondaryID"; static const WCHAR g_wszWMPeriod[] = L"WM/Period"; static const WCHAR g_wszWMCategory[] = L"WM/Category"; static const WCHAR g_wszWMPicture[] =L"WM/Picture"; static const WCHAR g_wszWMLyrics_Synchronised[] =L"WM/Lyrics_Synchronised"; static const WCHAR g_wszWMOriginalLyricist[] =L"WM/OriginalLyricist"; static const WCHAR g_wszWMOriginalArtist[] =L"WM/OriginalArtist"; static const WCHAR g_wszWMOriginalAlbumTitle[] =L"WM/OriginalAlbumTitle"; static const WCHAR g_wszWMOriginalReleaseYear[] =L"WM/OriginalReleaseYear"; static const WCHAR g_wszWMOriginalFilename[] =L"WM/OriginalFilename"; static const WCHAR g_wszWMPublisher[] =L"WM/Publisher"; static const WCHAR g_wszWMEncodedBy[] =L"WM/EncodedBy"; static const WCHAR g_wszWMEncodingSettings[] =L"WM/EncodingSettings"; static const WCHAR g_wszWMEncodingTime[] =L"WM/EncodingTime"; static const WCHAR g_wszWMAuthorURL[] =L"WM/AuthorURL"; static const WCHAR g_wszWMUserWebURL[] =L"WM/UserWebURL"; static const WCHAR g_wszWMAudioFileURL[] =L"WM/AudioFileURL"; static const WCHAR g_wszWMAudioSourceURL[] =L"WM/AudioSourceURL"; static const WCHAR g_wszWMLanguage[] =L"WM/Language"; static const WCHAR g_wszWMParentalRating[] =L"WM/ParentalRating"; static const WCHAR g_wszWMBeatsPerMinute[] =L"WM/BeatsPerMinute"; static const WCHAR g_wszWMInitialKey[] =L"WM/InitialKey"; static const WCHAR g_wszWMMood[] =L"WM/Mood"; static const WCHAR g_wszWMText[] =L"WM/Text"; static const WCHAR g_wszWMDVDID[] =L"WM/DVDID"; static const WCHAR g_wszWMWMContentID[] =L"WM/WMContentID"; static const WCHAR g_wszWMWMCollectionID[] =L"WM/WMCollectionID"; static const WCHAR g_wszWMWMCollectionGroupID[] =L"WM/WMCollectionGroupID"; static const WCHAR g_wszWMUniqueFileIdentifier[] =L"WM/UniqueFileIdentifier"; static const WCHAR g_wszWMModifiedBy[] =L"WM/ModifiedBy"; static const WCHAR g_wszWMRadioStationName[] =L"WM/RadioStationName"; static const WCHAR g_wszWMRadioStationOwner[] =L"WM/RadioStationOwner"; static const WCHAR g_wszWMPlaylistDelay[] =L"WM/PlaylistDelay"; static const WCHAR g_wszWMCodec[] =L"WM/Codec"; static const WCHAR g_wszWMDRM[] =L"WM/DRM"; static const WCHAR g_wszWMISRC[] =L"WM/ISRC"; static const WCHAR g_wszWMProvider[] =L"WM/Provider"; static const WCHAR g_wszWMProviderRating[] =L"WM/ProviderRating"; static const WCHAR g_wszWMProviderStyle[] =L"WM/ProviderStyle"; static const WCHAR g_wszWMContentDistributor[] =L"WM/ContentDistributor"; static const WCHAR g_wszWMSubscriptionContentID[] =L"WM/SubscriptionContentID"; static const WCHAR g_wszWMWMADRCPeakReference[] =L"WM/WMADRCPeakReference"; static const WCHAR g_wszWMWMADRCPeakTarget[] =L"WM/WMADRCPeakTarget"; static const WCHAR g_wszWMWMADRCAverageReference[] =L"WM/WMADRCAverageReference"; static const WCHAR g_wszWMWMADRCAverageTarget[] =L"WM/WMADRCAverageTarget"; //////////////////////////////////////////////////////////////// // // Attributes introduced in V10 // static const WCHAR g_wszWMStreamTypeInfo[] = L"WM/StreamTypeInfo"; static const WCHAR g_wszWMPeakBitrate[] = L"WM/PeakBitrate"; static const WCHAR g_wszWMASFPacketCount[] = L"WM/ASFPacketCount"; static const WCHAR g_wszWMASFSecurityObjectsSize[] = L"WM/ASFSecurityObjectsSize"; static const WCHAR g_wszWMSharedUserRating[] = L"WM/SharedUserRating"; static const WCHAR g_wszWMSubTitleDescription[] = L"WM/SubTitleDescription"; static const WCHAR g_wszWMMediaCredits[] = L"WM/MediaCredits"; static const WCHAR g_wszWMParentalRatingReason[] = L"WM/ParentalRatingReason"; static const WCHAR g_wszWMOriginalReleaseTime[] = L"WM/OriginalReleaseTime"; static const WCHAR g_wszWMMediaStationCallSign[] = L"WM/MediaStationCallSign"; static const WCHAR g_wszWMMediaStationName[] = L"WM/MediaStationName"; static const WCHAR g_wszWMMediaNetworkAffiliation[] = L"WM/MediaNetworkAffiliation"; static const WCHAR g_wszWMMediaOriginalChannel[] = L"WM/MediaOriginalChannel"; static const WCHAR g_wszWMMediaOriginalBroadcastDateTime[] = L"WM/MediaOriginalBroadcastDateTime"; static const WCHAR g_wszWMMediaIsStereo[] = L"WM/MediaIsStereo"; static const WCHAR g_wszWMVideoClosedCaptioning[] = L"WM/VideoClosedCaptioning"; static const WCHAR g_wszWMMediaIsRepeat[] = L"WM/MediaIsRepeat"; static const WCHAR g_wszWMMediaIsLive[] = L"WM/MediaIsLive"; static const WCHAR g_wszWMMediaIsTape[] = L"WM/MediaIsTape"; static const WCHAR g_wszWMMediaIsDelay[] = L"WM/MediaIsDelay"; static const WCHAR g_wszWMMediaIsSubtitled[] = L"WM/MediaIsSubtitled"; static const WCHAR g_wszWMMediaIsPremiere[] = L"WM/MediaIsPremiere"; static const WCHAR g_wszWMMediaIsFinale[] = L"WM/MediaIsFinale"; static const WCHAR g_wszWMMediaIsSAP[] = L"WM/MediaIsSAP"; static const WCHAR g_wszWMProviderCopyright[] = L"WM/ProviderCopyright"; //////////////////////////////////////////////////////////////// // // Attributes introduced in V11 // static const WCHAR g_wszWMISAN[] = L"WM/ISAN"; static const WCHAR g_wszWMADID[] = L"WM/ADID"; static const WCHAR g_wszWMWMShadowFileSourceFileType[] = L"WM/WMShadowFileSourceFileType"; static const WCHAR g_wszWMWMShadowFileSourceDRMType[] = L"WM/WMShadowFileSourceDRMType"; static const WCHAR g_wszWMWMCPDistributor[] =L"WM/WMCPDistributor"; static const WCHAR g_wszWMWMCPDistributorID[] =L"WM/WMCPDistributorID"; static const WCHAR g_wszWMSeasonNumber[] =L"WM/SeasonNumber"; static const WCHAR g_wszWMEpisodeNumber[] =L"WM/EpisodeNumber"; //////////////////////////////////////////////////////////////// // // These are setting names for use in Get/SetOutputSetting // static const WCHAR g_wszEarlyDataDelivery[] =L"EarlyDataDelivery"; static const WCHAR g_wszJustInTimeDecode[] =L"JustInTimeDecode"; static const WCHAR g_wszSingleOutputBuffer[] =L"SingleOutputBuffer"; static const WCHAR g_wszSoftwareScaling[] =L"SoftwareScaling"; static const WCHAR g_wszDeliverOnReceive[] =L"DeliverOnReceive"; static const WCHAR g_wszScrambledAudio[] =L"ScrambledAudio"; static const WCHAR g_wszDedicatedDeliveryThread[] =L"DedicatedDeliveryThread"; static const WCHAR g_wszEnableDiscreteOutput[] = L"EnableDiscreteOutput"; static const WCHAR g_wszSpeakerConfig[] = L"SpeakerConfig"; static const WCHAR g_wszDynamicRangeControl[] = L"DynamicRangeControl"; static const WCHAR g_wszAllowInterlacedOutput[] = L"AllowInterlacedOutput"; static const WCHAR g_wszVideoSampleDurations[] =L"VideoSampleDurations"; static const WCHAR g_wszStreamLanguage[] =L"StreamLanguage"; static const WCHAR g_wszEnableWMAProSPDIFOutput[] = L"EnableWMAProSPDIFOutput"; //////////////////////////////////////////////////////////////// // // These are setting names for use in Get/SetInputSetting // static const WCHAR g_wszDeinterlaceMode[] =L"DeinterlaceMode"; static const WCHAR g_wszInitialPatternForInverseTelecine[] =L"InitialPatternForInverseTelecine"; static const WCHAR g_wszJPEGCompressionQuality[] =L"JPEGCompressionQuality"; static const WCHAR g_wszWatermarkCLSID[] =L"WatermarkCLSID"; static const WCHAR g_wszWatermarkConfig[] =L"WatermarkConfig"; static const WCHAR g_wszInterlacedCoding[] =L"InterlacedCoding"; static const WCHAR g_wszFixedFrameRate[] =L"FixedFrameRate"; //////////////////////////////////////////////////////////////// // // All known IWMPropertyVault property names // // g_wszOriginalSourceFormatTag is obsolete and has been superceded by g_wszOriginalWaveFormat static const WCHAR g_wszOriginalSourceFormatTag[] =L"_SOURCEFORMATTAG"; static const WCHAR g_wszOriginalWaveFormat[] =L"_ORIGINALWAVEFORMAT"; static const WCHAR g_wszEDL[] =L"_EDL"; static const WCHAR g_wszComplexity[] =L"_COMPLEXITYEX"; static const WCHAR g_wszDecoderComplexityRequested[] =L"_DECODERCOMPLEXITYPROFILE"; //////////////////////////////////////////////////////////////// // // All known IWMIStreamProps property names // static const WCHAR g_wszReloadIndexOnSeek[] =L"ReloadIndexOnSeek"; static const WCHAR g_wszStreamNumIndexObjects[] =L"StreamNumIndexObjects"; static const WCHAR g_wszFailSeekOnError[] =L"FailSeekOnError"; static const WCHAR g_wszPermitSeeksBeyondEndOfStream[] =L"PermitSeeksBeyondEndOfStream"; static const WCHAR g_wszUsePacketAtSeekPoint[] =L"UsePacketAtSeekPoint"; static const WCHAR g_wszSourceBufferTime[] =L"SourceBufferTime"; static const WCHAR g_wszSourceMaxBytesAtOnce[] =L"SourceMaxBytesAtOnce"; //////////////////////////////////////////////////////////////// // // VBR encoding settings // static const WCHAR g_wszVBREnabled[] =L"_VBRENABLED"; static const WCHAR g_wszVBRQuality[] =L"_VBRQUALITY"; static const WCHAR g_wszVBRBitrateMax[] =L"_RMAX"; static const WCHAR g_wszVBRBufferWindowMax[] =L"_BMAX"; //////////////////////////////////////////////////////////////// // // VBR Video settings // static const WCHAR g_wszVBRPeak[] = L"VBR Peak"; static const WCHAR g_wszBufferAverage[] = L"Buffer Average"; //////////////////////////////////////////////////////////////// // // Codec encoding complexity settings // // g_wszComplexity should be used to set desired encoding complexity on the // stream's IWMPropertyVault (see above for definition) // The below settings can be queried from IWMCodecInfo3::GetCodecProp() // static const WCHAR g_wszComplexityMax[] =L"_COMPLEXITYEXMAX"; static const WCHAR g_wszComplexityOffline[] =L"_COMPLEXITYEXOFFLINE"; static const WCHAR g_wszComplexityLive[] =L"_COMPLEXITYEXLIVE"; static const WCHAR g_wszIsVBRSupported[] =L"_ISVBRSUPPORTED"; //////////////////////////////////////////////////////////////// // // Codec enumeration settings // // g_wszVBREnabled can be used as a codec enumeration setting (see above for definition) static const WCHAR g_wszNumPasses[] = L"_PASSESUSED"; //////////////////////////////////////////////////////////////// // // These are WMA Voice V9 attribute names and values // static const WCHAR g_wszMusicSpeechClassMode[] = L"MusicSpeechClassMode"; static const WCHAR g_wszMusicClassMode[] = L"MusicClassMode"; static const WCHAR g_wszSpeechClassMode[] = L"SpeechClassMode"; static const WCHAR g_wszMixedClassMode[] = L"MixedClassMode"; //////////////////////////////////////////////////////////////// // // The WMA Voice V9 supports the following format property. // static const WCHAR g_wszSpeechCaps[] = L"SpeechFormatCap"; //////////////////////////////////////////////////////////////// // // Multi-channel WMA properties // static const WCHAR g_wszPeakValue[] = L"PeakValue"; static const WCHAR g_wszAverageLevel[] = L"AverageLevel"; static const WCHAR g_wszFold6To2Channels3[] = L"Fold6To2Channels3"; static const WCHAR g_wszFoldToChannelsTemplate[] = L"Fold%luTo%luChannels%lu"; //////////////////////////////////////////////////////////////// // // Complexity profile description strings // static const WCHAR g_wszDeviceConformanceTemplate[] = L"DeviceConformanceTemplate"; //////////////////////////////////////////////////////////////// // // Frame interpolation on video decode // static const WCHAR g_wszEnableFrameInterpolation[] =L"EnableFrameInterpolation"; //////////////////////////////////////////////////////////////// // // Needs previous sample for Delta frame on video decode // static const WCHAR g_wszNeedsPreviousSample[] =L"NeedsPreviousSample"; //////////////////////////////////////////////////////////////// // // Corresponds to iTunes Compilation flag // static const WCHAR g_wszWMIsCompilation[] = L"WM/IsCompilation"; //////////////////////////////////////////////////////////////// // // Flags that can be passed into the Start method of IWMReader // #define WM_START_CURRENTPOSITION ( ( QWORD )-1 ) #define WM_BACKUP_OVERWRITE ((DWORD) 0x00000001) #define WM_RESTORE_INDIVIDUALIZE ((DWORD) 0x00000002) #define WAVE_FORMAT_DRM 0x0009 typedef LPCWSTR LPCWSTR_WMSDK_TYPE_SAFE; #ifdef WMSDK_TYPE_SAFE #define LPCWSTR_WMSDK_TYPE_SAFE LPCWSTR #else #define LPCWSTR_WMSDK_TYPE_SAFE LPWSTR #endif enum __MIDL___MIDL_itf_wmsdkidl_0000_0000_0001 { WEBSTREAM_SAMPLE_TYPE_FILE = 0x1, WEBSTREAM_SAMPLE_TYPE_RENDER = 0x2 } ; enum __MIDL___MIDL_itf_wmsdkidl_0000_0000_0002 { WM_SF_CLEANPOINT = 0x1, WM_SF_DISCONTINUITY = 0x2, WM_SF_DATALOSS = 0x4 } ; enum __MIDL___MIDL_itf_wmsdkidl_0000_0000_0003 { WM_SFEX_NOTASYNCPOINT = 0x2, WM_SFEX_DATALOSS = 0x4 } ; 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_IMAGE_TYPE { WMT_IT_NONE = 0, WMT_IT_BITMAP = 1, WMT_IT_JPEG = 2, WMT_IT_GIF = 3 } WMT_IMAGE_TYPE; 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_ATTR_IMAGETYPE { WMT_IMAGETYPE_BITMAP = 1, WMT_IMAGETYPE_JPEG = 2, WMT_IMAGETYPE_GIF = 3 } WMT_ATTR_IMAGETYPE; 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 tagWMT_STORAGE_FORMAT { WMT_Storage_Format_MP3 = 0, WMT_Storage_Format_V1 = ( WMT_Storage_Format_MP3 + 1 ) } WMT_STORAGE_FORMAT; typedef enum tagWMT_DRMLA_TRUST { WMT_DRMLA_UNTRUSTED = 0, WMT_DRMLA_TRUSTED = ( WMT_DRMLA_UNTRUSTED + 1 ) , WMT_DRMLA_TAMPERED = ( WMT_DRMLA_TRUSTED + 1 ) } WMT_DRMLA_TRUST; typedef enum tagWMT_TRANSPORT_TYPE { WMT_Transport_Type_Unreliable = 0, WMT_Transport_Type_Reliable = ( WMT_Transport_Type_Unreliable + 1 ) } WMT_TRANSPORT_TYPE; typedef enum WMT_NET_PROTOCOL { WMT_PROTOCOL_HTTP = 0 } WMT_NET_PROTOCOL; 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 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 = ( WMT_PROXY_SETTING_BROWSER + 1 ) } WMT_PROXY_SETTINGS; typedef enum WMT_CODEC_INFO_TYPE { WMT_CODECINFO_AUDIO = 0, WMT_CODECINFO_VIDEO = 1, WMT_CODECINFO_UNKNOWN = 0xffffffff } WMT_CODEC_INFO_TYPE; enum __MIDL___MIDL_itf_wmsdkidl_0000_0000_0004 { WM_DM_NOTINTERLACED = 0, WM_DM_DEINTERLACE_NORMAL = 1, WM_DM_DEINTERLACE_HALFSIZE = 2, WM_DM_DEINTERLACE_HALFSIZEDOUBLERATE = 3, WM_DM_DEINTERLACE_INVERSETELECINE = 4, WM_DM_DEINTERLACE_VERTICALHALFSIZEDOUBLERATE = 5 } ; enum __MIDL___MIDL_itf_wmsdkidl_0000_0000_0005 { WM_DM_IT_DISABLE_COHERENT_MODE = 0, WM_DM_IT_FIRST_FRAME_IN_CLIP_IS_AA_TOP = 1, WM_DM_IT_FIRST_FRAME_IN_CLIP_IS_BB_TOP = 2, WM_DM_IT_FIRST_FRAME_IN_CLIP_IS_BC_TOP = 3, WM_DM_IT_FIRST_FRAME_IN_CLIP_IS_CD_TOP = 4, WM_DM_IT_FIRST_FRAME_IN_CLIP_IS_DD_TOP = 5, WM_DM_IT_FIRST_FRAME_IN_CLIP_IS_AA_BOTTOM = 6, WM_DM_IT_FIRST_FRAME_IN_CLIP_IS_BB_BOTTOM = 7, WM_DM_IT_FIRST_FRAME_IN_CLIP_IS_BC_BOTTOM = 8, WM_DM_IT_FIRST_FRAME_IN_CLIP_IS_CD_BOTTOM = 9, WM_DM_IT_FIRST_FRAME_IN_CLIP_IS_DD_BOTTOM = 10 } ; typedef enum tagWMT_OFFSET_FORMAT { WMT_OFFSET_FORMAT_100NS = 0, WMT_OFFSET_FORMAT_FRAME_NUMBERS = ( WMT_OFFSET_FORMAT_100NS + 1 ) , WMT_OFFSET_FORMAT_PLAYLIST_OFFSET = ( WMT_OFFSET_FORMAT_FRAME_NUMBERS + 1 ) , WMT_OFFSET_FORMAT_TIMECODE = ( WMT_OFFSET_FORMAT_PLAYLIST_OFFSET + 1 ) , WMT_OFFSET_FORMAT_100NS_APPROXIMATE = ( WMT_OFFSET_FORMAT_TIMECODE + 1 ) } WMT_OFFSET_FORMAT; typedef enum tagWMT_INDEXER_TYPE { WMT_IT_PRESENTATION_TIME = 0, WMT_IT_FRAME_NUMBERS = ( WMT_IT_PRESENTATION_TIME + 1 ) , WMT_IT_TIMECODE = ( WMT_IT_FRAME_NUMBERS + 1 ) } WMT_INDEXER_TYPE; typedef enum tagWMT_INDEX_TYPE { WMT_IT_NEAREST_DATA_UNIT = 1, WMT_IT_NEAREST_OBJECT = ( WMT_IT_NEAREST_DATA_UNIT + 1 ) , WMT_IT_NEAREST_CLEAN_POINT = ( WMT_IT_NEAREST_OBJECT + 1 ) } WMT_INDEX_TYPE; typedef enum tagWMT_FILESINK_MODE { WMT_FM_SINGLE_BUFFERS = 0x1, WMT_FM_FILESINK_DATA_UNITS = 0x2, WMT_FM_FILESINK_UNBUFFERED = 0x4 } WMT_FILESINK_MODE; typedef enum tagWMT_MUSICSPEECH_CLASS_MODE { WMT_MS_CLASS_MUSIC = 0, WMT_MS_CLASS_SPEECH = 1, WMT_MS_CLASS_MIXED = 2 } WMT_MUSICSPEECH_CLASS_MODE; typedef enum tagWMT_WATERMARK_ENTRY_TYPE { WMT_WMETYPE_AUDIO = 1, WMT_WMETYPE_VIDEO = 2 } WMT_WATERMARK_ENTRY_TYPE; enum __MIDL___MIDL_itf_wmsdkidl_0000_0000_0006 { WM_PLAYBACK_DRC_HIGH = 0, WM_PLAYBACK_DRC_MEDIUM = ( WM_PLAYBACK_DRC_HIGH + 1 ) , WM_PLAYBACK_DRC_LOW = ( WM_PLAYBACK_DRC_MEDIUM + 1 ) } ; enum __MIDL___MIDL_itf_wmsdkidl_0000_0000_0007 { WMT_TIMECODE_FRAMERATE_30 = 0, WMT_TIMECODE_FRAMERATE_30DROP = ( WMT_TIMECODE_FRAMERATE_30 + 1 ) , WMT_TIMECODE_FRAMERATE_25 = ( WMT_TIMECODE_FRAMERATE_30DROP + 1 ) , WMT_TIMECODE_FRAMERATE_24 = ( WMT_TIMECODE_FRAMERATE_25 + 1 ) } ; typedef enum WMT_CREDENTIAL_FLAGS { WMT_CREDENTIAL_SAVE = 0x1, WMT_CREDENTIAL_DONT_CACHE = 0x2, WMT_CREDENTIAL_CLEAR_TEXT = 0x4, WMT_CREDENTIAL_PROXY = 0x8, WMT_CREDENTIAL_ENCRYPT = 0x10 } WMT_CREDENTIAL_FLAGS; typedef enum WM_AETYPE { WM_AETYPE_INCLUDE = 0x69, WM_AETYPE_EXCLUDE = 0x65 } WM_AETYPE; #pragma pack(push) #pragma pack(2) typedef struct _WMStreamPrioritizationRecord { WORD wStreamNumber; BOOL fMandatory; } WM_STREAM_PRIORITY_RECORD; #pragma pack(pop) 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 struct _WMClientProperties { DWORD dwIPAddress; DWORD dwPort; } WM_CLIENT_PROPERTIES; typedef struct _WMClientPropertiesEx { DWORD cbSize; LPCWSTR pwszIPAddress; LPCWSTR pwszPort; LPCWSTR pwszDNSName; } WM_CLIENT_PROPERTIES_EX; typedef struct _WMPortNumberRange { WORD wPortBegin; WORD wPortEnd; } WM_PORT_NUMBER_RANGE; typedef struct _WMT_BUFFER_SEGMENT { INSSBuffer *pBuffer; DWORD cbOffset; DWORD cbLength; } WMT_BUFFER_SEGMENT; typedef struct _WMT_PAYLOAD_FRAGMENT { DWORD dwPayloadIndex; WMT_BUFFER_SEGMENT segmentData; } WMT_PAYLOAD_FRAGMENT; typedef struct _WMT_FILESINK_DATA_UNIT { WMT_BUFFER_SEGMENT packetHeaderBuffer; DWORD cPayloads; WMT_BUFFER_SEGMENT *pPayloadHeaderBuffers; DWORD cPayloadDataFragments; WMT_PAYLOAD_FRAGMENT *pPayloadDataFragments; } WMT_FILESINK_DATA_UNIT; typedef struct _WMT_WEBSTREAM_FORMAT { WORD cbSize; WORD cbSampleHeaderFixedData; WORD wVersion; WORD wReserved; } WMT_WEBSTREAM_FORMAT; typedef struct _WMT_WEBSTREAM_SAMPLE_HEADER { WORD cbLength; WORD wPart; WORD cTotalParts; WORD wSampleType; WCHAR wszURL[ 1 ]; } WMT_WEBSTREAM_SAMPLE_HEADER; typedef struct _WMAddressAccessEntry { DWORD dwIPAddress; DWORD dwMask; } WM_ADDRESS_ACCESSENTRY; #pragma pack(push) #pragma pack(1) typedef struct _WMPicture { LPWSTR pwszMIMEType; BYTE bPictureType; LPWSTR pwszDescription; DWORD dwDataLen; BYTE *pbData; } WM_PICTURE; typedef struct _WMSynchronisedLyrics { BYTE bTimeStampFormat; BYTE bContentType; LPWSTR pwszContentDescriptor; DWORD dwLyricsLen; BYTE *pbLyrics; } WM_SYNCHRONISED_LYRICS; typedef struct _WMUserWebURL { LPWSTR pwszDescription; LPWSTR pwszURL; } WM_USER_WEB_URL; typedef struct _WMUserText { LPWSTR pwszDescription; LPWSTR pwszText; } WM_USER_TEXT; typedef struct _WMLeakyBucketPair { DWORD dwBitrate; DWORD msBufferWindow; } WM_LEAKY_BUCKET_PAIR; typedef struct _WMStreamTypeInfo { GUID guidMajorType; DWORD cbFormat; } WM_STREAM_TYPE_INFO; #pragma pack(pop) typedef struct _WM_LICENSE_STATE_DATA { DWORD dwSize; DWORD dwNumStates; DRM_LICENSE_STATE_DATA stateData[ 1 ]; } WM_LICENSE_STATE_DATA; typedef struct __WMT_WATERMARK_ENTRY { WMT_WATERMARK_ENTRY_TYPE wmetType; CLSID clsid; UINT cbDisplayName; LPWSTR pwszDisplayName; } WMT_WATERMARK_ENTRY; #define WMT_VIDEOIMAGE_SAMPLE_INPUT_FRAME 1 // sample has input frame #define WMT_VIDEOIMAGE_SAMPLE_OUTPUT_FRAME 2 // sample produces output frame #define WMT_VIDEOIMAGE_SAMPLE_USES_CURRENT_INPUT_FRAME 4 #define WMT_VIDEOIMAGE_SAMPLE_USES_PREVIOUS_INPUT_FRAME 8 #define WMT_VIDEOIMAGE_SAMPLE_MOTION 1 // acef used (includes resizing) #define WMT_VIDEOIMAGE_SAMPLE_ROTATION 2 // bd also used (not valid without acef) #define WMT_VIDEOIMAGE_SAMPLE_BLENDING 4 // BlendCoef1 used #define WMT_VIDEOIMAGE_SAMPLE_ADV_BLENDING 8 // BlendCoef2 also used (not valid without BlendCoef1) #define WMT_VIDEOIMAGE_INTEGER_DENOMINATOR 65536L #define WMT_VIDEOIMAGE_MAGIC_NUMBER 0x1d4a45f2 #define WMT_VIDEOIMAGE_MAGIC_NUMBER_2 0x1d4a45f3 typedef struct __WMT_VIDEOIMAGE_SAMPLE { DWORD dwMagic; ULONG cbStruct; DWORD dwControlFlags; DWORD dwInputFlagsCur; LONG lCurMotionXtoX; LONG lCurMotionYtoX; LONG lCurMotionXoffset; LONG lCurMotionXtoY; LONG lCurMotionYtoY; LONG lCurMotionYoffset; LONG lCurBlendCoef1; LONG lCurBlendCoef2; DWORD dwInputFlagsPrev; LONG lPrevMotionXtoX; LONG lPrevMotionYtoX; LONG lPrevMotionXoffset; LONG lPrevMotionXtoY; LONG lPrevMotionYtoY; LONG lPrevMotionYoffset; LONG lPrevBlendCoef1; LONG lPrevBlendCoef2; } WMT_VIDEOIMAGE_SAMPLE; #define WMT_VIDEOIMAGE_TRANSITION_BOW_TIE 11 #define WMT_VIDEOIMAGE_TRANSITION_CIRCLE 12 #define WMT_VIDEOIMAGE_TRANSITION_CROSS_FADE 13 #define WMT_VIDEOIMAGE_TRANSITION_DIAGONAL 14 #define WMT_VIDEOIMAGE_TRANSITION_DIAMOND 15 #define WMT_VIDEOIMAGE_TRANSITION_FADE_TO_COLOR 16 #define WMT_VIDEOIMAGE_TRANSITION_FILLED_V 17 #define WMT_VIDEOIMAGE_TRANSITION_FLIP 18 #define WMT_VIDEOIMAGE_TRANSITION_INSET 19 #define WMT_VIDEOIMAGE_TRANSITION_IRIS 20 #define WMT_VIDEOIMAGE_TRANSITION_PAGE_ROLL 21 #define WMT_VIDEOIMAGE_TRANSITION_RECTANGLE 23 #define WMT_VIDEOIMAGE_TRANSITION_REVEAL 24 #define WMT_VIDEOIMAGE_TRANSITION_SLIDE 27 #define WMT_VIDEOIMAGE_TRANSITION_SPLIT 29 #define WMT_VIDEOIMAGE_TRANSITION_STAR 30 #define WMT_VIDEOIMAGE_TRANSITION_WHEEL 31 typedef struct __WMT_VIDEOIMAGE_SAMPLE2 { DWORD dwMagic; DWORD dwStructSize; DWORD dwControlFlags; DWORD dwViewportWidth; DWORD dwViewportHeight; DWORD dwCurrImageWidth; DWORD dwCurrImageHeight; FLOAT fCurrRegionX0; FLOAT fCurrRegionY0; FLOAT fCurrRegionWidth; FLOAT fCurrRegionHeight; FLOAT fCurrBlendCoef; DWORD dwPrevImageWidth; DWORD dwPrevImageHeight; FLOAT fPrevRegionX0; FLOAT fPrevRegionY0; FLOAT fPrevRegionWidth; FLOAT fPrevRegionHeight; FLOAT fPrevBlendCoef; DWORD dwEffectType; DWORD dwNumEffectParas; FLOAT fEffectPara0; FLOAT fEffectPara1; FLOAT fEffectPara2; FLOAT fEffectPara3; FLOAT fEffectPara4; BOOL bKeepPrevImage; } WMT_VIDEOIMAGE_SAMPLE2; typedef struct _WMMediaType { GUID majortype; GUID subtype; BOOL bFixedSizeSamples; BOOL bTemporalCompression; ULONG lSampleSize; GUID formattype; IUnknown *pUnk; ULONG cbFormat; BYTE *pbFormat; } WM_MEDIA_TYPE; typedef struct tagWMVIDEOINFOHEADER { // // The bit we really want to use. // RECT rcSource; // // Where the video should go. // RECT rcTarget; // // Approximate bit data rate. // DWORD dwBitRate; // // Bit error rate for this stream. // DWORD dwBitErrorRate; // // Average time per frame (100ns units). // LONGLONG AvgTimePerFrame; BITMAPINFOHEADER bmiHeader; } WMVIDEOINFOHEADER; typedef struct tagWMVIDEOINFOHEADER2 { // // The bit we really want to use. // RECT rcSource; // // Where the video should go. // RECT rcTarget; // // Approximate bit data rate. // DWORD dwBitRate; // // Bit error rate for this stream. // DWORD dwBitErrorRate; // // Average time per frame (100ns units). // LONGLONG AvgTimePerFrame; // // Use AMINTERLACE_* defines. Reject connection if undefined bits are not 0. // DWORD dwInterlaceFlags; // // use AMCOPYPROTECT_* defines. Reject connection if undefined bits are not 0. // DWORD dwCopyProtectFlags; // // X dimension of picture aspect ratio, e.g. 16 for 16x9 display. // DWORD dwPictAspectRatioX; // // Y dimension of picture aspect ratio, e.g. 9 for 16x9 display. // DWORD dwPictAspectRatioY; // // Must be 0; reject connection otherwise. // DWORD dwReserved1; // // Must be 0; reject connection otherwise. // DWORD dwReserved2; BITMAPINFOHEADER bmiHeader; } WMVIDEOINFOHEADER2; typedef struct tagWMMPEG2VIDEOINFO { // // Video info header2. // WMVIDEOINFOHEADER2 hdr; // // Not used for DVD. // DWORD dwStartTimeCode; // // Is 0 for DVD (no sequence header). // DWORD cbSequenceHeader; // // Use enum MPEG2Profile. // DWORD dwProfile; // // Use enum MPEG2Level. // DWORD dwLevel; // // Use AMMPEG2_* defines. Reject connection if undefined bits are not 0. // DWORD dwFlags; // // Sequence header. // DWORD dwSequenceHeader[1]; } WMMPEG2VIDEOINFO; typedef struct tagWMSCRIPTFORMAT { GUID scriptType; } WMSCRIPTFORMAT; // 00000000-0000-0010-8000-00AA00389B71 WMMEDIASUBTYPE_Base EXTERN_GUID(WMMEDIASUBTYPE_Base, 0x00000000, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xAA, 0x00, 0x38, 0x9B, 0x71); // 73646976-0000-0010-8000-00AA00389B71 'vids' == WMMEDIATYPE_Video EXTERN_GUID(WMMEDIATYPE_Video, 0x73646976, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71); // e436eb78-524f-11ce-9f53-0020af0ba770 MEDIASUBTYPE_RGB1 EXTERN_GUID(WMMEDIASUBTYPE_RGB1, 0xe436eb78, 0x524f, 0x11ce, 0x9f, 0x53, 0x00, 0x20, 0xaf, 0x0b, 0xa7, 0x70); // e436eb79-524f-11ce-9f53-0020af0ba770 MEDIASUBTYPE_RGB4 EXTERN_GUID(WMMEDIASUBTYPE_RGB4, 0xe436eb79, 0x524f, 0x11ce, 0x9f, 0x53, 0x00, 0x20, 0xaf, 0x0b, 0xa7, 0x70); // e436eb7a-524f-11ce-9f53-0020af0ba770 MEDIASUBTYPE_RGB8 EXTERN_GUID(WMMEDIASUBTYPE_RGB8, 0xe436eb7a, 0x524f, 0x11ce, 0x9f, 0x53, 0x00, 0x20, 0xaf, 0x0b, 0xa7, 0x70); // e436eb7b-524f-11ce-9f53-0020af0ba770 MEDIASUBTYPE_RGB565 EXTERN_GUID(WMMEDIASUBTYPE_RGB565, 0xe436eb7b, 0x524f, 0x11ce, 0x9f, 0x53, 0x00, 0x20, 0xaf, 0x0b, 0xa7, 0x70); // e436eb7c-524f-11ce-9f53-0020af0ba770 MEDIASUBTYPE_RGB555 EXTERN_GUID(WMMEDIASUBTYPE_RGB555, 0xe436eb7c, 0x524f, 0x11ce, 0x9f, 0x53, 0x00, 0x20, 0xaf, 0x0b, 0xa7, 0x70); // e436eb7d-524f-11ce-9f53-0020af0ba770 MEDIASUBTYPE_RGB24 EXTERN_GUID(WMMEDIASUBTYPE_RGB24, 0xe436eb7d, 0x524f, 0x11ce, 0x9f, 0x53, 0x00, 0x20, 0xaf, 0x0b, 0xa7, 0x70); // e436eb7e-524f-11ce-9f53-0020af0ba770 MEDIASUBTYPE_RGB32 EXTERN_GUID(WMMEDIASUBTYPE_RGB32, 0xe436eb7e, 0x524f, 0x11ce, 0x9f, 0x53, 0x00, 0x20, 0xaf, 0x0b, 0xa7, 0x70); // 30323449-0000-0010-8000-00AA00389B71 'I420' == MEDIASUBTYPE_I420 EXTERN_GUID(WMMEDIASUBTYPE_I420, 0x30323449, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71); // 56555949-0000-0010-8000-00AA00389B71 'IYUV' == MEDIASUBTYPE_IYUV EXTERN_GUID(WMMEDIASUBTYPE_IYUV, 0x56555949, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71); // 32315659-0000-0010-8000-00AA00389B71 'YV12' == MEDIASUBTYPE_YV12 EXTERN_GUID(WMMEDIASUBTYPE_YV12, 0x32315659, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71); // 32595559-0000-0010-8000-00AA00389B71 'YUY2' == MEDIASUBTYPE_YUY2 EXTERN_GUID(WMMEDIASUBTYPE_YUY2, 0x32595559, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71); // 32323450-0000-0010-8000-00AA00389B71 'P422' == MEDIASUBTYPE_P422 EXTERN_GUID(WMMEDIASUBTYPE_P422, 0x32323450, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71); // 59565955-0000-0010-8000-00AA00389B71 'UYVY' == MEDIASUBTYPE_UYVY EXTERN_GUID(WMMEDIASUBTYPE_UYVY, 0x59565955, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71); // 55595659-0000-0010-8000-00AA00389B71 'YVYU' == MEDIASUBTYPE_YVYU EXTERN_GUID(WMMEDIASUBTYPE_YVYU, 0x55595659, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71); // 39555659-0000-0010-8000-00AA00389B71 'YVU9' == MEDIASUBTYPE_YVU9 EXTERN_GUID(WMMEDIASUBTYPE_YVU9, 0x39555659, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71); // 1d4a45f2-e5f6-4b44-8388-f0ae5c0e0c37 MEDIASUBTYPE_VIDEOIMAGE EXTERN_GUID(WMMEDIASUBTYPE_VIDEOIMAGE, 0x1d4a45f2, 0xe5f6, 0x4b44, 0x83, 0x88, 0xf0, 0xae, 0x5c, 0x0e, 0x0c, 0x37); // 3334504D-0000-0010-8000-00AA00389B71 WMMEDIASUBTYPE_MP43 EXTERN_GUID(WMMEDIASUBTYPE_MP43, 0x3334504D, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xAA, 0x00, 0x38, 0x9B, 0x71); // 5334504D-0000-0010-8000-00AA00389B71 WMMEDIASUBTYPE_MP4S EXTERN_GUID(WMMEDIASUBTYPE_MP4S, 0x5334504D, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xAA, 0x00, 0x38, 0x9B, 0x71); // 3253344D-0000-0010-8000-00AA00389B71 WMMEDIASUBTYPE_M4S2 EXTERN_GUID(WMMEDIASUBTYPE_M4S2, 0x3253344D, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xAA, 0x00, 0x38, 0x9B, 0x71); // 31564D57-0000-0010-8000-00AA00389B71 WMMEDIASUBTYPE_WMV1 EXTERN_GUID(WMMEDIASUBTYPE_WMV1, 0x31564D57, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xAA, 0x00, 0x38, 0x9B, 0x71); // 32564D57-0000-0010-8000-00AA00389B71 WMMEDIASUBTYPE_WMV2 EXTERN_GUID(WMMEDIASUBTYPE_WMV2, 0x32564D57, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xAA, 0x00, 0x38, 0x9B, 0x71); // 3153534D-0000-0010-8000-00AA00389B71 WMMEDIASUBTYPE_MSS1 EXTERN_GUID(WMMEDIASUBTYPE_MSS1, 0x3153534D, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xAA, 0x00, 0x38, 0x9B, 0x71); // E06D8026-DB46-11CF-B4D1-00805F6CBBEA WMMEDIASUBTYPE_MPEG2_VIDEO EXTERN_GUID(WMMEDIASUBTYPE_MPEG2_VIDEO, 0xe06d8026, 0xdb46, 0x11cf, 0xb4, 0xd1, 0x00, 0x80, 0x5f, 0x6c, 0xbb, 0xea); // 73647561-0000-0010-8000-00AA00389B71 'auds' == WMMEDIATYPE_Audio EXTERN_GUID(WMMEDIATYPE_Audio, 0x73647561, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71); // 00000001-0000-0010-8000-00AA00389B71 WMMEDIASUBTYPE_PCM EXTERN_GUID(WMMEDIASUBTYPE_PCM, 0x00000001, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xAA, 0x00, 0x38, 0x9B, 0x71); // 00000009-0000-0010-8000-00AA00389B71 WMMEDIASUBTYPE_DRM EXTERN_GUID(WMMEDIASUBTYPE_DRM, 0x00000009, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xAA, 0x00, 0x38, 0x9B, 0x71); // 00000162-0000-0010-8000-00AA00389B71 WMMEDIASUBTYPE_WMAudioV9 EXTERN_GUID(WMMEDIASUBTYPE_WMAudioV9, 0x00000162, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xAA, 0x00, 0x38, 0x9B, 0x71); // 00000163-0000-0010-8000-00AA00389B71 WMMEDIASUBTYPE_WMAudio_Lossless EXTERN_GUID(WMMEDIASUBTYPE_WMAudio_Lossless, 0x00000163, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xAA, 0x00, 0x38, 0x9B, 0x71); // 3253534D-0000-0010-8000-00AA00389B71 WMMEDIASUBTYPE_MSS2 EXTERN_GUID(WMMEDIASUBTYPE_MSS2, 0x3253534D, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xAA, 0x00, 0x38, 0x9B, 0x71); // 0000000A-0000-0010-8000-00AA00389B71 WMMEDIASUBTYPE_WMSP1 EXTERN_GUID( WMMEDIASUBTYPE_WMSP1, 0x0000000A,0x0000,0x0010,0x80,0x00,0x00,0xAA,0x00,0x38,0x9B,0x71); // 0000000B-0000-0010-8000-00AA00389B71 WMMEDIASUBTYPE_WMSP2 EXTERN_GUID( WMMEDIASUBTYPE_WMSP2, 0x0000000B,0x0000,0x0010,0x80,0x00,0x00,0xAA,0x00,0x38,0x9B,0x71); // 33564D57-0000-0010-8000-00AA00389B71 WMMEDIASUBTYPE_WMV3 EXTERN_GUID(WMMEDIASUBTYPE_WMV3, 0x33564D57, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xAA, 0x00, 0x38, 0x9B, 0x71); // 50564D57-0000-0010-8000-00AA00389B71 WMMEDIASUBTYPE_WMVP EXTERN_GUID(WMMEDIASUBTYPE_WMVP, 0x50564D57, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xAA, 0x00, 0x38, 0x9B, 0x71); // 32505657-0000-0010-8000-00AA00389B71 WMMEDIASUBTYPE_WVP2 EXTERN_GUID(WMMEDIASUBTYPE_WVP2, 0x32505657, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xAA, 0x00, 0x38, 0x9B, 0x71); // 41564D57-0000-0010-8000-00AA00389B71 WMMEDIASUBTYPE_WMVA EXTERN_GUID(WMMEDIASUBTYPE_WMVA, 0x41564D57, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xAA, 0x00, 0x38, 0x9B, 0x71); // 31435657-0000-0010-8000-00AA00389B71 WMMEDIASUBTYPE_WVC1 EXTERN_GUID(WMMEDIASUBTYPE_WVC1, 0x31435657, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xAA, 0x00, 0x38, 0x9B, 0x71); // 00000161-0000-0010-8000-00AA00389B71 WMMEDIASUBTYPE_WMAudioV8 EXTERN_GUID(WMMEDIASUBTYPE_WMAudioV8, 0x00000161, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xAA, 0x00, 0x38, 0x9B, 0x71); // 00000161-0000-0010-8000-00AA00389B71 WMMEDIASUBTYPE_WMAudioV7 EXTERN_GUID(WMMEDIASUBTYPE_WMAudioV7, 0x00000161, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xAA, 0x00, 0x38, 0x9B, 0x71); // 00000161-0000-0010-8000-00AA00389B71 WMMEDIASUBTYPE_WMAudioV2 EXTERN_GUID(WMMEDIASUBTYPE_WMAudioV2, 0x00000161, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xAA, 0x00, 0x38, 0x9B, 0x71); // 00000130-0000-0010-8000-00AA00389B71 WMMEDIASUBTYPE_ACELPnet EXTERN_GUID(WMMEDIASUBTYPE_ACELPnet, 0x00000130, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xAA, 0x00, 0x38, 0x9B, 0x71); // 00000055-0000-0010-8000-00AA00389B71 WMMEDIASUBTYPE_MP3 EXTERN_GUID(WMMEDIASUBTYPE_MP3, 0x00000055, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xAA, 0x00, 0x38, 0x9B, 0x71); // 776257D4-C627-41CB-8F81-7AC7FF1C40CC WMMEDIASUBTYPE_WebStream EXTERN_GUID(WMMEDIASUBTYPE_WebStream, 0x776257d4, 0xc627, 0x41cb, 0x8f, 0x81, 0x7a, 0xc7, 0xff, 0x1c, 0x40, 0xcc); // 73636d64-0000-0010-8000-00AA00389B71 'scmd' == WMMEDIATYPE_Script EXTERN_GUID(WMMEDIATYPE_Script, 0x73636d64, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71); // 34A50FD8-8AA5-4386-81FE-A0EFE0488E31 'imag' == WMMEDIATYPE_Image EXTERN_GUID(WMMEDIATYPE_Image, 0x34a50fd8, 0x8aa5, 0x4386, 0x81, 0xfe, 0xa0, 0xef, 0xe0, 0x48, 0x8e, 0x31); // D9E47579-930E-4427-ADFC-AD80F290E470 'fxfr' == WMMEDIATYPE_FileTransfer EXTERN_GUID(WMMEDIATYPE_FileTransfer, 0xd9e47579, 0x930e, 0x4427, 0xad, 0xfc, 0xad, 0x80, 0xf2, 0x90, 0xe4, 0x70); // 9BBA1EA7-5AB2-4829-BA57-0940209BCF3E 'text' == WMMEDIATYPE_Text EXTERN_GUID(WMMEDIATYPE_Text, 0x9bba1ea7, 0x5ab2, 0x4829, 0xba, 0x57, 0x9, 0x40, 0x20, 0x9b, 0xcf, 0x3e); // 05589F80-C356-11CE-BF01-00AA0055595A WMFORMAT_VideoInfo EXTERN_GUID(WMFORMAT_VideoInfo, 0x05589f80, 0xc356, 0x11ce, 0xbf, 0x01, 0x00, 0xaa, 0x00, 0x55, 0x59, 0x5a); // E06D80E3-DB46-11CF-B4D1-00805F6CBBEA WMFORMAT_MPEG2Video EXTERN_GUID(WMFORMAT_MPEG2Video, 0xe06d80e3, 0xdb46, 0x11cf, 0xb4, 0xd1, 0x00, 0x80, 0x05f, 0x6c, 0xbb, 0xea); // 05589F81-C356-11CE-BF01-00AA0055595A WMFORMAT_WaveFormatEx EXTERN_GUID(WMFORMAT_WaveFormatEx, 0x05589f81, 0xc356, 0x11ce, 0xbf, 0x01, 0x00, 0xaa, 0x00, 0x55, 0x59, 0x5a); // 5C8510F2-DEBE-4CA7-BBA5-F07A104F8DFF WMFORMAT_Script EXTERN_GUID(WMFORMAT_Script, 0x5c8510f2, 0xdebe, 0x4ca7, 0xbb, 0xa5, 0xf0, 0x7a, 0x10, 0x4f, 0x8d, 0xff); // DA1E6B13-8359-4050-B398-388E965BF00C WMFORMAT_WebStream EXTERN_GUID(WMFORMAT_WebStream, 0xda1e6b13, 0x8359, 0x4050, 0xb3, 0x98, 0x38, 0x8e, 0x96, 0x5b, 0xf0, 0x0c); // 82F38A70-C29F-11D1-97AD-00A0C95EA850 WMSCRIPTTYPE_TwoStrings EXTERN_GUID( WMSCRIPTTYPE_TwoStrings, 0x82f38a70,0xc29f,0x11d1,0x97,0xad,0x00,0xa0,0xc9,0x5e,0xa8,0x50); EXTERN_GUID( WM_SampleExtensionGUID_OutputCleanPoint, 0xf72a3c6f, 0x6eb4, 0x4ebc, 0xb1, 0x92, 0x9, 0xad, 0x97, 0x59, 0xe8, 0x28 ); EXTERN_GUID( WM_SampleExtensionGUID_Timecode, 0x399595ec, 0x8667, 0x4e2d, 0x8f, 0xdb, 0x98, 0x81, 0x4c, 0xe7, 0x6c, 0x1e); EXTERN_GUID( WM_SampleExtensionGUID_ChromaLocation, 0x4c5acca0, 0x9276, 0x4b2c, 0x9e, 0x4c, 0xa0, 0xed, 0xef, 0xdd, 0x21, 0x7e); EXTERN_GUID( WM_SampleExtensionGUID_ColorSpaceInfo, 0xf79ada56, 0x30eb, 0x4f2b, 0x9f, 0x7a, 0xf2, 0x4b, 0x13, 0x9a, 0x11, 0x57 ); EXTERN_GUID( WM_SampleExtensionGUID_UserDataInfo, 0x732bb4fa, 0x78be, 0x4549, 0x99, 0xbd, 0x2, 0xdb, 0x1a, 0x55, 0xb7, 0xa8 ); EXTERN_GUID( WM_SampleExtensionGUID_FileName, 0xe165ec0e, 0x19ed, 0x45d7, 0xb4, 0xa7, 0x25, 0xcb, 0xd1, 0xe2, 0x8e, 0x9b); EXTERN_GUID( WM_SampleExtensionGUID_ContentType, 0xd590dc20, 0x07bc, 0x436c, 0x9c, 0xf7, 0xf3, 0xbb, 0xfb, 0xf1, 0xa4, 0xdc ); EXTERN_GUID( WM_SampleExtensionGUID_PixelAspectRatio, 0x1b1ee554, 0xf9ea, 0x4bc8, 0x82, 0x1a, 0x37, 0x6b, 0x74, 0xe4, 0xc4, 0xb8 ); EXTERN_GUID( WM_SampleExtensionGUID_SampleDuration, 0xc6bd9450, 0x867f, 0x4907, 0x83, 0xa3, 0xc7, 0x79, 0x21, 0xb7, 0x33, 0xad ); EXTERN_GUID( WM_SampleExtensionGUID_SampleProtectionSalt, 0x5403deee, 0xb9ee, 0x438f, 0xaa, 0x83, 0x38, 0x4, 0x99, 0x7e, 0x56, 0x9d ); #define WM_SampleExtension_ContentType_Size 1 #define WM_SampleExtension_PixelAspectRatio_Size 2 #define WM_SampleExtension_Timecode_Size 14 #define WM_SampleExtension_SampleDuration_Size 2 #define WM_SampleExtension_ChromaLocation_Size 1 #define WM_SampleExtension_ColorSpaceInfo_Size 3 #define WM_CT_REPEAT_FIRST_FIELD 0x10 #define WM_CT_BOTTOM_FIELD_FIRST 0x20 #define WM_CT_TOP_FIELD_FIRST 0x40 #define WM_CT_INTERLACED 0x80 #define WM_CL_INTERLACED420 0 #define WM_CL_PROGRESSIVE420 1 #pragma pack(push) #pragma pack(1) typedef struct _WMT_COLORSPACEINFO_EXTENSION_DATA { BYTE ucColorPrimaries; BYTE ucColorTransferChar; BYTE ucColorMatrixCoef; } WMT_COLORSPACEINFO_EXTENSION_DATA; #pragma pack(pop) #pragma pack(push) #pragma pack(2) typedef struct _WMT_TIMECODE_EXTENSION_DATA { WORD wRange; DWORD dwTimecode; DWORD dwUserbits; DWORD dwAmFlags; } WMT_TIMECODE_EXTENSION_DATA; #pragma pack(pop) typedef struct _DRM_VAL16 { BYTE val[ 16 ]; } DRM_VAL16; EXTERN_GUID( IID_IWMMediaProps, 0x96406bce,0x2b2b,0x11d3,0xb3,0x6b,0x00,0xc0,0x4f,0x61,0x08,0xff ); EXTERN_GUID( IID_IWMVideoMediaProps, 0x96406bcf,0x2b2b,0x11d3,0xb3,0x6b,0x00,0xc0,0x4f,0x61,0x08,0xff ); EXTERN_GUID( IID_IWMWriter, 0x96406bd4,0x2b2b,0x11d3,0xb3,0x6b,0x00,0xc0,0x4f,0x61,0x08,0xff ); EXTERN_GUID( IID_IWMInputMediaProps, 0x96406bd5,0x2b2b,0x11d3,0xb3,0x6b,0x00,0xc0,0x4f,0x61,0x08,0xff ); EXTERN_GUID( IID_IWMReader, 0x96406bd6,0x2b2b,0x11d3,0xb3,0x6b,0x00,0xc0,0x4f,0x61,0x08,0xff ); EXTERN_GUID( IID_IWMSyncReader, 0x9397f121,0x7705,0x4dc9,0xb0,0x49,0x98,0xb6,0x98,0x18,0x84,0x14 ); EXTERN_GUID( IID_IWMSyncReader2, 0xfaed3d21,0x1b6b,0x4af7,0x8c,0xb6,0x3e,0x18,0x9b,0xbc,0x18,0x7b ); EXTERN_GUID( IID_IWMOutputMediaProps, 0x96406bd7,0x2b2b,0x11d3,0xb3,0x6b,0x00,0xc0,0x4f,0x61,0x08,0xff ); EXTERN_GUID( IID_IWMStatusCallback, 0x6d7cdc70,0x9888,0x11d3,0x8e,0xdc,0x00,0xc0,0x4f,0x61,0x09,0xcf ); EXTERN_GUID( IID_IWMReaderCallback, 0x96406bd8,0x2b2b,0x11d3,0xb3,0x6b,0x00,0xc0,0x4f,0x61,0x08,0xff ); EXTERN_GUID( IID_IWMCredentialCallback, 0x342e0eb7,0xe651,0x450c,0x97,0x5b,0x2a,0xce,0x2c,0x90,0xc4,0x8e ); EXTERN_GUID( IID_IWMMetadataEditor, 0x96406bd9,0x2b2b,0x11d3,0xb3,0x6b,0x00,0xc0,0x4f,0x61,0x08,0xff ); EXTERN_GUID( IID_IWMMetadataEditor2, 0x203cffe3,0x2e18,0x4fdf,0xb5,0x9d,0x6e,0x71,0x53,0x05,0x34,0xcf ); EXTERN_GUID( IID_IWMDRMEditor, 0xFF130EBC,0xA6C3,0x42A6,0xB4,0x01,0xC3,0x38,0x2C,0x3E,0x08,0xB3 ); EXTERN_GUID( IID_IWMHeaderInfo, 0x96406bda,0x2b2b,0x11d3,0xb3,0x6b,0x00,0xc0,0x4f,0x61,0x08,0xff ); EXTERN_GUID( IID_IWMHeaderInfo2, 0x15cf9781,0x454e,0x482e,0xb3,0x93,0x85,0xfa,0xe4,0x87,0xa8,0x10 ); EXTERN_GUID( IID_IWMHeaderInfo3, 0x15CC68E3,0x27CC,0x4ecd,0xB2,0x22,0x3F,0x5D,0x02,0xD8,0x0B,0xD5 ); EXTERN_GUID( IID_IWMProfileManager, 0xd16679f2,0x6ca0,0x472d,0x8d,0x31,0x2f,0x5d,0x55,0xae,0xe1,0x55 ); EXTERN_GUID( IID_IWMProfileManager2, 0x7a924e51,0x73c1,0x494d,0x80,0x19,0x23,0xd3,0x7e,0xd9,0xb8,0x9a ); EXTERN_GUID( IID_IWMProfileManagerLanguage, 0xba4dcc78,0x7ee0,0x4ab8,0xb2,0x7a,0xdb,0xce,0x8b,0xc5,0x14,0x54 ); EXTERN_GUID( IID_IWMProfile, 0x96406bdb,0x2b2b,0x11d3,0xb3,0x6b,0x00,0xc0,0x4f,0x61,0x08,0xff ); EXTERN_GUID( IID_IWMProfile2, 0x07e72d33,0xd94e,0x4be7,0x88,0x43,0x60,0xae,0x5f,0xf7,0xe5,0xf5 ); EXTERN_GUID( IID_IWMProfile3, 0x00ef96cc,0xa461,0x4546,0x8b,0xcd,0xc9,0xa2,0x8f,0x0e,0x06,0xf5 ); EXTERN_GUID( IID_IWMStreamConfig, 0x96406bdc,0x2b2b,0x11d3,0xb3,0x6b,0x00,0xc0,0x4f,0x61,0x08,0xff ); EXTERN_GUID( IID_IWMStreamConfig2, 0x7688d8cb,0xfc0d,0x43bd,0x94,0x59,0x5a,0x8d,0xec,0x20,0x0c,0xfa ); EXTERN_GUID( IID_IWMStreamConfig3, 0xcb164104,0x3aa9,0x45a7,0x9a,0xc9,0x4d,0xae,0xe1,0x31,0xd6,0xe1 ); EXTERN_GUID( IID_IWMStreamList, 0x96406bdd,0x2b2b,0x11d3,0xb3,0x6b,0x00,0xc0,0x4f,0x61,0x08,0xff ); EXTERN_GUID( IID_IWMMutualExclusion, 0x96406bde,0x2b2b,0x11d3,0xb3,0x6b,0x00,0xc0,0x4f,0x61,0x08,0xff ); EXTERN_GUID( IID_IWMMutualExclusion2, 0x302b57d,0x89d1,0x4ba2,0x85,0xc9,0x16,0x6f,0x2c,0x53,0xeb,0x91 ); EXTERN_GUID( IID_IWMBandwidthSharing, 0xad694af1,0xf8d9,0x42f8,0xbc,0x47,0x70,0x31,0x1b,0x0c,0x4f,0x9e ); EXTERN_GUID( IID_IWMStreamPrioritization, 0x8c1c6090,0xf9a8,0x4748,0x8e,0xc3,0xdd,0x11,0x08,0xba,0x1e,0x77 ); EXTERN_GUID( IID_IWMWriterAdvanced, 0x96406be3,0x2b2b,0x11d3,0xb3,0x6b,0x00,0xc0,0x4f,0x61,0x08,0xff ); EXTERN_GUID( IID_IWMWriterAdvanced2, 0x962dc1ec,0xc046,0x4db8,0x9c,0xc7,0x26,0xce,0xae,0x50,0x08,0x17 ); EXTERN_GUID( IID_IWMWriterAdvanced3, 0x2cd6492d,0x7c37,0x4e76,0x9d,0x3b,0x59,0x26,0x11,0x83,0xa2,0x2e ); EXTERN_GUID( IID_IWMWriterPreprocess, 0xfc54a285,0x38c4,0x45b5,0xaa,0x23,0x85,0xb9,0xf7,0xcb,0x42,0x4b ); EXTERN_GUID( IID_IWMWriterSink, 0x96406be4,0x2b2b,0x11d3,0xb3,0x6b,0x00,0xc0,0x4f,0x61,0x08,0xff ); EXTERN_GUID( IID_IWMWriterFileSink, 0x96406be5,0x2b2b,0x11d3,0xb3,0x6b,0x00,0xc0,0x4f,0x61,0x08,0xff ); EXTERN_GUID( IID_IWMWriterFileSink2, 0x14282ba7,0x4aef,0x4205,0x8c,0xe5,0xc2,0x29,0x03,0x5a,0x05,0xbc ); EXTERN_GUID( IID_IWMWriterFileSink3, 0x3fea4feb,0x2945,0x47a7,0xa1,0xdd,0xc5,0x3a,0x8f,0xc4,0xc4,0x5c ); EXTERN_GUID( IID_IWMWriterNetworkSink, 0x96406be7,0x2b2b,0x11d3,0xb3,0x6b,0x00,0xc0,0x4f,0x61,0x08,0xff ); EXTERN_GUID( IID_IWMClientConnections, 0x73c66010,0xa299,0x41df,0xb1,0xf0,0xcc,0xf0,0x3b,0x09,0xc1,0xc6 ); EXTERN_GUID( IID_IWMClientConnections2, 0x4091571e,0x4701,0x4593,0xbb,0x3d,0xd5,0xf5,0xf0,0xc7,0x42,0x46 ); EXTERN_GUID( IID_IWMReaderAdvanced, 0x96406bea,0x2b2b,0x11d3,0xb3,0x6b,0x00,0xc0,0x4f,0x61,0x08,0xff ); EXTERN_GUID( IID_IWMReaderAdvanced2, 0xae14a945,0xb90c,0x4d0d,0x91,0x27,0x80,0xd6,0x65,0xf7,0xd7,0x3e ); EXTERN_GUID( IID_IWMReaderAdvanced3, 0x5dc0674b,0xf04b,0x4a4e,0x9f,0x2a,0xb1,0xaf,0xde,0x2c,0x81,0x00 ); EXTERN_GUID( IID_IWMReaderAdvanced4, 0x945a76a2,0x12ae,0x4d48,0xbd,0x3c,0xcd,0x1d,0x90,0x39,0x9b,0x85 ); EXTERN_GUID( IID_IWMReaderAdvanced5, 0x24c44db0,0x55d1,0x49ae,0xa5,0xcc,0xf1,0x38,0x15,0xe3,0x63,0x63 ); EXTERN_GUID( IID_IWMReaderAdvanced6, 0x18a2e7f8,0x428f,0x4acd,0x8a,0x00,0xe6,0x46,0x39,0xbc,0x93,0xde ); EXTERN_GUID( IID_IWMPlayerHook, 0xe5b7ca9a,0x0f1c,0x4f66,0x90,0x02,0x74,0xec,0x50,0xd8,0xb3,0x04 ); EXTERN_GUID( IID_IWMDRMReader, 0xd2827540,0x3ee7,0x432c,0xb1,0x4c,0xdc,0x17,0xf0,0x85,0xd3,0xb3 ); EXTERN_GUID( IID_IWMDRMReader2, 0xbefe7a75,0x9f1d,0x4075,0xb9,0xd9,0xa3,0xc3,0x7b,0xda,0x49,0xa0 ); EXTERN_GUID( IID_IWMDRMReader3, 0xe08672de,0xf1e7,0x4ff4,0xa0,0xa3,0xfc,0x4b,0x08,0xe4,0xca,0xf8 ); EXTERN_GUID( IID_IWMReaderPlaylistBurn, 0xf28c0300,0x9baa,0x4477,0xa8,0x46,0x17,0x44,0xd9,0xcb,0xf5,0x33 ); EXTERN_GUID( IID_IWMReaderCallbackAdvanced, 0x96406beb,0x2b2b,0x11d3,0xb3,0x6b,0x00,0xc0,0x4f,0x61,0x08,0xff ); EXTERN_GUID( IID_IWMReaderNetworkConfig,0x96406bec,0x2b2b,0x11d3,0xb3,0x6b,0x00,0xc0,0x4f,0x61,0x08,0xff ); EXTERN_GUID( IID_IWMReaderStreamClock, 0x96406bed,0x2b2b,0x11d3,0xb3,0x6b,0x00,0xc0,0x4f,0x61,0x08,0xff ); EXTERN_GUID( IID_IWMIndexer, 0x6d7cdc71,0x9888,0x11d3,0x8e,0xdc,0x00,0xc0,0x4f,0x61,0x09,0xcf ); EXTERN_GUID( IID_IWMIndexer2, 0xb70f1e42,0x6255,0x4df0,0xa6,0xb9,0x02,0xb2,0x12,0xd9,0xe2,0xbb ); EXTERN_GUID( IID_IWMReaderAllocatorEx, 0x9f762fa7,0xa22e,0x428d,0x93,0xc9,0xac,0x82,0xf3,0xaa,0xfe,0x5a ); EXTERN_GUID( IID_IWMReaderTypeNegotiation, 0xfdbe5592,0x81a1,0x41ea,0x93,0xbd,0x73,0x5c,0xad,0x1a,0xdc,0x5 ); EXTERN_GUID( IID_IWMLicenseBackup, 0x05E5AC9F,0x3FB6,0x4508,0xBB,0x43,0xA4,0x06,0x7B,0xA1,0xEB,0xE8); EXTERN_GUID( IID_IWMLicenseRestore, 0xC70B6334,0xa22e,0x4efb,0xA2,0x45,0x15,0xE6,0x5A,0x00,0x4A,0x13); EXTERN_GUID( IID_IWMBackupRestoreProps, 0x3C8E0DA6,0x996F,0x4ff3,0xA1,0xAF,0x48,0x38,0xF9,0x37,0x7e,0x2e); EXTERN_GUID( IID_IWMPacketSize, 0xcdfb97ab,0x188f,0x40b3,0xb6,0x43,0x5b,0x79,0x03,0x97,0x5c,0x59); EXTERN_GUID( IID_IWMPacketSize2, 0x8bfc2b9e,0xb646,0x4233,0xa8,0x77,0x1c,0x6a,0x7,0x96,0x69,0xdc); EXTERN_GUID( IID_IWMRegisterCallback, 0xcf4b1f99,0x4de2,0x4e49,0xa3,0x63,0x25,0x27,0x40,0xd9,0x9b,0xc1); EXTERN_GUID( IID_IWMWriterPostView, 0x81e20ce4,0x75ef,0x491a,0x80,0x04,0xfc,0x53,0xc4,0x5b,0xdc,0x3e); EXTERN_GUID( IID_IWMWriterPostViewCallback, 0xd9d6549d,0xa193,0x4f24,0xb3,0x08,0x03,0x12,0x3d,0x9b,0x7f,0x8d); EXTERN_GUID( IID_IWMCodecInfo, 0xa970f41e,0x34de,0x4a98,0xb3,0xba,0xe4,0xb3,0xca,0x75,0x28,0xf0); EXTERN_GUID( IID_IWMCodecInfo2, 0xaa65e273,0xb686,0x4056,0x91,0xec,0xdd,0x76,0x8d,0x4d,0xf7,0x10); EXTERN_GUID( IID_IWMCodecInfo3, 0x7e51f487,0x4d93,0x4f98,0x8a,0xb4,0x27,0xd0,0x56,0x5a,0xdc,0x51); EXTERN_GUID( IID_IWMPropertyVault, 0x72995A79,0x5090,0x42a4,0x9C,0x8C,0xD9,0xD0,0xB6,0xD3,0x4B,0xE5 ); EXTERN_GUID( IID_IWMIStreamProps, 0x6816dad3,0x2b4b,0x4c8e,0x81,0x49,0x87,0x4c,0x34,0x83,0xa7,0x53 ); EXTERN_GUID( IID_IWMLanguageList, 0xdf683f00,0x2d49,0x4d8e,0x92,0xb7,0xfb,0x19,0xf6,0xa0,0xdc,0x57 ); EXTERN_GUID( IID_IWMDRMWriter, 0xd6ea5dd0,0x12a0,0x43f4,0x90,0xab,0xa3,0xfd,0x45,0x1e,0x6a,0x07 ); EXTERN_GUID( IID_IWMDRMWriter2, 0x38ee7a94,0x40e2,0x4e10,0xaa,0x3f,0x33,0xfd,0x32,0x10,0xed,0x5b ); EXTERN_GUID( IID_IWMDRMWriter3, 0xa7184082,0xa4aa,0x4dde,0xac,0x9c,0xe7,0x5d,0xbd,0x11,0x17,0xce ); EXTERN_GUID( IID_IWMWriterPushSink, 0xdc10e6a5,0x072c,0x467d,0xbf,0x57,0x63,0x30,0xa9,0xdd,0xe1,0x2a ); EXTERN_GUID( IID_IWMReaderNetworkConfig2,0xd979a853,0x042b,0x4050,0x83,0x87,0xc9,0x39,0xdb,0x22,0x01,0x3f ); EXTERN_GUID( IID_IWMWatermarkInfo, 0x6f497062,0xf2e2,0x4624,0x8e,0xa7,0x9d,0xd4,0x0d,0x81,0xfc,0x8d ); EXTERN_GUID( IID_IWMReaderAccelerator, 0xbddc4d08,0x944d,0x4d52,0xa6,0x12,0x46,0xc3,0xfd,0xa0,0x7d,0xd4 ); EXTERN_GUID( IID_IWMReaderTimecode, 0xf369e2f0,0xe081,0x4fe6,0x84,0x50,0xb8,0x10,0xb2,0xf4,0x10,0xd1 ); EXTERN_GUID( IID_IWMImageInfo, 0x9f0aa3b6,0x7267,0x4d89,0x88,0xf2,0xba,0x91,0x5a,0xa5,0xc4,0xc6); EXTERN_GUID( IID_IWMAddressAccess, 0xBB3C6389,0x1633,0x4e92,0xAF,0x14,0x9F,0x31,0x73,0xBA,0x39,0xD0 ); EXTERN_GUID( IID_IWMAddressAccess2, 0x65a83fc2,0x3e98,0x4d4d,0x81,0xb5,0x2a,0x74,0x28,0x86,0xb3,0x3d ); EXTERN_GUID( IID_IWMDeviceRegistration, 0xf6211f03,0x8d21,0x4e94,0x93,0xe6,0x85,0x10,0x80,0x5f,0x2d,0x99 ); EXTERN_GUID( IID_IWMRegisteredDevice, 0xa4503bec,0x5508,0x4148,0x97,0xac,0xbf,0xa7,0x57,0x60,0xa7,0x0d ); EXTERN_GUID( IID_IWMProximityDetection, 0x6A9FD8EE,0xB651,0x4bf0,0xB8,0x49,0x7D,0x4E,0xCE,0x79,0xA2,0xB1 ); EXTERN_GUID( IID_IWMDRMMessageParser, 0xa73a0072,0x25a0,0x4c99,0xb4,0xa5,0xed,0xe8,0x10,0x1a,0x6c,0x39 ); EXTERN_GUID( IID_IWMDRMTranscryptor, 0x69059850,0x6e6f,0x4bb2,0x80,0x6f,0x71,0x86,0x3d,0xdf,0xc4,0x71 ); EXTERN_GUID( IID_IWMDRMTranscryptor2, 0xe0da439f,0xd331,0x496a,0xbe,0xce,0x18,0xe5,0xba,0xc5,0xdd,0x23 ); EXTERN_GUID( IID_IWMDRMTranscryptionManager, 0xb1a887b2,0xa4f0,0x407a,0xb0,0x2e,0xef,0xbd,0x23,0xbb,0xec,0xdf ); EXTERN_GUID( IID_IWMLicenseRevocationAgent, 0x6967f2c9,0x4e26,0x4b57,0x88,0x94,0x79,0x98,0x80,0xf7,0xac,0x7b ); EXTERN_GUID( CLSID_WMMUTEX_Language, 0xD6E22A00,0x35DA,0x11D1,0x90,0x34,0x00,0xA0,0xC9,0x03,0x49,0xBE ); EXTERN_GUID( CLSID_WMMUTEX_Bitrate, 0xD6E22A01,0x35DA,0x11D1,0x90,0x34,0x00,0xA0,0xC9,0x03,0x49,0xBE ); EXTERN_GUID( CLSID_WMMUTEX_Presentation, 0xD6E22A02,0x35DA,0x11D1,0x90,0x34,0x00,0xA0,0xC9,0x03,0x49,0xBE ); EXTERN_GUID( CLSID_WMMUTEX_Unknown, 0xD6E22A03,0x35DA,0x11D1,0x90,0x34,0x00,0xA0,0xC9,0x03,0x49,0xBE ); EXTERN_GUID( CLSID_WMBandwidthSharing_Exclusive, 0xaf6060aa,0x5197,0x11d2,0xb6,0xaf,0x00,0xc0,0x4f,0xd9,0x08,0xe9 ); EXTERN_GUID( CLSID_WMBandwidthSharing_Partial, 0xaf6060ab,0x5197,0x11d2,0xb6,0xaf,0x00,0xc0,0x4f,0xd9,0x08,0xe9 ); // {B42CDE2B-6178-4a2c-A375-89DD3FD7F497} EXTERN_GUID( WMT_DMOCATEGORY_AUDIO_WATERMARK, 0x65221c5a, 0xfa75, 0x4b39, 0xb5, 0x0c, 0x06, 0xc3, 0x36, 0xb6, 0xa3, 0xef ); // {E77797C6-18AF-4458-BBDD-492D3F78FC8F} EXTERN_GUID( WMT_DMOCATEGORY_VIDEO_WATERMARK, 0x187cc922, 0x8efc, 0x4404, 0x9d, 0xaf, 0x63, 0xf4, 0x83, 0x0d, 0xf1, 0xbc ); #define WM_MAX_VIDEO_STREAMS 0x3f #define WM_MAX_STREAMS 0x3f HRESULT STDMETHODCALLTYPE WMIsContentProtected( const WCHAR *pwszFileName, BOOL *pfIsProtected ); HRESULT STDMETHODCALLTYPE WMCreateCertificate( IUnknown** pUnkCert ); HRESULT STDMETHODCALLTYPE WMCreateWriter( IUnknown* pUnkCert, IWMWriter **ppWriter ); HRESULT STDMETHODCALLTYPE WMCreateReader( IUnknown* pUnkCert, DWORD dwRights, IWMReader **ppReader ); HRESULT STDMETHODCALLTYPE WMCreateSyncReader( IUnknown* pUnkCert, DWORD dwRights, IWMSyncReader **ppSyncReader ); HRESULT STDMETHODCALLTYPE WMCreateEditor( IWMMetadataEditor **ppEditor ); HRESULT STDMETHODCALLTYPE WMCreateIndexer( IWMIndexer **ppIndexer ); HRESULT STDMETHODCALLTYPE WMCreateBackupRestorer( IUnknown *pCallback, IWMLicenseBackup **ppBackup ); HRESULT STDMETHODCALLTYPE WMCreateProfileManager( IWMProfileManager **ppProfileManager ); HRESULT STDMETHODCALLTYPE WMCreateWriterFileSink( IWMWriterFileSink **ppSink ); HRESULT STDMETHODCALLTYPE WMCreateWriterNetworkSink( IWMWriterNetworkSink **ppSink ); HRESULT STDMETHODCALLTYPE WMCreateWriterPushSink( IWMWriterPushSink **ppSink ); HRESULT STDMETHODCALLTYPE WMCreateDeviceRegistration( IWMDeviceRegistration **ppDevReg ); HRESULT STDMETHODCALLTYPE WMCreateDRMTranscryptor( IWMDRMTranscryptor **ppTranscryptor ); HRESULT STDMETHODCALLTYPE WMCreateDRMTranscryptionManager( IWMDRMTranscryptionManager **ppTranscryptionManager ); HRESULT STDMETHODCALLTYPE WMCreateLicenseRevocationAgent( IUnknown *pCallback, IWMLicenseRevocationAgent ** ppLicenseRevocationAgent ); extern RPC_IF_HANDLE __MIDL_itf_wmsdkidl_0000_0000_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_wmsdkidl_0000_0000_v0_0_s_ifspec; #ifndef __IWMMediaProps_INTERFACE_DEFINED__ #define __IWMMediaProps_INTERFACE_DEFINED__ /* interface IWMMediaProps */ /* [local][unique][helpstring][uuid][object] */ EXTERN_C const IID IID_IWMMediaProps; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("96406BCE-2B2B-11d3-B36B-00C04F6108FF") IWMMediaProps : public IUnknown { public: virtual HRESULT STDMETHODCALLTYPE GetType( /* [out] */ GUID *pguidType) = 0; virtual HRESULT STDMETHODCALLTYPE GetMediaType( /* [out] */ WM_MEDIA_TYPE *pType, /* [out][in] */ DWORD *pcbType) = 0; virtual HRESULT STDMETHODCALLTYPE SetMediaType( /* [in] */ WM_MEDIA_TYPE *pType) = 0; }; #else /* C style interface */ typedef struct IWMMediaPropsVtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IWMMediaProps * This, /* [in] */ REFIID riid, /* [annotation][iid_is][out] */ __RPC__deref_out void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IWMMediaProps * This); ULONG ( STDMETHODCALLTYPE *Release )( IWMMediaProps * This); HRESULT ( STDMETHODCALLTYPE *GetType )( IWMMediaProps * This, /* [out] */ GUID *pguidType); HRESULT ( STDMETHODCALLTYPE *GetMediaType )( IWMMediaProps * This, /* [out] */ WM_MEDIA_TYPE *pType, /* [out][in] */ DWORD *pcbType); HRESULT ( STDMETHODCALLTYPE *SetMediaType )( IWMMediaProps * This, /* [in] */ WM_MEDIA_TYPE *pType); END_INTERFACE } IWMMediaPropsVtbl; interface IWMMediaProps { CONST_VTBL struct IWMMediaPropsVtbl *lpVtbl; }; #ifdef COBJMACROS #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) ) #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) ) #endif /* COBJMACROS */ #endif /* C style interface */ #endif /* __IWMMediaProps_INTERFACE_DEFINED__ */ #ifndef __IWMVideoMediaProps_INTERFACE_DEFINED__ #define __IWMVideoMediaProps_INTERFACE_DEFINED__ /* interface IWMVideoMediaProps */ /* [local][unique][helpstring][uuid][object] */ EXTERN_C const IID IID_IWMVideoMediaProps; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("96406BCF-2B2B-11d3-B36B-00C04F6108FF") IWMVideoMediaProps : public IWMMediaProps { public: virtual HRESULT STDMETHODCALLTYPE GetMaxKeyFrameSpacing( /* [out] */ LONGLONG *pllTime) = 0; virtual HRESULT STDMETHODCALLTYPE SetMaxKeyFrameSpacing( /* [in] */ LONGLONG llTime) = 0; virtual HRESULT STDMETHODCALLTYPE GetQuality( /* [out] */ DWORD *pdwQuality) = 0; virtual HRESULT STDMETHODCALLTYPE SetQuality( /* [in] */ DWORD dwQuality) = 0; }; #else /* C style interface */ typedef struct IWMVideoMediaPropsVtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IWMVideoMediaProps * This, /* [in] */ REFIID riid, /* [annotation][iid_is][out] */ __RPC__deref_out void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IWMVideoMediaProps * This); ULONG ( STDMETHODCALLTYPE *Release )( IWMVideoMediaProps * This); HRESULT ( STDMETHODCALLTYPE *GetType )( IWMVideoMediaProps * This, /* [out] */ GUID *pguidType); HRESULT ( STDMETHODCALLTYPE *GetMediaType )( IWMVideoMediaProps * This, /* [out] */ WM_MEDIA_TYPE *pType, /* [out][in] */ DWORD *pcbType); HRESULT ( STDMETHODCALLTYPE *SetMediaType )( IWMVideoMediaProps * This, /* [in] */ WM_MEDIA_TYPE *pType); HRESULT ( STDMETHODCALLTYPE *GetMaxKeyFrameSpacing )( IWMVideoMediaProps * This, /* [out] */ LONGLONG *pllTime); HRESULT ( STDMETHODCALLTYPE *SetMaxKeyFrameSpacing )( IWMVideoMediaProps * This, /* [in] */ LONGLONG llTime); HRESULT ( STDMETHODCALLTYPE *GetQuality )( IWMVideoMediaProps * This, /* [out] */ DWORD *pdwQuality); HRESULT ( STDMETHODCALLTYPE *SetQuality )( IWMVideoMediaProps * This, /* [in] */ DWORD dwQuality); END_INTERFACE } IWMVideoMediaPropsVtbl; interface IWMVideoMediaProps { CONST_VTBL struct IWMVideoMediaPropsVtbl *lpVtbl; }; #ifdef COBJMACROS #define IWMVideoMediaProps_QueryInterface(This,riid,ppvObject) \ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) #define IWMVideoMediaProps_AddRef(This) \ ( (This)->lpVtbl -> AddRef(This) ) #define IWMVideoMediaProps_Release(This) \ ( (This)->lpVtbl -> Release(This) ) #define IWMVideoMediaProps_GetType(This,pguidType) \ ( (This)->lpVtbl -> GetType(This,pguidType) ) #define IWMVideoMediaProps_GetMediaType(This,pType,pcbType) \ ( (This)->lpVtbl -> GetMediaType(This,pType,pcbType) ) #define IWMVideoMediaProps_SetMediaType(This,pType) \ ( (This)->lpVtbl -> SetMediaType(This,pType) ) #define IWMVideoMediaProps_GetMaxKeyFrameSpacing(This,pllTime) \ ( (This)->lpVtbl -> GetMaxKeyFrameSpacing(This,pllTime) ) #define IWMVideoMediaProps_SetMaxKeyFrameSpacing(This,llTime) \ ( (This)->lpVtbl -> SetMaxKeyFrameSpacing(This,llTime) ) #define IWMVideoMediaProps_GetQuality(This,pdwQuality) \ ( (This)->lpVtbl -> GetQuality(This,pdwQuality) ) #define IWMVideoMediaProps_SetQuality(This,dwQuality) \ ( (This)->lpVtbl -> SetQuality(This,dwQuality) ) #endif /* COBJMACROS */ #endif /* C style interface */ #endif /* __IWMVideoMediaProps_INTERFACE_DEFINED__ */ #ifndef __IWMWriter_INTERFACE_DEFINED__ #define __IWMWriter_INTERFACE_DEFINED__ /* interface IWMWriter */ /* [local][unique][helpstring][uuid][object] */ EXTERN_C const IID IID_IWMWriter; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("96406BD4-2B2B-11d3-B36B-00C04F6108FF") IWMWriter : public IUnknown { public: virtual HRESULT STDMETHODCALLTYPE SetProfileByID( /* [in] */ REFGUID guidProfile) = 0; virtual HRESULT STDMETHODCALLTYPE SetProfile( /* [in] */ IWMProfile *pProfile) = 0; virtual HRESULT STDMETHODCALLTYPE SetOutputFilename( /* [in] */ const WCHAR *pwszFilename) = 0; virtual HRESULT STDMETHODCALLTYPE GetInputCount( /* [out] */ DWORD *pcInputs) = 0; virtual HRESULT STDMETHODCALLTYPE GetInputProps( /* [in] */ DWORD dwInputNum, /* [out] */ IWMInputMediaProps **ppInput) = 0; virtual HRESULT STDMETHODCALLTYPE SetInputProps( /* [in] */ DWORD dwInputNum, /* [in] */ IWMInputMediaProps *pInput) = 0; virtual HRESULT STDMETHODCALLTYPE GetInputFormatCount( /* [in] */ DWORD dwInputNumber, /* [out] */ DWORD *pcFormats) = 0; virtual HRESULT STDMETHODCALLTYPE GetInputFormat( /* [in] */ DWORD dwInputNumber, /* [in] */ DWORD dwFormatNumber, /* [out] */ IWMInputMediaProps **pProps) = 0; virtual HRESULT STDMETHODCALLTYPE BeginWriting( void) = 0; virtual HRESULT STDMETHODCALLTYPE EndWriting( void) = 0; virtual HRESULT STDMETHODCALLTYPE AllocateSample( /* [in] */ DWORD dwSampleSize, /* [out] */ INSSBuffer **ppSample) = 0; virtual HRESULT STDMETHODCALLTYPE WriteSample( /* [in] */ DWORD dwInputNum, /* [in] */ QWORD cnsSampleTime, /* [in] */ DWORD dwFlags, /* [in] */ INSSBuffer *pSample) = 0; virtual HRESULT STDMETHODCALLTYPE Flush( void) = 0; }; #else /* C style interface */ typedef struct IWMWriterVtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IWMWriter * This, /* [in] */ REFIID riid, /* [annotation][iid_is][out] */ __RPC__deref_out void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IWMWriter * This); ULONG ( STDMETHODCALLTYPE *Release )( IWMWriter * This); HRESULT ( STDMETHODCALLTYPE *SetProfileByID )( IWMWriter * This, /* [in] */ REFGUID guidProfile); HRESULT ( STDMETHODCALLTYPE *SetProfile )( IWMWriter * This, /* [in] */ IWMProfile *pProfile); HRESULT ( STDMETHODCALLTYPE *SetOutputFilename )( IWMWriter * This, /* [in] */ const WCHAR *pwszFilename); HRESULT ( STDMETHODCALLTYPE *GetInputCount )( IWMWriter * This, /* [out] */ DWORD *pcInputs); HRESULT ( STDMETHODCALLTYPE *GetInputProps )( IWMWriter * This, /* [in] */ DWORD dwInputNum, /* [out] */ IWMInputMediaProps **ppInput); HRESULT ( STDMETHODCALLTYPE *SetInputProps )( IWMWriter * This, /* [in] */ DWORD dwInputNum, /* [in] */ IWMInputMediaProps *pInput); HRESULT ( STDMETHODCALLTYPE *GetInputFormatCount )( IWMWriter * This, /* [in] */ DWORD dwInputNumber, /* [out] */ DWORD *pcFormats); HRESULT ( STDMETHODCALLTYPE *GetInputFormat )( IWMWriter * This, /* [in] */ DWORD dwInputNumber, /* [in] */ DWORD dwFormatNumber, /* [out] */ IWMInputMediaProps **pProps); HRESULT ( STDMETHODCALLTYPE *BeginWriting )( IWMWriter * This); HRESULT ( STDMETHODCALLTYPE *EndWriting )( IWMWriter * This); HRESULT ( STDMETHODCALLTYPE *AllocateSample )( IWMWriter * This, /* [in] */ DWORD dwSampleSize, /* [out] */ INSSBuffer **ppSample); HRESULT ( STDMETHODCALLTYPE *WriteSample )( IWMWriter * This, /* [in] */ DWORD dwInputNum, /* [in] */ QWORD cnsSampleTime, /* [in] */ DWORD dwFlags, /* [in] */ INSSBuffer *pSample); HRESULT ( STDMETHODCALLTYPE *Flush )( IWMWriter * This); END_INTERFACE } IWMWriterVtbl; interface IWMWriter { CONST_VTBL struct IWMWriterVtbl *lpVtbl; }; #ifdef COBJMACROS #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) ) #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) ) #endif /* COBJMACROS */ #endif /* C style interface */ #endif /* __IWMWriter_INTERFACE_DEFINED__ */ #ifndef __IWMDRMWriter_INTERFACE_DEFINED__ #define __IWMDRMWriter_INTERFACE_DEFINED__ /* interface IWMDRMWriter */ /* [local][unique][helpstring][uuid][object] */ EXTERN_C const IID IID_IWMDRMWriter; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("d6ea5dd0-12a0-43f4-90ab-a3fd451e6a07") IWMDRMWriter : public IUnknown { public: virtual HRESULT STDMETHODCALLTYPE GenerateKeySeed( /* [size_is][out] */ WCHAR *pwszKeySeed, /* [out][in] */ DWORD *pcwchLength) = 0; virtual HRESULT STDMETHODCALLTYPE GenerateKeyID( /* [size_is][out] */ WCHAR *pwszKeyID, /* [out][in] */ DWORD *pcwchLength) = 0; virtual HRESULT STDMETHODCALLTYPE GenerateSigningKeyPair( /* [size_is][out] */ WCHAR *pwszPrivKey, /* [out][in] */ DWORD *pcwchPrivKeyLength, /* [size_is][out] */ WCHAR *pwszPubKey, /* [out][in] */ DWORD *pcwchPubKeyLength) = 0; virtual HRESULT STDMETHODCALLTYPE SetDRMAttribute( /* [in] */ WORD wStreamNum, /* [in] */ LPCWSTR pszName, /* [in] */ WMT_ATTR_DATATYPE Type, /* [size_is][in] */ const BYTE *pValue, /* [in] */ WORD cbLength) = 0; }; #else /* C style interface */ typedef struct IWMDRMWriterVtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IWMDRMWriter * This, /* [in] */ REFIID riid, /* [annotation][iid_is][out] */ __RPC__deref_out void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IWMDRMWriter * This); ULONG ( STDMETHODCALLTYPE *Release )( IWMDRMWriter * This); HRESULT ( STDMETHODCALLTYPE *GenerateKeySeed )( IWMDRMWriter * This, /* [size_is][out] */ WCHAR *pwszKeySeed, /* [out][in] */ DWORD *pcwchLength); HRESULT ( STDMETHODCALLTYPE *GenerateKeyID )( IWMDRMWriter * This, /* [size_is][out] */ WCHAR *pwszKeyID, /* [out][in] */ DWORD *pcwchLength); HRESULT ( STDMETHODCALLTYPE *GenerateSigningKeyPair )( IWMDRMWriter * This, /* [size_is][out] */ WCHAR *pwszPrivKey, /* [out][in] */ DWORD *pcwchPrivKeyLength, /* [size_is][out] */ WCHAR *pwszPubKey, /* [out][in] */ DWORD *pcwchPubKeyLength); HRESULT ( STDMETHODCALLTYPE *SetDRMAttribute )( IWMDRMWriter * This, /* [in] */ WORD wStreamNum, /* [in] */ LPCWSTR pszName, /* [in] */ WMT_ATTR_DATATYPE Type, /* [size_is][in] */ const BYTE *pValue, /* [in] */ WORD cbLength); END_INTERFACE } IWMDRMWriterVtbl; interface IWMDRMWriter { CONST_VTBL struct IWMDRMWriterVtbl *lpVtbl; }; #ifdef COBJMACROS #define IWMDRMWriter_QueryInterface(This,riid,ppvObject) \ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) #define IWMDRMWriter_AddRef(This) \ ( (This)->lpVtbl -> AddRef(This) ) #define IWMDRMWriter_Release(This) \ ( (This)->lpVtbl -> Release(This) ) #define IWMDRMWriter_GenerateKeySeed(This,pwszKeySeed,pcwchLength) \ ( (This)->lpVtbl -> GenerateKeySeed(This,pwszKeySeed,pcwchLength) ) #define IWMDRMWriter_GenerateKeyID(This,pwszKeyID,pcwchLength) \ ( (This)->lpVtbl -> GenerateKeyID(This,pwszKeyID,pcwchLength) ) #define IWMDRMWriter_GenerateSigningKeyPair(This,pwszPrivKey,pcwchPrivKeyLength,pwszPubKey,pcwchPubKeyLength) \ ( (This)->lpVtbl -> GenerateSigningKeyPair(This,pwszPrivKey,pcwchPrivKeyLength,pwszPubKey,pcwchPubKeyLength) ) #define IWMDRMWriter_SetDRMAttribute(This,wStreamNum,pszName,Type,pValue,cbLength) \ ( (This)->lpVtbl -> SetDRMAttribute(This,wStreamNum,pszName,Type,pValue,cbLength) ) #endif /* COBJMACROS */ #endif /* C style interface */ #endif /* __IWMDRMWriter_INTERFACE_DEFINED__ */ #ifndef __IWMDRMWriter2_INTERFACE_DEFINED__ #define __IWMDRMWriter2_INTERFACE_DEFINED__ /* interface IWMDRMWriter2 */ /* [local][unique][helpstring][uuid][object] */ EXTERN_C const IID IID_IWMDRMWriter2; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("38ee7a94-40e2-4e10-aa3f-33fd3210ed5b") IWMDRMWriter2 : public IWMDRMWriter { public: virtual HRESULT STDMETHODCALLTYPE SetWMDRMNetEncryption( /* [in] */ BOOL fSamplesEncrypted, /* [in] */ BYTE *pbKeyID, /* [in] */ DWORD cbKeyID) = 0; }; #else /* C style interface */ typedef struct IWMDRMWriter2Vtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IWMDRMWriter2 * This, /* [in] */ REFIID riid, /* [annotation][iid_is][out] */ __RPC__deref_out void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IWMDRMWriter2 * This); ULONG ( STDMETHODCALLTYPE *Release )( IWMDRMWriter2 * This); HRESULT ( STDMETHODCALLTYPE *GenerateKeySeed )( IWMDRMWriter2 * This, /* [size_is][out] */ WCHAR *pwszKeySeed, /* [out][in] */ DWORD *pcwchLength); HRESULT ( STDMETHODCALLTYPE *GenerateKeyID )( IWMDRMWriter2 * This, /* [size_is][out] */ WCHAR *pwszKeyID, /* [out][in] */ DWORD *pcwchLength); HRESULT ( STDMETHODCALLTYPE *GenerateSigningKeyPair )( IWMDRMWriter2 * This, /* [size_is][out] */ WCHAR *pwszPrivKey, /* [out][in] */ DWORD *pcwchPrivKeyLength, /* [size_is][out] */ WCHAR *pwszPubKey, /* [out][in] */ DWORD *pcwchPubKeyLength); HRESULT ( STDMETHODCALLTYPE *SetDRMAttribute )( IWMDRMWriter2 * This, /* [in] */ WORD wStreamNum, /* [in] */ LPCWSTR pszName, /* [in] */ WMT_ATTR_DATATYPE Type, /* [size_is][in] */ const BYTE *pValue, /* [in] */ WORD cbLength); HRESULT ( STDMETHODCALLTYPE *SetWMDRMNetEncryption )( IWMDRMWriter2 * This, /* [in] */ BOOL fSamplesEncrypted, /* [in] */ BYTE *pbKeyID, /* [in] */ DWORD cbKeyID); END_INTERFACE } IWMDRMWriter2Vtbl; interface IWMDRMWriter2 { CONST_VTBL struct IWMDRMWriter2Vtbl *lpVtbl; }; #ifdef COBJMACROS #define IWMDRMWriter2_QueryInterface(This,riid,ppvObject) \ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) #define IWMDRMWriter2_AddRef(This) \ ( (This)->lpVtbl -> AddRef(This) ) #define IWMDRMWriter2_Release(This) \ ( (This)->lpVtbl -> Release(This) ) #define IWMDRMWriter2_GenerateKeySeed(This,pwszKeySeed,pcwchLength) \ ( (This)->lpVtbl -> GenerateKeySeed(This,pwszKeySeed,pcwchLength) ) #define IWMDRMWriter2_GenerateKeyID(This,pwszKeyID,pcwchLength) \ ( (This)->lpVtbl -> GenerateKeyID(This,pwszKeyID,pcwchLength) ) #define IWMDRMWriter2_GenerateSigningKeyPair(This,pwszPrivKey,pcwchPrivKeyLength,pwszPubKey,pcwchPubKeyLength) \ ( (This)->lpVtbl -> GenerateSigningKeyPair(This,pwszPrivKey,pcwchPrivKeyLength,pwszPubKey,pcwchPubKeyLength) ) #define IWMDRMWriter2_SetDRMAttribute(This,wStreamNum,pszName,Type,pValue,cbLength) \ ( (This)->lpVtbl -> SetDRMAttribute(This,wStreamNum,pszName,Type,pValue,cbLength) ) #define IWMDRMWriter2_SetWMDRMNetEncryption(This,fSamplesEncrypted,pbKeyID,cbKeyID) \ ( (This)->lpVtbl -> SetWMDRMNetEncryption(This,fSamplesEncrypted,pbKeyID,cbKeyID) ) #endif /* COBJMACROS */ #endif /* C style interface */ #endif /* __IWMDRMWriter2_INTERFACE_DEFINED__ */ #ifndef __IWMDRMWriter3_INTERFACE_DEFINED__ #define __IWMDRMWriter3_INTERFACE_DEFINED__ /* interface IWMDRMWriter3 */ /* [local][unique][helpstring][uuid][object] */ EXTERN_C const IID IID_IWMDRMWriter3; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("a7184082-a4aa-4dde-ac9c-e75dbd1117ce") IWMDRMWriter3 : public IWMDRMWriter2 { public: virtual HRESULT STDMETHODCALLTYPE SetProtectStreamSamples( /* [in] */ WMDRM_IMPORT_INIT_STRUCT *pImportInitStruct) = 0; }; #else /* C style interface */ typedef struct IWMDRMWriter3Vtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IWMDRMWriter3 * This, /* [in] */ REFIID riid, /* [annotation][iid_is][out] */ __RPC__deref_out void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IWMDRMWriter3 * This); ULONG ( STDMETHODCALLTYPE *Release )( IWMDRMWriter3 * This); HRESULT ( STDMETHODCALLTYPE *GenerateKeySeed )( IWMDRMWriter3 * This, /* [size_is][out] */ WCHAR *pwszKeySeed, /* [out][in] */ DWORD *pcwchLength); HRESULT ( STDMETHODCALLTYPE *GenerateKeyID )( IWMDRMWriter3 * This, /* [size_is][out] */ WCHAR *pwszKeyID, /* [out][in] */ DWORD *pcwchLength); HRESULT ( STDMETHODCALLTYPE *GenerateSigningKeyPair )( IWMDRMWriter3 * This, /* [size_is][out] */ WCHAR *pwszPrivKey, /* [out][in] */ DWORD *pcwchPrivKeyLength, /* [size_is][out] */ WCHAR *pwszPubKey, /* [out][in] */ DWORD *pcwchPubKeyLength); HRESULT ( STDMETHODCALLTYPE *SetDRMAttribute )( IWMDRMWriter3 * This, /* [in] */ WORD wStreamNum, /* [in] */ LPCWSTR pszName, /* [in] */ WMT_ATTR_DATATYPE Type, /* [size_is][in] */ const BYTE *pValue, /* [in] */ WORD cbLength); HRESULT ( STDMETHODCALLTYPE *SetWMDRMNetEncryption )( IWMDRMWriter3 * This, /* [in] */ BOOL fSamplesEncrypted, /* [in] */ BYTE *pbKeyID, /* [in] */ DWORD cbKeyID); HRESULT ( STDMETHODCALLTYPE *SetProtectStreamSamples )( IWMDRMWriter3 * This, /* [in] */ WMDRM_IMPORT_INIT_STRUCT *pImportInitStruct); END_INTERFACE } IWMDRMWriter3Vtbl; interface IWMDRMWriter3 { CONST_VTBL struct IWMDRMWriter3Vtbl *lpVtbl; }; #ifdef COBJMACROS #define IWMDRMWriter3_QueryInterface(This,riid,ppvObject) \ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) #define IWMDRMWriter3_AddRef(This) \ ( (This)->lpVtbl -> AddRef(This) ) #define IWMDRMWriter3_Release(This) \ ( (This)->lpVtbl -> Release(This) ) #define IWMDRMWriter3_GenerateKeySeed(This,pwszKeySeed,pcwchLength) \ ( (This)->lpVtbl -> GenerateKeySeed(This,pwszKeySeed,pcwchLength) ) #define IWMDRMWriter3_GenerateKeyID(This,pwszKeyID,pcwchLength) \ ( (This)->lpVtbl -> GenerateKeyID(This,pwszKeyID,pcwchLength) ) #define IWMDRMWriter3_GenerateSigningKeyPair(This,pwszPrivKey,pcwchPrivKeyLength,pwszPubKey,pcwchPubKeyLength) \ ( (This)->lpVtbl -> GenerateSigningKeyPair(This,pwszPrivKey,pcwchPrivKeyLength,pwszPubKey,pcwchPubKeyLength) ) #define IWMDRMWriter3_SetDRMAttribute(This,wStreamNum,pszName,Type,pValue,cbLength) \ ( (This)->lpVtbl -> SetDRMAttribute(This,wStreamNum,pszName,Type,pValue,cbLength) ) #define IWMDRMWriter3_SetWMDRMNetEncryption(This,fSamplesEncrypted,pbKeyID,cbKeyID) \ ( (This)->lpVtbl -> SetWMDRMNetEncryption(This,fSamplesEncrypted,pbKeyID,cbKeyID) ) #define IWMDRMWriter3_SetProtectStreamSamples(This,pImportInitStruct) \ ( (This)->lpVtbl -> SetProtectStreamSamples(This,pImportInitStruct) ) #endif /* COBJMACROS */ #endif /* C style interface */ #endif /* __IWMDRMWriter3_INTERFACE_DEFINED__ */ #ifndef __IWMInputMediaProps_INTERFACE_DEFINED__ #define __IWMInputMediaProps_INTERFACE_DEFINED__ /* interface IWMInputMediaProps */ /* [local][unique][helpstring][uuid][object] */ EXTERN_C const IID IID_IWMInputMediaProps; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("96406BD5-2B2B-11d3-B36B-00C04F6108FF") IWMInputMediaProps : public IWMMediaProps { public: virtual HRESULT STDMETHODCALLTYPE GetConnectionName( /* [size_is][out] */ WCHAR *pwszName, /* [out][in] */ WORD *pcchName) = 0; virtual HRESULT STDMETHODCALLTYPE GetGroupName( /* [size_is][out] */ WCHAR *pwszName, /* [out][in] */ WORD *pcchName) = 0; }; #else /* C style interface */ typedef struct IWMInputMediaPropsVtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IWMInputMediaProps * This, /* [in] */ REFIID riid, /* [annotation][iid_is][out] */ __RPC__deref_out void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IWMInputMediaProps * This); ULONG ( STDMETHODCALLTYPE *Release )( IWMInputMediaProps * This); HRESULT ( STDMETHODCALLTYPE *GetType )( IWMInputMediaProps * This, /* [out] */ GUID *pguidType); HRESULT ( STDMETHODCALLTYPE *GetMediaType )( IWMInputMediaProps * This, /* [out] */ WM_MEDIA_TYPE *pType, /* [out][in] */ DWORD *pcbType); HRESULT ( STDMETHODCALLTYPE *SetMediaType )( IWMInputMediaProps * This, /* [in] */ WM_MEDIA_TYPE *pType); HRESULT ( STDMETHODCALLTYPE *GetConnectionName )( IWMInputMediaProps * This, /* [size_is][out] */ WCHAR *pwszName, /* [out][in] */ WORD *pcchName); HRESULT ( STDMETHODCALLTYPE *GetGroupName )( IWMInputMediaProps * This, /* [size_is][out] */ WCHAR *pwszName, /* [out][in] */ WORD *pcchName); END_INTERFACE } IWMInputMediaPropsVtbl; interface IWMInputMediaProps { CONST_VTBL struct IWMInputMediaPropsVtbl *lpVtbl; }; #ifdef COBJMACROS #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) ) #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) ) #define IWMInputMediaProps_GetConnectionName(This,pwszName,pcchName) \ ( (This)->lpVtbl -> GetConnectionName(This,pwszName,pcchName) ) #define IWMInputMediaProps_GetGroupName(This,pwszName,pcchName) \ ( (This)->lpVtbl -> GetGroupName(This,pwszName,pcchName) ) #endif /* COBJMACROS */ #endif /* C style interface */ #endif /* __IWMInputMediaProps_INTERFACE_DEFINED__ */ #ifndef __IWMPropertyVault_INTERFACE_DEFINED__ #define __IWMPropertyVault_INTERFACE_DEFINED__ /* interface IWMPropertyVault */ /* [local][unique][helpstring][uuid][object] */ EXTERN_C const IID IID_IWMPropertyVault; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("72995A79-5090-42a4-9C8C-D9D0B6D34BE5") IWMPropertyVault : public IUnknown { public: virtual HRESULT STDMETHODCALLTYPE GetPropertyCount( /* [in] */ DWORD *pdwCount) = 0; virtual HRESULT STDMETHODCALLTYPE GetPropertyByName( /* [in] */ LPCWSTR pszName, /* [out] */ WMT_ATTR_DATATYPE *pType, /* [size_is][out] */ BYTE *pValue, /* [out][in] */ DWORD *pdwSize) = 0; virtual HRESULT STDMETHODCALLTYPE SetProperty( /* [in] */ LPCWSTR pszName, /* [in] */ WMT_ATTR_DATATYPE pType, /* [in] */ BYTE *pValue, /* [in] */ DWORD dwSize) = 0; virtual HRESULT STDMETHODCALLTYPE GetPropertyByIndex( /* [in] */ DWORD dwIndex, /* [size_is][out] */ LPWSTR pszName, /* [out][in] */ DWORD *pdwNameLen, /* [out] */ WMT_ATTR_DATATYPE *pType, /* [size_is][out] */ BYTE *pValue, /* [out][in] */ DWORD *pdwSize) = 0; virtual HRESULT STDMETHODCALLTYPE CopyPropertiesFrom( /* [in] */ IWMPropertyVault *pIWMPropertyVault) = 0; virtual HRESULT STDMETHODCALLTYPE Clear( void) = 0; }; #else /* C style interface */ typedef struct IWMPropertyVaultVtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IWMPropertyVault * This, /* [in] */ REFIID riid, /* [annotation][iid_is][out] */ __RPC__deref_out void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IWMPropertyVault * This); ULONG ( STDMETHODCALLTYPE *Release )( IWMPropertyVault * This); HRESULT ( STDMETHODCALLTYPE *GetPropertyCount )( IWMPropertyVault * This, /* [in] */ DWORD *pdwCount); HRESULT ( STDMETHODCALLTYPE *GetPropertyByName )( IWMPropertyVault * This, /* [in] */ LPCWSTR pszName, /* [out] */ WMT_ATTR_DATATYPE *pType, /* [size_is][out] */ BYTE *pValue, /* [out][in] */ DWORD *pdwSize); HRESULT ( STDMETHODCALLTYPE *SetProperty )( IWMPropertyVault * This, /* [in] */ LPCWSTR pszName, /* [in] */ WMT_ATTR_DATATYPE pType, /* [in] */ BYTE *pValue, /* [in] */ DWORD dwSize); HRESULT ( STDMETHODCALLTYPE *GetPropertyByIndex )( IWMPropertyVault * This, /* [in] */ DWORD dwIndex, /* [size_is][out] */ LPWSTR pszName, /* [out][in] */ DWORD *pdwNameLen, /* [out] */ WMT_ATTR_DATATYPE *pType, /* [size_is][out] */ BYTE *pValue, /* [out][in] */ DWORD *pdwSize); HRESULT ( STDMETHODCALLTYPE *CopyPropertiesFrom )( IWMPropertyVault * This, /* [in] */ IWMPropertyVault *pIWMPropertyVault); HRESULT ( STDMETHODCALLTYPE *Clear )( IWMPropertyVault * This); END_INTERFACE } IWMPropertyVaultVtbl; interface IWMPropertyVault { CONST_VTBL struct IWMPropertyVaultVtbl *lpVtbl; }; #ifdef COBJMACROS #define IWMPropertyVault_QueryInterface(This,riid,ppvObject) \ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) #define IWMPropertyVault_AddRef(This) \ ( (This)->lpVtbl -> AddRef(This) ) #define IWMPropertyVault_Release(This) \ ( (This)->lpVtbl -> Release(This) ) #define IWMPropertyVault_GetPropertyCount(This,pdwCount) \ ( (This)->lpVtbl -> GetPropertyCount(This,pdwCount) ) #define IWMPropertyVault_GetPropertyByName(This,pszName,pType,pValue,pdwSize) \ ( (This)->lpVtbl -> GetPropertyByName(This,pszName,pType,pValue,pdwSize) ) #define IWMPropertyVault_SetProperty(This,pszName,pType,pValue,dwSize) \ ( (This)->lpVtbl -> SetProperty(This,pszName,pType,pValue,dwSize) ) #define IWMPropertyVault_GetPropertyByIndex(This,dwIndex,pszName,pdwNameLen,pType,pValue,pdwSize) \ ( (This)->lpVtbl -> GetPropertyByIndex(This,dwIndex,pszName,pdwNameLen,pType,pValue,pdwSize) ) #define IWMPropertyVault_CopyPropertiesFrom(This,pIWMPropertyVault) \ ( (This)->lpVtbl -> CopyPropertiesFrom(This,pIWMPropertyVault) ) #define IWMPropertyVault_Clear(This) \ ( (This)->lpVtbl -> Clear(This) ) #endif /* COBJMACROS */ #endif /* C style interface */ #endif /* __IWMPropertyVault_INTERFACE_DEFINED__ */ #ifndef __IWMIStreamProps_INTERFACE_DEFINED__ #define __IWMIStreamProps_INTERFACE_DEFINED__ /* interface IWMIStreamProps */ /* [local][unique][helpstring][uuid][object] */ EXTERN_C const IID IID_IWMIStreamProps; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("6816dad3-2b4b-4c8e-8149-874c3483a753") IWMIStreamProps : public IUnknown { public: virtual HRESULT STDMETHODCALLTYPE GetProperty( /* [in] */ LPCWSTR pszName, /* [out] */ WMT_ATTR_DATATYPE *pType, /* [size_is][out] */ BYTE *pValue, /* [out][in] */ DWORD *pdwSize) = 0; }; #else /* C style interface */ typedef struct IWMIStreamPropsVtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IWMIStreamProps * This, /* [in] */ REFIID riid, /* [annotation][iid_is][out] */ __RPC__deref_out void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IWMIStreamProps * This); ULONG ( STDMETHODCALLTYPE *Release )( IWMIStreamProps * This); HRESULT ( STDMETHODCALLTYPE *GetProperty )( IWMIStreamProps * This, /* [in] */ LPCWSTR pszName, /* [out] */ WMT_ATTR_DATATYPE *pType, /* [size_is][out] */ BYTE *pValue, /* [out][in] */ DWORD *pdwSize); END_INTERFACE } IWMIStreamPropsVtbl; interface IWMIStreamProps { CONST_VTBL struct IWMIStreamPropsVtbl *lpVtbl; }; #ifdef COBJMACROS #define IWMIStreamProps_QueryInterface(This,riid,ppvObject) \ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) #define IWMIStreamProps_AddRef(This) \ ( (This)->lpVtbl -> AddRef(This) ) #define IWMIStreamProps_Release(This) \ ( (This)->lpVtbl -> Release(This) ) #define IWMIStreamProps_GetProperty(This,pszName,pType,pValue,pdwSize) \ ( (This)->lpVtbl -> GetProperty(This,pszName,pType,pValue,pdwSize) ) #endif /* COBJMACROS */ #endif /* C style interface */ #endif /* __IWMIStreamProps_INTERFACE_DEFINED__ */ #ifndef __IWMReader_INTERFACE_DEFINED__ #define __IWMReader_INTERFACE_DEFINED__ /* interface IWMReader */ /* [local][unique][helpstring][uuid][object] */ EXTERN_C const IID IID_IWMReader; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("96406BD6-2B2B-11d3-B36B-00C04F6108FF") IWMReader : public IUnknown { public: virtual HRESULT STDMETHODCALLTYPE Open( /* [in] */ const WCHAR *pwszURL, /* [in] */ IWMReaderCallback *pCallback, /* [in] */ void *pvContext) = 0; virtual HRESULT STDMETHODCALLTYPE Close( void) = 0; virtual HRESULT STDMETHODCALLTYPE GetOutputCount( /* [out] */ DWORD *pcOutputs) = 0; virtual HRESULT STDMETHODCALLTYPE GetOutputProps( /* [in] */ DWORD dwOutputNum, /* [out] */ IWMOutputMediaProps **ppOutput) = 0; virtual HRESULT STDMETHODCALLTYPE SetOutputProps( /* [in] */ DWORD dwOutputNum, /* [in] */ IWMOutputMediaProps *pOutput) = 0; virtual HRESULT STDMETHODCALLTYPE GetOutputFormatCount( /* [in] */ DWORD dwOutputNumber, /* [out] */ DWORD *pcFormats) = 0; virtual HRESULT STDMETHODCALLTYPE GetOutputFormat( /* [in] */ DWORD dwOutputNumber, /* [in] */ DWORD dwFormatNumber, /* [out] */ IWMOutputMediaProps **ppProps) = 0; virtual HRESULT STDMETHODCALLTYPE Start( /* [in] */ QWORD cnsStart, /* [in] */ QWORD cnsDuration, /* [in] */ float fRate, /* [in] */ void *pvContext) = 0; virtual HRESULT STDMETHODCALLTYPE Stop( void) = 0; virtual HRESULT STDMETHODCALLTYPE Pause( void) = 0; virtual HRESULT STDMETHODCALLTYPE Resume( void) = 0; }; #else /* C style interface */ typedef struct IWMReaderVtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IWMReader * This, /* [in] */ REFIID riid, /* [annotation][iid_is][out] */ __RPC__deref_out void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IWMReader * This); ULONG ( STDMETHODCALLTYPE *Release )( IWMReader * This); HRESULT ( STDMETHODCALLTYPE *Open )( IWMReader * This, /* [in] */ const WCHAR *pwszURL, /* [in] */ IWMReaderCallback *pCallback, /* [in] */ void *pvContext); HRESULT ( STDMETHODCALLTYPE *Close )( IWMReader * This); HRESULT ( STDMETHODCALLTYPE *GetOutputCount )( IWMReader * This, /* [out] */ DWORD *pcOutputs); HRESULT ( STDMETHODCALLTYPE *GetOutputProps )( IWMReader * This, /* [in] */ DWORD dwOutputNum, /* [out] */ IWMOutputMediaProps **ppOutput); HRESULT ( STDMETHODCALLTYPE *SetOutputProps )( IWMReader * This, /* [in] */ DWORD dwOutputNum, /* [in] */ IWMOutputMediaProps *pOutput); HRESULT ( STDMETHODCALLTYPE *GetOutputFormatCount )( IWMReader * This, /* [in] */ DWORD dwOutputNumber, /* [out] */ DWORD *pcFormats); HRESULT ( STDMETHODCALLTYPE *GetOutputFormat )( IWMReader * This, /* [in] */ DWORD dwOutputNumber, /* [in] */ DWORD dwFormatNumber, /* [out] */ IWMOutputMediaProps **ppProps); HRESULT ( STDMETHODCALLTYPE *Start )( IWMReader * This, /* [in] */ QWORD cnsStart, /* [in] */ QWORD cnsDuration, /* [in] */ float fRate, /* [in] */ void *pvContext); HRESULT ( STDMETHODCALLTYPE *Stop )( IWMReader * This); HRESULT ( STDMETHODCALLTYPE *Pause )( IWMReader * This); HRESULT ( STDMETHODCALLTYPE *Resume )( IWMReader * This); END_INTERFACE } IWMReaderVtbl; interface IWMReader { CONST_VTBL struct IWMReaderVtbl *lpVtbl; }; #ifdef COBJMACROS #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) ) #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) ) #endif /* COBJMACROS */ #endif /* C style interface */ #endif /* __IWMReader_INTERFACE_DEFINED__ */ #ifndef __IWMSyncReader_INTERFACE_DEFINED__ #define __IWMSyncReader_INTERFACE_DEFINED__ /* interface IWMSyncReader */ /* [local][unique][helpstring][uuid][object] */ EXTERN_C const IID IID_IWMSyncReader; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("9397F121-7705-4dc9-B049-98B698188414") IWMSyncReader : public IUnknown { public: virtual HRESULT STDMETHODCALLTYPE Open( /* [in] */ const WCHAR *pwszFilename) = 0; virtual HRESULT STDMETHODCALLTYPE Close( void) = 0; virtual HRESULT STDMETHODCALLTYPE SetRange( /* [in] */ QWORD cnsStartTime, /* [in] */ LONGLONG cnsDuration) = 0; virtual HRESULT STDMETHODCALLTYPE SetRangeByFrame( /* [in] */ WORD wStreamNum, /* [in] */ QWORD qwFrameNumber, /* [in] */ LONGLONG cFramesToRead) = 0; virtual HRESULT STDMETHODCALLTYPE GetNextSample( /* [in] */ WORD wStreamNum, /* [out] */ INSSBuffer **ppSample, /* [out] */ QWORD *pcnsSampleTime, /* [out] */ QWORD *pcnsDuration, /* [out] */ DWORD *pdwFlags, /* [out] */ DWORD *pdwOutputNum, /* [out] */ WORD *pwStreamNum) = 0; virtual HRESULT STDMETHODCALLTYPE SetStreamsSelected( /* [in] */ WORD cStreamCount, /* [in] */ WORD *pwStreamNumbers, /* [in] */ WMT_STREAM_SELECTION *pSelections) = 0; virtual HRESULT STDMETHODCALLTYPE GetStreamSelected( /* [in] */ WORD wStreamNum, /* [out] */ WMT_STREAM_SELECTION *pSelection) = 0; virtual HRESULT STDMETHODCALLTYPE SetReadStreamSamples( /* [in] */ WORD wStreamNum, /* [in] */ BOOL fCompressed) = 0; virtual HRESULT STDMETHODCALLTYPE GetReadStreamSamples( /* [in] */ WORD wStreamNum, /* [out] */ BOOL *pfCompressed) = 0; virtual HRESULT STDMETHODCALLTYPE GetOutputSetting( /* [in] */ DWORD dwOutputNum, /* [in] */ LPCWSTR pszName, /* [out] */ WMT_ATTR_DATATYPE *pType, /* [size_is][out] */ BYTE *pValue, /* [out][in] */ WORD *pcbLength) = 0; virtual HRESULT STDMETHODCALLTYPE SetOutputSetting( /* [in] */ DWORD dwOutputNum, /* [in] */ LPCWSTR pszName, /* [in] */ WMT_ATTR_DATATYPE Type, /* [size_is][in] */ const BYTE *pValue, /* [in] */ WORD cbLength) = 0; virtual HRESULT STDMETHODCALLTYPE GetOutputCount( /* [out] */ DWORD *pcOutputs) = 0; virtual HRESULT STDMETHODCALLTYPE GetOutputProps( /* [in] */ DWORD dwOutputNum, /* [out] */ IWMOutputMediaProps **ppOutput) = 0; virtual HRESULT STDMETHODCALLTYPE SetOutputProps( /* [in] */ DWORD dwOutputNum, /* [in] */ IWMOutputMediaProps *pOutput) = 0; virtual HRESULT STDMETHODCALLTYPE GetOutputFormatCount( /* [in] */ DWORD dwOutputNum, /* [out] */ DWORD *pcFormats) = 0; virtual HRESULT STDMETHODCALLTYPE GetOutputFormat( /* [in] */ DWORD dwOutputNum, /* [in] */ DWORD dwFormatNum, /* [out] */ IWMOutputMediaProps **ppProps) = 0; virtual HRESULT STDMETHODCALLTYPE GetOutputNumberForStream( /* [in] */ WORD wStreamNum, /* [out] */ DWORD *pdwOutputNum) = 0; virtual HRESULT STDMETHODCALLTYPE GetStreamNumberForOutput( /* [in] */ DWORD dwOutputNum, /* [out] */ WORD *pwStreamNum) = 0; virtual HRESULT STDMETHODCALLTYPE GetMaxOutputSampleSize( /* [in] */ DWORD dwOutput, /* [out] */ DWORD *pcbMax) = 0; virtual HRESULT STDMETHODCALLTYPE GetMaxStreamSampleSize( /* [in] */ WORD wStream, /* [out] */ DWORD *pcbMax) = 0; virtual HRESULT STDMETHODCALLTYPE OpenStream( /* [in] */ IStream *pStream) = 0; }; #else /* C style interface */ typedef struct IWMSyncReaderVtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IWMSyncReader * This, /* [in] */ REFIID riid, /* [annotation][iid_is][out] */ __RPC__deref_out void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IWMSyncReader * This); ULONG ( STDMETHODCALLTYPE *Release )( IWMSyncReader * This); HRESULT ( STDMETHODCALLTYPE *Open )( IWMSyncReader * This, /* [in] */ const WCHAR *pwszFilename); HRESULT ( STDMETHODCALLTYPE *Close )( IWMSyncReader * This); HRESULT ( STDMETHODCALLTYPE *SetRange )( IWMSyncReader * This, /* [in] */ QWORD cnsStartTime, /* [in] */ LONGLONG cnsDuration); HRESULT ( STDMETHODCALLTYPE *SetRangeByFrame )( IWMSyncReader * This, /* [in] */ WORD wStreamNum, /* [in] */ QWORD qwFrameNumber, /* [in] */ LONGLONG cFramesToRead); HRESULT ( STDMETHODCALLTYPE *GetNextSample )( IWMSyncReader * This, /* [in] */ WORD wStreamNum, /* [out] */ INSSBuffer **ppSample, /* [out] */ QWORD *pcnsSampleTime, /* [out] */ QWORD *pcnsDuration, /* [out] */ DWORD *pdwFlags, /* [out] */ DWORD *pdwOutputNum, /* [out] */ WORD *pwStreamNum); HRESULT ( STDMETHODCALLTYPE *SetStreamsSelected )( IWMSyncReader * This, /* [in] */ WORD cStreamCount, /* [in] */ WORD *pwStreamNumbers, /* [in] */ WMT_STREAM_SELECTION *pSelections); HRESULT ( STDMETHODCALLTYPE *GetStreamSelected )( IWMSyncReader * This, /* [in] */ WORD wStreamNum, /* [out] */ WMT_STREAM_SELECTION *pSelection); HRESULT ( STDMETHODCALLTYPE *SetReadStreamSamples )( IWMSyncReader * This, /* [in] */ WORD wStreamNum, /* [in] */ BOOL fCompressed); HRESULT ( STDMETHODCALLTYPE *GetReadStreamSamples )( IWMSyncReader * This, /* [in] */ WORD wStreamNum, /* [out] */ BOOL *pfCompressed); HRESULT ( STDMETHODCALLTYPE *GetOutputSetting )( IWMSyncReader * This, /* [in] */ DWORD dwOutputNum, /* [in] */ LPCWSTR pszName, /* [out] */ WMT_ATTR_DATATYPE *pType, /* [size_is][out] */ BYTE *pValue, /* [out][in] */ WORD *pcbLength); HRESULT ( STDMETHODCALLTYPE *SetOutputSetting )( IWMSyncReader * This, /* [in] */ DWORD dwOutputNum, /* [in] */ LPCWSTR pszName, /* [in] */ WMT_ATTR_DATATYPE Type, /* [size_is][in] */ const BYTE *pValue, /* [in] */ WORD cbLength); HRESULT ( STDMETHODCALLTYPE *GetOutputCount )( IWMSyncReader * This, /* [out] */ DWORD *pcOutputs); HRESULT ( STDMETHODCALLTYPE *GetOutputProps )( IWMSyncReader * This, /* [in] */ DWORD dwOutputNum, /* [out] */ IWMOutputMediaProps **ppOutput); HRESULT ( STDMETHODCALLTYPE *SetOutputProps )( IWMSyncReader * This, /* [in] */ DWORD dwOutputNum, /* [in] */ IWMOutputMediaProps *pOutput); HRESULT ( STDMETHODCALLTYPE *GetOutputFormatCount )( IWMSyncReader * This, /* [in] */ DWORD dwOutputNum, /* [out] */ DWORD *pcFormats); HRESULT ( STDMETHODCALLTYPE *GetOutputFormat )( IWMSyncReader * This, /* [in] */ DWORD dwOutputNum, /* [in] */ DWORD dwFormatNum, /* [out] */ IWMOutputMediaProps **ppProps); HRESULT ( STDMETHODCALLTYPE *GetOutputNumberForStream )( IWMSyncReader * This, /* [in] */ WORD wStreamNum, /* [out] */ DWORD *pdwOutputNum); HRESULT ( STDMETHODCALLTYPE *GetStreamNumberForOutput )( IWMSyncReader * This, /* [in] */ DWORD dwOutputNum, /* [out] */ WORD *pwStreamNum); HRESULT ( STDMETHODCALLTYPE *GetMaxOutputSampleSize )( IWMSyncReader * This, /* [in] */ DWORD dwOutput, /* [out] */ DWORD *pcbMax); HRESULT ( STDMETHODCALLTYPE *GetMaxStreamSampleSize )( IWMSyncReader * This, /* [in] */ WORD wStream, /* [out] */ DWORD *pcbMax); HRESULT ( STDMETHODCALLTYPE *OpenStream )( IWMSyncReader * This, /* [in] */ IStream *pStream); END_INTERFACE } IWMSyncReaderVtbl; interface IWMSyncReader { CONST_VTBL struct IWMSyncReaderVtbl *lpVtbl; }; #ifdef COBJMACROS #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) ) #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) ) #endif /* COBJMACROS */ #endif /* C style interface */ #endif /* __IWMSyncReader_INTERFACE_DEFINED__ */ #ifndef __IWMSyncReader2_INTERFACE_DEFINED__ #define __IWMSyncReader2_INTERFACE_DEFINED__ /* interface IWMSyncReader2 */ /* [local][unique][helpstring][uuid][object] */ EXTERN_C const IID IID_IWMSyncReader2; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("faed3d21-1b6b-4af7-8cb6-3e189bbc187b") IWMSyncReader2 : public IWMSyncReader { public: virtual HRESULT STDMETHODCALLTYPE SetRangeByTimecode( /* [in] */ WORD wStreamNum, /* [in] */ WMT_TIMECODE_EXTENSION_DATA *pStart, /* [in] */ WMT_TIMECODE_EXTENSION_DATA *pEnd) = 0; virtual HRESULT STDMETHODCALLTYPE SetRangeByFrameEx( /* [in] */ WORD wStreamNum, /* [in] */ QWORD qwFrameNumber, /* [in] */ LONGLONG cFramesToRead, /* [out] */ QWORD *pcnsStartTime) = 0; virtual HRESULT STDMETHODCALLTYPE SetAllocateForOutput( /* [in] */ DWORD dwOutputNum, /* [in] */ IWMReaderAllocatorEx *pAllocator) = 0; virtual HRESULT STDMETHODCALLTYPE GetAllocateForOutput( /* [in] */ DWORD dwOutputNum, /* [out] */ IWMReaderAllocatorEx **ppAllocator) = 0; virtual HRESULT STDMETHODCALLTYPE SetAllocateForStream( /* [in] */ WORD wStreamNum, /* [in] */ IWMReaderAllocatorEx *pAllocator) = 0; virtual HRESULT STDMETHODCALLTYPE GetAllocateForStream( /* [in] */ WORD dwSreamNum, /* [out] */ IWMReaderAllocatorEx **ppAllocator) = 0; }; #else /* C style interface */ typedef struct IWMSyncReader2Vtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IWMSyncReader2 * This, /* [in] */ REFIID riid, /* [annotation][iid_is][out] */ __RPC__deref_out void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IWMSyncReader2 * This); ULONG ( STDMETHODCALLTYPE *Release )( IWMSyncReader2 * This); HRESULT ( STDMETHODCALLTYPE *Open )( IWMSyncReader2 * This, /* [in] */ const WCHAR *pwszFilename); HRESULT ( STDMETHODCALLTYPE *Close )( IWMSyncReader2 * This); HRESULT ( STDMETHODCALLTYPE *SetRange )( IWMSyncReader2 * This, /* [in] */ QWORD cnsStartTime, /* [in] */ LONGLONG cnsDuration); HRESULT ( STDMETHODCALLTYPE *SetRangeByFrame )( IWMSyncReader2 * This, /* [in] */ WORD wStreamNum, /* [in] */ QWORD qwFrameNumber, /* [in] */ LONGLONG cFramesToRead); HRESULT ( STDMETHODCALLTYPE *GetNextSample )( IWMSyncReader2 * This, /* [in] */ WORD wStreamNum, /* [out] */ INSSBuffer **ppSample, /* [out] */ QWORD *pcnsSampleTime, /* [out] */ QWORD *pcnsDuration, /* [out] */ DWORD *pdwFlags, /* [out] */ DWORD *pdwOutputNum, /* [out] */ WORD *pwStreamNum); HRESULT ( STDMETHODCALLTYPE *SetStreamsSelected )( IWMSyncReader2 * This, /* [in] */ WORD cStreamCount, /* [in] */ WORD *pwStreamNumbers, /* [in] */ WMT_STREAM_SELECTION *pSelections); HRESULT ( STDMETHODCALLTYPE *GetStreamSelected )( IWMSyncReader2 * This, /* [in] */ WORD wStreamNum, /* [out] */ WMT_STREAM_SELECTION *pSelection); HRESULT ( STDMETHODCALLTYPE *SetReadStreamSamples )( IWMSyncReader2 * This, /* [in] */ WORD wStreamNum, /* [in] */ BOOL fCompressed); HRESULT ( STDMETHODCALLTYPE *GetReadStreamSamples )( IWMSyncReader2 * This, /* [in] */ WORD wStreamNum, /* [out] */ BOOL *pfCompressed); HRESULT ( STDMETHODCALLTYPE *GetOutputSetting )( IWMSyncReader2 * This, /* [in] */ DWORD dwOutputNum, /* [in] */ LPCWSTR pszName, /* [out] */ WMT_ATTR_DATATYPE *pType, /* [size_is][out] */ BYTE *pValue, /* [out][in] */ WORD *pcbLength); HRESULT ( STDMETHODCALLTYPE *SetOutputSetting )( IWMSyncReader2 * This, /* [in] */ DWORD dwOutputNum, /* [in] */ LPCWSTR pszName, /* [in] */ WMT_ATTR_DATATYPE Type, /* [size_is][in] */ const BYTE *pValue, /* [in] */ WORD cbLength); HRESULT ( STDMETHODCALLTYPE *GetOutputCount )( IWMSyncReader2 * This, /* [out] */ DWORD *pcOutputs); HRESULT ( STDMETHODCALLTYPE *GetOutputProps )( IWMSyncReader2 * This, /* [in] */ DWORD dwOutputNum, /* [out] */ IWMOutputMediaProps **ppOutput); HRESULT ( STDMETHODCALLTYPE *SetOutputProps )( IWMSyncReader2 * This, /* [in] */ DWORD dwOutputNum, /* [in] */ IWMOutputMediaProps *pOutput); HRESULT ( STDMETHODCALLTYPE *GetOutputFormatCount )( IWMSyncReader2 * This, /* [in] */ DWORD dwOutputNum, /* [out] */ DWORD *pcFormats); HRESULT ( STDMETHODCALLTYPE *GetOutputFormat )( IWMSyncReader2 * This, /* [in] */ DWORD dwOutputNum, /* [in] */ DWORD dwFormatNum, /* [out] */ IWMOutputMediaProps **ppProps); HRESULT ( STDMETHODCALLTYPE *GetOutputNumberForStream )( IWMSyncReader2 * This, /* [in] */ WORD wStreamNum, /* [out] */ DWORD *pdwOutputNum); HRESULT ( STDMETHODCALLTYPE *GetStreamNumberForOutput )( IWMSyncReader2 * This, /* [in] */ DWORD dwOutputNum, /* [out] */ WORD *pwStreamNum); HRESULT ( STDMETHODCALLTYPE *GetMaxOutputSampleSize )( IWMSyncReader2 * This, /* [in] */ DWORD dwOutput, /* [out] */ DWORD *pcbMax); HRESULT ( STDMETHODCALLTYPE *GetMaxStreamSampleSize )( IWMSyncReader2 * This, /* [in] */ WORD wStream, /* [out] */ DWORD *pcbMax); HRESULT ( STDMETHODCALLTYPE *OpenStream )( IWMSyncReader2 * This, /* [in] */ IStream *pStream); HRESULT ( STDMETHODCALLTYPE *SetRangeByTimecode )( IWMSyncReader2 * This, /* [in] */ WORD wStreamNum, /* [in] */ WMT_TIMECODE_EXTENSION_DATA *pStart, /* [in] */ WMT_TIMECODE_EXTENSION_DATA *pEnd); HRESULT ( STDMETHODCALLTYPE *SetRangeByFrameEx )( IWMSyncReader2 * This, /* [in] */ WORD wStreamNum, /* [in] */ QWORD qwFrameNumber, /* [in] */ LONGLONG cFramesToRead, /* [out] */ QWORD *pcnsStartTime); HRESULT ( STDMETHODCALLTYPE *SetAllocateForOutput )( IWMSyncReader2 * This, /* [in] */ DWORD dwOutputNum, /* [in] */ IWMReaderAllocatorEx *pAllocator); HRESULT ( STDMETHODCALLTYPE *GetAllocateForOutput )( IWMSyncReader2 * This, /* [in] */ DWORD dwOutputNum, /* [out] */ IWMReaderAllocatorEx **ppAllocator); HRESULT ( STDMETHODCALLTYPE *SetAllocateForStream )( IWMSyncReader2 * This, /* [in] */ WORD wStreamNum, /* [in] */ IWMReaderAllocatorEx *pAllocator); HRESULT ( STDMETHODCALLTYPE *GetAllocateForStream )( IWMSyncReader2 * This, /* [in] */ WORD dwSreamNum, /* [out] */ IWMReaderAllocatorEx **ppAllocator); END_INTERFACE } IWMSyncReader2Vtbl; interface IWMSyncReader2 { CONST_VTBL struct IWMSyncReader2Vtbl *lpVtbl; }; #ifdef COBJMACROS #define IWMSyncReader2_QueryInterface(This,riid,ppvObject) \ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) #define IWMSyncReader2_AddRef(This) \ ( (This)->lpVtbl -> AddRef(This) ) #define IWMSyncReader2_Release(This) \ ( (This)->lpVtbl -> Release(This) ) #define IWMSyncReader2_Open(This,pwszFilename) \ ( (This)->lpVtbl -> Open(This,pwszFilename) ) #define IWMSyncReader2_Close(This) \ ( (This)->lpVtbl -> Close(This) ) #define IWMSyncReader2_SetRange(This,cnsStartTime,cnsDuration) \ ( (This)->lpVtbl -> SetRange(This,cnsStartTime,cnsDuration) ) #define IWMSyncReader2_SetRangeByFrame(This,wStreamNum,qwFrameNumber,cFramesToRead) \ ( (This)->lpVtbl -> SetRangeByFrame(This,wStreamNum,qwFrameNumber,cFramesToRead) ) #define IWMSyncReader2_GetNextSample(This,wStreamNum,ppSample,pcnsSampleTime,pcnsDuration,pdwFlags,pdwOutputNum,pwStreamNum) \ ( (This)->lpVtbl -> GetNextSample(This,wStreamNum,ppSample,pcnsSampleTime,pcnsDuration,pdwFlags,pdwOutputNum,pwStreamNum) ) #define IWMSyncReader2_SetStreamsSelected(This,cStreamCount,pwStreamNumbers,pSelections) \ ( (This)->lpVtbl -> SetStreamsSelected(This,cStreamCount,pwStreamNumbers,pSelections) ) #define IWMSyncReader2_GetStreamSelected(This,wStreamNum,pSelection) \ ( (This)->lpVtbl -> GetStreamSelected(This,wStreamNum,pSelection) ) #define IWMSyncReader2_SetReadStreamSamples(This,wStreamNum,fCompressed) \ ( (This)->lpVtbl -> SetReadStreamSamples(This,wStreamNum,fCompressed) ) #define IWMSyncReader2_GetReadStreamSamples(This,wStreamNum,pfCompressed) \ ( (This)->lpVtbl -> GetReadStreamSamples(This,wStreamNum,pfCompressed) ) #define IWMSyncReader2_GetOutputSetting(This,dwOutputNum,pszName,pType,pValue,pcbLength) \ ( (This)->lpVtbl -> GetOutputSetting(This,dwOutputNum,pszName,pType,pValue,pcbLength) ) #define IWMSyncReader2_SetOutputSetting(This,dwOutputNum,pszName,Type,pValue,cbLength) \ ( (This)->lpVtbl -> SetOutputSetting(This,dwOutputNum,pszName,Type,pValue,cbLength) ) #define IWMSyncReader2_GetOutputCount(This,pcOutputs) \ ( (This)->lpVtbl -> GetOutputCount(This,pcOutputs) ) #define IWMSyncReader2_GetOutputProps(This,dwOutputNum,ppOutput) \ ( (This)->lpVtbl -> GetOutputProps(This,dwOutputNum,ppOutput) ) #define IWMSyncReader2_SetOutputProps(This,dwOutputNum,pOutput) \ ( (This)->lpVtbl -> SetOutputProps(This,dwOutputNum,pOutput) ) #define IWMSyncReader2_GetOutputFormatCount(This,dwOutputNum,pcFormats) \ ( (This)->lpVtbl -> GetOutputFormatCount(This,dwOutputNum,pcFormats) ) #define IWMSyncReader2_GetOutputFormat(This,dwOutputNum,dwFormatNum,ppProps) \ ( (This)->lpVtbl -> GetOutputFormat(This,dwOutputNum,dwFormatNum,ppProps) ) #define IWMSyncReader2_GetOutputNumberForStream(This,wStreamNum,pdwOutputNum) \ ( (This)->lpVtbl -> GetOutputNumberForStream(This,wStreamNum,pdwOutputNum) ) #define IWMSyncReader2_GetStreamNumberForOutput(This,dwOutputNum,pwStreamNum) \ ( (This)->lpVtbl -> GetStreamNumberForOutput(This,dwOutputNum,pwStreamNum) ) #define IWMSyncReader2_GetMaxOutputSampleSize(This,dwOutput,pcbMax) \ ( (This)->lpVtbl -> GetMaxOutputSampleSize(This,dwOutput,pcbMax) ) #define IWMSyncReader2_GetMaxStreamSampleSize(This,wStream,pcbMax) \ ( (This)->lpVtbl -> GetMaxStreamSampleSize(This,wStream,pcbMax) ) #define IWMSyncReader2_OpenStream(This,pStream) \ ( (This)->lpVtbl -> OpenStream(This,pStream) ) #define IWMSyncReader2_SetRangeByTimecode(This,wStreamNum,pStart,pEnd) \ ( (This)->lpVtbl -> SetRangeByTimecode(This,wStreamNum,pStart,pEnd) ) #define IWMSyncReader2_SetRangeByFrameEx(This,wStreamNum,qwFrameNumber,cFramesToRead,pcnsStartTime) \ ( (This)->lpVtbl -> SetRangeByFrameEx(This,wStreamNum,qwFrameNumber,cFramesToRead,pcnsStartTime) ) #define IWMSyncReader2_SetAllocateForOutput(This,dwOutputNum,pAllocator) \ ( (This)->lpVtbl -> SetAllocateForOutput(This,dwOutputNum,pAllocator) ) #define IWMSyncReader2_GetAllocateForOutput(This,dwOutputNum,ppAllocator) \ ( (This)->lpVtbl -> GetAllocateForOutput(This,dwOutputNum,ppAllocator) ) #define IWMSyncReader2_SetAllocateForStream(This,wStreamNum,pAllocator) \ ( (This)->lpVtbl -> SetAllocateForStream(This,wStreamNum,pAllocator) ) #define IWMSyncReader2_GetAllocateForStream(This,dwSreamNum,ppAllocator) \ ( (This)->lpVtbl -> GetAllocateForStream(This,dwSreamNum,ppAllocator) ) #endif /* COBJMACROS */ #endif /* C style interface */ #endif /* __IWMSyncReader2_INTERFACE_DEFINED__ */ #ifndef __IWMOutputMediaProps_INTERFACE_DEFINED__ #define __IWMOutputMediaProps_INTERFACE_DEFINED__ /* interface IWMOutputMediaProps */ /* [local][unique][helpstring][uuid][object] */ EXTERN_C const IID IID_IWMOutputMediaProps; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("96406BD7-2B2B-11d3-B36B-00C04F6108FF") IWMOutputMediaProps : public IWMMediaProps { public: virtual HRESULT STDMETHODCALLTYPE GetStreamGroupName( /* [size_is][out] */ WCHAR *pwszName, /* [out][in] */ WORD *pcchName) = 0; virtual HRESULT STDMETHODCALLTYPE GetConnectionName( /* [size_is][out] */ WCHAR *pwszName, /* [out][in] */ WORD *pcchName) = 0; }; #else /* C style interface */ typedef struct IWMOutputMediaPropsVtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IWMOutputMediaProps * This, /* [in] */ REFIID riid, /* [annotation][iid_is][out] */ __RPC__deref_out void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IWMOutputMediaProps * This); ULONG ( STDMETHODCALLTYPE *Release )( IWMOutputMediaProps * This); HRESULT ( STDMETHODCALLTYPE *GetType )( IWMOutputMediaProps * This, /* [out] */ GUID *pguidType); HRESULT ( STDMETHODCALLTYPE *GetMediaType )( IWMOutputMediaProps * This, /* [out] */ WM_MEDIA_TYPE *pType, /* [out][in] */ DWORD *pcbType); HRESULT ( STDMETHODCALLTYPE *SetMediaType )( IWMOutputMediaProps * This, /* [in] */ WM_MEDIA_TYPE *pType); HRESULT ( STDMETHODCALLTYPE *GetStreamGroupName )( IWMOutputMediaProps * This, /* [size_is][out] */ WCHAR *pwszName, /* [out][in] */ WORD *pcchName); HRESULT ( STDMETHODCALLTYPE *GetConnectionName )( IWMOutputMediaProps * This, /* [size_is][out] */ WCHAR *pwszName, /* [out][in] */ WORD *pcchName); END_INTERFACE } IWMOutputMediaPropsVtbl; interface IWMOutputMediaProps { CONST_VTBL struct IWMOutputMediaPropsVtbl *lpVtbl; }; #ifdef COBJMACROS #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) ) #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) ) #define IWMOutputMediaProps_GetStreamGroupName(This,pwszName,pcchName) \ ( (This)->lpVtbl -> GetStreamGroupName(This,pwszName,pcchName) ) #define IWMOutputMediaProps_GetConnectionName(This,pwszName,pcchName) \ ( (This)->lpVtbl -> GetConnectionName(This,pwszName,pcchName) ) #endif /* COBJMACROS */ #endif /* C style interface */ #endif /* __IWMOutputMediaProps_INTERFACE_DEFINED__ */ #ifndef __IWMStatusCallback_INTERFACE_DEFINED__ #define __IWMStatusCallback_INTERFACE_DEFINED__ /* interface IWMStatusCallback */ /* [local][unique][helpstring][uuid][object] */ EXTERN_C const IID IID_IWMStatusCallback; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("6d7cdc70-9888-11d3-8edc-00c04f6109cf") IWMStatusCallback : public IUnknown { public: virtual HRESULT STDMETHODCALLTYPE OnStatus( /* [in] */ WMT_STATUS Status, /* [in] */ HRESULT hr, /* [in] */ WMT_ATTR_DATATYPE dwType, /* [in] */ BYTE *pValue, /* [in] */ void *pvContext) = 0; }; #else /* C style interface */ typedef struct IWMStatusCallbackVtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IWMStatusCallback * This, /* [in] */ REFIID riid, /* [annotation][iid_is][out] */ __RPC__deref_out void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IWMStatusCallback * This); ULONG ( STDMETHODCALLTYPE *Release )( IWMStatusCallback * This); HRESULT ( STDMETHODCALLTYPE *OnStatus )( IWMStatusCallback * This, /* [in] */ WMT_STATUS Status, /* [in] */ HRESULT hr, /* [in] */ WMT_ATTR_DATATYPE dwType, /* [in] */ BYTE *pValue, /* [in] */ void *pvContext); END_INTERFACE } IWMStatusCallbackVtbl; interface IWMStatusCallback { CONST_VTBL struct IWMStatusCallbackVtbl *lpVtbl; }; #ifdef COBJMACROS #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) ) #define IWMStatusCallback_OnStatus(This,Status,hr,dwType,pValue,pvContext) \ ( (This)->lpVtbl -> OnStatus(This,Status,hr,dwType,pValue,pvContext) ) #endif /* COBJMACROS */ #endif /* C style interface */ #endif /* __IWMStatusCallback_INTERFACE_DEFINED__ */ #ifndef __IWMReaderCallback_INTERFACE_DEFINED__ #define __IWMReaderCallback_INTERFACE_DEFINED__ /* interface IWMReaderCallback */ /* [local][unique][helpstring][uuid][object] */ EXTERN_C const IID IID_IWMReaderCallback; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("96406BD8-2B2B-11d3-B36B-00C04F6108FF") IWMReaderCallback : public IWMStatusCallback { public: virtual HRESULT STDMETHODCALLTYPE OnSample( /* [in] */ DWORD dwOutputNum, /* [in] */ QWORD cnsSampleTime, /* [in] */ QWORD cnsSampleDuration, /* [in] */ DWORD dwFlags, /* [in] */ INSSBuffer *pSample, /* [in] */ void *pvContext) = 0; }; #else /* C style interface */ typedef struct IWMReaderCallbackVtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IWMReaderCallback * This, /* [in] */ REFIID riid, /* [annotation][iid_is][out] */ __RPC__deref_out void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IWMReaderCallback * This); ULONG ( STDMETHODCALLTYPE *Release )( IWMReaderCallback * This); HRESULT ( STDMETHODCALLTYPE *OnStatus )( IWMReaderCallback * This, /* [in] */ WMT_STATUS Status, /* [in] */ HRESULT hr, /* [in] */ WMT_ATTR_DATATYPE dwType, /* [in] */ BYTE *pValue, /* [in] */ void *pvContext); HRESULT ( STDMETHODCALLTYPE *OnSample )( IWMReaderCallback * This, /* [in] */ DWORD dwOutputNum, /* [in] */ QWORD cnsSampleTime, /* [in] */ QWORD cnsSampleDuration, /* [in] */ DWORD dwFlags, /* [in] */ INSSBuffer *pSample, /* [in] */ void *pvContext); END_INTERFACE } IWMReaderCallbackVtbl; interface IWMReaderCallback { CONST_VTBL struct IWMReaderCallbackVtbl *lpVtbl; }; #ifdef COBJMACROS #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) ) #define IWMReaderCallback_OnStatus(This,Status,hr,dwType,pValue,pvContext) \ ( (This)->lpVtbl -> OnStatus(This,Status,hr,dwType,pValue,pvContext) ) #define IWMReaderCallback_OnSample(This,dwOutputNum,cnsSampleTime,cnsSampleDuration,dwFlags,pSample,pvContext) \ ( (This)->lpVtbl -> OnSample(This,dwOutputNum,cnsSampleTime,cnsSampleDuration,dwFlags,pSample,pvContext) ) #endif /* COBJMACROS */ #endif /* C style interface */ #endif /* __IWMReaderCallback_INTERFACE_DEFINED__ */ #ifndef __IWMCredentialCallback_INTERFACE_DEFINED__ #define __IWMCredentialCallback_INTERFACE_DEFINED__ /* interface IWMCredentialCallback */ /* [local][unique][helpstring][uuid][object] */ EXTERN_C const IID IID_IWMCredentialCallback; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("342e0eb7-e651-450c-975b-2ace2c90c48e") IWMCredentialCallback : public IUnknown { public: virtual HRESULT STDMETHODCALLTYPE AcquireCredentials( /* [in] */ WCHAR *pwszRealm, /* [in] */ WCHAR *pwszSite, /* [size_is][out] */ WCHAR *pwszUser, /* [in] */ DWORD cchUser, /* [size_is][out] */ WCHAR *pwszPassword, /* [in] */ DWORD cchPassword, /* [in] */ HRESULT hrStatus, /* [out] */ DWORD *pdwFlags) = 0; }; #else /* C style interface */ typedef struct IWMCredentialCallbackVtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IWMCredentialCallback * This, /* [in] */ REFIID riid, /* [annotation][iid_is][out] */ __RPC__deref_out void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IWMCredentialCallback * This); ULONG ( STDMETHODCALLTYPE *Release )( IWMCredentialCallback * This); HRESULT ( STDMETHODCALLTYPE *AcquireCredentials )( IWMCredentialCallback * This, /* [in] */ WCHAR *pwszRealm, /* [in] */ WCHAR *pwszSite, /* [size_is][out] */ WCHAR *pwszUser, /* [in] */ DWORD cchUser, /* [size_is][out] */ WCHAR *pwszPassword, /* [in] */ DWORD cchPassword, /* [in] */ HRESULT hrStatus, /* [out] */ DWORD *pdwFlags); END_INTERFACE } IWMCredentialCallbackVtbl; interface IWMCredentialCallback { CONST_VTBL struct IWMCredentialCallbackVtbl *lpVtbl; }; #ifdef COBJMACROS #define IWMCredentialCallback_QueryInterface(This,riid,ppvObject) \ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) #define IWMCredentialCallback_AddRef(This) \ ( (This)->lpVtbl -> AddRef(This) ) #define IWMCredentialCallback_Release(This) \ ( (This)->lpVtbl -> Release(This) ) #define IWMCredentialCallback_AcquireCredentials(This,pwszRealm,pwszSite,pwszUser,cchUser,pwszPassword,cchPassword,hrStatus,pdwFlags) \ ( (This)->lpVtbl -> AcquireCredentials(This,pwszRealm,pwszSite,pwszUser,cchUser,pwszPassword,cchPassword,hrStatus,pdwFlags) ) #endif /* COBJMACROS */ #endif /* C style interface */ #endif /* __IWMCredentialCallback_INTERFACE_DEFINED__ */ #ifndef __IWMMetadataEditor_INTERFACE_DEFINED__ #define __IWMMetadataEditor_INTERFACE_DEFINED__ /* interface IWMMetadataEditor */ /* [local][unique][helpstring][uuid][object] */ EXTERN_C const IID IID_IWMMetadataEditor; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("96406BD9-2B2B-11d3-B36B-00C04F6108FF") IWMMetadataEditor : public IUnknown { public: virtual HRESULT STDMETHODCALLTYPE Open( /* [in] */ const WCHAR *pwszFilename) = 0; virtual HRESULT STDMETHODCALLTYPE Close( void) = 0; virtual HRESULT STDMETHODCALLTYPE Flush( void) = 0; }; #else /* C style interface */ typedef struct IWMMetadataEditorVtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IWMMetadataEditor * This, /* [in] */ REFIID riid, /* [annotation][iid_is][out] */ __RPC__deref_out void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IWMMetadataEditor * This); ULONG ( STDMETHODCALLTYPE *Release )( IWMMetadataEditor * This); HRESULT ( STDMETHODCALLTYPE *Open )( IWMMetadataEditor * This, /* [in] */ const WCHAR *pwszFilename); HRESULT ( STDMETHODCALLTYPE *Close )( IWMMetadataEditor * This); HRESULT ( STDMETHODCALLTYPE *Flush )( IWMMetadataEditor * This); END_INTERFACE } IWMMetadataEditorVtbl; interface IWMMetadataEditor { CONST_VTBL struct IWMMetadataEditorVtbl *lpVtbl; }; #ifdef COBJMACROS #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) ) #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) ) #endif /* COBJMACROS */ #endif /* C style interface */ #endif /* __IWMMetadataEditor_INTERFACE_DEFINED__ */ #ifndef __IWMMetadataEditor2_INTERFACE_DEFINED__ #define __IWMMetadataEditor2_INTERFACE_DEFINED__ /* interface IWMMetadataEditor2 */ /* [local][unique][helpstring][uuid][object] */ EXTERN_C const IID IID_IWMMetadataEditor2; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("203CFFE3-2E18-4fdf-B59D-6E71530534CF") IWMMetadataEditor2 : public IWMMetadataEditor { public: virtual HRESULT STDMETHODCALLTYPE OpenEx( /* [in] */ const WCHAR *pwszFilename, /* [in] */ DWORD dwDesiredAccess, /* [in] */ DWORD dwShareMode) = 0; }; #else /* C style interface */ typedef struct IWMMetadataEditor2Vtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IWMMetadataEditor2 * This, /* [in] */ REFIID riid, /* [annotation][iid_is][out] */ __RPC__deref_out void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IWMMetadataEditor2 * This); ULONG ( STDMETHODCALLTYPE *Release )( IWMMetadataEditor2 * This); HRESULT ( STDMETHODCALLTYPE *Open )( IWMMetadataEditor2 * This, /* [in] */ const WCHAR *pwszFilename); HRESULT ( STDMETHODCALLTYPE *Close )( IWMMetadataEditor2 * This); HRESULT ( STDMETHODCALLTYPE *Flush )( IWMMetadataEditor2 * This); HRESULT ( STDMETHODCALLTYPE *OpenEx )( IWMMetadataEditor2 * This, /* [in] */ const WCHAR *pwszFilename, /* [in] */ DWORD dwDesiredAccess, /* [in] */ DWORD dwShareMode); END_INTERFACE } IWMMetadataEditor2Vtbl; interface IWMMetadataEditor2 { CONST_VTBL struct IWMMetadataEditor2Vtbl *lpVtbl; }; #ifdef COBJMACROS #define IWMMetadataEditor2_QueryInterface(This,riid,ppvObject) \ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) #define IWMMetadataEditor2_AddRef(This) \ ( (This)->lpVtbl -> AddRef(This) ) #define IWMMetadataEditor2_Release(This) \ ( (This)->lpVtbl -> Release(This) ) #define IWMMetadataEditor2_Open(This,pwszFilename) \ ( (This)->lpVtbl -> Open(This,pwszFilename) ) #define IWMMetadataEditor2_Close(This) \ ( (This)->lpVtbl -> Close(This) ) #define IWMMetadataEditor2_Flush(This) \ ( (This)->lpVtbl -> Flush(This) ) #define IWMMetadataEditor2_OpenEx(This,pwszFilename,dwDesiredAccess,dwShareMode) \ ( (This)->lpVtbl -> OpenEx(This,pwszFilename,dwDesiredAccess,dwShareMode) ) #endif /* COBJMACROS */ #endif /* C style interface */ #endif /* __IWMMetadataEditor2_INTERFACE_DEFINED__ */ #ifndef __IWMDRMEditor_INTERFACE_DEFINED__ #define __IWMDRMEditor_INTERFACE_DEFINED__ /* interface IWMDRMEditor */ /* [local][unique][helpstring][uuid][object] */ EXTERN_C const IID IID_IWMDRMEditor; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("FF130EBC-A6C3-42A6-B401-C3382C3E08B3") IWMDRMEditor : public IUnknown { public: virtual HRESULT STDMETHODCALLTYPE GetDRMProperty( /* [in] */ LPCWSTR pwstrName, /* [out] */ WMT_ATTR_DATATYPE *pdwType, /* [size_is][out] */ BYTE *pValue, /* [out][in] */ WORD *pcbLength) = 0; }; #else /* C style interface */ typedef struct IWMDRMEditorVtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IWMDRMEditor * This, /* [in] */ REFIID riid, /* [annotation][iid_is][out] */ __RPC__deref_out void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IWMDRMEditor * This); ULONG ( STDMETHODCALLTYPE *Release )( IWMDRMEditor * This); HRESULT ( STDMETHODCALLTYPE *GetDRMProperty )( IWMDRMEditor * This, /* [in] */ LPCWSTR pwstrName, /* [out] */ WMT_ATTR_DATATYPE *pdwType, /* [size_is][out] */ BYTE *pValue, /* [out][in] */ WORD *pcbLength); END_INTERFACE } IWMDRMEditorVtbl; interface IWMDRMEditor { CONST_VTBL struct IWMDRMEditorVtbl *lpVtbl; }; #ifdef COBJMACROS #define IWMDRMEditor_QueryInterface(This,riid,ppvObject) \ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) #define IWMDRMEditor_AddRef(This) \ ( (This)->lpVtbl -> AddRef(This) ) #define IWMDRMEditor_Release(This) \ ( (This)->lpVtbl -> Release(This) ) #define IWMDRMEditor_GetDRMProperty(This,pwstrName,pdwType,pValue,pcbLength) \ ( (This)->lpVtbl -> GetDRMProperty(This,pwstrName,pdwType,pValue,pcbLength) ) #endif /* COBJMACROS */ #endif /* C style interface */ #endif /* __IWMDRMEditor_INTERFACE_DEFINED__ */ #ifndef __IWMHeaderInfo_INTERFACE_DEFINED__ #define __IWMHeaderInfo_INTERFACE_DEFINED__ /* interface IWMHeaderInfo */ /* [local][unique][helpstring][uuid][object] */ EXTERN_C const IID IID_IWMHeaderInfo; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("96406BDA-2B2B-11d3-B36B-00C04F6108FF") IWMHeaderInfo : public IUnknown { public: virtual HRESULT STDMETHODCALLTYPE GetAttributeCount( /* [in] */ WORD wStreamNum, /* [out] */ WORD *pcAttributes) = 0; virtual HRESULT STDMETHODCALLTYPE GetAttributeByIndex( /* [in] */ WORD wIndex, /* [out][in] */ WORD *pwStreamNum, /* [size_is][out] */ WCHAR *pwszName, /* [out][in] */ WORD *pcchNameLen, /* [out] */ WMT_ATTR_DATATYPE *pType, /* [size_is][out] */ BYTE *pValue, /* [out][in] */ WORD *pcbLength) = 0; virtual HRESULT STDMETHODCALLTYPE GetAttributeByName( /* [out][in] */ WORD *pwStreamNum, /* [in] */ LPCWSTR pszName, /* [out] */ WMT_ATTR_DATATYPE *pType, /* [size_is][out] */ BYTE *pValue, /* [out][in] */ WORD *pcbLength) = 0; virtual HRESULT STDMETHODCALLTYPE SetAttribute( /* [in] */ WORD wStreamNum, /* [in] */ LPCWSTR pszName, /* [in] */ WMT_ATTR_DATATYPE Type, /* [size_is][in] */ const BYTE *pValue, /* [in] */ WORD cbLength) = 0; virtual HRESULT STDMETHODCALLTYPE GetMarkerCount( /* [out] */ WORD *pcMarkers) = 0; virtual HRESULT STDMETHODCALLTYPE GetMarker( /* [in] */ WORD wIndex, /* [size_is][out] */ WCHAR *pwszMarkerName, /* [out][in] */ WORD *pcchMarkerNameLen, /* [out] */ QWORD *pcnsMarkerTime) = 0; virtual HRESULT STDMETHODCALLTYPE AddMarker( /* [in] */ LPCWSTR_WMSDK_TYPE_SAFE pwszMarkerName, /* [in] */ QWORD cnsMarkerTime) = 0; virtual HRESULT STDMETHODCALLTYPE RemoveMarker( /* [in] */ WORD wIndex) = 0; virtual HRESULT STDMETHODCALLTYPE GetScriptCount( /* [out] */ WORD *pcScripts) = 0; virtual HRESULT STDMETHODCALLTYPE GetScript( /* [in] */ WORD wIndex, /* [size_is][out] */ WCHAR *pwszType, /* [out][in] */ WORD *pcchTypeLen, /* [size_is][out] */ WCHAR *pwszCommand, /* [out][in] */ WORD *pcchCommandLen, /* [out] */ QWORD *pcnsScriptTime) = 0; virtual HRESULT STDMETHODCALLTYPE AddScript( /* [in] */ LPCWSTR_WMSDK_TYPE_SAFE pwszType, /* [in] */ LPCWSTR_WMSDK_TYPE_SAFE pwszCommand, /* [in] */ QWORD cnsScriptTime) = 0; virtual HRESULT STDMETHODCALLTYPE RemoveScript( /* [in] */ WORD wIndex) = 0; }; #else /* C style interface */ typedef struct IWMHeaderInfoVtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IWMHeaderInfo * This, /* [in] */ REFIID riid, /* [annotation][iid_is][out] */ __RPC__deref_out void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IWMHeaderInfo * This); ULONG ( STDMETHODCALLTYPE *Release )( IWMHeaderInfo * This); HRESULT ( STDMETHODCALLTYPE *GetAttributeCount )( IWMHeaderInfo * This, /* [in] */ WORD wStreamNum, /* [out] */ WORD *pcAttributes); HRESULT ( STDMETHODCALLTYPE *GetAttributeByIndex )( IWMHeaderInfo * This, /* [in] */ WORD wIndex, /* [out][in] */ WORD *pwStreamNum, /* [size_is][out] */ WCHAR *pwszName, /* [out][in] */ WORD *pcchNameLen, /* [out] */ WMT_ATTR_DATATYPE *pType, /* [size_is][out] */ BYTE *pValue, /* [out][in] */ WORD *pcbLength); HRESULT ( STDMETHODCALLTYPE *GetAttributeByName )( IWMHeaderInfo * This, /* [out][in] */ WORD *pwStreamNum, /* [in] */ LPCWSTR pszName, /* [out] */ WMT_ATTR_DATATYPE *pType, /* [size_is][out] */ BYTE *pValue, /* [out][in] */ WORD *pcbLength); HRESULT ( STDMETHODCALLTYPE *SetAttribute )( IWMHeaderInfo * This, /* [in] */ WORD wStreamNum, /* [in] */ LPCWSTR pszName, /* [in] */ WMT_ATTR_DATATYPE Type, /* [size_is][in] */ const BYTE *pValue, /* [in] */ WORD cbLength); HRESULT ( STDMETHODCALLTYPE *GetMarkerCount )( IWMHeaderInfo * This, /* [out] */ WORD *pcMarkers); HRESULT ( STDMETHODCALLTYPE *GetMarker )( IWMHeaderInfo * This, /* [in] */ WORD wIndex, /* [size_is][out] */ WCHAR *pwszMarkerName, /* [out][in] */ WORD *pcchMarkerNameLen, /* [out] */ QWORD *pcnsMarkerTime); HRESULT ( STDMETHODCALLTYPE *AddMarker )( IWMHeaderInfo * This, /* [in] */ LPCWSTR_WMSDK_TYPE_SAFE pwszMarkerName, /* [in] */ QWORD cnsMarkerTime); HRESULT ( STDMETHODCALLTYPE *RemoveMarker )( IWMHeaderInfo * This, /* [in] */ WORD wIndex); HRESULT ( STDMETHODCALLTYPE *GetScriptCount )( IWMHeaderInfo * This, /* [out] */ WORD *pcScripts); HRESULT ( STDMETHODCALLTYPE *GetScript )( IWMHeaderInfo * This, /* [in] */ WORD wIndex, /* [size_is][out] */ WCHAR *pwszType, /* [out][in] */ WORD *pcchTypeLen, /* [size_is][out] */ WCHAR *pwszCommand, /* [out][in] */ WORD *pcchCommandLen, /* [out] */ QWORD *pcnsScriptTime); HRESULT ( STDMETHODCALLTYPE *AddScript )( IWMHeaderInfo * This, /* [in] */ LPCWSTR_WMSDK_TYPE_SAFE pwszType, /* [in] */ LPCWSTR_WMSDK_TYPE_SAFE pwszCommand, /* [in] */ QWORD cnsScriptTime); HRESULT ( STDMETHODCALLTYPE *RemoveScript )( IWMHeaderInfo * This, /* [in] */ WORD wIndex); END_INTERFACE } IWMHeaderInfoVtbl; interface IWMHeaderInfo { CONST_VTBL struct IWMHeaderInfoVtbl *lpVtbl; }; #ifdef COBJMACROS #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) ) #define IWMHeaderInfo_GetAttributeCount(This,wStreamNum,pcAttributes) \ ( (This)->lpVtbl -> GetAttributeCount(This,wStreamNum,pcAttributes) ) #define IWMHeaderInfo_GetAttributeByIndex(This,wIndex,pwStreamNum,pwszName,pcchNameLen,pType,pValue,pcbLength) \ ( (This)->lpVtbl -> GetAttributeByIndex(This,wIndex,pwStreamNum,pwszName,pcchNameLen,pType,pValue,pcbLength) ) #define IWMHeaderInfo_GetAttributeByName(This,pwStreamNum,pszName,pType,pValue,pcbLength) \ ( (This)->lpVtbl -> GetAttributeByName(This,pwStreamNum,pszName,pType,pValue,pcbLength) ) #define IWMHeaderInfo_SetAttribute(This,wStreamNum,pszName,Type,pValue,cbLength) \ ( (This)->lpVtbl -> SetAttribute(This,wStreamNum,pszName,Type,pValue,cbLength) ) #define IWMHeaderInfo_GetMarkerCount(This,pcMarkers) \ ( (This)->lpVtbl -> GetMarkerCount(This,pcMarkers) ) #define IWMHeaderInfo_GetMarker(This,wIndex,pwszMarkerName,pcchMarkerNameLen,pcnsMarkerTime) \ ( (This)->lpVtbl -> GetMarker(This,wIndex,pwszMarkerName,pcchMarkerNameLen,pcnsMarkerTime) ) #define IWMHeaderInfo_AddMarker(This,pwszMarkerName,cnsMarkerTime) \ ( (This)->lpVtbl -> AddMarker(This,pwszMarkerName,cnsMarkerTime) ) #define IWMHeaderInfo_RemoveMarker(This,wIndex) \ ( (This)->lpVtbl -> RemoveMarker(This,wIndex) ) #define IWMHeaderInfo_GetScriptCount(This,pcScripts) \ ( (This)->lpVtbl -> GetScriptCount(This,pcScripts) ) #define IWMHeaderInfo_GetScript(This,wIndex,pwszType,pcchTypeLen,pwszCommand,pcchCommandLen,pcnsScriptTime) \ ( (This)->lpVtbl -> GetScript(This,wIndex,pwszType,pcchTypeLen,pwszCommand,pcchCommandLen,pcnsScriptTime) ) #define IWMHeaderInfo_AddScript(This,pwszType,pwszCommand,cnsScriptTime) \ ( (This)->lpVtbl -> AddScript(This,pwszType,pwszCommand,cnsScriptTime) ) #define IWMHeaderInfo_RemoveScript(This,wIndex) \ ( (This)->lpVtbl -> RemoveScript(This,wIndex) ) #endif /* COBJMACROS */ #endif /* C style interface */ #endif /* __IWMHeaderInfo_INTERFACE_DEFINED__ */ #ifndef __IWMHeaderInfo2_INTERFACE_DEFINED__ #define __IWMHeaderInfo2_INTERFACE_DEFINED__ /* interface IWMHeaderInfo2 */ /* [local][unique][helpstring][uuid][object] */ EXTERN_C const IID IID_IWMHeaderInfo2; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("15CF9781-454E-482e-B393-85FAE487A810") IWMHeaderInfo2 : public IWMHeaderInfo { public: virtual HRESULT STDMETHODCALLTYPE GetCodecInfoCount( /* [out] */ DWORD *pcCodecInfos) = 0; virtual HRESULT STDMETHODCALLTYPE GetCodecInfo( /* [in] */ DWORD wIndex, /* [out][in] */ WORD *pcchName, /* [size_is][out] */ WCHAR *pwszName, /* [out][in] */ WORD *pcchDescription, /* [size_is][out] */ WCHAR *pwszDescription, /* [out] */ WMT_CODEC_INFO_TYPE *pCodecType, /* [out][in] */ WORD *pcbCodecInfo, /* [size_is][out] */ BYTE *pbCodecInfo) = 0; }; #else /* C style interface */ typedef struct IWMHeaderInfo2Vtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IWMHeaderInfo2 * This, /* [in] */ REFIID riid, /* [annotation][iid_is][out] */ __RPC__deref_out void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IWMHeaderInfo2 * This); ULONG ( STDMETHODCALLTYPE *Release )( IWMHeaderInfo2 * This); HRESULT ( STDMETHODCALLTYPE *GetAttributeCount )( IWMHeaderInfo2 * This, /* [in] */ WORD wStreamNum, /* [out] */ WORD *pcAttributes); HRESULT ( STDMETHODCALLTYPE *GetAttributeByIndex )( IWMHeaderInfo2 * This, /* [in] */ WORD wIndex, /* [out][in] */ WORD *pwStreamNum, /* [size_is][out] */ WCHAR *pwszName, /* [out][in] */ WORD *pcchNameLen, /* [out] */ WMT_ATTR_DATATYPE *pType, /* [size_is][out] */ BYTE *pValue, /* [out][in] */ WORD *pcbLength); HRESULT ( STDMETHODCALLTYPE *GetAttributeByName )( IWMHeaderInfo2 * This, /* [out][in] */ WORD *pwStreamNum, /* [in] */ LPCWSTR pszName, /* [out] */ WMT_ATTR_DATATYPE *pType, /* [size_is][out] */ BYTE *pValue, /* [out][in] */ WORD *pcbLength); HRESULT ( STDMETHODCALLTYPE *SetAttribute )( IWMHeaderInfo2 * This, /* [in] */ WORD wStreamNum, /* [in] */ LPCWSTR pszName, /* [in] */ WMT_ATTR_DATATYPE Type, /* [size_is][in] */ const BYTE *pValue, /* [in] */ WORD cbLength); HRESULT ( STDMETHODCALLTYPE *GetMarkerCount )( IWMHeaderInfo2 * This, /* [out] */ WORD *pcMarkers); HRESULT ( STDMETHODCALLTYPE *GetMarker )( IWMHeaderInfo2 * This, /* [in] */ WORD wIndex, /* [size_is][out] */ WCHAR *pwszMarkerName, /* [out][in] */ WORD *pcchMarkerNameLen, /* [out] */ QWORD *pcnsMarkerTime); HRESULT ( STDMETHODCALLTYPE *AddMarker )( IWMHeaderInfo2 * This, /* [in] */ LPCWSTR_WMSDK_TYPE_SAFE pwszMarkerName, /* [in] */ QWORD cnsMarkerTime); HRESULT ( STDMETHODCALLTYPE *RemoveMarker )( IWMHeaderInfo2 * This, /* [in] */ WORD wIndex); HRESULT ( STDMETHODCALLTYPE *GetScriptCount )( IWMHeaderInfo2 * This, /* [out] */ WORD *pcScripts); HRESULT ( STDMETHODCALLTYPE *GetScript )( IWMHeaderInfo2 * This, /* [in] */ WORD wIndex, /* [size_is][out] */ WCHAR *pwszType, /* [out][in] */ WORD *pcchTypeLen, /* [size_is][out] */ WCHAR *pwszCommand, /* [out][in] */ WORD *pcchCommandLen, /* [out] */ QWORD *pcnsScriptTime); HRESULT ( STDMETHODCALLTYPE *AddScript )( IWMHeaderInfo2 * This, /* [in] */ LPCWSTR_WMSDK_TYPE_SAFE pwszType, /* [in] */ LPCWSTR_WMSDK_TYPE_SAFE pwszCommand, /* [in] */ QWORD cnsScriptTime); HRESULT ( STDMETHODCALLTYPE *RemoveScript )( IWMHeaderInfo2 * This, /* [in] */ WORD wIndex); HRESULT ( STDMETHODCALLTYPE *GetCodecInfoCount )( IWMHeaderInfo2 * This, /* [out] */ DWORD *pcCodecInfos); HRESULT ( STDMETHODCALLTYPE *GetCodecInfo )( IWMHeaderInfo2 * This, /* [in] */ DWORD wIndex, /* [out][in] */ WORD *pcchName, /* [size_is][out] */ WCHAR *pwszName, /* [out][in] */ WORD *pcchDescription, /* [size_is][out] */ WCHAR *pwszDescription, /* [out] */ WMT_CODEC_INFO_TYPE *pCodecType, /* [out][in] */ WORD *pcbCodecInfo, /* [size_is][out] */ BYTE *pbCodecInfo); END_INTERFACE } IWMHeaderInfo2Vtbl; interface IWMHeaderInfo2 { CONST_VTBL struct IWMHeaderInfo2Vtbl *lpVtbl; }; #ifdef COBJMACROS #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) ) #define IWMHeaderInfo2_GetAttributeCount(This,wStreamNum,pcAttributes) \ ( (This)->lpVtbl -> GetAttributeCount(This,wStreamNum,pcAttributes) ) #define IWMHeaderInfo2_GetAttributeByIndex(This,wIndex,pwStreamNum,pwszName,pcchNameLen,pType,pValue,pcbLength) \ ( (This)->lpVtbl -> GetAttributeByIndex(This,wIndex,pwStreamNum,pwszName,pcchNameLen,pType,pValue,pcbLength) ) #define IWMHeaderInfo2_GetAttributeByName(This,pwStreamNum,pszName,pType,pValue,pcbLength) \ ( (This)->lpVtbl -> GetAttributeByName(This,pwStreamNum,pszName,pType,pValue,pcbLength) ) #define IWMHeaderInfo2_SetAttribute(This,wStreamNum,pszName,Type,pValue,cbLength) \ ( (This)->lpVtbl -> SetAttribute(This,wStreamNum,pszName,Type,pValue,cbLength) ) #define IWMHeaderInfo2_GetMarkerCount(This,pcMarkers) \ ( (This)->lpVtbl -> GetMarkerCount(This,pcMarkers) ) #define IWMHeaderInfo2_GetMarker(This,wIndex,pwszMarkerName,pcchMarkerNameLen,pcnsMarkerTime) \ ( (This)->lpVtbl -> GetMarker(This,wIndex,pwszMarkerName,pcchMarkerNameLen,pcnsMarkerTime) ) #define IWMHeaderInfo2_AddMarker(This,pwszMarkerName,cnsMarkerTime) \ ( (This)->lpVtbl -> AddMarker(This,pwszMarkerName,cnsMarkerTime) ) #define IWMHeaderInfo2_RemoveMarker(This,wIndex) \ ( (This)->lpVtbl -> RemoveMarker(This,wIndex) ) #define IWMHeaderInfo2_GetScriptCount(This,pcScripts) \ ( (This)->lpVtbl -> GetScriptCount(This,pcScripts) ) #define IWMHeaderInfo2_GetScript(This,wIndex,pwszType,pcchTypeLen,pwszCommand,pcchCommandLen,pcnsScriptTime) \ ( (This)->lpVtbl -> GetScript(This,wIndex,pwszType,pcchTypeLen,pwszCommand,pcchCommandLen,pcnsScriptTime) ) #define IWMHeaderInfo2_AddScript(This,pwszType,pwszCommand,cnsScriptTime) \ ( (This)->lpVtbl -> AddScript(This,pwszType,pwszCommand,cnsScriptTime) ) #define IWMHeaderInfo2_RemoveScript(This,wIndex) \ ( (This)->lpVtbl -> RemoveScript(This,wIndex) ) #define IWMHeaderInfo2_GetCodecInfoCount(This,pcCodecInfos) \ ( (This)->lpVtbl -> GetCodecInfoCount(This,pcCodecInfos) ) #define IWMHeaderInfo2_GetCodecInfo(This,wIndex,pcchName,pwszName,pcchDescription,pwszDescription,pCodecType,pcbCodecInfo,pbCodecInfo) \ ( (This)->lpVtbl -> GetCodecInfo(This,wIndex,pcchName,pwszName,pcchDescription,pwszDescription,pCodecType,pcbCodecInfo,pbCodecInfo) ) #endif /* COBJMACROS */ #endif /* C style interface */ #endif /* __IWMHeaderInfo2_INTERFACE_DEFINED__ */ #ifndef __IWMHeaderInfo3_INTERFACE_DEFINED__ #define __IWMHeaderInfo3_INTERFACE_DEFINED__ /* interface IWMHeaderInfo3 */ /* [local][unique][helpstring][uuid][object] */ EXTERN_C const IID IID_IWMHeaderInfo3; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("15CC68E3-27CC-4ecd-B222-3F5D02D80BD5") IWMHeaderInfo3 : public IWMHeaderInfo2 { public: virtual HRESULT STDMETHODCALLTYPE GetAttributeCountEx( /* [in] */ WORD wStreamNum, /* [out] */ WORD *pcAttributes) = 0; virtual HRESULT STDMETHODCALLTYPE GetAttributeIndices( /* [in] */ WORD wStreamNum, /* [in] */ LPCWSTR pwszName, /* [in] */ WORD *pwLangIndex, /* [size_is][out] */ WORD *pwIndices, /* [out][in] */ WORD *pwCount) = 0; virtual HRESULT STDMETHODCALLTYPE GetAttributeByIndexEx( /* [in] */ WORD wStreamNum, /* [in] */ WORD wIndex, /* [size_is][out] */ LPWSTR pwszName, /* [out][in] */ WORD *pwNameLen, /* [out] */ WMT_ATTR_DATATYPE *pType, /* [out] */ WORD *pwLangIndex, /* [size_is][out] */ BYTE *pValue, /* [out][in] */ DWORD *pdwDataLength) = 0; virtual HRESULT STDMETHODCALLTYPE ModifyAttribute( /* [in] */ WORD wStreamNum, /* [in] */ WORD wIndex, /* [in] */ WMT_ATTR_DATATYPE Type, /* [in] */ WORD wLangIndex, /* [size_is][in] */ const BYTE *pValue, /* [in] */ DWORD dwLength) = 0; virtual HRESULT STDMETHODCALLTYPE AddAttribute( /* [in] */ WORD wStreamNum, /* [in] */ LPCWSTR pszName, /* [out] */ WORD *pwIndex, /* [in] */ WMT_ATTR_DATATYPE Type, /* [in] */ WORD wLangIndex, /* [size_is][in] */ const BYTE *pValue, /* [in] */ DWORD dwLength) = 0; virtual HRESULT STDMETHODCALLTYPE DeleteAttribute( /* [in] */ WORD wStreamNum, /* [in] */ WORD wIndex) = 0; virtual HRESULT STDMETHODCALLTYPE AddCodecInfo( /* [in] */ LPCWSTR_WMSDK_TYPE_SAFE pwszName, /* [in] */ LPCWSTR_WMSDK_TYPE_SAFE pwszDescription, /* [in] */ WMT_CODEC_INFO_TYPE codecType, /* [in] */ WORD cbCodecInfo, /* [size_is][in] */ BYTE *pbCodecInfo) = 0; }; #else /* C style interface */ typedef struct IWMHeaderInfo3Vtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IWMHeaderInfo3 * This, /* [in] */ REFIID riid, /* [annotation][iid_is][out] */ __RPC__deref_out void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IWMHeaderInfo3 * This); ULONG ( STDMETHODCALLTYPE *Release )( IWMHeaderInfo3 * This); HRESULT ( STDMETHODCALLTYPE *GetAttributeCount )( IWMHeaderInfo3 * This, /* [in] */ WORD wStreamNum, /* [out] */ WORD *pcAttributes); HRESULT ( STDMETHODCALLTYPE *GetAttributeByIndex )( IWMHeaderInfo3 * This, /* [in] */ WORD wIndex, /* [out][in] */ WORD *pwStreamNum, /* [size_is][out] */ WCHAR *pwszName, /* [out][in] */ WORD *pcchNameLen, /* [out] */ WMT_ATTR_DATATYPE *pType, /* [size_is][out] */ BYTE *pValue, /* [out][in] */ WORD *pcbLength); HRESULT ( STDMETHODCALLTYPE *GetAttributeByName )( IWMHeaderInfo3 * This, /* [out][in] */ WORD *pwStreamNum, /* [in] */ LPCWSTR pszName, /* [out] */ WMT_ATTR_DATATYPE *pType, /* [size_is][out] */ BYTE *pValue, /* [out][in] */ WORD *pcbLength); HRESULT ( STDMETHODCALLTYPE *SetAttribute )( IWMHeaderInfo3 * This, /* [in] */ WORD wStreamNum, /* [in] */ LPCWSTR pszName, /* [in] */ WMT_ATTR_DATATYPE Type, /* [size_is][in] */ const BYTE *pValue, /* [in] */ WORD cbLength); HRESULT ( STDMETHODCALLTYPE *GetMarkerCount )( IWMHeaderInfo3 * This, /* [out] */ WORD *pcMarkers); HRESULT ( STDMETHODCALLTYPE *GetMarker )( IWMHeaderInfo3 * This, /* [in] */ WORD wIndex, /* [size_is][out] */ WCHAR *pwszMarkerName, /* [out][in] */ WORD *pcchMarkerNameLen, /* [out] */ QWORD *pcnsMarkerTime); HRESULT ( STDMETHODCALLTYPE *AddMarker )( IWMHeaderInfo3 * This, /* [in] */ LPCWSTR_WMSDK_TYPE_SAFE pwszMarkerName, /* [in] */ QWORD cnsMarkerTime); HRESULT ( STDMETHODCALLTYPE *RemoveMarker )( IWMHeaderInfo3 * This, /* [in] */ WORD wIndex); HRESULT ( STDMETHODCALLTYPE *GetScriptCount )( IWMHeaderInfo3 * This, /* [out] */ WORD *pcScripts); HRESULT ( STDMETHODCALLTYPE *GetScript )( IWMHeaderInfo3 * This, /* [in] */ WORD wIndex, /* [size_is][out] */ WCHAR *pwszType, /* [out][in] */ WORD *pcchTypeLen, /* [size_is][out] */ WCHAR *pwszCommand, /* [out][in] */ WORD *pcchCommandLen, /* [out] */ QWORD *pcnsScriptTime); HRESULT ( STDMETHODCALLTYPE *AddScript )( IWMHeaderInfo3 * This, /* [in] */ LPCWSTR_WMSDK_TYPE_SAFE pwszType, /* [in] */ LPCWSTR_WMSDK_TYPE_SAFE pwszCommand, /* [in] */ QWORD cnsScriptTime); HRESULT ( STDMETHODCALLTYPE *RemoveScript )( IWMHeaderInfo3 * This, /* [in] */ WORD wIndex); HRESULT ( STDMETHODCALLTYPE *GetCodecInfoCount )( IWMHeaderInfo3 * This, /* [out] */ DWORD *pcCodecInfos); HRESULT ( STDMETHODCALLTYPE *GetCodecInfo )( IWMHeaderInfo3 * This, /* [in] */ DWORD wIndex, /* [out][in] */ WORD *pcchName, /* [size_is][out] */ WCHAR *pwszName, /* [out][in] */ WORD *pcchDescription, /* [size_is][out] */ WCHAR *pwszDescription, /* [out] */ WMT_CODEC_INFO_TYPE *pCodecType, /* [out][in] */ WORD *pcbCodecInfo, /* [size_is][out] */ BYTE *pbCodecInfo); HRESULT ( STDMETHODCALLTYPE *GetAttributeCountEx )( IWMHeaderInfo3 * This, /* [in] */ WORD wStreamNum, /* [out] */ WORD *pcAttributes); HRESULT ( STDMETHODCALLTYPE *GetAttributeIndices )( IWMHeaderInfo3 * This, /* [in] */ WORD wStreamNum, /* [in] */ LPCWSTR pwszName, /* [in] */ WORD *pwLangIndex, /* [size_is][out] */ WORD *pwIndices, /* [out][in] */ WORD *pwCount); HRESULT ( STDMETHODCALLTYPE *GetAttributeByIndexEx )( IWMHeaderInfo3 * This, /* [in] */ WORD wStreamNum, /* [in] */ WORD wIndex, /* [size_is][out] */ LPWSTR pwszName, /* [out][in] */ WORD *pwNameLen, /* [out] */ WMT_ATTR_DATATYPE *pType, /* [out] */ WORD *pwLangIndex, /* [size_is][out] */ BYTE *pValue, /* [out][in] */ DWORD *pdwDataLength); HRESULT ( STDMETHODCALLTYPE *ModifyAttribute )( IWMHeaderInfo3 * This, /* [in] */ WORD wStreamNum, /* [in] */ WORD wIndex, /* [in] */ WMT_ATTR_DATATYPE Type, /* [in] */ WORD wLangIndex, /* [size_is][in] */ const BYTE *pValue, /* [in] */ DWORD dwLength); HRESULT ( STDMETHODCALLTYPE *AddAttribute )( IWMHeaderInfo3 * This, /* [in] */ WORD wStreamNum, /* [in] */ LPCWSTR pszName, /* [out] */ WORD *pwIndex, /* [in] */ WMT_ATTR_DATATYPE Type, /* [in] */ WORD wLangIndex, /* [size_is][in] */ const BYTE *pValue, /* [in] */ DWORD dwLength); HRESULT ( STDMETHODCALLTYPE *DeleteAttribute )( IWMHeaderInfo3 * This, /* [in] */ WORD wStreamNum, /* [in] */ WORD wIndex); HRESULT ( STDMETHODCALLTYPE *AddCodecInfo )( IWMHeaderInfo3 * This, /* [in] */ LPCWSTR_WMSDK_TYPE_SAFE pwszName, /* [in] */ LPCWSTR_WMSDK_TYPE_SAFE pwszDescription, /* [in] */ WMT_CODEC_INFO_TYPE codecType, /* [in] */ WORD cbCodecInfo, /* [size_is][in] */ BYTE *pbCodecInfo); END_INTERFACE } IWMHeaderInfo3Vtbl; interface IWMHeaderInfo3 { CONST_VTBL struct IWMHeaderInfo3Vtbl *lpVtbl; }; #ifdef COBJMACROS #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) ) #define IWMHeaderInfo3_GetAttributeCount(This,wStreamNum,pcAttributes) \ ( (This)->lpVtbl -> GetAttributeCount(This,wStreamNum,pcAttributes) ) #define IWMHeaderInfo3_GetAttributeByIndex(This,wIndex,pwStreamNum,pwszName,pcchNameLen,pType,pValue,pcbLength) \ ( (This)->lpVtbl -> GetAttributeByIndex(This,wIndex,pwStreamNum,pwszName,pcchNameLen,pType,pValue,pcbLength) ) #define IWMHeaderInfo3_GetAttributeByName(This,pwStreamNum,pszName,pType,pValue,pcbLength) \ ( (This)->lpVtbl -> GetAttributeByName(This,pwStreamNum,pszName,pType,pValue,pcbLength) ) #define IWMHeaderInfo3_SetAttribute(This,wStreamNum,pszName,Type,pValue,cbLength) \ ( (This)->lpVtbl -> SetAttribute(This,wStreamNum,pszName,Type,pValue,cbLength) ) #define IWMHeaderInfo3_GetMarkerCount(This,pcMarkers) \ ( (This)->lpVtbl -> GetMarkerCount(This,pcMarkers) ) #define IWMHeaderInfo3_GetMarker(This,wIndex,pwszMarkerName,pcchMarkerNameLen,pcnsMarkerTime) \ ( (This)->lpVtbl -> GetMarker(This,wIndex,pwszMarkerName,pcchMarkerNameLen,pcnsMarkerTime) ) #define IWMHeaderInfo3_AddMarker(This,pwszMarkerName,cnsMarkerTime) \ ( (This)->lpVtbl -> AddMarker(This,pwszMarkerName,cnsMarkerTime) ) #define IWMHeaderInfo3_RemoveMarker(This,wIndex) \ ( (This)->lpVtbl -> RemoveMarker(This,wIndex) ) #define IWMHeaderInfo3_GetScriptCount(This,pcScripts) \ ( (This)->lpVtbl -> GetScriptCount(This,pcScripts) ) #define IWMHeaderInfo3_GetScript(This,wIndex,pwszType,pcchTypeLen,pwszCommand,pcchCommandLen,pcnsScriptTime) \ ( (This)->lpVtbl -> GetScript(This,wIndex,pwszType,pcchTypeLen,pwszCommand,pcchCommandLen,pcnsScriptTime) ) #define IWMHeaderInfo3_AddScript(This,pwszType,pwszCommand,cnsScriptTime) \ ( (This)->lpVtbl -> AddScript(This,pwszType,pwszCommand,cnsScriptTime) ) #define IWMHeaderInfo3_RemoveScript(This,wIndex) \ ( (This)->lpVtbl -> RemoveScript(This,wIndex) ) #define IWMHeaderInfo3_GetCodecInfoCount(This,pcCodecInfos) \ ( (This)->lpVtbl -> GetCodecInfoCount(This,pcCodecInfos) ) #define IWMHeaderInfo3_GetCodecInfo(This,wIndex,pcchName,pwszName,pcchDescription,pwszDescription,pCodecType,pcbCodecInfo,pbCodecInfo) \ ( (This)->lpVtbl -> GetCodecInfo(This,wIndex,pcchName,pwszName,pcchDescription,pwszDescription,pCodecType,pcbCodecInfo,pbCodecInfo) ) #define IWMHeaderInfo3_GetAttributeCountEx(This,wStreamNum,pcAttributes) \ ( (This)->lpVtbl -> GetAttributeCountEx(This,wStreamNum,pcAttributes) ) #define IWMHeaderInfo3_GetAttributeIndices(This,wStreamNum,pwszName,pwLangIndex,pwIndices,pwCount) \ ( (This)->lpVtbl -> GetAttributeIndices(This,wStreamNum,pwszName,pwLangIndex,pwIndices,pwCount) ) #define IWMHeaderInfo3_GetAttributeByIndexEx(This,wStreamNum,wIndex,pwszName,pwNameLen,pType,pwLangIndex,pValue,pdwDataLength) \ ( (This)->lpVtbl -> GetAttributeByIndexEx(This,wStreamNum,wIndex,pwszName,pwNameLen,pType,pwLangIndex,pValue,pdwDataLength) ) #define IWMHeaderInfo3_ModifyAttribute(This,wStreamNum,wIndex,Type,wLangIndex,pValue,dwLength) \ ( (This)->lpVtbl -> ModifyAttribute(This,wStreamNum,wIndex,Type,wLangIndex,pValue,dwLength) ) #define IWMHeaderInfo3_AddAttribute(This,wStreamNum,pszName,pwIndex,Type,wLangIndex,pValue,dwLength) \ ( (This)->lpVtbl -> AddAttribute(This,wStreamNum,pszName,pwIndex,Type,wLangIndex,pValue,dwLength) ) #define IWMHeaderInfo3_DeleteAttribute(This,wStreamNum,wIndex) \ ( (This)->lpVtbl -> DeleteAttribute(This,wStreamNum,wIndex) ) #define IWMHeaderInfo3_AddCodecInfo(This,pwszName,pwszDescription,codecType,cbCodecInfo,pbCodecInfo) \ ( (This)->lpVtbl -> AddCodecInfo(This,pwszName,pwszDescription,codecType,cbCodecInfo,pbCodecInfo) ) #endif /* COBJMACROS */ #endif /* C style interface */ #endif /* __IWMHeaderInfo3_INTERFACE_DEFINED__ */ #ifndef __IWMProfileManager_INTERFACE_DEFINED__ #define __IWMProfileManager_INTERFACE_DEFINED__ /* interface IWMProfileManager */ /* [local][unique][helpstring][uuid][object] */ EXTERN_C const IID IID_IWMProfileManager; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("d16679f2-6ca0-472d-8d31-2f5d55aee155") IWMProfileManager : public IUnknown { public: virtual HRESULT STDMETHODCALLTYPE CreateEmptyProfile( /* [in] */ WMT_VERSION dwVersion, /* [out] */ IWMProfile **ppProfile) = 0; virtual HRESULT STDMETHODCALLTYPE LoadProfileByID( /* [in] */ REFGUID guidProfile, /* [out] */ IWMProfile **ppProfile) = 0; virtual HRESULT STDMETHODCALLTYPE LoadProfileByData( /* [in] */ const WCHAR *pwszProfile, /* [out] */ IWMProfile **ppProfile) = 0; virtual HRESULT STDMETHODCALLTYPE SaveProfile( /* [in] */ IWMProfile *pIWMProfile, /* [in] */ WCHAR *pwszProfile, /* [out][in] */ DWORD *pdwLength) = 0; virtual HRESULT STDMETHODCALLTYPE GetSystemProfileCount( /* [out] */ DWORD *pcProfiles) = 0; virtual HRESULT STDMETHODCALLTYPE LoadSystemProfile( /* [in] */ DWORD dwProfileIndex, /* [out] */ IWMProfile **ppProfile) = 0; }; #else /* C style interface */ typedef struct IWMProfileManagerVtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IWMProfileManager * This, /* [in] */ REFIID riid, /* [annotation][iid_is][out] */ __RPC__deref_out void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IWMProfileManager * This); ULONG ( STDMETHODCALLTYPE *Release )( IWMProfileManager * This); HRESULT ( STDMETHODCALLTYPE *CreateEmptyProfile )( IWMProfileManager * This, /* [in] */ WMT_VERSION dwVersion, /* [out] */ IWMProfile **ppProfile); HRESULT ( STDMETHODCALLTYPE *LoadProfileByID )( IWMProfileManager * This, /* [in] */ REFGUID guidProfile, /* [out] */ IWMProfile **ppProfile); HRESULT ( STDMETHODCALLTYPE *LoadProfileByData )( IWMProfileManager * This, /* [in] */ const WCHAR *pwszProfile, /* [out] */ IWMProfile **ppProfile); HRESULT ( STDMETHODCALLTYPE *SaveProfile )( IWMProfileManager * This, /* [in] */ IWMProfile *pIWMProfile, /* [in] */ WCHAR *pwszProfile, /* [out][in] */ DWORD *pdwLength); HRESULT ( STDMETHODCALLTYPE *GetSystemProfileCount )( IWMProfileManager * This, /* [out] */ DWORD *pcProfiles); HRESULT ( STDMETHODCALLTYPE *LoadSystemProfile )( IWMProfileManager * This, /* [in] */ DWORD dwProfileIndex, /* [out] */ IWMProfile **ppProfile); END_INTERFACE } IWMProfileManagerVtbl; interface IWMProfileManager { CONST_VTBL struct IWMProfileManagerVtbl *lpVtbl; }; #ifdef COBJMACROS #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) ) #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) ) #endif /* COBJMACROS */ #endif /* C style interface */ #endif /* __IWMProfileManager_INTERFACE_DEFINED__ */ #ifndef __IWMProfileManager2_INTERFACE_DEFINED__ #define __IWMProfileManager2_INTERFACE_DEFINED__ /* interface IWMProfileManager2 */ /* [local][unique][helpstring][uuid][object] */ EXTERN_C const IID IID_IWMProfileManager2; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("7A924E51-73C1-494d-8019-23D37ED9B89A") IWMProfileManager2 : public IWMProfileManager { public: virtual HRESULT STDMETHODCALLTYPE GetSystemProfileVersion( WMT_VERSION *pdwVersion) = 0; virtual HRESULT STDMETHODCALLTYPE SetSystemProfileVersion( WMT_VERSION dwVersion) = 0; }; #else /* C style interface */ typedef struct IWMProfileManager2Vtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IWMProfileManager2 * This, /* [in] */ REFIID riid, /* [annotation][iid_is][out] */ __RPC__deref_out void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IWMProfileManager2 * This); ULONG ( STDMETHODCALLTYPE *Release )( IWMProfileManager2 * This); HRESULT ( STDMETHODCALLTYPE *CreateEmptyProfile )( IWMProfileManager2 * This, /* [in] */ WMT_VERSION dwVersion, /* [out] */ IWMProfile **ppProfile); HRESULT ( STDMETHODCALLTYPE *LoadProfileByID )( IWMProfileManager2 * This, /* [in] */ REFGUID guidProfile, /* [out] */ IWMProfile **ppProfile); HRESULT ( STDMETHODCALLTYPE *LoadProfileByData )( IWMProfileManager2 * This, /* [in] */ const WCHAR *pwszProfile, /* [out] */ IWMProfile **ppProfile); HRESULT ( STDMETHODCALLTYPE *SaveProfile )( IWMProfileManager2 * This, /* [in] */ IWMProfile *pIWMProfile, /* [in] */ WCHAR *pwszProfile, /* [out][in] */ DWORD *pdwLength); HRESULT ( STDMETHODCALLTYPE *GetSystemProfileCount )( IWMProfileManager2 * This, /* [out] */ DWORD *pcProfiles); HRESULT ( STDMETHODCALLTYPE *LoadSystemProfile )( IWMProfileManager2 * This, /* [in] */ DWORD dwProfileIndex, /* [out] */ IWMProfile **ppProfile); HRESULT ( STDMETHODCALLTYPE *GetSystemProfileVersion )( IWMProfileManager2 * This, WMT_VERSION *pdwVersion); HRESULT ( STDMETHODCALLTYPE *SetSystemProfileVersion )( IWMProfileManager2 * This, WMT_VERSION dwVersion); END_INTERFACE } IWMProfileManager2Vtbl; interface IWMProfileManager2 { CONST_VTBL struct IWMProfileManager2Vtbl *lpVtbl; }; #ifdef COBJMACROS #define IWMProfileManager2_QueryInterface(This,riid,ppvObject) \ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) #define IWMProfileManager2_AddRef(This) \ ( (This)->lpVtbl -> AddRef(This) ) #define IWMProfileManager2_Release(This) \ ( (This)->lpVtbl -> Release(This) ) #define IWMProfileManager2_CreateEmptyProfile(This,dwVersion,ppProfile) \ ( (This)->lpVtbl -> CreateEmptyProfile(This,dwVersion,ppProfile) ) #define IWMProfileManager2_LoadProfileByID(This,guidProfile,ppProfile) \ ( (This)->lpVtbl -> LoadProfileByID(This,guidProfile,ppProfile) ) #define IWMProfileManager2_LoadProfileByData(This,pwszProfile,ppProfile) \ ( (This)->lpVtbl -> LoadProfileByData(This,pwszProfile,ppProfile) ) #define IWMProfileManager2_SaveProfile(This,pIWMProfile,pwszProfile,pdwLength) \ ( (This)->lpVtbl -> SaveProfile(This,pIWMProfile,pwszProfile,pdwLength) ) #define IWMProfileManager2_GetSystemProfileCount(This,pcProfiles) \ ( (This)->lpVtbl -> GetSystemProfileCount(This,pcProfiles) ) #define IWMProfileManager2_LoadSystemProfile(This,dwProfileIndex,ppProfile) \ ( (This)->lpVtbl -> LoadSystemProfile(This,dwProfileIndex,ppProfile) ) #define IWMProfileManager2_GetSystemProfileVersion(This,pdwVersion) \ ( (This)->lpVtbl -> GetSystemProfileVersion(This,pdwVersion) ) #define IWMProfileManager2_SetSystemProfileVersion(This,dwVersion) \ ( (This)->lpVtbl -> SetSystemProfileVersion(This,dwVersion) ) #endif /* COBJMACROS */ #endif /* C style interface */ #endif /* __IWMProfileManager2_INTERFACE_DEFINED__ */ #ifndef __IWMProfileManagerLanguage_INTERFACE_DEFINED__ #define __IWMProfileManagerLanguage_INTERFACE_DEFINED__ /* interface IWMProfileManagerLanguage */ /* [local][unique][helpstring][uuid][object] */ EXTERN_C const IID IID_IWMProfileManagerLanguage; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("BA4DCC78-7EE0-4ab8-B27A-DBCE8BC51454") IWMProfileManagerLanguage : public IUnknown { public: virtual HRESULT STDMETHODCALLTYPE GetUserLanguageID( WORD *wLangID) = 0; virtual HRESULT STDMETHODCALLTYPE SetUserLanguageID( WORD wLangID) = 0; }; #else /* C style interface */ typedef struct IWMProfileManagerLanguageVtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IWMProfileManagerLanguage * This, /* [in] */ REFIID riid, /* [annotation][iid_is][out] */ __RPC__deref_out void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IWMProfileManagerLanguage * This); ULONG ( STDMETHODCALLTYPE *Release )( IWMProfileManagerLanguage * This); HRESULT ( STDMETHODCALLTYPE *GetUserLanguageID )( IWMProfileManagerLanguage * This, WORD *wLangID); HRESULT ( STDMETHODCALLTYPE *SetUserLanguageID )( IWMProfileManagerLanguage * This, WORD wLangID); END_INTERFACE } IWMProfileManagerLanguageVtbl; interface IWMProfileManagerLanguage { CONST_VTBL struct IWMProfileManagerLanguageVtbl *lpVtbl; }; #ifdef COBJMACROS #define IWMProfileManagerLanguage_QueryInterface(This,riid,ppvObject) \ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) #define IWMProfileManagerLanguage_AddRef(This) \ ( (This)->lpVtbl -> AddRef(This) ) #define IWMProfileManagerLanguage_Release(This) \ ( (This)->lpVtbl -> Release(This) ) #define IWMProfileManagerLanguage_GetUserLanguageID(This,wLangID) \ ( (This)->lpVtbl -> GetUserLanguageID(This,wLangID) ) #define IWMProfileManagerLanguage_SetUserLanguageID(This,wLangID) \ ( (This)->lpVtbl -> SetUserLanguageID(This,wLangID) ) #endif /* COBJMACROS */ #endif /* C style interface */ #endif /* __IWMProfileManagerLanguage_INTERFACE_DEFINED__ */ #ifndef __IWMProfile_INTERFACE_DEFINED__ #define __IWMProfile_INTERFACE_DEFINED__ /* interface IWMProfile */ /* [local][unique][helpstring][uuid][object] */ EXTERN_C const IID IID_IWMProfile; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("96406BDB-2B2B-11d3-B36B-00C04F6108FF") IWMProfile : public IUnknown { public: virtual HRESULT STDMETHODCALLTYPE GetVersion( /* [out] */ WMT_VERSION *pdwVersion) = 0; virtual HRESULT STDMETHODCALLTYPE GetName( /* [size_is][out] */ WCHAR *pwszName, /* [out][in] */ DWORD *pcchName) = 0; virtual HRESULT STDMETHODCALLTYPE SetName( /* [in] */ const WCHAR *pwszName) = 0; virtual HRESULT STDMETHODCALLTYPE GetDescription( /* [size_is][out] */ WCHAR *pwszDescription, /* [out][in] */ DWORD *pcchDescription) = 0; virtual HRESULT STDMETHODCALLTYPE SetDescription( /* [in] */ const WCHAR *pwszDescription) = 0; virtual HRESULT STDMETHODCALLTYPE GetStreamCount( /* [out] */ DWORD *pcStreams) = 0; virtual HRESULT STDMETHODCALLTYPE GetStream( /* [in] */ DWORD dwStreamIndex, /* [out] */ IWMStreamConfig **ppConfig) = 0; virtual HRESULT STDMETHODCALLTYPE GetStreamByNumber( /* [in] */ WORD wStreamNum, /* [out] */ IWMStreamConfig **ppConfig) = 0; virtual HRESULT STDMETHODCALLTYPE RemoveStream( /* [in] */ IWMStreamConfig *pConfig) = 0; virtual HRESULT STDMETHODCALLTYPE RemoveStreamByNumber( /* [in] */ WORD wStreamNum) = 0; virtual HRESULT STDMETHODCALLTYPE AddStream( /* [in] */ IWMStreamConfig *pConfig) = 0; virtual HRESULT STDMETHODCALLTYPE ReconfigStream( /* [in] */ IWMStreamConfig *pConfig) = 0; virtual HRESULT STDMETHODCALLTYPE CreateNewStream( /* [in] */ REFGUID guidStreamType, /* [out] */ IWMStreamConfig **ppConfig) = 0; virtual HRESULT STDMETHODCALLTYPE GetMutualExclusionCount( /* [out] */ DWORD *pcME) = 0; virtual HRESULT STDMETHODCALLTYPE GetMutualExclusion( /* [in] */ DWORD dwMEIndex, /* [out] */ IWMMutualExclusion **ppME) = 0; virtual HRESULT STDMETHODCALLTYPE RemoveMutualExclusion( /* [in] */ IWMMutualExclusion *pME) = 0; virtual HRESULT STDMETHODCALLTYPE AddMutualExclusion( /* [in] */ IWMMutualExclusion *pME) = 0; virtual HRESULT STDMETHODCALLTYPE CreateNewMutualExclusion( /* [out] */ IWMMutualExclusion **ppME) = 0; }; #else /* C style interface */ typedef struct IWMProfileVtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IWMProfile * This, /* [in] */ REFIID riid, /* [annotation][iid_is][out] */ __RPC__deref_out void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IWMProfile * This); ULONG ( STDMETHODCALLTYPE *Release )( IWMProfile * This); HRESULT ( STDMETHODCALLTYPE *GetVersion )( IWMProfile * This, /* [out] */ WMT_VERSION *pdwVersion); HRESULT ( STDMETHODCALLTYPE *GetName )( IWMProfile * This, /* [size_is][out] */ WCHAR *pwszName, /* [out][in] */ DWORD *pcchName); HRESULT ( STDMETHODCALLTYPE *SetName )( IWMProfile * This, /* [in] */ const WCHAR *pwszName); HRESULT ( STDMETHODCALLTYPE *GetDescription )( IWMProfile * This, /* [size_is][out] */ WCHAR *pwszDescription, /* [out][in] */ DWORD *pcchDescription); HRESULT ( STDMETHODCALLTYPE *SetDescription )( IWMProfile * This, /* [in] */ const WCHAR *pwszDescription); HRESULT ( STDMETHODCALLTYPE *GetStreamCount )( IWMProfile * This, /* [out] */ DWORD *pcStreams); HRESULT ( STDMETHODCALLTYPE *GetStream )( IWMProfile * This, /* [in] */ DWORD dwStreamIndex, /* [out] */ IWMStreamConfig **ppConfig); HRESULT ( STDMETHODCALLTYPE *GetStreamByNumber )( IWMProfile * This, /* [in] */ WORD wStreamNum, /* [out] */ IWMStreamConfig **ppConfig); HRESULT ( STDMETHODCALLTYPE *RemoveStream )( IWMProfile * This, /* [in] */ IWMStreamConfig *pConfig); HRESULT ( STDMETHODCALLTYPE *RemoveStreamByNumber )( IWMProfile * This, /* [in] */ WORD wStreamNum); HRESULT ( STDMETHODCALLTYPE *AddStream )( IWMProfile * This, /* [in] */ IWMStreamConfig *pConfig); HRESULT ( STDMETHODCALLTYPE *ReconfigStream )( IWMProfile * This, /* [in] */ IWMStreamConfig *pConfig); HRESULT ( STDMETHODCALLTYPE *CreateNewStream )( IWMProfile * This, /* [in] */ REFGUID guidStreamType, /* [out] */ IWMStreamConfig **ppConfig); HRESULT ( STDMETHODCALLTYPE *GetMutualExclusionCount )( IWMProfile * This, /* [out] */ DWORD *pcME); HRESULT ( STDMETHODCALLTYPE *GetMutualExclusion )( IWMProfile * This, /* [in] */ DWORD dwMEIndex, /* [out] */ IWMMutualExclusion **ppME); HRESULT ( STDMETHODCALLTYPE *RemoveMutualExclusion )( IWMProfile * This, /* [in] */ IWMMutualExclusion *pME); HRESULT ( STDMETHODCALLTYPE *AddMutualExclusion )( IWMProfile * This, /* [in] */ IWMMutualExclusion *pME); HRESULT ( STDMETHODCALLTYPE *CreateNewMutualExclusion )( IWMProfile * This, /* [out] */ IWMMutualExclusion **ppME); END_INTERFACE } IWMProfileVtbl; interface IWMProfile { CONST_VTBL struct IWMProfileVtbl *lpVtbl; }; #ifdef COBJMACROS #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) ) #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) ) #endif /* COBJMACROS */ #endif /* C style interface */ #endif /* __IWMProfile_INTERFACE_DEFINED__ */ #ifndef __IWMProfile2_INTERFACE_DEFINED__ #define __IWMProfile2_INTERFACE_DEFINED__ /* interface IWMProfile2 */ /* [local][unique][helpstring][uuid][object] */ EXTERN_C const IID IID_IWMProfile2; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("07E72D33-D94E-4be7-8843-60AE5FF7E5F5") IWMProfile2 : public IWMProfile { public: virtual HRESULT STDMETHODCALLTYPE GetProfileID( /* [out] */ GUID *pguidID) = 0; }; #else /* C style interface */ typedef struct IWMProfile2Vtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IWMProfile2 * This, /* [in] */ REFIID riid, /* [annotation][iid_is][out] */ __RPC__deref_out void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IWMProfile2 * This); ULONG ( STDMETHODCALLTYPE *Release )( IWMProfile2 * This); HRESULT ( STDMETHODCALLTYPE *GetVersion )( IWMProfile2 * This, /* [out] */ WMT_VERSION *pdwVersion); HRESULT ( STDMETHODCALLTYPE *GetName )( IWMProfile2 * This, /* [size_is][out] */ WCHAR *pwszName, /* [out][in] */ DWORD *pcchName); HRESULT ( STDMETHODCALLTYPE *SetName )( IWMProfile2 * This, /* [in] */ const WCHAR *pwszName); HRESULT ( STDMETHODCALLTYPE *GetDescription )( IWMProfile2 * This, /* [size_is][out] */ WCHAR *pwszDescription, /* [out][in] */ DWORD *pcchDescription); HRESULT ( STDMETHODCALLTYPE *SetDescription )( IWMProfile2 * This, /* [in] */ const WCHAR *pwszDescription); HRESULT ( STDMETHODCALLTYPE *GetStreamCount )( IWMProfile2 * This, /* [out] */ DWORD *pcStreams); HRESULT ( STDMETHODCALLTYPE *GetStream )( IWMProfile2 * This, /* [in] */ DWORD dwStreamIndex, /* [out] */ IWMStreamConfig **ppConfig); HRESULT ( STDMETHODCALLTYPE *GetStreamByNumber )( IWMProfile2 * This, /* [in] */ WORD wStreamNum, /* [out] */ IWMStreamConfig **ppConfig); HRESULT ( STDMETHODCALLTYPE *RemoveStream )( IWMProfile2 * This, /* [in] */ IWMStreamConfig *pConfig); HRESULT ( STDMETHODCALLTYPE *RemoveStreamByNumber )( IWMProfile2 * This, /* [in] */ WORD wStreamNum); HRESULT ( STDMETHODCALLTYPE *AddStream )( IWMProfile2 * This, /* [in] */ IWMStreamConfig *pConfig); HRESULT ( STDMETHODCALLTYPE *ReconfigStream )( IWMProfile2 * This, /* [in] */ IWMStreamConfig *pConfig); HRESULT ( STDMETHODCALLTYPE *CreateNewStream )( IWMProfile2 * This, /* [in] */ REFGUID guidStreamType, /* [out] */ IWMStreamConfig **ppConfig); HRESULT ( STDMETHODCALLTYPE *GetMutualExclusionCount )( IWMProfile2 * This, /* [out] */ DWORD *pcME); HRESULT ( STDMETHODCALLTYPE *GetMutualExclusion )( IWMProfile2 * This, /* [in] */ DWORD dwMEIndex, /* [out] */ IWMMutualExclusion **ppME); HRESULT ( STDMETHODCALLTYPE *RemoveMutualExclusion )( IWMProfile2 * This, /* [in] */ IWMMutualExclusion *pME); HRESULT ( STDMETHODCALLTYPE *AddMutualExclusion )( IWMProfile2 * This, /* [in] */ IWMMutualExclusion *pME); HRESULT ( STDMETHODCALLTYPE *CreateNewMutualExclusion )( IWMProfile2 * This, /* [out] */ IWMMutualExclusion **ppME); HRESULT ( STDMETHODCALLTYPE *GetProfileID )( IWMProfile2 * This, /* [out] */ GUID *pguidID); END_INTERFACE } IWMProfile2Vtbl; interface IWMProfile2 { CONST_VTBL struct IWMProfile2Vtbl *lpVtbl; }; #ifdef COBJMACROS #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) ) #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) ) #define IWMProfile2_GetProfileID(This,pguidID) \ ( (This)->lpVtbl -> GetProfileID(This,pguidID) ) #endif /* COBJMACROS */ #endif /* C style interface */ #endif /* __IWMProfile2_INTERFACE_DEFINED__ */ #ifndef __IWMProfile3_INTERFACE_DEFINED__ #define __IWMProfile3_INTERFACE_DEFINED__ /* interface IWMProfile3 */ /* [local][unique][helpstring][uuid][object] */ EXTERN_C const IID IID_IWMProfile3; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("00EF96CC-A461-4546-8BCD-C9A28F0E06F5") IWMProfile3 : public IWMProfile2 { public: virtual HRESULT STDMETHODCALLTYPE GetStorageFormat( /* [out] */ WMT_STORAGE_FORMAT *pnStorageFormat) = 0; virtual HRESULT STDMETHODCALLTYPE SetStorageFormat( /* [in] */ WMT_STORAGE_FORMAT nStorageFormat) = 0; virtual HRESULT STDMETHODCALLTYPE GetBandwidthSharingCount( /* [out] */ DWORD *pcBS) = 0; virtual HRESULT STDMETHODCALLTYPE GetBandwidthSharing( /* [in] */ DWORD dwBSIndex, /* [out] */ IWMBandwidthSharing **ppBS) = 0; virtual HRESULT STDMETHODCALLTYPE RemoveBandwidthSharing( /* [in] */ IWMBandwidthSharing *pBS) = 0; virtual HRESULT STDMETHODCALLTYPE AddBandwidthSharing( /* [in] */ IWMBandwidthSharing *pBS) = 0; virtual HRESULT STDMETHODCALLTYPE CreateNewBandwidthSharing( /* [out] */ IWMBandwidthSharing **ppBS) = 0; virtual HRESULT STDMETHODCALLTYPE GetStreamPrioritization( /* [out] */ IWMStreamPrioritization **ppSP) = 0; virtual HRESULT STDMETHODCALLTYPE SetStreamPrioritization( /* [in] */ IWMStreamPrioritization *pSP) = 0; virtual HRESULT STDMETHODCALLTYPE RemoveStreamPrioritization( void) = 0; virtual HRESULT STDMETHODCALLTYPE CreateNewStreamPrioritization( /* [out] */ IWMStreamPrioritization **ppSP) = 0; virtual HRESULT STDMETHODCALLTYPE GetExpectedPacketCount( /* [in] */ QWORD msDuration, /* [out] */ QWORD *pcPackets) = 0; }; #else /* C style interface */ typedef struct IWMProfile3Vtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IWMProfile3 * This, /* [in] */ REFIID riid, /* [annotation][iid_is][out] */ __RPC__deref_out void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IWMProfile3 * This); ULONG ( STDMETHODCALLTYPE *Release )( IWMProfile3 * This); HRESULT ( STDMETHODCALLTYPE *GetVersion )( IWMProfile3 * This, /* [out] */ WMT_VERSION *pdwVersion); HRESULT ( STDMETHODCALLTYPE *GetName )( IWMProfile3 * This, /* [size_is][out] */ WCHAR *pwszName, /* [out][in] */ DWORD *pcchName); HRESULT ( STDMETHODCALLTYPE *SetName )( IWMProfile3 * This, /* [in] */ const WCHAR *pwszName); HRESULT ( STDMETHODCALLTYPE *GetDescription )( IWMProfile3 * This, /* [size_is][out] */ WCHAR *pwszDescription, /* [out][in] */ DWORD *pcchDescription); HRESULT ( STDMETHODCALLTYPE *SetDescription )( IWMProfile3 * This, /* [in] */ const WCHAR *pwszDescription); HRESULT ( STDMETHODCALLTYPE *GetStreamCount )( IWMProfile3 * This, /* [out] */ DWORD *pcStreams); HRESULT ( STDMETHODCALLTYPE *GetStream )( IWMProfile3 * This, /* [in] */ DWORD dwStreamIndex, /* [out] */ IWMStreamConfig **ppConfig); HRESULT ( STDMETHODCALLTYPE *GetStreamByNumber )( IWMProfile3 * This, /* [in] */ WORD wStreamNum, /* [out] */ IWMStreamConfig **ppConfig); HRESULT ( STDMETHODCALLTYPE *RemoveStream )( IWMProfile3 * This, /* [in] */ IWMStreamConfig *pConfig); HRESULT ( STDMETHODCALLTYPE *RemoveStreamByNumber )( IWMProfile3 * This, /* [in] */ WORD wStreamNum); HRESULT ( STDMETHODCALLTYPE *AddStream )( IWMProfile3 * This, /* [in] */ IWMStreamConfig *pConfig); HRESULT ( STDMETHODCALLTYPE *ReconfigStream )( IWMProfile3 * This, /* [in] */ IWMStreamConfig *pConfig); HRESULT ( STDMETHODCALLTYPE *CreateNewStream )( IWMProfile3 * This, /* [in] */ REFGUID guidStreamType, /* [out] */ IWMStreamConfig **ppConfig); HRESULT ( STDMETHODCALLTYPE *GetMutualExclusionCount )( IWMProfile3 * This, /* [out] */ DWORD *pcME); HRESULT ( STDMETHODCALLTYPE *GetMutualExclusion )( IWMProfile3 * This, /* [in] */ DWORD dwMEIndex, /* [out] */ IWMMutualExclusion **ppME); HRESULT ( STDMETHODCALLTYPE *RemoveMutualExclusion )( IWMProfile3 * This, /* [in] */ IWMMutualExclusion *pME); HRESULT ( STDMETHODCALLTYPE *AddMutualExclusion )( IWMProfile3 * This, /* [in] */ IWMMutualExclusion *pME); HRESULT ( STDMETHODCALLTYPE *CreateNewMutualExclusion )( IWMProfile3 * This, /* [out] */ IWMMutualExclusion **ppME); HRESULT ( STDMETHODCALLTYPE *GetProfileID )( IWMProfile3 * This, /* [out] */ GUID *pguidID); HRESULT ( STDMETHODCALLTYPE *GetStorageFormat )( IWMProfile3 * This, /* [out] */ WMT_STORAGE_FORMAT *pnStorageFormat); HRESULT ( STDMETHODCALLTYPE *SetStorageFormat )( IWMProfile3 * This, /* [in] */ WMT_STORAGE_FORMAT nStorageFormat); HRESULT ( STDMETHODCALLTYPE *GetBandwidthSharingCount )( IWMProfile3 * This, /* [out] */ DWORD *pcBS); HRESULT ( STDMETHODCALLTYPE *GetBandwidthSharing )( IWMProfile3 * This, /* [in] */ DWORD dwBSIndex, /* [out] */ IWMBandwidthSharing **ppBS); HRESULT ( STDMETHODCALLTYPE *RemoveBandwidthSharing )( IWMProfile3 * This, /* [in] */ IWMBandwidthSharing *pBS); HRESULT ( STDMETHODCALLTYPE *AddBandwidthSharing )( IWMProfile3 * This, /* [in] */ IWMBandwidthSharing *pBS); HRESULT ( STDMETHODCALLTYPE *CreateNewBandwidthSharing )( IWMProfile3 * This, /* [out] */ IWMBandwidthSharing **ppBS); HRESULT ( STDMETHODCALLTYPE *GetStreamPrioritization )( IWMProfile3 * This, /* [out] */ IWMStreamPrioritization **ppSP); HRESULT ( STDMETHODCALLTYPE *SetStreamPrioritization )( IWMProfile3 * This, /* [in] */ IWMStreamPrioritization *pSP); HRESULT ( STDMETHODCALLTYPE *RemoveStreamPrioritization )( IWMProfile3 * This); HRESULT ( STDMETHODCALLTYPE *CreateNewStreamPrioritization )( IWMProfile3 * This, /* [out] */ IWMStreamPrioritization **ppSP); HRESULT ( STDMETHODCALLTYPE *GetExpectedPacketCount )( IWMProfile3 * This, /* [in] */ QWORD msDuration, /* [out] */ QWORD *pcPackets); END_INTERFACE } IWMProfile3Vtbl; interface IWMProfile3 { CONST_VTBL struct IWMProfile3Vtbl *lpVtbl; }; #ifdef COBJMACROS #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) ) #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) ) #define IWMProfile3_GetProfileID(This,pguidID) \ ( (This)->lpVtbl -> GetProfileID(This,pguidID) ) #define IWMProfile3_GetStorageFormat(This,pnStorageFormat) \ ( (This)->lpVtbl -> GetStorageFormat(This,pnStorageFormat) ) #define IWMProfile3_SetStorageFormat(This,nStorageFormat) \ ( (This)->lpVtbl -> SetStorageFormat(This,nStorageFormat) ) #define IWMProfile3_GetBandwidthSharingCount(This,pcBS) \ ( (This)->lpVtbl -> GetBandwidthSharingCount(This,pcBS) ) #define IWMProfile3_GetBandwidthSharing(This,dwBSIndex,ppBS) \ ( (This)->lpVtbl -> GetBandwidthSharing(This,dwBSIndex,ppBS) ) #define IWMProfile3_RemoveBandwidthSharing(This,pBS) \ ( (This)->lpVtbl -> RemoveBandwidthSharing(This,pBS) ) #define IWMProfile3_AddBandwidthSharing(This,pBS) \ ( (This)->lpVtbl -> AddBandwidthSharing(This,pBS) ) #define IWMProfile3_CreateNewBandwidthSharing(This,ppBS) \ ( (This)->lpVtbl -> CreateNewBandwidthSharing(This,ppBS) ) #define IWMProfile3_GetStreamPrioritization(This,ppSP) \ ( (This)->lpVtbl -> GetStreamPrioritization(This,ppSP) ) #define IWMProfile3_SetStreamPrioritization(This,pSP) \ ( (This)->lpVtbl -> SetStreamPrioritization(This,pSP) ) #define IWMProfile3_RemoveStreamPrioritization(This) \ ( (This)->lpVtbl -> RemoveStreamPrioritization(This) ) #define IWMProfile3_CreateNewStreamPrioritization(This,ppSP) \ ( (This)->lpVtbl -> CreateNewStreamPrioritization(This,ppSP) ) #define IWMProfile3_GetExpectedPacketCount(This,msDuration,pcPackets) \ ( (This)->lpVtbl -> GetExpectedPacketCount(This,msDuration,pcPackets) ) #endif /* COBJMACROS */ #endif /* C style interface */ #endif /* __IWMProfile3_INTERFACE_DEFINED__ */ #ifndef __IWMStreamConfig_INTERFACE_DEFINED__ #define __IWMStreamConfig_INTERFACE_DEFINED__ /* interface IWMStreamConfig */ /* [local][unique][helpstring][uuid][object] */ EXTERN_C const IID IID_IWMStreamConfig; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("96406BDC-2B2B-11d3-B36B-00C04F6108FF") IWMStreamConfig : public IUnknown { public: virtual HRESULT STDMETHODCALLTYPE GetStreamType( /* [out] */ GUID *pguidStreamType) = 0; virtual HRESULT STDMETHODCALLTYPE GetStreamNumber( /* [out] */ WORD *pwStreamNum) = 0; virtual HRESULT STDMETHODCALLTYPE SetStreamNumber( /* [in] */ WORD wStreamNum) = 0; virtual HRESULT STDMETHODCALLTYPE GetStreamName( /* [size_is][out] */ WCHAR *pwszStreamName, /* [out][in] */ WORD *pcchStreamName) = 0; virtual HRESULT STDMETHODCALLTYPE SetStreamName( /* [in] */ LPCWSTR_WMSDK_TYPE_SAFE pwszStreamName) = 0; virtual HRESULT STDMETHODCALLTYPE GetConnectionName( /* [size_is][out] */ WCHAR *pwszInputName, /* [out][in] */ WORD *pcchInputName) = 0; virtual HRESULT STDMETHODCALLTYPE SetConnectionName( /* [in] */ LPCWSTR_WMSDK_TYPE_SAFE pwszInputName) = 0; virtual HRESULT STDMETHODCALLTYPE GetBitrate( /* [out] */ DWORD *pdwBitrate) = 0; virtual HRESULT STDMETHODCALLTYPE SetBitrate( /* [in] */ DWORD pdwBitrate) = 0; virtual HRESULT STDMETHODCALLTYPE GetBufferWindow( /* [out] */ DWORD *pmsBufferWindow) = 0; virtual HRESULT STDMETHODCALLTYPE SetBufferWindow( /* [in] */ DWORD msBufferWindow) = 0; }; #else /* C style interface */ typedef struct IWMStreamConfigVtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IWMStreamConfig * This, /* [in] */ REFIID riid, /* [annotation][iid_is][out] */ __RPC__deref_out void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IWMStreamConfig * This); ULONG ( STDMETHODCALLTYPE *Release )( IWMStreamConfig * This); HRESULT ( STDMETHODCALLTYPE *GetStreamType )( IWMStreamConfig * This, /* [out] */ GUID *pguidStreamType); HRESULT ( STDMETHODCALLTYPE *GetStreamNumber )( IWMStreamConfig * This, /* [out] */ WORD *pwStreamNum); HRESULT ( STDMETHODCALLTYPE *SetStreamNumber )( IWMStreamConfig * This, /* [in] */ WORD wStreamNum); HRESULT ( STDMETHODCALLTYPE *GetStreamName )( IWMStreamConfig * This, /* [size_is][out] */ WCHAR *pwszStreamName, /* [out][in] */ WORD *pcchStreamName); HRESULT ( STDMETHODCALLTYPE *SetStreamName )( IWMStreamConfig * This, /* [in] */ LPCWSTR_WMSDK_TYPE_SAFE pwszStreamName); HRESULT ( STDMETHODCALLTYPE *GetConnectionName )( IWMStreamConfig * This, /* [size_is][out] */ WCHAR *pwszInputName, /* [out][in] */ WORD *pcchInputName); HRESULT ( STDMETHODCALLTYPE *SetConnectionName )( IWMStreamConfig * This, /* [in] */ LPCWSTR_WMSDK_TYPE_SAFE pwszInputName); HRESULT ( STDMETHODCALLTYPE *GetBitrate )( IWMStreamConfig * This, /* [out] */ DWORD *pdwBitrate); HRESULT ( STDMETHODCALLTYPE *SetBitrate )( IWMStreamConfig * This, /* [in] */ DWORD pdwBitrate); HRESULT ( STDMETHODCALLTYPE *GetBufferWindow )( IWMStreamConfig * This, /* [out] */ DWORD *pmsBufferWindow); HRESULT ( STDMETHODCALLTYPE *SetBufferWindow )( IWMStreamConfig * This, /* [in] */ DWORD msBufferWindow); END_INTERFACE } IWMStreamConfigVtbl; interface IWMStreamConfig { CONST_VTBL struct IWMStreamConfigVtbl *lpVtbl; }; #ifdef COBJMACROS #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) ) #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) ) #endif /* COBJMACROS */ #endif /* C style interface */ #endif /* __IWMStreamConfig_INTERFACE_DEFINED__ */ #ifndef __IWMStreamConfig2_INTERFACE_DEFINED__ #define __IWMStreamConfig2_INTERFACE_DEFINED__ /* interface IWMStreamConfig2 */ /* [local][unique][helpstring][uuid][object] */ EXTERN_C const IID IID_IWMStreamConfig2; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("7688D8CB-FC0D-43BD-9459-5A8DEC200CFA") IWMStreamConfig2 : public IWMStreamConfig { public: virtual HRESULT STDMETHODCALLTYPE GetTransportType( /* [out] */ WMT_TRANSPORT_TYPE *pnTransportType) = 0; virtual HRESULT STDMETHODCALLTYPE SetTransportType( /* [in] */ WMT_TRANSPORT_TYPE nTransportType) = 0; virtual HRESULT STDMETHODCALLTYPE AddDataUnitExtension( /* [in] */ GUID guidExtensionSystemID, /* [in] */ WORD cbExtensionDataSize, /* [size_is][in] */ BYTE *pbExtensionSystemInfo, /* [in] */ DWORD cbExtensionSystemInfo) = 0; virtual HRESULT STDMETHODCALLTYPE GetDataUnitExtensionCount( /* [out] */ WORD *pcDataUnitExtensions) = 0; virtual HRESULT STDMETHODCALLTYPE GetDataUnitExtension( /* [in] */ WORD wDataUnitExtensionNumber, /* [out] */ GUID *pguidExtensionSystemID, /* [out] */ WORD *pcbExtensionDataSize, /* [size_is][out] */ BYTE *pbExtensionSystemInfo, /* [out][in] */ DWORD *pcbExtensionSystemInfo) = 0; virtual HRESULT STDMETHODCALLTYPE RemoveAllDataUnitExtensions( void) = 0; }; #else /* C style interface */ typedef struct IWMStreamConfig2Vtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IWMStreamConfig2 * This, /* [in] */ REFIID riid, /* [annotation][iid_is][out] */ __RPC__deref_out void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IWMStreamConfig2 * This); ULONG ( STDMETHODCALLTYPE *Release )( IWMStreamConfig2 * This); HRESULT ( STDMETHODCALLTYPE *GetStreamType )( IWMStreamConfig2 * This, /* [out] */ GUID *pguidStreamType); HRESULT ( STDMETHODCALLTYPE *GetStreamNumber )( IWMStreamConfig2 * This, /* [out] */ WORD *pwStreamNum); HRESULT ( STDMETHODCALLTYPE *SetStreamNumber )( IWMStreamConfig2 * This, /* [in] */ WORD wStreamNum); HRESULT ( STDMETHODCALLTYPE *GetStreamName )( IWMStreamConfig2 * This, /* [size_is][out] */ WCHAR *pwszStreamName, /* [out][in] */ WORD *pcchStreamName); HRESULT ( STDMETHODCALLTYPE *SetStreamName )( IWMStreamConfig2 * This, /* [in] */ LPCWSTR_WMSDK_TYPE_SAFE pwszStreamName); HRESULT ( STDMETHODCALLTYPE *GetConnectionName )( IWMStreamConfig2 * This, /* [size_is][out] */ WCHAR *pwszInputName, /* [out][in] */ WORD *pcchInputName); HRESULT ( STDMETHODCALLTYPE *SetConnectionName )( IWMStreamConfig2 * This, /* [in] */ LPCWSTR_WMSDK_TYPE_SAFE pwszInputName); HRESULT ( STDMETHODCALLTYPE *GetBitrate )( IWMStreamConfig2 * This, /* [out] */ DWORD *pdwBitrate); HRESULT ( STDMETHODCALLTYPE *SetBitrate )( IWMStreamConfig2 * This, /* [in] */ DWORD pdwBitrate); HRESULT ( STDMETHODCALLTYPE *GetBufferWindow )( IWMStreamConfig2 * This, /* [out] */ DWORD *pmsBufferWindow); HRESULT ( STDMETHODCALLTYPE *SetBufferWindow )( IWMStreamConfig2 * This, /* [in] */ DWORD msBufferWindow); HRESULT ( STDMETHODCALLTYPE *GetTransportType )( IWMStreamConfig2 * This, /* [out] */ WMT_TRANSPORT_TYPE *pnTransportType); HRESULT ( STDMETHODCALLTYPE *SetTransportType )( IWMStreamConfig2 * This, /* [in] */ WMT_TRANSPORT_TYPE nTransportType); HRESULT ( STDMETHODCALLTYPE *AddDataUnitExtension )( IWMStreamConfig2 * This, /* [in] */ GUID guidExtensionSystemID, /* [in] */ WORD cbExtensionDataSize, /* [size_is][in] */ BYTE *pbExtensionSystemInfo, /* [in] */ DWORD cbExtensionSystemInfo); HRESULT ( STDMETHODCALLTYPE *GetDataUnitExtensionCount )( IWMStreamConfig2 * This, /* [out] */ WORD *pcDataUnitExtensions); HRESULT ( STDMETHODCALLTYPE *GetDataUnitExtension )( IWMStreamConfig2 * This, /* [in] */ WORD wDataUnitExtensionNumber, /* [out] */ GUID *pguidExtensionSystemID, /* [out] */ WORD *pcbExtensionDataSize, /* [size_is][out] */ BYTE *pbExtensionSystemInfo, /* [out][in] */ DWORD *pcbExtensionSystemInfo); HRESULT ( STDMETHODCALLTYPE *RemoveAllDataUnitExtensions )( IWMStreamConfig2 * This); END_INTERFACE } IWMStreamConfig2Vtbl; interface IWMStreamConfig2 { CONST_VTBL struct IWMStreamConfig2Vtbl *lpVtbl; }; #ifdef COBJMACROS #define IWMStreamConfig2_QueryInterface(This,riid,ppvObject) \ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) #define IWMStreamConfig2_AddRef(This) \ ( (This)->lpVtbl -> AddRef(This) ) #define IWMStreamConfig2_Release(This) \ ( (This)->lpVtbl -> Release(This) ) #define IWMStreamConfig2_GetStreamType(This,pguidStreamType) \ ( (This)->lpVtbl -> GetStreamType(This,pguidStreamType) ) #define IWMStreamConfig2_GetStreamNumber(This,pwStreamNum) \ ( (This)->lpVtbl -> GetStreamNumber(This,pwStreamNum) ) #define IWMStreamConfig2_SetStreamNumber(This,wStreamNum) \ ( (This)->lpVtbl -> SetStreamNumber(This,wStreamNum) ) #define IWMStreamConfig2_GetStreamName(This,pwszStreamName,pcchStreamName) \ ( (This)->lpVtbl -> GetStreamName(This,pwszStreamName,pcchStreamName) ) #define IWMStreamConfig2_SetStreamName(This,pwszStreamName) \ ( (This)->lpVtbl -> SetStreamName(This,pwszStreamName) ) #define IWMStreamConfig2_GetConnectionName(This,pwszInputName,pcchInputName) \ ( (This)->lpVtbl -> GetConnectionName(This,pwszInputName,pcchInputName) ) #define IWMStreamConfig2_SetConnectionName(This,pwszInputName) \ ( (This)->lpVtbl -> SetConnectionName(This,pwszInputName) ) #define IWMStreamConfig2_GetBitrate(This,pdwBitrate) \ ( (This)->lpVtbl -> GetBitrate(This,pdwBitrate) ) #define IWMStreamConfig2_SetBitrate(This,pdwBitrate) \ ( (This)->lpVtbl -> SetBitrate(This,pdwBitrate) ) #define IWMStreamConfig2_GetBufferWindow(This,pmsBufferWindow) \ ( (This)->lpVtbl -> GetBufferWindow(This,pmsBufferWindow) ) #define IWMStreamConfig2_SetBufferWindow(This,msBufferWindow) \ ( (This)->lpVtbl -> SetBufferWindow(This,msBufferWindow) ) #define IWMStreamConfig2_GetTransportType(This,pnTransportType) \ ( (This)->lpVtbl -> GetTransportType(This,pnTransportType) ) #define IWMStreamConfig2_SetTransportType(This,nTransportType) \ ( (This)->lpVtbl -> SetTransportType(This,nTransportType) ) #define IWMStreamConfig2_AddDataUnitExtension(This,guidExtensionSystemID,cbExtensionDataSize,pbExtensionSystemInfo,cbExtensionSystemInfo) \ ( (This)->lpVtbl -> AddDataUnitExtension(This,guidExtensionSystemID,cbExtensionDataSize,pbExtensionSystemInfo,cbExtensionSystemInfo) ) #define IWMStreamConfig2_GetDataUnitExtensionCount(This,pcDataUnitExtensions) \ ( (This)->lpVtbl -> GetDataUnitExtensionCount(This,pcDataUnitExtensions) ) #define IWMStreamConfig2_GetDataUnitExtension(This,wDataUnitExtensionNumber,pguidExtensionSystemID,pcbExtensionDataSize,pbExtensionSystemInfo,pcbExtensionSystemInfo) \ ( (This)->lpVtbl -> GetDataUnitExtension(This,wDataUnitExtensionNumber,pguidExtensionSystemID,pcbExtensionDataSize,pbExtensionSystemInfo,pcbExtensionSystemInfo) ) #define IWMStreamConfig2_RemoveAllDataUnitExtensions(This) \ ( (This)->lpVtbl -> RemoveAllDataUnitExtensions(This) ) #endif /* COBJMACROS */ #endif /* C style interface */ #endif /* __IWMStreamConfig2_INTERFACE_DEFINED__ */ #ifndef __IWMStreamConfig3_INTERFACE_DEFINED__ #define __IWMStreamConfig3_INTERFACE_DEFINED__ /* interface IWMStreamConfig3 */ /* [local][unique][helpstring][uuid][object] */ EXTERN_C const IID IID_IWMStreamConfig3; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("CB164104-3AA9-45a7-9AC9-4DAEE131D6E1") IWMStreamConfig3 : public IWMStreamConfig2 { public: virtual HRESULT STDMETHODCALLTYPE GetLanguage( /* [size_is][out] */ WCHAR *pwszLanguageString, /* [out][in] */ WORD *pcchLanguageStringLength) = 0; virtual HRESULT STDMETHODCALLTYPE SetLanguage( /* [in] */ LPCWSTR_WMSDK_TYPE_SAFE pwszLanguageString) = 0; }; #else /* C style interface */ typedef struct IWMStreamConfig3Vtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IWMStreamConfig3 * This, /* [in] */ REFIID riid, /* [annotation][iid_is][out] */ __RPC__deref_out void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IWMStreamConfig3 * This); ULONG ( STDMETHODCALLTYPE *Release )( IWMStreamConfig3 * This); HRESULT ( STDMETHODCALLTYPE *GetStreamType )( IWMStreamConfig3 * This, /* [out] */ GUID *pguidStreamType); HRESULT ( STDMETHODCALLTYPE *GetStreamNumber )( IWMStreamConfig3 * This, /* [out] */ WORD *pwStreamNum); HRESULT ( STDMETHODCALLTYPE *SetStreamNumber )( IWMStreamConfig3 * This, /* [in] */ WORD wStreamNum); HRESULT ( STDMETHODCALLTYPE *GetStreamName )( IWMStreamConfig3 * This, /* [size_is][out] */ WCHAR *pwszStreamName, /* [out][in] */ WORD *pcchStreamName); HRESULT ( STDMETHODCALLTYPE *SetStreamName )( IWMStreamConfig3 * This, /* [in] */ LPCWSTR_WMSDK_TYPE_SAFE pwszStreamName); HRESULT ( STDMETHODCALLTYPE *GetConnectionName )( IWMStreamConfig3 * This, /* [size_is][out] */ WCHAR *pwszInputName, /* [out][in] */ WORD *pcchInputName); HRESULT ( STDMETHODCALLTYPE *SetConnectionName )( IWMStreamConfig3 * This, /* [in] */ LPCWSTR_WMSDK_TYPE_SAFE pwszInputName); HRESULT ( STDMETHODCALLTYPE *GetBitrate )( IWMStreamConfig3 * This, /* [out] */ DWORD *pdwBitrate); HRESULT ( STDMETHODCALLTYPE *SetBitrate )( IWMStreamConfig3 * This, /* [in] */ DWORD pdwBitrate); HRESULT ( STDMETHODCALLTYPE *GetBufferWindow )( IWMStreamConfig3 * This, /* [out] */ DWORD *pmsBufferWindow); HRESULT ( STDMETHODCALLTYPE *SetBufferWindow )( IWMStreamConfig3 * This, /* [in] */ DWORD msBufferWindow); HRESULT ( STDMETHODCALLTYPE *GetTransportType )( IWMStreamConfig3 * This, /* [out] */ WMT_TRANSPORT_TYPE *pnTransportType); HRESULT ( STDMETHODCALLTYPE *SetTransportType )( IWMStreamConfig3 * This, /* [in] */ WMT_TRANSPORT_TYPE nTransportType); HRESULT ( STDMETHODCALLTYPE *AddDataUnitExtension )( IWMStreamConfig3 * This, /* [in] */ GUID guidExtensionSystemID, /* [in] */ WORD cbExtensionDataSize, /* [size_is][in] */ BYTE *pbExtensionSystemInfo, /* [in] */ DWORD cbExtensionSystemInfo); HRESULT ( STDMETHODCALLTYPE *GetDataUnitExtensionCount )( IWMStreamConfig3 * This, /* [out] */ WORD *pcDataUnitExtensions); HRESULT ( STDMETHODCALLTYPE *GetDataUnitExtension )( IWMStreamConfig3 * This, /* [in] */ WORD wDataUnitExtensionNumber, /* [out] */ GUID *pguidExtensionSystemID, /* [out] */ WORD *pcbExtensionDataSize, /* [size_is][out] */ BYTE *pbExtensionSystemInfo, /* [out][in] */ DWORD *pcbExtensionSystemInfo); HRESULT ( STDMETHODCALLTYPE *RemoveAllDataUnitExtensions )( IWMStreamConfig3 * This); HRESULT ( STDMETHODCALLTYPE *GetLanguage )( IWMStreamConfig3 * This, /* [size_is][out] */ WCHAR *pwszLanguageString, /* [out][in] */ WORD *pcchLanguageStringLength); HRESULT ( STDMETHODCALLTYPE *SetLanguage )( IWMStreamConfig3 * This, /* [in] */ LPCWSTR_WMSDK_TYPE_SAFE pwszLanguageString); END_INTERFACE } IWMStreamConfig3Vtbl; interface IWMStreamConfig3 { CONST_VTBL struct IWMStreamConfig3Vtbl *lpVtbl; }; #ifdef COBJMACROS #define IWMStreamConfig3_QueryInterface(This,riid,ppvObject) \ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) #define IWMStreamConfig3_AddRef(This) \ ( (This)->lpVtbl -> AddRef(This) ) #define IWMStreamConfig3_Release(This) \ ( (This)->lpVtbl -> Release(This) ) #define IWMStreamConfig3_GetStreamType(This,pguidStreamType) \ ( (This)->lpVtbl -> GetStreamType(This,pguidStreamType) ) #define IWMStreamConfig3_GetStreamNumber(This,pwStreamNum) \ ( (This)->lpVtbl -> GetStreamNumber(This,pwStreamNum) ) #define IWMStreamConfig3_SetStreamNumber(This,wStreamNum) \ ( (This)->lpVtbl -> SetStreamNumber(This,wStreamNum) ) #define IWMStreamConfig3_GetStreamName(This,pwszStreamName,pcchStreamName) \ ( (This)->lpVtbl -> GetStreamName(This,pwszStreamName,pcchStreamName) ) #define IWMStreamConfig3_SetStreamName(This,pwszStreamName) \ ( (This)->lpVtbl -> SetStreamName(This,pwszStreamName) ) #define IWMStreamConfig3_GetConnectionName(This,pwszInputName,pcchInputName) \ ( (This)->lpVtbl -> GetConnectionName(This,pwszInputName,pcchInputName) ) #define IWMStreamConfig3_SetConnectionName(This,pwszInputName) \ ( (This)->lpVtbl -> SetConnectionName(This,pwszInputName) ) #define IWMStreamConfig3_GetBitrate(This,pdwBitrate) \ ( (This)->lpVtbl -> GetBitrate(This,pdwBitrate) ) #define IWMStreamConfig3_SetBitrate(This,pdwBitrate) \ ( (This)->lpVtbl -> SetBitrate(This,pdwBitrate) ) #define IWMStreamConfig3_GetBufferWindow(This,pmsBufferWindow) \ ( (This)->lpVtbl -> GetBufferWindow(This,pmsBufferWindow) ) #define IWMStreamConfig3_SetBufferWindow(This,msBufferWindow) \ ( (This)->lpVtbl -> SetBufferWindow(This,msBufferWindow) ) #define IWMStreamConfig3_GetTransportType(This,pnTransportType) \ ( (This)->lpVtbl -> GetTransportType(This,pnTransportType) ) #define IWMStreamConfig3_SetTransportType(This,nTransportType) \ ( (This)->lpVtbl -> SetTransportType(This,nTransportType) ) #define IWMStreamConfig3_AddDataUnitExtension(This,guidExtensionSystemID,cbExtensionDataSize,pbExtensionSystemInfo,cbExtensionSystemInfo) \ ( (This)->lpVtbl -> AddDataUnitExtension(This,guidExtensionSystemID,cbExtensionDataSize,pbExtensionSystemInfo,cbExtensionSystemInfo) ) #define IWMStreamConfig3_GetDataUnitExtensionCount(This,pcDataUnitExtensions) \ ( (This)->lpVtbl -> GetDataUnitExtensionCount(This,pcDataUnitExtensions) ) #define IWMStreamConfig3_GetDataUnitExtension(This,wDataUnitExtensionNumber,pguidExtensionSystemID,pcbExtensionDataSize,pbExtensionSystemInfo,pcbExtensionSystemInfo) \ ( (This)->lpVtbl -> GetDataUnitExtension(This,wDataUnitExtensionNumber,pguidExtensionSystemID,pcbExtensionDataSize,pbExtensionSystemInfo,pcbExtensionSystemInfo) ) #define IWMStreamConfig3_RemoveAllDataUnitExtensions(This) \ ( (This)->lpVtbl -> RemoveAllDataUnitExtensions(This) ) #define IWMStreamConfig3_GetLanguage(This,pwszLanguageString,pcchLanguageStringLength) \ ( (This)->lpVtbl -> GetLanguage(This,pwszLanguageString,pcchLanguageStringLength) ) #define IWMStreamConfig3_SetLanguage(This,pwszLanguageString) \ ( (This)->lpVtbl -> SetLanguage(This,pwszLanguageString) ) #endif /* COBJMACROS */ #endif /* C style interface */ #endif /* __IWMStreamConfig3_INTERFACE_DEFINED__ */ #ifndef __IWMPacketSize_INTERFACE_DEFINED__ #define __IWMPacketSize_INTERFACE_DEFINED__ /* interface IWMPacketSize */ /* [local][unique][helpstring][uuid][object] */ EXTERN_C const IID IID_IWMPacketSize; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("CDFB97AB-188F-40b3-B643-5B7903975C59") IWMPacketSize : public IUnknown { public: virtual HRESULT STDMETHODCALLTYPE GetMaxPacketSize( /* [out] */ DWORD *pdwMaxPacketSize) = 0; virtual HRESULT STDMETHODCALLTYPE SetMaxPacketSize( /* [in] */ DWORD dwMaxPacketSize) = 0; }; #else /* C style interface */ typedef struct IWMPacketSizeVtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IWMPacketSize * This, /* [in] */ REFIID riid, /* [annotation][iid_is][out] */ __RPC__deref_out void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IWMPacketSize * This); ULONG ( STDMETHODCALLTYPE *Release )( IWMPacketSize * This); HRESULT ( STDMETHODCALLTYPE *GetMaxPacketSize )( IWMPacketSize * This, /* [out] */ DWORD *pdwMaxPacketSize); HRESULT ( STDMETHODCALLTYPE *SetMaxPacketSize )( IWMPacketSize * This, /* [in] */ DWORD dwMaxPacketSize); END_INTERFACE } IWMPacketSizeVtbl; interface IWMPacketSize { CONST_VTBL struct IWMPacketSizeVtbl *lpVtbl; }; #ifdef COBJMACROS #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) ) #define IWMPacketSize_GetMaxPacketSize(This,pdwMaxPacketSize) \ ( (This)->lpVtbl -> GetMaxPacketSize(This,pdwMaxPacketSize) ) #define IWMPacketSize_SetMaxPacketSize(This,dwMaxPacketSize) \ ( (This)->lpVtbl -> SetMaxPacketSize(This,dwMaxPacketSize) ) #endif /* COBJMACROS */ #endif /* C style interface */ #endif /* __IWMPacketSize_INTERFACE_DEFINED__ */ #ifndef __IWMPacketSize2_INTERFACE_DEFINED__ #define __IWMPacketSize2_INTERFACE_DEFINED__ /* interface IWMPacketSize2 */ /* [local][unique][helpstring][uuid][object] */ EXTERN_C const IID IID_IWMPacketSize2; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("8BFC2B9E-B646-4233-A877-1C6A079669DC") IWMPacketSize2 : public IWMPacketSize { public: virtual HRESULT STDMETHODCALLTYPE GetMinPacketSize( /* [out] */ DWORD *pdwMinPacketSize) = 0; virtual HRESULT STDMETHODCALLTYPE SetMinPacketSize( /* [in] */ DWORD dwMinPacketSize) = 0; }; #else /* C style interface */ typedef struct IWMPacketSize2Vtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IWMPacketSize2 * This, /* [in] */ REFIID riid, /* [annotation][iid_is][out] */ __RPC__deref_out void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IWMPacketSize2 * This); ULONG ( STDMETHODCALLTYPE *Release )( IWMPacketSize2 * This); HRESULT ( STDMETHODCALLTYPE *GetMaxPacketSize )( IWMPacketSize2 * This, /* [out] */ DWORD *pdwMaxPacketSize); HRESULT ( STDMETHODCALLTYPE *SetMaxPacketSize )( IWMPacketSize2 * This, /* [in] */ DWORD dwMaxPacketSize); HRESULT ( STDMETHODCALLTYPE *GetMinPacketSize )( IWMPacketSize2 * This, /* [out] */ DWORD *pdwMinPacketSize); HRESULT ( STDMETHODCALLTYPE *SetMinPacketSize )( IWMPacketSize2 * This, /* [in] */ DWORD dwMinPacketSize); END_INTERFACE } IWMPacketSize2Vtbl; interface IWMPacketSize2 { CONST_VTBL struct IWMPacketSize2Vtbl *lpVtbl; }; #ifdef COBJMACROS #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) ) #define IWMPacketSize2_GetMaxPacketSize(This,pdwMaxPacketSize) \ ( (This)->lpVtbl -> GetMaxPacketSize(This,pdwMaxPacketSize) ) #define IWMPacketSize2_SetMaxPacketSize(This,dwMaxPacketSize) \ ( (This)->lpVtbl -> SetMaxPacketSize(This,dwMaxPacketSize) ) #define IWMPacketSize2_GetMinPacketSize(This,pdwMinPacketSize) \ ( (This)->lpVtbl -> GetMinPacketSize(This,pdwMinPacketSize) ) #define IWMPacketSize2_SetMinPacketSize(This,dwMinPacketSize) \ ( (This)->lpVtbl -> SetMinPacketSize(This,dwMinPacketSize) ) #endif /* COBJMACROS */ #endif /* C style interface */ #endif /* __IWMPacketSize2_INTERFACE_DEFINED__ */ #ifndef __IWMStreamList_INTERFACE_DEFINED__ #define __IWMStreamList_INTERFACE_DEFINED__ /* interface IWMStreamList */ /* [local][unique][helpstring][uuid][object] */ EXTERN_C const IID IID_IWMStreamList; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("96406BDD-2B2B-11d3-B36B-00C04F6108FF") IWMStreamList : public IUnknown { public: virtual HRESULT STDMETHODCALLTYPE GetStreams( /* [size_is][out] */ WORD *pwStreamNumArray, /* [out][in] */ WORD *pcStreams) = 0; virtual HRESULT STDMETHODCALLTYPE AddStream( /* [in] */ WORD wStreamNum) = 0; virtual HRESULT STDMETHODCALLTYPE RemoveStream( /* [in] */ WORD wStreamNum) = 0; }; #else /* C style interface */ typedef struct IWMStreamListVtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IWMStreamList * This, /* [in] */ REFIID riid, /* [annotation][iid_is][out] */ __RPC__deref_out void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IWMStreamList * This); ULONG ( STDMETHODCALLTYPE *Release )( IWMStreamList * This); HRESULT ( STDMETHODCALLTYPE *GetStreams )( IWMStreamList * This, /* [size_is][out] */ WORD *pwStreamNumArray, /* [out][in] */ WORD *pcStreams); HRESULT ( STDMETHODCALLTYPE *AddStream )( IWMStreamList * This, /* [in] */ WORD wStreamNum); HRESULT ( STDMETHODCALLTYPE *RemoveStream )( IWMStreamList * This, /* [in] */ WORD wStreamNum); END_INTERFACE } IWMStreamListVtbl; interface IWMStreamList { CONST_VTBL struct IWMStreamListVtbl *lpVtbl; }; #ifdef COBJMACROS #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) ) #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) ) #endif /* COBJMACROS */ #endif /* C style interface */ #endif /* __IWMStreamList_INTERFACE_DEFINED__ */ #ifndef __IWMMutualExclusion_INTERFACE_DEFINED__ #define __IWMMutualExclusion_INTERFACE_DEFINED__ /* interface IWMMutualExclusion */ /* [local][unique][helpstring][uuid][object] */ EXTERN_C const IID IID_IWMMutualExclusion; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("96406BDE-2B2B-11d3-B36B-00C04F6108FF") IWMMutualExclusion : public IWMStreamList { public: virtual HRESULT STDMETHODCALLTYPE GetType( /* [out] */ GUID *pguidType) = 0; virtual HRESULT STDMETHODCALLTYPE SetType( /* [in] */ REFGUID guidType) = 0; }; #else /* C style interface */ typedef struct IWMMutualExclusionVtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IWMMutualExclusion * This, /* [in] */ REFIID riid, /* [annotation][iid_is][out] */ __RPC__deref_out void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IWMMutualExclusion * This); ULONG ( STDMETHODCALLTYPE *Release )( IWMMutualExclusion * This); HRESULT ( STDMETHODCALLTYPE *GetStreams )( IWMMutualExclusion * This, /* [size_is][out] */ WORD *pwStreamNumArray, /* [out][in] */ WORD *pcStreams); HRESULT ( STDMETHODCALLTYPE *AddStream )( IWMMutualExclusion * This, /* [in] */ WORD wStreamNum); HRESULT ( STDMETHODCALLTYPE *RemoveStream )( IWMMutualExclusion * This, /* [in] */ WORD wStreamNum); HRESULT ( STDMETHODCALLTYPE *GetType )( IWMMutualExclusion * This, /* [out] */ GUID *pguidType); HRESULT ( STDMETHODCALLTYPE *SetType )( IWMMutualExclusion * This, /* [in] */ REFGUID guidType); END_INTERFACE } IWMMutualExclusionVtbl; interface IWMMutualExclusion { CONST_VTBL struct IWMMutualExclusionVtbl *lpVtbl; }; #ifdef COBJMACROS #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) ) #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) ) #define IWMMutualExclusion_GetType(This,pguidType) \ ( (This)->lpVtbl -> GetType(This,pguidType) ) #define IWMMutualExclusion_SetType(This,guidType) \ ( (This)->lpVtbl -> SetType(This,guidType) ) #endif /* COBJMACROS */ #endif /* C style interface */ #endif /* __IWMMutualExclusion_INTERFACE_DEFINED__ */ #ifndef __IWMMutualExclusion2_INTERFACE_DEFINED__ #define __IWMMutualExclusion2_INTERFACE_DEFINED__ /* interface IWMMutualExclusion2 */ /* [local][unique][helpstring][uuid][object] */ EXTERN_C const IID IID_IWMMutualExclusion2; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("0302B57D-89D1-4ba2-85C9-166F2C53EB91") IWMMutualExclusion2 : public IWMMutualExclusion { public: virtual HRESULT STDMETHODCALLTYPE GetName( /* [size_is][out] */ WCHAR *pwszName, /* [out][in] */ WORD *pcchName) = 0; virtual HRESULT STDMETHODCALLTYPE SetName( /* [in] */ LPCWSTR_WMSDK_TYPE_SAFE pwszName) = 0; virtual HRESULT STDMETHODCALLTYPE GetRecordCount( /* [out] */ WORD *pwRecordCount) = 0; virtual HRESULT STDMETHODCALLTYPE AddRecord( void) = 0; virtual HRESULT STDMETHODCALLTYPE RemoveRecord( /* [in] */ WORD wRecordNumber) = 0; virtual HRESULT STDMETHODCALLTYPE GetRecordName( /* [in] */ WORD wRecordNumber, /* [size_is][out] */ WCHAR *pwszRecordName, /* [out][in] */ WORD *pcchRecordName) = 0; virtual HRESULT STDMETHODCALLTYPE SetRecordName( /* [in] */ WORD wRecordNumber, /* [in] */ LPCWSTR_WMSDK_TYPE_SAFE pwszRecordName) = 0; virtual HRESULT STDMETHODCALLTYPE GetStreamsForRecord( /* [in] */ WORD wRecordNumber, /* [size_is][out] */ WORD *pwStreamNumArray, /* [out][in] */ WORD *pcStreams) = 0; virtual HRESULT STDMETHODCALLTYPE AddStreamForRecord( /* [in] */ WORD wRecordNumber, /* [in] */ WORD wStreamNumber) = 0; virtual HRESULT STDMETHODCALLTYPE RemoveStreamForRecord( /* [in] */ WORD wRecordNumber, /* [in] */ WORD wStreamNumber) = 0; }; #else /* C style interface */ typedef struct IWMMutualExclusion2Vtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IWMMutualExclusion2 * This, /* [in] */ REFIID riid, /* [annotation][iid_is][out] */ __RPC__deref_out void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IWMMutualExclusion2 * This); ULONG ( STDMETHODCALLTYPE *Release )( IWMMutualExclusion2 * This); HRESULT ( STDMETHODCALLTYPE *GetStreams )( IWMMutualExclusion2 * This, /* [size_is][out] */ WORD *pwStreamNumArray, /* [out][in] */ WORD *pcStreams); HRESULT ( STDMETHODCALLTYPE *AddStream )( IWMMutualExclusion2 * This, /* [in] */ WORD wStreamNum); HRESULT ( STDMETHODCALLTYPE *RemoveStream )( IWMMutualExclusion2 * This, /* [in] */ WORD wStreamNum); HRESULT ( STDMETHODCALLTYPE *GetType )( IWMMutualExclusion2 * This, /* [out] */ GUID *pguidType); HRESULT ( STDMETHODCALLTYPE *SetType )( IWMMutualExclusion2 * This, /* [in] */ REFGUID guidType); HRESULT ( STDMETHODCALLTYPE *GetName )( IWMMutualExclusion2 * This, /* [size_is][out] */ WCHAR *pwszName, /* [out][in] */ WORD *pcchName); HRESULT ( STDMETHODCALLTYPE *SetName )( IWMMutualExclusion2 * This, /* [in] */ LPCWSTR_WMSDK_TYPE_SAFE pwszName); HRESULT ( STDMETHODCALLTYPE *GetRecordCount )( IWMMutualExclusion2 * This, /* [out] */ WORD *pwRecordCount); HRESULT ( STDMETHODCALLTYPE *AddRecord )( IWMMutualExclusion2 * This); HRESULT ( STDMETHODCALLTYPE *RemoveRecord )( IWMMutualExclusion2 * This, /* [in] */ WORD wRecordNumber); HRESULT ( STDMETHODCALLTYPE *GetRecordName )( IWMMutualExclusion2 * This, /* [in] */ WORD wRecordNumber, /* [size_is][out] */ WCHAR *pwszRecordName, /* [out][in] */ WORD *pcchRecordName); HRESULT ( STDMETHODCALLTYPE *SetRecordName )( IWMMutualExclusion2 * This, /* [in] */ WORD wRecordNumber, /* [in] */ LPCWSTR_WMSDK_TYPE_SAFE pwszRecordName); HRESULT ( STDMETHODCALLTYPE *GetStreamsForRecord )( IWMMutualExclusion2 * This, /* [in] */ WORD wRecordNumber, /* [size_is][out] */ WORD *pwStreamNumArray, /* [out][in] */ WORD *pcStreams); HRESULT ( STDMETHODCALLTYPE *AddStreamForRecord )( IWMMutualExclusion2 * This, /* [in] */ WORD wRecordNumber, /* [in] */ WORD wStreamNumber); HRESULT ( STDMETHODCALLTYPE *RemoveStreamForRecord )( IWMMutualExclusion2 * This, /* [in] */ WORD wRecordNumber, /* [in] */ WORD wStreamNumber); END_INTERFACE } IWMMutualExclusion2Vtbl; interface IWMMutualExclusion2 { CONST_VTBL struct IWMMutualExclusion2Vtbl *lpVtbl; }; #ifdef COBJMACROS #define IWMMutualExclusion2_QueryInterface(This,riid,ppvObject) \ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) #define IWMMutualExclusion2_AddRef(This) \ ( (This)->lpVtbl -> AddRef(This) ) #define IWMMutualExclusion2_Release(This) \ ( (This)->lpVtbl -> Release(This) ) #define IWMMutualExclusion2_GetStreams(This,pwStreamNumArray,pcStreams) \ ( (This)->lpVtbl -> GetStreams(This,pwStreamNumArray,pcStreams) ) #define IWMMutualExclusion2_AddStream(This,wStreamNum) \ ( (This)->lpVtbl -> AddStream(This,wStreamNum) ) #define IWMMutualExclusion2_RemoveStream(This,wStreamNum) \ ( (This)->lpVtbl -> RemoveStream(This,wStreamNum) ) #define IWMMutualExclusion2_GetType(This,pguidType) \ ( (This)->lpVtbl -> GetType(This,pguidType) ) #define IWMMutualExclusion2_SetType(This,guidType) \ ( (This)->lpVtbl -> SetType(This,guidType) ) #define IWMMutualExclusion2_GetName(This,pwszName,pcchName) \ ( (This)->lpVtbl -> GetName(This,pwszName,pcchName) ) #define IWMMutualExclusion2_SetName(This,pwszName) \ ( (This)->lpVtbl -> SetName(This,pwszName) ) #define IWMMutualExclusion2_GetRecordCount(This,pwRecordCount) \ ( (This)->lpVtbl -> GetRecordCount(This,pwRecordCount) ) #define IWMMutualExclusion2_AddRecord(This) \ ( (This)->lpVtbl -> AddRecord(This) ) #define IWMMutualExclusion2_RemoveRecord(This,wRecordNumber) \ ( (This)->lpVtbl -> RemoveRecord(This,wRecordNumber) ) #define IWMMutualExclusion2_GetRecordName(This,wRecordNumber,pwszRecordName,pcchRecordName) \ ( (This)->lpVtbl -> GetRecordName(This,wRecordNumber,pwszRecordName,pcchRecordName) ) #define IWMMutualExclusion2_SetRecordName(This,wRecordNumber,pwszRecordName) \ ( (This)->lpVtbl -> SetRecordName(This,wRecordNumber,pwszRecordName) ) #define IWMMutualExclusion2_GetStreamsForRecord(This,wRecordNumber,pwStreamNumArray,pcStreams) \ ( (This)->lpVtbl -> GetStreamsForRecord(This,wRecordNumber,pwStreamNumArray,pcStreams) ) #define IWMMutualExclusion2_AddStreamForRecord(This,wRecordNumber,wStreamNumber) \ ( (This)->lpVtbl -> AddStreamForRecord(This,wRecordNumber,wStreamNumber) ) #define IWMMutualExclusion2_RemoveStreamForRecord(This,wRecordNumber,wStreamNumber) \ ( (This)->lpVtbl -> RemoveStreamForRecord(This,wRecordNumber,wStreamNumber) ) #endif /* COBJMACROS */ #endif /* C style interface */ #endif /* __IWMMutualExclusion2_INTERFACE_DEFINED__ */ #ifndef __IWMBandwidthSharing_INTERFACE_DEFINED__ #define __IWMBandwidthSharing_INTERFACE_DEFINED__ /* interface IWMBandwidthSharing */ /* [local][unique][helpstring][uuid][object] */ EXTERN_C const IID IID_IWMBandwidthSharing; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("AD694AF1-F8D9-42F8-BC47-70311B0C4F9E") IWMBandwidthSharing : public IWMStreamList { public: virtual HRESULT STDMETHODCALLTYPE GetType( /* [out] */ GUID *pguidType) = 0; virtual HRESULT STDMETHODCALLTYPE SetType( /* [in] */ REFGUID guidType) = 0; virtual HRESULT STDMETHODCALLTYPE GetBandwidth( /* [out] */ DWORD *pdwBitrate, /* [out] */ DWORD *pmsBufferWindow) = 0; virtual HRESULT STDMETHODCALLTYPE SetBandwidth( /* [in] */ DWORD dwBitrate, /* [in] */ DWORD msBufferWindow) = 0; }; #else /* C style interface */ typedef struct IWMBandwidthSharingVtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IWMBandwidthSharing * This, /* [in] */ REFIID riid, /* [annotation][iid_is][out] */ __RPC__deref_out void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IWMBandwidthSharing * This); ULONG ( STDMETHODCALLTYPE *Release )( IWMBandwidthSharing * This); HRESULT ( STDMETHODCALLTYPE *GetStreams )( IWMBandwidthSharing * This, /* [size_is][out] */ WORD *pwStreamNumArray, /* [out][in] */ WORD *pcStreams); HRESULT ( STDMETHODCALLTYPE *AddStream )( IWMBandwidthSharing * This, /* [in] */ WORD wStreamNum); HRESULT ( STDMETHODCALLTYPE *RemoveStream )( IWMBandwidthSharing * This, /* [in] */ WORD wStreamNum); HRESULT ( STDMETHODCALLTYPE *GetType )( IWMBandwidthSharing * This, /* [out] */ GUID *pguidType); HRESULT ( STDMETHODCALLTYPE *SetType )( IWMBandwidthSharing * This, /* [in] */ REFGUID guidType); HRESULT ( STDMETHODCALLTYPE *GetBandwidth )( IWMBandwidthSharing * This, /* [out] */ DWORD *pdwBitrate, /* [out] */ DWORD *pmsBufferWindow); HRESULT ( STDMETHODCALLTYPE *SetBandwidth )( IWMBandwidthSharing * This, /* [in] */ DWORD dwBitrate, /* [in] */ DWORD msBufferWindow); END_INTERFACE } IWMBandwidthSharingVtbl; interface IWMBandwidthSharing { CONST_VTBL struct IWMBandwidthSharingVtbl *lpVtbl; }; #ifdef COBJMACROS #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) ) #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) ) #define IWMBandwidthSharing_GetType(This,pguidType) \ ( (This)->lpVtbl -> GetType(This,pguidType) ) #define IWMBandwidthSharing_SetType(This,guidType) \ ( (This)->lpVtbl -> SetType(This,guidType) ) #define IWMBandwidthSharing_GetBandwidth(This,pdwBitrate,pmsBufferWindow) \ ( (This)->lpVtbl -> GetBandwidth(This,pdwBitrate,pmsBufferWindow) ) #define IWMBandwidthSharing_SetBandwidth(This,dwBitrate,msBufferWindow) \ ( (This)->lpVtbl -> SetBandwidth(This,dwBitrate,msBufferWindow) ) #endif /* COBJMACROS */ #endif /* C style interface */ #endif /* __IWMBandwidthSharing_INTERFACE_DEFINED__ */ #ifndef __IWMStreamPrioritization_INTERFACE_DEFINED__ #define __IWMStreamPrioritization_INTERFACE_DEFINED__ /* interface IWMStreamPrioritization */ /* [local][unique][helpstring][uuid][object] */ EXTERN_C const IID IID_IWMStreamPrioritization; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("8C1C6090-F9A8-4748-8EC3-DD1108BA1E77") IWMStreamPrioritization : public IUnknown { public: virtual HRESULT STDMETHODCALLTYPE GetPriorityRecords( /* [size_is][out] */ WM_STREAM_PRIORITY_RECORD *pRecordArray, /* [out][in] */ WORD *pcRecords) = 0; virtual HRESULT STDMETHODCALLTYPE SetPriorityRecords( /* [in] */ WM_STREAM_PRIORITY_RECORD *pRecordArray, /* [in] */ WORD cRecords) = 0; }; #else /* C style interface */ typedef struct IWMStreamPrioritizationVtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IWMStreamPrioritization * This, /* [in] */ REFIID riid, /* [annotation][iid_is][out] */ __RPC__deref_out void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IWMStreamPrioritization * This); ULONG ( STDMETHODCALLTYPE *Release )( IWMStreamPrioritization * This); HRESULT ( STDMETHODCALLTYPE *GetPriorityRecords )( IWMStreamPrioritization * This, /* [size_is][out] */ WM_STREAM_PRIORITY_RECORD *pRecordArray, /* [out][in] */ WORD *pcRecords); HRESULT ( STDMETHODCALLTYPE *SetPriorityRecords )( IWMStreamPrioritization * This, /* [in] */ WM_STREAM_PRIORITY_RECORD *pRecordArray, /* [in] */ WORD cRecords); END_INTERFACE } IWMStreamPrioritizationVtbl; interface IWMStreamPrioritization { CONST_VTBL struct IWMStreamPrioritizationVtbl *lpVtbl; }; #ifdef COBJMACROS #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) ) #define IWMStreamPrioritization_GetPriorityRecords(This,pRecordArray,pcRecords) \ ( (This)->lpVtbl -> GetPriorityRecords(This,pRecordArray,pcRecords) ) #define IWMStreamPrioritization_SetPriorityRecords(This,pRecordArray,cRecords) \ ( (This)->lpVtbl -> SetPriorityRecords(This,pRecordArray,cRecords) ) #endif /* COBJMACROS */ #endif /* C style interface */ #endif /* __IWMStreamPrioritization_INTERFACE_DEFINED__ */ #ifndef __IWMWriterAdvanced_INTERFACE_DEFINED__ #define __IWMWriterAdvanced_INTERFACE_DEFINED__ /* interface IWMWriterAdvanced */ /* [local][unique][helpstring][uuid][object] */ EXTERN_C const IID IID_IWMWriterAdvanced; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("96406BE3-2B2B-11d3-B36B-00C04F6108FF") IWMWriterAdvanced : public IUnknown { public: virtual HRESULT STDMETHODCALLTYPE GetSinkCount( /* [out] */ DWORD *pcSinks) = 0; virtual HRESULT STDMETHODCALLTYPE GetSink( /* [in] */ DWORD dwSinkNum, /* [out] */ IWMWriterSink **ppSink) = 0; virtual HRESULT STDMETHODCALLTYPE AddSink( /* [in] */ IWMWriterSink *pSink) = 0; virtual HRESULT STDMETHODCALLTYPE RemoveSink( /* [in] */ IWMWriterSink *pSink) = 0; virtual HRESULT STDMETHODCALLTYPE WriteStreamSample( /* [in] */ WORD wStreamNum, /* [in] */ QWORD cnsSampleTime, /* [in] */ DWORD msSampleSendTime, /* [in] */ QWORD cnsSampleDuration, /* [in] */ DWORD dwFlags, /* [in] */ INSSBuffer *pSample) = 0; virtual HRESULT STDMETHODCALLTYPE SetLiveSource( BOOL fIsLiveSource) = 0; virtual HRESULT STDMETHODCALLTYPE IsRealTime( /* [out] */ BOOL *pfRealTime) = 0; virtual HRESULT STDMETHODCALLTYPE GetWriterTime( /* [out] */ QWORD *pcnsCurrentTime) = 0; virtual HRESULT STDMETHODCALLTYPE GetStatistics( /* [in] */ WORD wStreamNum, /* [out] */ WM_WRITER_STATISTICS *pStats) = 0; virtual HRESULT STDMETHODCALLTYPE SetSyncTolerance( /* [in] */ DWORD msWindow) = 0; virtual HRESULT STDMETHODCALLTYPE GetSyncTolerance( /* [out] */ DWORD *pmsWindow) = 0; }; #else /* C style interface */ typedef struct IWMWriterAdvancedVtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IWMWriterAdvanced * This, /* [in] */ REFIID riid, /* [annotation][iid_is][out] */ __RPC__deref_out void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IWMWriterAdvanced * This); ULONG ( STDMETHODCALLTYPE *Release )( IWMWriterAdvanced * This); HRESULT ( STDMETHODCALLTYPE *GetSinkCount )( IWMWriterAdvanced * This, /* [out] */ DWORD *pcSinks); HRESULT ( STDMETHODCALLTYPE *GetSink )( IWMWriterAdvanced * This, /* [in] */ DWORD dwSinkNum, /* [out] */ IWMWriterSink **ppSink); HRESULT ( STDMETHODCALLTYPE *AddSink )( IWMWriterAdvanced * This, /* [in] */ IWMWriterSink *pSink); HRESULT ( STDMETHODCALLTYPE *RemoveSink )( IWMWriterAdvanced * This, /* [in] */ IWMWriterSink *pSink); HRESULT ( STDMETHODCALLTYPE *WriteStreamSample )( IWMWriterAdvanced * This, /* [in] */ WORD wStreamNum, /* [in] */ QWORD cnsSampleTime, /* [in] */ DWORD msSampleSendTime, /* [in] */ QWORD cnsSampleDuration, /* [in] */ DWORD dwFlags, /* [in] */ INSSBuffer *pSample); HRESULT ( STDMETHODCALLTYPE *SetLiveSource )( IWMWriterAdvanced * This, BOOL fIsLiveSource); HRESULT ( STDMETHODCALLTYPE *IsRealTime )( IWMWriterAdvanced * This, /* [out] */ BOOL *pfRealTime); HRESULT ( STDMETHODCALLTYPE *GetWriterTime )( IWMWriterAdvanced * This, /* [out] */ QWORD *pcnsCurrentTime); HRESULT ( STDMETHODCALLTYPE *GetStatistics )( IWMWriterAdvanced * This, /* [in] */ WORD wStreamNum, /* [out] */ WM_WRITER_STATISTICS *pStats); HRESULT ( STDMETHODCALLTYPE *SetSyncTolerance )( IWMWriterAdvanced * This, /* [in] */ DWORD msWindow); HRESULT ( STDMETHODCALLTYPE *GetSyncTolerance )( IWMWriterAdvanced * This, /* [out] */ DWORD *pmsWindow); END_INTERFACE } IWMWriterAdvancedVtbl; interface IWMWriterAdvanced { CONST_VTBL struct IWMWriterAdvancedVtbl *lpVtbl; }; #ifdef COBJMACROS #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) ) #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,pcnsCurrentTime) \ ( (This)->lpVtbl -> GetWriterTime(This,pcnsCurrentTime) ) #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) ) #endif /* COBJMACROS */ #endif /* C style interface */ #endif /* __IWMWriterAdvanced_INTERFACE_DEFINED__ */ #ifndef __IWMWriterAdvanced2_INTERFACE_DEFINED__ #define __IWMWriterAdvanced2_INTERFACE_DEFINED__ /* interface IWMWriterAdvanced2 */ /* [local][unique][helpstring][uuid][object] */ EXTERN_C const IID IID_IWMWriterAdvanced2; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("962dc1ec-c046-4db8-9cc7-26ceae500817") IWMWriterAdvanced2 : public IWMWriterAdvanced { public: virtual HRESULT STDMETHODCALLTYPE GetInputSetting( /* [in] */ DWORD dwInputNum, /* [in] */ LPCWSTR pszName, /* [out] */ WMT_ATTR_DATATYPE *pType, /* [size_is][out] */ BYTE *pValue, /* [out][in] */ WORD *pcbLength) = 0; virtual HRESULT STDMETHODCALLTYPE SetInputSetting( /* [in] */ DWORD dwInputNum, /* [in] */ LPCWSTR pszName, /* [in] */ WMT_ATTR_DATATYPE Type, /* [size_is][in] */ const BYTE *pValue, /* [in] */ WORD cbLength) = 0; }; #else /* C style interface */ typedef struct IWMWriterAdvanced2Vtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IWMWriterAdvanced2 * This, /* [in] */ REFIID riid, /* [annotation][iid_is][out] */ __RPC__deref_out void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IWMWriterAdvanced2 * This); ULONG ( STDMETHODCALLTYPE *Release )( IWMWriterAdvanced2 * This); HRESULT ( STDMETHODCALLTYPE *GetSinkCount )( IWMWriterAdvanced2 * This, /* [out] */ DWORD *pcSinks); HRESULT ( STDMETHODCALLTYPE *GetSink )( IWMWriterAdvanced2 * This, /* [in] */ DWORD dwSinkNum, /* [out] */ IWMWriterSink **ppSink); HRESULT ( STDMETHODCALLTYPE *AddSink )( IWMWriterAdvanced2 * This, /* [in] */ IWMWriterSink *pSink); HRESULT ( STDMETHODCALLTYPE *RemoveSink )( IWMWriterAdvanced2 * This, /* [in] */ IWMWriterSink *pSink); HRESULT ( STDMETHODCALLTYPE *WriteStreamSample )( IWMWriterAdvanced2 * This, /* [in] */ WORD wStreamNum, /* [in] */ QWORD cnsSampleTime, /* [in] */ DWORD msSampleSendTime, /* [in] */ QWORD cnsSampleDuration, /* [in] */ DWORD dwFlags, /* [in] */ INSSBuffer *pSample); HRESULT ( STDMETHODCALLTYPE *SetLiveSource )( IWMWriterAdvanced2 * This, BOOL fIsLiveSource); HRESULT ( STDMETHODCALLTYPE *IsRealTime )( IWMWriterAdvanced2 * This, /* [out] */ BOOL *pfRealTime); HRESULT ( STDMETHODCALLTYPE *GetWriterTime )( IWMWriterAdvanced2 * This, /* [out] */ QWORD *pcnsCurrentTime); HRESULT ( STDMETHODCALLTYPE *GetStatistics )( IWMWriterAdvanced2 * This, /* [in] */ WORD wStreamNum, /* [out] */ WM_WRITER_STATISTICS *pStats); HRESULT ( STDMETHODCALLTYPE *SetSyncTolerance )( IWMWriterAdvanced2 * This, /* [in] */ DWORD msWindow); HRESULT ( STDMETHODCALLTYPE *GetSyncTolerance )( IWMWriterAdvanced2 * This, /* [out] */ DWORD *pmsWindow); HRESULT ( STDMETHODCALLTYPE *GetInputSetting )( IWMWriterAdvanced2 * This, /* [in] */ DWORD dwInputNum, /* [in] */ LPCWSTR pszName, /* [out] */ WMT_ATTR_DATATYPE *pType, /* [size_is][out] */ BYTE *pValue, /* [out][in] */ WORD *pcbLength); HRESULT ( STDMETHODCALLTYPE *SetInputSetting )( IWMWriterAdvanced2 * This, /* [in] */ DWORD dwInputNum, /* [in] */ LPCWSTR pszName, /* [in] */ WMT_ATTR_DATATYPE Type, /* [size_is][in] */ const BYTE *pValue, /* [in] */ WORD cbLength); END_INTERFACE } IWMWriterAdvanced2Vtbl; interface IWMWriterAdvanced2 { CONST_VTBL struct IWMWriterAdvanced2Vtbl *lpVtbl; }; #ifdef COBJMACROS #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) ) #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,pcnsCurrentTime) \ ( (This)->lpVtbl -> GetWriterTime(This,pcnsCurrentTime) ) #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) ) #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) ) #endif /* COBJMACROS */ #endif /* C style interface */ #endif /* __IWMWriterAdvanced2_INTERFACE_DEFINED__ */ #ifndef __IWMWriterAdvanced3_INTERFACE_DEFINED__ #define __IWMWriterAdvanced3_INTERFACE_DEFINED__ /* interface IWMWriterAdvanced3 */ /* [local][unique][helpstring][uuid][object] */ EXTERN_C const IID IID_IWMWriterAdvanced3; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("2cd6492d-7c37-4e76-9d3b-59261183a22e") IWMWriterAdvanced3 : public IWMWriterAdvanced2 { public: virtual HRESULT STDMETHODCALLTYPE GetStatisticsEx( /* [in] */ WORD wStreamNum, /* [out] */ WM_WRITER_STATISTICS_EX *pStats) = 0; virtual HRESULT STDMETHODCALLTYPE SetNonBlocking( void) = 0; }; #else /* C style interface */ typedef struct IWMWriterAdvanced3Vtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IWMWriterAdvanced3 * This, /* [in] */ REFIID riid, /* [annotation][iid_is][out] */ __RPC__deref_out void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IWMWriterAdvanced3 * This); ULONG ( STDMETHODCALLTYPE *Release )( IWMWriterAdvanced3 * This); HRESULT ( STDMETHODCALLTYPE *GetSinkCount )( IWMWriterAdvanced3 * This, /* [out] */ DWORD *pcSinks); HRESULT ( STDMETHODCALLTYPE *GetSink )( IWMWriterAdvanced3 * This, /* [in] */ DWORD dwSinkNum, /* [out] */ IWMWriterSink **ppSink); HRESULT ( STDMETHODCALLTYPE *AddSink )( IWMWriterAdvanced3 * This, /* [in] */ IWMWriterSink *pSink); HRESULT ( STDMETHODCALLTYPE *RemoveSink )( IWMWriterAdvanced3 * This, /* [in] */ IWMWriterSink *pSink); HRESULT ( STDMETHODCALLTYPE *WriteStreamSample )( IWMWriterAdvanced3 * This, /* [in] */ WORD wStreamNum, /* [in] */ QWORD cnsSampleTime, /* [in] */ DWORD msSampleSendTime, /* [in] */ QWORD cnsSampleDuration, /* [in] */ DWORD dwFlags, /* [in] */ INSSBuffer *pSample); HRESULT ( STDMETHODCALLTYPE *SetLiveSource )( IWMWriterAdvanced3 * This, BOOL fIsLiveSource); HRESULT ( STDMETHODCALLTYPE *IsRealTime )( IWMWriterAdvanced3 * This, /* [out] */ BOOL *pfRealTime); HRESULT ( STDMETHODCALLTYPE *GetWriterTime )( IWMWriterAdvanced3 * This, /* [out] */ QWORD *pcnsCurrentTime); HRESULT ( STDMETHODCALLTYPE *GetStatistics )( IWMWriterAdvanced3 * This, /* [in] */ WORD wStreamNum, /* [out] */ WM_WRITER_STATISTICS *pStats); HRESULT ( STDMETHODCALLTYPE *SetSyncTolerance )( IWMWriterAdvanced3 * This, /* [in] */ DWORD msWindow); HRESULT ( STDMETHODCALLTYPE *GetSyncTolerance )( IWMWriterAdvanced3 * This, /* [out] */ DWORD *pmsWindow); HRESULT ( STDMETHODCALLTYPE *GetInputSetting )( IWMWriterAdvanced3 * This, /* [in] */ DWORD dwInputNum, /* [in] */ LPCWSTR pszName, /* [out] */ WMT_ATTR_DATATYPE *pType, /* [size_is][out] */ BYTE *pValue, /* [out][in] */ WORD *pcbLength); HRESULT ( STDMETHODCALLTYPE *SetInputSetting )( IWMWriterAdvanced3 * This, /* [in] */ DWORD dwInputNum, /* [in] */ LPCWSTR pszName, /* [in] */ WMT_ATTR_DATATYPE Type, /* [size_is][in] */ const BYTE *pValue, /* [in] */ WORD cbLength); HRESULT ( STDMETHODCALLTYPE *GetStatisticsEx )( IWMWriterAdvanced3 * This, /* [in] */ WORD wStreamNum, /* [out] */ WM_WRITER_STATISTICS_EX *pStats); HRESULT ( STDMETHODCALLTYPE *SetNonBlocking )( IWMWriterAdvanced3 * This); END_INTERFACE } IWMWriterAdvanced3Vtbl; interface IWMWriterAdvanced3 { CONST_VTBL struct IWMWriterAdvanced3Vtbl *lpVtbl; }; #ifdef COBJMACROS #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) ) #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,pcnsCurrentTime) \ ( (This)->lpVtbl -> GetWriterTime(This,pcnsCurrentTime) ) #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) ) #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) ) #define IWMWriterAdvanced3_GetStatisticsEx(This,wStreamNum,pStats) \ ( (This)->lpVtbl -> GetStatisticsEx(This,wStreamNum,pStats) ) #define IWMWriterAdvanced3_SetNonBlocking(This) \ ( (This)->lpVtbl -> SetNonBlocking(This) ) #endif /* COBJMACROS */ #endif /* C style interface */ #endif /* __IWMWriterAdvanced3_INTERFACE_DEFINED__ */ #ifndef __IWMWriterPreprocess_INTERFACE_DEFINED__ #define __IWMWriterPreprocess_INTERFACE_DEFINED__ /* interface IWMWriterPreprocess */ /* [local][unique][helpstring][uuid][object] */ EXTERN_C const IID IID_IWMWriterPreprocess; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("fc54a285-38c4-45b5-aa23-85b9f7cb424b") IWMWriterPreprocess : public IUnknown { public: virtual HRESULT STDMETHODCALLTYPE GetMaxPreprocessingPasses( /* [in] */ DWORD dwInputNum, /* [in] */ DWORD dwFlags, /* [out] */ DWORD *pdwMaxNumPasses) = 0; virtual HRESULT STDMETHODCALLTYPE SetNumPreprocessingPasses( /* [in] */ DWORD dwInputNum, /* [in] */ DWORD dwFlags, /* [in] */ DWORD dwNumPasses) = 0; virtual HRESULT STDMETHODCALLTYPE BeginPreprocessingPass( /* [in] */ DWORD dwInputNum, /* [in] */ DWORD dwFlags) = 0; virtual HRESULT STDMETHODCALLTYPE PreprocessSample( /* [in] */ DWORD dwInputNum, /* [in] */ QWORD cnsSampleTime, /* [in] */ DWORD dwFlags, /* [in] */ INSSBuffer *pSample) = 0; virtual HRESULT STDMETHODCALLTYPE EndPreprocessingPass( /* [in] */ DWORD dwInputNum, /* [in] */ DWORD dwFlags) = 0; }; #else /* C style interface */ typedef struct IWMWriterPreprocessVtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IWMWriterPreprocess * This, /* [in] */ REFIID riid, /* [annotation][iid_is][out] */ __RPC__deref_out void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IWMWriterPreprocess * This); ULONG ( STDMETHODCALLTYPE *Release )( IWMWriterPreprocess * This); HRESULT ( STDMETHODCALLTYPE *GetMaxPreprocessingPasses )( IWMWriterPreprocess * This, /* [in] */ DWORD dwInputNum, /* [in] */ DWORD dwFlags, /* [out] */ DWORD *pdwMaxNumPasses); HRESULT ( STDMETHODCALLTYPE *SetNumPreprocessingPasses )( IWMWriterPreprocess * This, /* [in] */ DWORD dwInputNum, /* [in] */ DWORD dwFlags, /* [in] */ DWORD dwNumPasses); HRESULT ( STDMETHODCALLTYPE *BeginPreprocessingPass )( IWMWriterPreprocess * This, /* [in] */ DWORD dwInputNum, /* [in] */ DWORD dwFlags); HRESULT ( STDMETHODCALLTYPE *PreprocessSample )( IWMWriterPreprocess * This, /* [in] */ DWORD dwInputNum, /* [in] */ QWORD cnsSampleTime, /* [in] */ DWORD dwFlags, /* [in] */ INSSBuffer *pSample); HRESULT ( STDMETHODCALLTYPE *EndPreprocessingPass )( IWMWriterPreprocess * This, /* [in] */ DWORD dwInputNum, /* [in] */ DWORD dwFlags); END_INTERFACE } IWMWriterPreprocessVtbl; interface IWMWriterPreprocess { CONST_VTBL struct IWMWriterPreprocessVtbl *lpVtbl; }; #ifdef COBJMACROS #define IWMWriterPreprocess_QueryInterface(This,riid,ppvObject) \ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) #define IWMWriterPreprocess_AddRef(This) \ ( (This)->lpVtbl -> AddRef(This) ) #define IWMWriterPreprocess_Release(This) \ ( (This)->lpVtbl -> Release(This) ) #define IWMWriterPreprocess_GetMaxPreprocessingPasses(This,dwInputNum,dwFlags,pdwMaxNumPasses) \ ( (This)->lpVtbl -> GetMaxPreprocessingPasses(This,dwInputNum,dwFlags,pdwMaxNumPasses) ) #define IWMWriterPreprocess_SetNumPreprocessingPasses(This,dwInputNum,dwFlags,dwNumPasses) \ ( (This)->lpVtbl -> SetNumPreprocessingPasses(This,dwInputNum,dwFlags,dwNumPasses) ) #define IWMWriterPreprocess_BeginPreprocessingPass(This,dwInputNum,dwFlags) \ ( (This)->lpVtbl -> BeginPreprocessingPass(This,dwInputNum,dwFlags) ) #define IWMWriterPreprocess_PreprocessSample(This,dwInputNum,cnsSampleTime,dwFlags,pSample) \ ( (This)->lpVtbl -> PreprocessSample(This,dwInputNum,cnsSampleTime,dwFlags,pSample) ) #define IWMWriterPreprocess_EndPreprocessingPass(This,dwInputNum,dwFlags) \ ( (This)->lpVtbl -> EndPreprocessingPass(This,dwInputNum,dwFlags) ) #endif /* COBJMACROS */ #endif /* C style interface */ #endif /* __IWMWriterPreprocess_INTERFACE_DEFINED__ */ #ifndef __IWMWriterPostViewCallback_INTERFACE_DEFINED__ #define __IWMWriterPostViewCallback_INTERFACE_DEFINED__ /* interface IWMWriterPostViewCallback */ /* [local][unique][helpstring][uuid][object] */ EXTERN_C const IID IID_IWMWriterPostViewCallback; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("D9D6549D-A193-4f24-B308-03123D9B7F8D") IWMWriterPostViewCallback : public IWMStatusCallback { public: virtual HRESULT STDMETHODCALLTYPE OnPostViewSample( /* [in] */ WORD wStreamNumber, /* [in] */ QWORD cnsSampleTime, /* [in] */ QWORD cnsSampleDuration, /* [in] */ DWORD dwFlags, /* [in] */ INSSBuffer *pSample, /* [in] */ void *pvContext) = 0; virtual HRESULT STDMETHODCALLTYPE AllocateForPostView( /* [in] */ WORD wStreamNum, /* [in] */ DWORD cbBuffer, /* [out] */ INSSBuffer **ppBuffer, /* [in] */ void *pvContext) = 0; }; #else /* C style interface */ typedef struct IWMWriterPostViewCallbackVtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IWMWriterPostViewCallback * This, /* [in] */ REFIID riid, /* [annotation][iid_is][out] */ __RPC__deref_out void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IWMWriterPostViewCallback * This); ULONG ( STDMETHODCALLTYPE *Release )( IWMWriterPostViewCallback * This); HRESULT ( STDMETHODCALLTYPE *OnStatus )( IWMWriterPostViewCallback * This, /* [in] */ WMT_STATUS Status, /* [in] */ HRESULT hr, /* [in] */ WMT_ATTR_DATATYPE dwType, /* [in] */ BYTE *pValue, /* [in] */ void *pvContext); HRESULT ( STDMETHODCALLTYPE *OnPostViewSample )( IWMWriterPostViewCallback * This, /* [in] */ WORD wStreamNumber, /* [in] */ QWORD cnsSampleTime, /* [in] */ QWORD cnsSampleDuration, /* [in] */ DWORD dwFlags, /* [in] */ INSSBuffer *pSample, /* [in] */ void *pvContext); HRESULT ( STDMETHODCALLTYPE *AllocateForPostView )( IWMWriterPostViewCallback * This, /* [in] */ WORD wStreamNum, /* [in] */ DWORD cbBuffer, /* [out] */ INSSBuffer **ppBuffer, /* [in] */ void *pvContext); END_INTERFACE } IWMWriterPostViewCallbackVtbl; interface IWMWriterPostViewCallback { CONST_VTBL struct IWMWriterPostViewCallbackVtbl *lpVtbl; }; #ifdef COBJMACROS #define IWMWriterPostViewCallback_QueryInterface(This,riid,ppvObject) \ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) #define IWMWriterPostViewCallback_AddRef(This) \ ( (This)->lpVtbl -> AddRef(This) ) #define IWMWriterPostViewCallback_Release(This) \ ( (This)->lpVtbl -> Release(This) ) #define IWMWriterPostViewCallback_OnStatus(This,Status,hr,dwType,pValue,pvContext) \ ( (This)->lpVtbl -> OnStatus(This,Status,hr,dwType,pValue,pvContext) ) #define IWMWriterPostViewCallback_OnPostViewSample(This,wStreamNumber,cnsSampleTime,cnsSampleDuration,dwFlags,pSample,pvContext) \ ( (This)->lpVtbl -> OnPostViewSample(This,wStreamNumber,cnsSampleTime,cnsSampleDuration,dwFlags,pSample,pvContext) ) #define IWMWriterPostViewCallback_AllocateForPostView(This,wStreamNum,cbBuffer,ppBuffer,pvContext) \ ( (This)->lpVtbl -> AllocateForPostView(This,wStreamNum,cbBuffer,ppBuffer,pvContext) ) #endif /* COBJMACROS */ #endif /* C style interface */ #endif /* __IWMWriterPostViewCallback_INTERFACE_DEFINED__ */ #ifndef __IWMWriterPostView_INTERFACE_DEFINED__ #define __IWMWriterPostView_INTERFACE_DEFINED__ /* interface IWMWriterPostView */ /* [local][unique][helpstring][uuid][object] */ EXTERN_C const IID IID_IWMWriterPostView; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("81E20CE4-75EF-491a-8004-FC53C45BDC3E") IWMWriterPostView : public IUnknown { public: virtual HRESULT STDMETHODCALLTYPE SetPostViewCallback( IWMWriterPostViewCallback *pCallback, void *pvContext) = 0; virtual HRESULT STDMETHODCALLTYPE SetReceivePostViewSamples( /* [in] */ WORD wStreamNum, /* [in] */ BOOL fReceivePostViewSamples) = 0; virtual HRESULT STDMETHODCALLTYPE GetReceivePostViewSamples( /* [in] */ WORD wStreamNum, /* [out] */ BOOL *pfReceivePostViewSamples) = 0; virtual HRESULT STDMETHODCALLTYPE GetPostViewProps( /* [in] */ WORD wStreamNumber, /* [out] */ IWMMediaProps **ppOutput) = 0; virtual HRESULT STDMETHODCALLTYPE SetPostViewProps( /* [in] */ WORD wStreamNumber, /* [in] */ IWMMediaProps *pOutput) = 0; virtual HRESULT STDMETHODCALLTYPE GetPostViewFormatCount( /* [in] */ WORD wStreamNumber, /* [out] */ DWORD *pcFormats) = 0; virtual HRESULT STDMETHODCALLTYPE GetPostViewFormat( /* [in] */ WORD wStreamNumber, /* [in] */ DWORD dwFormatNumber, /* [out] */ IWMMediaProps **ppProps) = 0; virtual HRESULT STDMETHODCALLTYPE SetAllocateForPostView( /* [in] */ WORD wStreamNumber, /* [in] */ BOOL fAllocate) = 0; virtual HRESULT STDMETHODCALLTYPE GetAllocateForPostView( /* [in] */ WORD wStreamNumber, /* [out] */ BOOL *pfAllocate) = 0; }; #else /* C style interface */ typedef struct IWMWriterPostViewVtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IWMWriterPostView * This, /* [in] */ REFIID riid, /* [annotation][iid_is][out] */ __RPC__deref_out void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IWMWriterPostView * This); ULONG ( STDMETHODCALLTYPE *Release )( IWMWriterPostView * This); HRESULT ( STDMETHODCALLTYPE *SetPostViewCallback )( IWMWriterPostView * This, IWMWriterPostViewCallback *pCallback, void *pvContext); HRESULT ( STDMETHODCALLTYPE *SetReceivePostViewSamples )( IWMWriterPostView * This, /* [in] */ WORD wStreamNum, /* [in] */ BOOL fReceivePostViewSamples); HRESULT ( STDMETHODCALLTYPE *GetReceivePostViewSamples )( IWMWriterPostView * This, /* [in] */ WORD wStreamNum, /* [out] */ BOOL *pfReceivePostViewSamples); HRESULT ( STDMETHODCALLTYPE *GetPostViewProps )( IWMWriterPostView * This, /* [in] */ WORD wStreamNumber, /* [out] */ IWMMediaProps **ppOutput); HRESULT ( STDMETHODCALLTYPE *SetPostViewProps )( IWMWriterPostView * This, /* [in] */ WORD wStreamNumber, /* [in] */ IWMMediaProps *pOutput); HRESULT ( STDMETHODCALLTYPE *GetPostViewFormatCount )( IWMWriterPostView * This, /* [in] */ WORD wStreamNumber, /* [out] */ DWORD *pcFormats); HRESULT ( STDMETHODCALLTYPE *GetPostViewFormat )( IWMWriterPostView * This, /* [in] */ WORD wStreamNumber, /* [in] */ DWORD dwFormatNumber, /* [out] */ IWMMediaProps **ppProps); HRESULT ( STDMETHODCALLTYPE *SetAllocateForPostView )( IWMWriterPostView * This, /* [in] */ WORD wStreamNumber, /* [in] */ BOOL fAllocate); HRESULT ( STDMETHODCALLTYPE *GetAllocateForPostView )( IWMWriterPostView * This, /* [in] */ WORD wStreamNumber, /* [out] */ BOOL *pfAllocate); END_INTERFACE } IWMWriterPostViewVtbl; interface IWMWriterPostView { CONST_VTBL struct IWMWriterPostViewVtbl *lpVtbl; }; #ifdef COBJMACROS #define IWMWriterPostView_QueryInterface(This,riid,ppvObject) \ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) #define IWMWriterPostView_AddRef(This) \ ( (This)->lpVtbl -> AddRef(This) ) #define IWMWriterPostView_Release(This) \ ( (This)->lpVtbl -> Release(This) ) #define IWMWriterPostView_SetPostViewCallback(This,pCallback,pvContext) \ ( (This)->lpVtbl -> SetPostViewCallback(This,pCallback,pvContext) ) #define IWMWriterPostView_SetReceivePostViewSamples(This,wStreamNum,fReceivePostViewSamples) \ ( (This)->lpVtbl -> SetReceivePostViewSamples(This,wStreamNum,fReceivePostViewSamples) ) #define IWMWriterPostView_GetReceivePostViewSamples(This,wStreamNum,pfReceivePostViewSamples) \ ( (This)->lpVtbl -> GetReceivePostViewSamples(This,wStreamNum,pfReceivePostViewSamples) ) #define IWMWriterPostView_GetPostViewProps(This,wStreamNumber,ppOutput) \ ( (This)->lpVtbl -> GetPostViewProps(This,wStreamNumber,ppOutput) ) #define IWMWriterPostView_SetPostViewProps(This,wStreamNumber,pOutput) \ ( (This)->lpVtbl -> SetPostViewProps(This,wStreamNumber,pOutput) ) #define IWMWriterPostView_GetPostViewFormatCount(This,wStreamNumber,pcFormats) \ ( (This)->lpVtbl -> GetPostViewFormatCount(This,wStreamNumber,pcFormats) ) #define IWMWriterPostView_GetPostViewFormat(This,wStreamNumber,dwFormatNumber,ppProps) \ ( (This)->lpVtbl -> GetPostViewFormat(This,wStreamNumber,dwFormatNumber,ppProps) ) #define IWMWriterPostView_SetAllocateForPostView(This,wStreamNumber,fAllocate) \ ( (This)->lpVtbl -> SetAllocateForPostView(This,wStreamNumber,fAllocate) ) #define IWMWriterPostView_GetAllocateForPostView(This,wStreamNumber,pfAllocate) \ ( (This)->lpVtbl -> GetAllocateForPostView(This,wStreamNumber,pfAllocate) ) #endif /* COBJMACROS */ #endif /* C style interface */ #endif /* __IWMWriterPostView_INTERFACE_DEFINED__ */ #ifndef __IWMWriterSink_INTERFACE_DEFINED__ #define __IWMWriterSink_INTERFACE_DEFINED__ /* interface IWMWriterSink */ /* [local][unique][helpstring][uuid][object] */ EXTERN_C const IID IID_IWMWriterSink; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("96406BE4-2B2B-11d3-B36B-00C04F6108FF") IWMWriterSink : public IUnknown { public: virtual HRESULT STDMETHODCALLTYPE OnHeader( /* [in] */ INSSBuffer *pHeader) = 0; virtual HRESULT STDMETHODCALLTYPE IsRealTime( /* [out] */ BOOL *pfRealTime) = 0; virtual HRESULT STDMETHODCALLTYPE AllocateDataUnit( /* [in] */ DWORD cbDataUnit, /* [out] */ INSSBuffer **ppDataUnit) = 0; virtual HRESULT STDMETHODCALLTYPE OnDataUnit( /* [in] */ INSSBuffer *pDataUnit) = 0; virtual HRESULT STDMETHODCALLTYPE OnEndWriting( void) = 0; }; #else /* C style interface */ typedef struct IWMWriterSinkVtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IWMWriterSink * This, /* [in] */ REFIID riid, /* [annotation][iid_is][out] */ __RPC__deref_out void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IWMWriterSink * This); ULONG ( STDMETHODCALLTYPE *Release )( IWMWriterSink * This); HRESULT ( STDMETHODCALLTYPE *OnHeader )( IWMWriterSink * This, /* [in] */ INSSBuffer *pHeader); HRESULT ( STDMETHODCALLTYPE *IsRealTime )( IWMWriterSink * This, /* [out] */ BOOL *pfRealTime); HRESULT ( STDMETHODCALLTYPE *AllocateDataUnit )( IWMWriterSink * This, /* [in] */ DWORD cbDataUnit, /* [out] */ INSSBuffer **ppDataUnit); HRESULT ( STDMETHODCALLTYPE *OnDataUnit )( IWMWriterSink * This, /* [in] */ INSSBuffer *pDataUnit); HRESULT ( STDMETHODCALLTYPE *OnEndWriting )( IWMWriterSink * This); END_INTERFACE } IWMWriterSinkVtbl; interface IWMWriterSink { CONST_VTBL struct IWMWriterSinkVtbl *lpVtbl; }; #ifdef COBJMACROS #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) ) #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) ) #endif /* COBJMACROS */ #endif /* C style interface */ #endif /* __IWMWriterSink_INTERFACE_DEFINED__ */ #ifndef __IWMRegisterCallback_INTERFACE_DEFINED__ #define __IWMRegisterCallback_INTERFACE_DEFINED__ /* interface IWMRegisterCallback */ /* [local][unique][helpstring][uuid][object] */ EXTERN_C const IID IID_IWMRegisterCallback; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("CF4B1F99-4DE2-4e49-A363-252740D99BC1") IWMRegisterCallback : public IUnknown { public: virtual HRESULT STDMETHODCALLTYPE Advise( /* [in] */ IWMStatusCallback *pCallback, /* [in] */ void *pvContext) = 0; virtual HRESULT STDMETHODCALLTYPE Unadvise( /* [in] */ IWMStatusCallback *pCallback, /* [in] */ void *pvContext) = 0; }; #else /* C style interface */ typedef struct IWMRegisterCallbackVtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IWMRegisterCallback * This, /* [in] */ REFIID riid, /* [annotation][iid_is][out] */ __RPC__deref_out void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IWMRegisterCallback * This); ULONG ( STDMETHODCALLTYPE *Release )( IWMRegisterCallback * This); HRESULT ( STDMETHODCALLTYPE *Advise )( IWMRegisterCallback * This, /* [in] */ IWMStatusCallback *pCallback, /* [in] */ void *pvContext); HRESULT ( STDMETHODCALLTYPE *Unadvise )( IWMRegisterCallback * This, /* [in] */ IWMStatusCallback *pCallback, /* [in] */ void *pvContext); END_INTERFACE } IWMRegisterCallbackVtbl; interface IWMRegisterCallback { CONST_VTBL struct IWMRegisterCallbackVtbl *lpVtbl; }; #ifdef COBJMACROS #define IWMRegisterCallback_QueryInterface(This,riid,ppvObject) \ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) #define IWMRegisterCallback_AddRef(This) \ ( (This)->lpVtbl -> AddRef(This) ) #define IWMRegisterCallback_Release(This) \ ( (This)->lpVtbl -> Release(This) ) #define IWMRegisterCallback_Advise(This,pCallback,pvContext) \ ( (This)->lpVtbl -> Advise(This,pCallback,pvContext) ) #define IWMRegisterCallback_Unadvise(This,pCallback,pvContext) \ ( (This)->lpVtbl -> Unadvise(This,pCallback,pvContext) ) #endif /* COBJMACROS */ #endif /* C style interface */ #endif /* __IWMRegisterCallback_INTERFACE_DEFINED__ */ #ifndef __IWMWriterFileSink_INTERFACE_DEFINED__ #define __IWMWriterFileSink_INTERFACE_DEFINED__ /* interface IWMWriterFileSink */ /* [local][unique][helpstring][uuid][object] */ EXTERN_C const IID IID_IWMWriterFileSink; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("96406BE5-2B2B-11d3-B36B-00C04F6108FF") IWMWriterFileSink : public IWMWriterSink { public: virtual HRESULT STDMETHODCALLTYPE Open( /* [in] */ const WCHAR *pwszFilename) = 0; }; #else /* C style interface */ typedef struct IWMWriterFileSinkVtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IWMWriterFileSink * This, /* [in] */ REFIID riid, /* [annotation][iid_is][out] */ __RPC__deref_out void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IWMWriterFileSink * This); ULONG ( STDMETHODCALLTYPE *Release )( IWMWriterFileSink * This); HRESULT ( STDMETHODCALLTYPE *OnHeader )( IWMWriterFileSink * This, /* [in] */ INSSBuffer *pHeader); HRESULT ( STDMETHODCALLTYPE *IsRealTime )( IWMWriterFileSink * This, /* [out] */ BOOL *pfRealTime); HRESULT ( STDMETHODCALLTYPE *AllocateDataUnit )( IWMWriterFileSink * This, /* [in] */ DWORD cbDataUnit, /* [out] */ INSSBuffer **ppDataUnit); HRESULT ( STDMETHODCALLTYPE *OnDataUnit )( IWMWriterFileSink * This, /* [in] */ INSSBuffer *pDataUnit); HRESULT ( STDMETHODCALLTYPE *OnEndWriting )( IWMWriterFileSink * This); HRESULT ( STDMETHODCALLTYPE *Open )( IWMWriterFileSink * This, /* [in] */ const WCHAR *pwszFilename); END_INTERFACE } IWMWriterFileSinkVtbl; interface IWMWriterFileSink { CONST_VTBL struct IWMWriterFileSinkVtbl *lpVtbl; }; #ifdef COBJMACROS #define IWMWriterFileSink_QueryInterface(This,riid,ppvObject) \ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) #define IWMWriterFileSink_AddRef(This) \ ( (This)->lpVtbl -> AddRef(This) ) #define IWMWriterFileSink_Release(This) \ ( (This)->lpVtbl -> Release(This) ) #define IWMWriterFileSink_OnHeader(This,pHeader) \ ( (This)->lpVtbl -> OnHeader(This,pHeader) ) #define IWMWriterFileSink_IsRealTime(This,pfRealTime) \ ( (This)->lpVtbl -> IsRealTime(This,pfRealTime) ) #define IWMWriterFileSink_AllocateDataUnit(This,cbDataUnit,ppDataUnit) \ ( (This)->lpVtbl -> AllocateDataUnit(This,cbDataUnit,ppDataUnit) ) #define IWMWriterFileSink_OnDataUnit(This,pDataUnit) \ ( (This)->lpVtbl -> OnDataUnit(This,pDataUnit) ) #define IWMWriterFileSink_OnEndWriting(This) \ ( (This)->lpVtbl -> OnEndWriting(This) ) #define IWMWriterFileSink_Open(This,pwszFilename) \ ( (This)->lpVtbl -> Open(This,pwszFilename) ) #endif /* COBJMACROS */ #endif /* C style interface */ #endif /* __IWMWriterFileSink_INTERFACE_DEFINED__ */ #ifndef __IWMWriterFileSink2_INTERFACE_DEFINED__ #define __IWMWriterFileSink2_INTERFACE_DEFINED__ /* interface IWMWriterFileSink2 */ /* [local][unique][helpstring][uuid][object] */ EXTERN_C const IID IID_IWMWriterFileSink2; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("14282BA7-4AEF-4205-8CE5-C229035A05BC") IWMWriterFileSink2 : public IWMWriterFileSink { public: virtual HRESULT STDMETHODCALLTYPE Start( /* [in] */ QWORD cnsStartTime) = 0; virtual HRESULT STDMETHODCALLTYPE Stop( /* [in] */ QWORD cnsStopTime) = 0; virtual HRESULT STDMETHODCALLTYPE IsStopped( /* [out] */ BOOL *pfStopped) = 0; virtual HRESULT STDMETHODCALLTYPE GetFileDuration( /* [out] */ QWORD *pcnsDuration) = 0; virtual HRESULT STDMETHODCALLTYPE GetFileSize( /* [out] */ QWORD *pcbFile) = 0; virtual HRESULT STDMETHODCALLTYPE Close( void) = 0; virtual HRESULT STDMETHODCALLTYPE IsClosed( /* [out] */ BOOL *pfClosed) = 0; }; #else /* C style interface */ typedef struct IWMWriterFileSink2Vtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IWMWriterFileSink2 * This, /* [in] */ REFIID riid, /* [annotation][iid_is][out] */ __RPC__deref_out void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IWMWriterFileSink2 * This); ULONG ( STDMETHODCALLTYPE *Release )( IWMWriterFileSink2 * This); HRESULT ( STDMETHODCALLTYPE *OnHeader )( IWMWriterFileSink2 * This, /* [in] */ INSSBuffer *pHeader); HRESULT ( STDMETHODCALLTYPE *IsRealTime )( IWMWriterFileSink2 * This, /* [out] */ BOOL *pfRealTime); HRESULT ( STDMETHODCALLTYPE *AllocateDataUnit )( IWMWriterFileSink2 * This, /* [in] */ DWORD cbDataUnit, /* [out] */ INSSBuffer **ppDataUnit); HRESULT ( STDMETHODCALLTYPE *OnDataUnit )( IWMWriterFileSink2 * This, /* [in] */ INSSBuffer *pDataUnit); HRESULT ( STDMETHODCALLTYPE *OnEndWriting )( IWMWriterFileSink2 * This); HRESULT ( STDMETHODCALLTYPE *Open )( IWMWriterFileSink2 * This, /* [in] */ const WCHAR *pwszFilename); HRESULT ( STDMETHODCALLTYPE *Start )( IWMWriterFileSink2 * This, /* [in] */ QWORD cnsStartTime); HRESULT ( STDMETHODCALLTYPE *Stop )( IWMWriterFileSink2 * This, /* [in] */ QWORD cnsStopTime); HRESULT ( STDMETHODCALLTYPE *IsStopped )( IWMWriterFileSink2 * This, /* [out] */ BOOL *pfStopped); HRESULT ( STDMETHODCALLTYPE *GetFileDuration )( IWMWriterFileSink2 * This, /* [out] */ QWORD *pcnsDuration); HRESULT ( STDMETHODCALLTYPE *GetFileSize )( IWMWriterFileSink2 * This, /* [out] */ QWORD *pcbFile); HRESULT ( STDMETHODCALLTYPE *Close )( IWMWriterFileSink2 * This); HRESULT ( STDMETHODCALLTYPE *IsClosed )( IWMWriterFileSink2 * This, /* [out] */ BOOL *pfClosed); END_INTERFACE } IWMWriterFileSink2Vtbl; interface IWMWriterFileSink2 { CONST_VTBL struct IWMWriterFileSink2Vtbl *lpVtbl; }; #ifdef COBJMACROS #define IWMWriterFileSink2_QueryInterface(This,riid,ppvObject) \ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) #define IWMWriterFileSink2_AddRef(This) \ ( (This)->lpVtbl -> AddRef(This) ) #define IWMWriterFileSink2_Release(This) \ ( (This)->lpVtbl -> Release(This) ) #define IWMWriterFileSink2_OnHeader(This,pHeader) \ ( (This)->lpVtbl -> OnHeader(This,pHeader) ) #define IWMWriterFileSink2_IsRealTime(This,pfRealTime) \ ( (This)->lpVtbl -> IsRealTime(This,pfRealTime) ) #define IWMWriterFileSink2_AllocateDataUnit(This,cbDataUnit,ppDataUnit) \ ( (This)->lpVtbl -> AllocateDataUnit(This,cbDataUnit,ppDataUnit) ) #define IWMWriterFileSink2_OnDataUnit(This,pDataUnit) \ ( (This)->lpVtbl -> OnDataUnit(This,pDataUnit) ) #define IWMWriterFileSink2_OnEndWriting(This) \ ( (This)->lpVtbl -> OnEndWriting(This) ) #define IWMWriterFileSink2_Open(This,pwszFilename) \ ( (This)->lpVtbl -> Open(This,pwszFilename) ) #define IWMWriterFileSink2_Start(This,cnsStartTime) \ ( (This)->lpVtbl -> Start(This,cnsStartTime) ) #define IWMWriterFileSink2_Stop(This,cnsStopTime) \ ( (This)->lpVtbl -> Stop(This,cnsStopTime) ) #define IWMWriterFileSink2_IsStopped(This,pfStopped) \ ( (This)->lpVtbl -> IsStopped(This,pfStopped) ) #define IWMWriterFileSink2_GetFileDuration(This,pcnsDuration) \ ( (This)->lpVtbl -> GetFileDuration(This,pcnsDuration) ) #define IWMWriterFileSink2_GetFileSize(This,pcbFile) \ ( (This)->lpVtbl -> GetFileSize(This,pcbFile) ) #define IWMWriterFileSink2_Close(This) \ ( (This)->lpVtbl -> Close(This) ) #define IWMWriterFileSink2_IsClosed(This,pfClosed) \ ( (This)->lpVtbl -> IsClosed(This,pfClosed) ) #endif /* COBJMACROS */ #endif /* C style interface */ #endif /* __IWMWriterFileSink2_INTERFACE_DEFINED__ */ #ifndef __IWMWriterFileSink3_INTERFACE_DEFINED__ #define __IWMWriterFileSink3_INTERFACE_DEFINED__ /* interface IWMWriterFileSink3 */ /* [local][unique][helpstring][uuid][object] */ EXTERN_C const IID IID_IWMWriterFileSink3; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("3FEA4FEB-2945-47A7-A1DD-C53A8FC4C45C") IWMWriterFileSink3 : public IWMWriterFileSink2 { public: virtual HRESULT STDMETHODCALLTYPE SetAutoIndexing( /* [in] */ BOOL fDoAutoIndexing) = 0; virtual HRESULT STDMETHODCALLTYPE GetAutoIndexing( /* [out] */ BOOL *pfAutoIndexing) = 0; virtual HRESULT STDMETHODCALLTYPE SetControlStream( /* [in] */ WORD wStreamNumber, /* [in] */ BOOL fShouldControlStartAndStop) = 0; virtual HRESULT STDMETHODCALLTYPE GetMode( /* [out] */ DWORD *pdwFileSinkMode) = 0; virtual HRESULT STDMETHODCALLTYPE OnDataUnitEx( /* [in] */ WMT_FILESINK_DATA_UNIT *pFileSinkDataUnit) = 0; virtual HRESULT STDMETHODCALLTYPE SetUnbufferedIO( /* [in] */ BOOL fUnbufferedIO, /* [in] */ BOOL fRestrictMemUsage) = 0; virtual HRESULT STDMETHODCALLTYPE GetUnbufferedIO( /* [out] */ BOOL *pfUnbufferedIO) = 0; virtual HRESULT STDMETHODCALLTYPE CompleteOperations( void) = 0; }; #else /* C style interface */ typedef struct IWMWriterFileSink3Vtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IWMWriterFileSink3 * This, /* [in] */ REFIID riid, /* [annotation][iid_is][out] */ __RPC__deref_out void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IWMWriterFileSink3 * This); ULONG ( STDMETHODCALLTYPE *Release )( IWMWriterFileSink3 * This); HRESULT ( STDMETHODCALLTYPE *OnHeader )( IWMWriterFileSink3 * This, /* [in] */ INSSBuffer *pHeader); HRESULT ( STDMETHODCALLTYPE *IsRealTime )( IWMWriterFileSink3 * This, /* [out] */ BOOL *pfRealTime); HRESULT ( STDMETHODCALLTYPE *AllocateDataUnit )( IWMWriterFileSink3 * This, /* [in] */ DWORD cbDataUnit, /* [out] */ INSSBuffer **ppDataUnit); HRESULT ( STDMETHODCALLTYPE *OnDataUnit )( IWMWriterFileSink3 * This, /* [in] */ INSSBuffer *pDataUnit); HRESULT ( STDMETHODCALLTYPE *OnEndWriting )( IWMWriterFileSink3 * This); HRESULT ( STDMETHODCALLTYPE *Open )( IWMWriterFileSink3 * This, /* [in] */ const WCHAR *pwszFilename); HRESULT ( STDMETHODCALLTYPE *Start )( IWMWriterFileSink3 * This, /* [in] */ QWORD cnsStartTime); HRESULT ( STDMETHODCALLTYPE *Stop )( IWMWriterFileSink3 * This, /* [in] */ QWORD cnsStopTime); HRESULT ( STDMETHODCALLTYPE *IsStopped )( IWMWriterFileSink3 * This, /* [out] */ BOOL *pfStopped); HRESULT ( STDMETHODCALLTYPE *GetFileDuration )( IWMWriterFileSink3 * This, /* [out] */ QWORD *pcnsDuration); HRESULT ( STDMETHODCALLTYPE *GetFileSize )( IWMWriterFileSink3 * This, /* [out] */ QWORD *pcbFile); HRESULT ( STDMETHODCALLTYPE *Close )( IWMWriterFileSink3 * This); HRESULT ( STDMETHODCALLTYPE *IsClosed )( IWMWriterFileSink3 * This, /* [out] */ BOOL *pfClosed); HRESULT ( STDMETHODCALLTYPE *SetAutoIndexing )( IWMWriterFileSink3 * This, /* [in] */ BOOL fDoAutoIndexing); HRESULT ( STDMETHODCALLTYPE *GetAutoIndexing )( IWMWriterFileSink3 * This, /* [out] */ BOOL *pfAutoIndexing); HRESULT ( STDMETHODCALLTYPE *SetControlStream )( IWMWriterFileSink3 * This, /* [in] */ WORD wStreamNumber, /* [in] */ BOOL fShouldControlStartAndStop); HRESULT ( STDMETHODCALLTYPE *GetMode )( IWMWriterFileSink3 * This, /* [out] */ DWORD *pdwFileSinkMode); HRESULT ( STDMETHODCALLTYPE *OnDataUnitEx )( IWMWriterFileSink3 * This, /* [in] */ WMT_FILESINK_DATA_UNIT *pFileSinkDataUnit); HRESULT ( STDMETHODCALLTYPE *SetUnbufferedIO )( IWMWriterFileSink3 * This, /* [in] */ BOOL fUnbufferedIO, /* [in] */ BOOL fRestrictMemUsage); HRESULT ( STDMETHODCALLTYPE *GetUnbufferedIO )( IWMWriterFileSink3 * This, /* [out] */ BOOL *pfUnbufferedIO); HRESULT ( STDMETHODCALLTYPE *CompleteOperations )( IWMWriterFileSink3 * This); END_INTERFACE } IWMWriterFileSink3Vtbl; interface IWMWriterFileSink3 { CONST_VTBL struct IWMWriterFileSink3Vtbl *lpVtbl; }; #ifdef COBJMACROS #define IWMWriterFileSink3_QueryInterface(This,riid,ppvObject) \ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) #define IWMWriterFileSink3_AddRef(This) \ ( (This)->lpVtbl -> AddRef(This) ) #define IWMWriterFileSink3_Release(This) \ ( (This)->lpVtbl -> Release(This) ) #define IWMWriterFileSink3_OnHeader(This,pHeader) \ ( (This)->lpVtbl -> OnHeader(This,pHeader) ) #define IWMWriterFileSink3_IsRealTime(This,pfRealTime) \ ( (This)->lpVtbl -> IsRealTime(This,pfRealTime) ) #define IWMWriterFileSink3_AllocateDataUnit(This,cbDataUnit,ppDataUnit) \ ( (This)->lpVtbl -> AllocateDataUnit(This,cbDataUnit,ppDataUnit) ) #define IWMWriterFileSink3_OnDataUnit(This,pDataUnit) \ ( (This)->lpVtbl -> OnDataUnit(This,pDataUnit) ) #define IWMWriterFileSink3_OnEndWriting(This) \ ( (This)->lpVtbl -> OnEndWriting(This) ) #define IWMWriterFileSink3_Open(This,pwszFilename) \ ( (This)->lpVtbl -> Open(This,pwszFilename) ) #define IWMWriterFileSink3_Start(This,cnsStartTime) \ ( (This)->lpVtbl -> Start(This,cnsStartTime) ) #define IWMWriterFileSink3_Stop(This,cnsStopTime) \ ( (This)->lpVtbl -> Stop(This,cnsStopTime) ) #define IWMWriterFileSink3_IsStopped(This,pfStopped) \ ( (This)->lpVtbl -> IsStopped(This,pfStopped) ) #define IWMWriterFileSink3_GetFileDuration(This,pcnsDuration) \ ( (This)->lpVtbl -> GetFileDuration(This,pcnsDuration) ) #define IWMWriterFileSink3_GetFileSize(This,pcbFile) \ ( (This)->lpVtbl -> GetFileSize(This,pcbFile) ) #define IWMWriterFileSink3_Close(This) \ ( (This)->lpVtbl -> Close(This) ) #define IWMWriterFileSink3_IsClosed(This,pfClosed) \ ( (This)->lpVtbl -> IsClosed(This,pfClosed) ) #define IWMWriterFileSink3_SetAutoIndexing(This,fDoAutoIndexing) \ ( (This)->lpVtbl -> SetAutoIndexing(This,fDoAutoIndexing) ) #define IWMWriterFileSink3_GetAutoIndexing(This,pfAutoIndexing) \ ( (This)->lpVtbl -> GetAutoIndexing(This,pfAutoIndexing) ) #define IWMWriterFileSink3_SetControlStream(This,wStreamNumber,fShouldControlStartAndStop) \ ( (This)->lpVtbl -> SetControlStream(This,wStreamNumber,fShouldControlStartAndStop) ) #define IWMWriterFileSink3_GetMode(This,pdwFileSinkMode) \ ( (This)->lpVtbl -> GetMode(This,pdwFileSinkMode) ) #define IWMWriterFileSink3_OnDataUnitEx(This,pFileSinkDataUnit) \ ( (This)->lpVtbl -> OnDataUnitEx(This,pFileSinkDataUnit) ) #define IWMWriterFileSink3_SetUnbufferedIO(This,fUnbufferedIO,fRestrictMemUsage) \ ( (This)->lpVtbl -> SetUnbufferedIO(This,fUnbufferedIO,fRestrictMemUsage) ) #define IWMWriterFileSink3_GetUnbufferedIO(This,pfUnbufferedIO) \ ( (This)->lpVtbl -> GetUnbufferedIO(This,pfUnbufferedIO) ) #define IWMWriterFileSink3_CompleteOperations(This) \ ( (This)->lpVtbl -> CompleteOperations(This) ) #endif /* COBJMACROS */ #endif /* C style interface */ #endif /* __IWMWriterFileSink3_INTERFACE_DEFINED__ */ #ifndef __IWMWriterNetworkSink_INTERFACE_DEFINED__ #define __IWMWriterNetworkSink_INTERFACE_DEFINED__ /* interface IWMWriterNetworkSink */ /* [local][unique][helpstring][uuid][object] */ EXTERN_C const IID IID_IWMWriterNetworkSink; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("96406BE7-2B2B-11d3-B36B-00C04F6108FF") IWMWriterNetworkSink : public IWMWriterSink { public: virtual HRESULT STDMETHODCALLTYPE SetMaximumClients( /* [in] */ DWORD dwMaxClients) = 0; virtual HRESULT STDMETHODCALLTYPE GetMaximumClients( /* [out] */ DWORD *pdwMaxClients) = 0; virtual HRESULT STDMETHODCALLTYPE SetNetworkProtocol( /* [in] */ WMT_NET_PROTOCOL protocol) = 0; virtual HRESULT STDMETHODCALLTYPE GetNetworkProtocol( /* [out] */ WMT_NET_PROTOCOL *pProtocol) = 0; virtual HRESULT STDMETHODCALLTYPE GetHostURL( /* [out] */ WCHAR *pwszURL, /* [out][in] */ DWORD *pcchURL) = 0; virtual HRESULT STDMETHODCALLTYPE Open( /* [out][in] */ DWORD *pdwPortNum) = 0; virtual HRESULT STDMETHODCALLTYPE Disconnect( void) = 0; virtual HRESULT STDMETHODCALLTYPE Close( void) = 0; }; #else /* C style interface */ typedef struct IWMWriterNetworkSinkVtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IWMWriterNetworkSink * This, /* [in] */ REFIID riid, /* [annotation][iid_is][out] */ __RPC__deref_out void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IWMWriterNetworkSink * This); ULONG ( STDMETHODCALLTYPE *Release )( IWMWriterNetworkSink * This); HRESULT ( STDMETHODCALLTYPE *OnHeader )( IWMWriterNetworkSink * This, /* [in] */ INSSBuffer *pHeader); HRESULT ( STDMETHODCALLTYPE *IsRealTime )( IWMWriterNetworkSink * This, /* [out] */ BOOL *pfRealTime); HRESULT ( STDMETHODCALLTYPE *AllocateDataUnit )( IWMWriterNetworkSink * This, /* [in] */ DWORD cbDataUnit, /* [out] */ INSSBuffer **ppDataUnit); HRESULT ( STDMETHODCALLTYPE *OnDataUnit )( IWMWriterNetworkSink * This, /* [in] */ INSSBuffer *pDataUnit); HRESULT ( STDMETHODCALLTYPE *OnEndWriting )( IWMWriterNetworkSink * This); HRESULT ( STDMETHODCALLTYPE *SetMaximumClients )( IWMWriterNetworkSink * This, /* [in] */ DWORD dwMaxClients); HRESULT ( STDMETHODCALLTYPE *GetMaximumClients )( IWMWriterNetworkSink * This, /* [out] */ DWORD *pdwMaxClients); HRESULT ( STDMETHODCALLTYPE *SetNetworkProtocol )( IWMWriterNetworkSink * This, /* [in] */ WMT_NET_PROTOCOL protocol); HRESULT ( STDMETHODCALLTYPE *GetNetworkProtocol )( IWMWriterNetworkSink * This, /* [out] */ WMT_NET_PROTOCOL *pProtocol); HRESULT ( STDMETHODCALLTYPE *GetHostURL )( IWMWriterNetworkSink * This, /* [out] */ WCHAR *pwszURL, /* [out][in] */ DWORD *pcchURL); HRESULT ( STDMETHODCALLTYPE *Open )( IWMWriterNetworkSink * This, /* [out][in] */ DWORD *pdwPortNum); HRESULT ( STDMETHODCALLTYPE *Disconnect )( IWMWriterNetworkSink * This); HRESULT ( STDMETHODCALLTYPE *Close )( IWMWriterNetworkSink * This); END_INTERFACE } IWMWriterNetworkSinkVtbl; interface IWMWriterNetworkSink { CONST_VTBL struct IWMWriterNetworkSinkVtbl *lpVtbl; }; #ifdef COBJMACROS #define IWMWriterNetworkSink_QueryInterface(This,riid,ppvObject) \ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) #define IWMWriterNetworkSink_AddRef(This) \ ( (This)->lpVtbl -> AddRef(This) ) #define IWMWriterNetworkSink_Release(This) \ ( (This)->lpVtbl -> Release(This) ) #define IWMWriterNetworkSink_OnHeader(This,pHeader) \ ( (This)->lpVtbl -> OnHeader(This,pHeader) ) #define IWMWriterNetworkSink_IsRealTime(This,pfRealTime) \ ( (This)->lpVtbl -> IsRealTime(This,pfRealTime) ) #define IWMWriterNetworkSink_AllocateDataUnit(This,cbDataUnit,ppDataUnit) \ ( (This)->lpVtbl -> AllocateDataUnit(This,cbDataUnit,ppDataUnit) ) #define IWMWriterNetworkSink_OnDataUnit(This,pDataUnit) \ ( (This)->lpVtbl -> OnDataUnit(This,pDataUnit) ) #define IWMWriterNetworkSink_OnEndWriting(This) \ ( (This)->lpVtbl -> OnEndWriting(This) ) #define IWMWriterNetworkSink_SetMaximumClients(This,dwMaxClients) \ ( (This)->lpVtbl -> SetMaximumClients(This,dwMaxClients) ) #define IWMWriterNetworkSink_GetMaximumClients(This,pdwMaxClients) \ ( (This)->lpVtbl -> GetMaximumClients(This,pdwMaxClients) ) #define IWMWriterNetworkSink_SetNetworkProtocol(This,protocol) \ ( (This)->lpVtbl -> SetNetworkProtocol(This,protocol) ) #define IWMWriterNetworkSink_GetNetworkProtocol(This,pProtocol) \ ( (This)->lpVtbl -> GetNetworkProtocol(This,pProtocol) ) #define IWMWriterNetworkSink_GetHostURL(This,pwszURL,pcchURL) \ ( (This)->lpVtbl -> GetHostURL(This,pwszURL,pcchURL) ) #define IWMWriterNetworkSink_Open(This,pdwPortNum) \ ( (This)->lpVtbl -> Open(This,pdwPortNum) ) #define IWMWriterNetworkSink_Disconnect(This) \ ( (This)->lpVtbl -> Disconnect(This) ) #define IWMWriterNetworkSink_Close(This) \ ( (This)->lpVtbl -> Close(This) ) #endif /* COBJMACROS */ #endif /* C style interface */ #endif /* __IWMWriterNetworkSink_INTERFACE_DEFINED__ */ #ifndef __IWMClientConnections_INTERFACE_DEFINED__ #define __IWMClientConnections_INTERFACE_DEFINED__ /* interface IWMClientConnections */ /* [local][unique][helpstring][uuid][object] */ EXTERN_C const IID IID_IWMClientConnections; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("73C66010-A299-41df-B1F0-CCF03B09C1C6") IWMClientConnections : public IUnknown { public: virtual HRESULT STDMETHODCALLTYPE GetClientCount( /* [out] */ DWORD *pcClients) = 0; virtual HRESULT STDMETHODCALLTYPE GetClientProperties( /* [in] */ DWORD dwClientNum, /* [out] */ WM_CLIENT_PROPERTIES *pClientProperties) = 0; }; #else /* C style interface */ typedef struct IWMClientConnectionsVtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IWMClientConnections * This, /* [in] */ REFIID riid, /* [annotation][iid_is][out] */ __RPC__deref_out void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IWMClientConnections * This); ULONG ( STDMETHODCALLTYPE *Release )( IWMClientConnections * This); HRESULT ( STDMETHODCALLTYPE *GetClientCount )( IWMClientConnections * This, /* [out] */ DWORD *pcClients); HRESULT ( STDMETHODCALLTYPE *GetClientProperties )( IWMClientConnections * This, /* [in] */ DWORD dwClientNum, /* [out] */ WM_CLIENT_PROPERTIES *pClientProperties); END_INTERFACE } IWMClientConnectionsVtbl; interface IWMClientConnections { CONST_VTBL struct IWMClientConnectionsVtbl *lpVtbl; }; #ifdef COBJMACROS #define IWMClientConnections_QueryInterface(This,riid,ppvObject) \ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) #define IWMClientConnections_AddRef(This) \ ( (This)->lpVtbl -> AddRef(This) ) #define IWMClientConnections_Release(This) \ ( (This)->lpVtbl -> Release(This) ) #define IWMClientConnections_GetClientCount(This,pcClients) \ ( (This)->lpVtbl -> GetClientCount(This,pcClients) ) #define IWMClientConnections_GetClientProperties(This,dwClientNum,pClientProperties) \ ( (This)->lpVtbl -> GetClientProperties(This,dwClientNum,pClientProperties) ) #endif /* COBJMACROS */ #endif /* C style interface */ #endif /* __IWMClientConnections_INTERFACE_DEFINED__ */ #ifndef __IWMClientConnections2_INTERFACE_DEFINED__ #define __IWMClientConnections2_INTERFACE_DEFINED__ /* interface IWMClientConnections2 */ /* [local][unique][helpstring][uuid][object] */ EXTERN_C const IID IID_IWMClientConnections2; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("4091571e-4701-4593-bb3d-d5f5f0c74246") IWMClientConnections2 : public IWMClientConnections { public: virtual HRESULT STDMETHODCALLTYPE GetClientInfo( /* [in] */ DWORD dwClientNum, /* [size_is][out] */ WCHAR *pwszNetworkAddress, /* [out][in] */ DWORD *pcchNetworkAddress, /* [size_is][out] */ WCHAR *pwszPort, /* [out][in] */ DWORD *pcchPort, /* [size_is][out] */ WCHAR *pwszDNSName, /* [out][in] */ DWORD *pcchDNSName) = 0; }; #else /* C style interface */ typedef struct IWMClientConnections2Vtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IWMClientConnections2 * This, /* [in] */ REFIID riid, /* [annotation][iid_is][out] */ __RPC__deref_out void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IWMClientConnections2 * This); ULONG ( STDMETHODCALLTYPE *Release )( IWMClientConnections2 * This); HRESULT ( STDMETHODCALLTYPE *GetClientCount )( IWMClientConnections2 * This, /* [out] */ DWORD *pcClients); HRESULT ( STDMETHODCALLTYPE *GetClientProperties )( IWMClientConnections2 * This, /* [in] */ DWORD dwClientNum, /* [out] */ WM_CLIENT_PROPERTIES *pClientProperties); HRESULT ( STDMETHODCALLTYPE *GetClientInfo )( IWMClientConnections2 * This, /* [in] */ DWORD dwClientNum, /* [size_is][out] */ WCHAR *pwszNetworkAddress, /* [out][in] */ DWORD *pcchNetworkAddress, /* [size_is][out] */ WCHAR *pwszPort, /* [out][in] */ DWORD *pcchPort, /* [size_is][out] */ WCHAR *pwszDNSName, /* [out][in] */ DWORD *pcchDNSName); END_INTERFACE } IWMClientConnections2Vtbl; interface IWMClientConnections2 { CONST_VTBL struct IWMClientConnections2Vtbl *lpVtbl; }; #ifdef COBJMACROS #define IWMClientConnections2_QueryInterface(This,riid,ppvObject) \ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) #define IWMClientConnections2_AddRef(This) \ ( (This)->lpVtbl -> AddRef(This) ) #define IWMClientConnections2_Release(This) \ ( (This)->lpVtbl -> Release(This) ) #define IWMClientConnections2_GetClientCount(This,pcClients) \ ( (This)->lpVtbl -> GetClientCount(This,pcClients) ) #define IWMClientConnections2_GetClientProperties(This,dwClientNum,pClientProperties) \ ( (This)->lpVtbl -> GetClientProperties(This,dwClientNum,pClientProperties) ) #define IWMClientConnections2_GetClientInfo(This,dwClientNum,pwszNetworkAddress,pcchNetworkAddress,pwszPort,pcchPort,pwszDNSName,pcchDNSName) \ ( (This)->lpVtbl -> GetClientInfo(This,dwClientNum,pwszNetworkAddress,pcchNetworkAddress,pwszPort,pcchPort,pwszDNSName,pcchDNSName) ) #endif /* COBJMACROS */ #endif /* C style interface */ #endif /* __IWMClientConnections2_INTERFACE_DEFINED__ */ #ifndef __IWMReaderAdvanced_INTERFACE_DEFINED__ #define __IWMReaderAdvanced_INTERFACE_DEFINED__ /* interface IWMReaderAdvanced */ /* [local][unique][helpstring][uuid][object] */ EXTERN_C const IID IID_IWMReaderAdvanced; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("96406BEA-2B2B-11d3-B36B-00C04F6108FF") IWMReaderAdvanced : public IUnknown { public: virtual HRESULT STDMETHODCALLTYPE SetUserProvidedClock( /* [in] */ BOOL fUserClock) = 0; virtual HRESULT STDMETHODCALLTYPE GetUserProvidedClock( /* [out] */ BOOL *pfUserClock) = 0; virtual HRESULT STDMETHODCALLTYPE DeliverTime( /* [in] */ QWORD cnsTime) = 0; virtual HRESULT STDMETHODCALLTYPE SetManualStreamSelection( /* [in] */ BOOL fSelection) = 0; virtual HRESULT STDMETHODCALLTYPE GetManualStreamSelection( /* [out] */ BOOL *pfSelection) = 0; virtual HRESULT STDMETHODCALLTYPE SetStreamsSelected( /* [in] */ WORD cStreamCount, /* [in] */ WORD *pwStreamNumbers, /* [in] */ WMT_STREAM_SELECTION *pSelections) = 0; virtual HRESULT STDMETHODCALLTYPE GetStreamSelected( /* [in] */ WORD wStreamNum, /* [out] */ WMT_STREAM_SELECTION *pSelection) = 0; virtual HRESULT STDMETHODCALLTYPE SetReceiveSelectionCallbacks( /* [in] */ BOOL fGetCallbacks) = 0; virtual HRESULT STDMETHODCALLTYPE GetReceiveSelectionCallbacks( /* [out] */ BOOL *pfGetCallbacks) = 0; virtual HRESULT STDMETHODCALLTYPE SetReceiveStreamSamples( /* [in] */ WORD wStreamNum, /* [in] */ BOOL fReceiveStreamSamples) = 0; virtual HRESULT STDMETHODCALLTYPE GetReceiveStreamSamples( /* [in] */ WORD wStreamNum, /* [out] */ BOOL *pfReceiveStreamSamples) = 0; virtual HRESULT STDMETHODCALLTYPE SetAllocateForOutput( /* [in] */ DWORD dwOutputNum, /* [in] */ BOOL fAllocate) = 0; virtual HRESULT STDMETHODCALLTYPE GetAllocateForOutput( /* [in] */ DWORD dwOutputNum, /* [out] */ BOOL *pfAllocate) = 0; virtual HRESULT STDMETHODCALLTYPE SetAllocateForStream( /* [in] */ WORD wStreamNum, /* [in] */ BOOL fAllocate) = 0; virtual HRESULT STDMETHODCALLTYPE GetAllocateForStream( /* [in] */ WORD dwSreamNum, /* [out] */ BOOL *pfAllocate) = 0; virtual HRESULT STDMETHODCALLTYPE GetStatistics( /* [out][in] */ WM_READER_STATISTICS *pStatistics) = 0; virtual HRESULT STDMETHODCALLTYPE SetClientInfo( /* [in] */ WM_READER_CLIENTINFO *pClientInfo) = 0; virtual HRESULT STDMETHODCALLTYPE GetMaxOutputSampleSize( /* [in] */ DWORD dwOutput, /* [out] */ DWORD *pcbMax) = 0; virtual HRESULT STDMETHODCALLTYPE GetMaxStreamSampleSize( /* [in] */ WORD wStream, /* [out] */ DWORD *pcbMax) = 0; virtual HRESULT STDMETHODCALLTYPE NotifyLateDelivery( QWORD cnsLateness) = 0; }; #else /* C style interface */ typedef struct IWMReaderAdvancedVtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IWMReaderAdvanced * This, /* [in] */ REFIID riid, /* [annotation][iid_is][out] */ __RPC__deref_out void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IWMReaderAdvanced * This); ULONG ( STDMETHODCALLTYPE *Release )( IWMReaderAdvanced * This); HRESULT ( STDMETHODCALLTYPE *SetUserProvidedClock )( IWMReaderAdvanced * This, /* [in] */ BOOL fUserClock); HRESULT ( STDMETHODCALLTYPE *GetUserProvidedClock )( IWMReaderAdvanced * This, /* [out] */ BOOL *pfUserClock); HRESULT ( STDMETHODCALLTYPE *DeliverTime )( IWMReaderAdvanced * This, /* [in] */ QWORD cnsTime); HRESULT ( STDMETHODCALLTYPE *SetManualStreamSelection )( IWMReaderAdvanced * This, /* [in] */ BOOL fSelection); HRESULT ( STDMETHODCALLTYPE *GetManualStreamSelection )( IWMReaderAdvanced * This, /* [out] */ BOOL *pfSelection); HRESULT ( STDMETHODCALLTYPE *SetStreamsSelected )( IWMReaderAdvanced * This, /* [in] */ WORD cStreamCount, /* [in] */ WORD *pwStreamNumbers, /* [in] */ WMT_STREAM_SELECTION *pSelections); HRESULT ( STDMETHODCALLTYPE *GetStreamSelected )( IWMReaderAdvanced * This, /* [in] */ WORD wStreamNum, /* [out] */ WMT_STREAM_SELECTION *pSelection); HRESULT ( STDMETHODCALLTYPE *SetReceiveSelectionCallbacks )( IWMReaderAdvanced * This, /* [in] */ BOOL fGetCallbacks); HRESULT ( STDMETHODCALLTYPE *GetReceiveSelectionCallbacks )( IWMReaderAdvanced * This, /* [out] */ BOOL *pfGetCallbacks); HRESULT ( STDMETHODCALLTYPE *SetReceiveStreamSamples )( IWMReaderAdvanced * This, /* [in] */ WORD wStreamNum, /* [in] */ BOOL fReceiveStreamSamples); HRESULT ( STDMETHODCALLTYPE *GetReceiveStreamSamples )( IWMReaderAdvanced * This, /* [in] */ WORD wStreamNum, /* [out] */ BOOL *pfReceiveStreamSamples); HRESULT ( STDMETHODCALLTYPE *SetAllocateForOutput )( IWMReaderAdvanced * This, /* [in] */ DWORD dwOutputNum, /* [in] */ BOOL fAllocate); HRESULT ( STDMETHODCALLTYPE *GetAllocateForOutput )( IWMReaderAdvanced * This, /* [in] */ DWORD dwOutputNum, /* [out] */ BOOL *pfAllocate); HRESULT ( STDMETHODCALLTYPE *SetAllocateForStream )( IWMReaderAdvanced * This, /* [in] */ WORD wStreamNum, /* [in] */ BOOL fAllocate); HRESULT ( STDMETHODCALLTYPE *GetAllocateForStream )( IWMReaderAdvanced * This, /* [in] */ WORD dwSreamNum, /* [out] */ BOOL *pfAllocate); HRESULT ( STDMETHODCALLTYPE *GetStatistics )( IWMReaderAdvanced * This, /* [out][in] */ WM_READER_STATISTICS *pStatistics); HRESULT ( STDMETHODCALLTYPE *SetClientInfo )( IWMReaderAdvanced * This, /* [in] */ WM_READER_CLIENTINFO *pClientInfo); HRESULT ( STDMETHODCALLTYPE *GetMaxOutputSampleSize )( IWMReaderAdvanced * This, /* [in] */ DWORD dwOutput, /* [out] */ DWORD *pcbMax); HRESULT ( STDMETHODCALLTYPE *GetMaxStreamSampleSize )( IWMReaderAdvanced * This, /* [in] */ WORD wStream, /* [out] */ DWORD *pcbMax); HRESULT ( STDMETHODCALLTYPE *NotifyLateDelivery )( IWMReaderAdvanced * This, QWORD cnsLateness); END_INTERFACE } IWMReaderAdvancedVtbl; interface IWMReaderAdvanced { CONST_VTBL struct IWMReaderAdvancedVtbl *lpVtbl; }; #ifdef COBJMACROS #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) ) #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,dwSreamNum,pfAllocate) \ ( (This)->lpVtbl -> GetAllocateForStream(This,dwSreamNum,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) ) #endif /* COBJMACROS */ #endif /* C style interface */ #endif /* __IWMReaderAdvanced_INTERFACE_DEFINED__ */ #ifndef __IWMReaderAdvanced2_INTERFACE_DEFINED__ #define __IWMReaderAdvanced2_INTERFACE_DEFINED__ /* interface IWMReaderAdvanced2 */ /* [local][unique][helpstring][uuid][object] */ EXTERN_C const IID IID_IWMReaderAdvanced2; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("ae14a945-b90c-4d0d-9127-80d665f7d73e") IWMReaderAdvanced2 : public IWMReaderAdvanced { public: virtual HRESULT STDMETHODCALLTYPE SetPlayMode( /* [in] */ WMT_PLAY_MODE Mode) = 0; virtual HRESULT STDMETHODCALLTYPE GetPlayMode( /* [out] */ WMT_PLAY_MODE *pMode) = 0; virtual HRESULT STDMETHODCALLTYPE GetBufferProgress( /* [out] */ DWORD *pdwPercent, /* [out] */ QWORD *pcnsBuffering) = 0; virtual HRESULT STDMETHODCALLTYPE GetDownloadProgress( /* [out] */ DWORD *pdwPercent, /* [out] */ QWORD *pqwBytesDownloaded, /* [out] */ QWORD *pcnsDownload) = 0; virtual HRESULT STDMETHODCALLTYPE GetSaveAsProgress( /* [out] */ DWORD *pdwPercent) = 0; virtual HRESULT STDMETHODCALLTYPE SaveFileAs( /* [in] */ const WCHAR *pwszFilename) = 0; virtual HRESULT STDMETHODCALLTYPE GetProtocolName( /* [size_is][out] */ WCHAR *pwszProtocol, /* [out][in] */ DWORD *pcchProtocol) = 0; virtual HRESULT STDMETHODCALLTYPE StartAtMarker( /* [in] */ WORD wMarkerIndex, /* [in] */ QWORD cnsDuration, /* [in] */ float fRate, /* [in] */ void *pvContext) = 0; virtual HRESULT STDMETHODCALLTYPE GetOutputSetting( /* [in] */ DWORD dwOutputNum, /* [in] */ LPCWSTR pszName, /* [out] */ WMT_ATTR_DATATYPE *pType, /* [size_is][out] */ BYTE *pValue, /* [out][in] */ WORD *pcbLength) = 0; virtual HRESULT STDMETHODCALLTYPE SetOutputSetting( /* [in] */ DWORD dwOutputNum, /* [in] */ LPCWSTR pszName, /* [in] */ WMT_ATTR_DATATYPE Type, /* [size_is][in] */ const BYTE *pValue, /* [in] */ WORD cbLength) = 0; virtual HRESULT STDMETHODCALLTYPE Preroll( /* [in] */ QWORD cnsStart, /* [in] */ QWORD cnsDuration, /* [in] */ float fRate) = 0; virtual HRESULT STDMETHODCALLTYPE SetLogClientID( /* [in] */ BOOL fLogClientID) = 0; virtual HRESULT STDMETHODCALLTYPE GetLogClientID( /* [out] */ BOOL *pfLogClientID) = 0; virtual HRESULT STDMETHODCALLTYPE StopBuffering( void) = 0; virtual HRESULT STDMETHODCALLTYPE OpenStream( /* [in] */ IStream *pStream, /* [in] */ IWMReaderCallback *pCallback, /* [in] */ void *pvContext) = 0; }; #else /* C style interface */ typedef struct IWMReaderAdvanced2Vtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IWMReaderAdvanced2 * This, /* [in] */ REFIID riid, /* [annotation][iid_is][out] */ __RPC__deref_out void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IWMReaderAdvanced2 * This); ULONG ( STDMETHODCALLTYPE *Release )( IWMReaderAdvanced2 * This); HRESULT ( STDMETHODCALLTYPE *SetUserProvidedClock )( IWMReaderAdvanced2 * This, /* [in] */ BOOL fUserClock); HRESULT ( STDMETHODCALLTYPE *GetUserProvidedClock )( IWMReaderAdvanced2 * This, /* [out] */ BOOL *pfUserClock); HRESULT ( STDMETHODCALLTYPE *DeliverTime )( IWMReaderAdvanced2 * This, /* [in] */ QWORD cnsTime); HRESULT ( STDMETHODCALLTYPE *SetManualStreamSelection )( IWMReaderAdvanced2 * This, /* [in] */ BOOL fSelection); HRESULT ( STDMETHODCALLTYPE *GetManualStreamSelection )( IWMReaderAdvanced2 * This, /* [out] */ BOOL *pfSelection); HRESULT ( STDMETHODCALLTYPE *SetStreamsSelected )( IWMReaderAdvanced2 * This, /* [in] */ WORD cStreamCount, /* [in] */ WORD *pwStreamNumbers, /* [in] */ WMT_STREAM_SELECTION *pSelections); HRESULT ( STDMETHODCALLTYPE *GetStreamSelected )( IWMReaderAdvanced2 * This, /* [in] */ WORD wStreamNum, /* [out] */ WMT_STREAM_SELECTION *pSelection); HRESULT ( STDMETHODCALLTYPE *SetReceiveSelectionCallbacks )( IWMReaderAdvanced2 * This, /* [in] */ BOOL fGetCallbacks); HRESULT ( STDMETHODCALLTYPE *GetReceiveSelectionCallbacks )( IWMReaderAdvanced2 * This, /* [out] */ BOOL *pfGetCallbacks); HRESULT ( STDMETHODCALLTYPE *SetReceiveStreamSamples )( IWMReaderAdvanced2 * This, /* [in] */ WORD wStreamNum, /* [in] */ BOOL fReceiveStreamSamples); HRESULT ( STDMETHODCALLTYPE *GetReceiveStreamSamples )( IWMReaderAdvanced2 * This, /* [in] */ WORD wStreamNum, /* [out] */ BOOL *pfReceiveStreamSamples); HRESULT ( STDMETHODCALLTYPE *SetAllocateForOutput )( IWMReaderAdvanced2 * This, /* [in] */ DWORD dwOutputNum, /* [in] */ BOOL fAllocate); HRESULT ( STDMETHODCALLTYPE *GetAllocateForOutput )( IWMReaderAdvanced2 * This, /* [in] */ DWORD dwOutputNum, /* [out] */ BOOL *pfAllocate); HRESULT ( STDMETHODCALLTYPE *SetAllocateForStream )( IWMReaderAdvanced2 * This, /* [in] */ WORD wStreamNum, /* [in] */ BOOL fAllocate); HRESULT ( STDMETHODCALLTYPE *GetAllocateForStream )( IWMReaderAdvanced2 * This, /* [in] */ WORD dwSreamNum, /* [out] */ BOOL *pfAllocate); HRESULT ( STDMETHODCALLTYPE *GetStatistics )( IWMReaderAdvanced2 * This, /* [out][in] */ WM_READER_STATISTICS *pStatistics); HRESULT ( STDMETHODCALLTYPE *SetClientInfo )( IWMReaderAdvanced2 * This, /* [in] */ WM_READER_CLIENTINFO *pClientInfo); HRESULT ( STDMETHODCALLTYPE *GetMaxOutputSampleSize )( IWMReaderAdvanced2 * This, /* [in] */ DWORD dwOutput, /* [out] */ DWORD *pcbMax); HRESULT ( STDMETHODCALLTYPE *GetMaxStreamSampleSize )( IWMReaderAdvanced2 * This, /* [in] */ WORD wStream, /* [out] */ DWORD *pcbMax); HRESULT ( STDMETHODCALLTYPE *NotifyLateDelivery )( IWMReaderAdvanced2 * This, QWORD cnsLateness); HRESULT ( STDMETHODCALLTYPE *SetPlayMode )( IWMReaderAdvanced2 * This, /* [in] */ WMT_PLAY_MODE Mode); HRESULT ( STDMETHODCALLTYPE *GetPlayMode )( IWMReaderAdvanced2 * This, /* [out] */ WMT_PLAY_MODE *pMode); HRESULT ( STDMETHODCALLTYPE *GetBufferProgress )( IWMReaderAdvanced2 * This, /* [out] */ DWORD *pdwPercent, /* [out] */ QWORD *pcnsBuffering); HRESULT ( STDMETHODCALLTYPE *GetDownloadProgress )( IWMReaderAdvanced2 * This, /* [out] */ DWORD *pdwPercent, /* [out] */ QWORD *pqwBytesDownloaded, /* [out] */ QWORD *pcnsDownload); HRESULT ( STDMETHODCALLTYPE *GetSaveAsProgress )( IWMReaderAdvanced2 * This, /* [out] */ DWORD *pdwPercent); HRESULT ( STDMETHODCALLTYPE *SaveFileAs )( IWMReaderAdvanced2 * This, /* [in] */ const WCHAR *pwszFilename); HRESULT ( STDMETHODCALLTYPE *GetProtocolName )( IWMReaderAdvanced2 * This, /* [size_is][out] */ WCHAR *pwszProtocol, /* [out][in] */ DWORD *pcchProtocol); HRESULT ( STDMETHODCALLTYPE *StartAtMarker )( IWMReaderAdvanced2 * This, /* [in] */ WORD wMarkerIndex, /* [in] */ QWORD cnsDuration, /* [in] */ float fRate, /* [in] */ void *pvContext); HRESULT ( STDMETHODCALLTYPE *GetOutputSetting )( IWMReaderAdvanced2 * This, /* [in] */ DWORD dwOutputNum, /* [in] */ LPCWSTR pszName, /* [out] */ WMT_ATTR_DATATYPE *pType, /* [size_is][out] */ BYTE *pValue, /* [out][in] */ WORD *pcbLength); HRESULT ( STDMETHODCALLTYPE *SetOutputSetting )( IWMReaderAdvanced2 * This, /* [in] */ DWORD dwOutputNum, /* [in] */ LPCWSTR pszName, /* [in] */ WMT_ATTR_DATATYPE Type, /* [size_is][in] */ const BYTE *pValue, /* [in] */ WORD cbLength); HRESULT ( STDMETHODCALLTYPE *Preroll )( IWMReaderAdvanced2 * This, /* [in] */ QWORD cnsStart, /* [in] */ QWORD cnsDuration, /* [in] */ float fRate); HRESULT ( STDMETHODCALLTYPE *SetLogClientID )( IWMReaderAdvanced2 * This, /* [in] */ BOOL fLogClientID); HRESULT ( STDMETHODCALLTYPE *GetLogClientID )( IWMReaderAdvanced2 * This, /* [out] */ BOOL *pfLogClientID); HRESULT ( STDMETHODCALLTYPE *StopBuffering )( IWMReaderAdvanced2 * This); HRESULT ( STDMETHODCALLTYPE *OpenStream )( IWMReaderAdvanced2 * This, /* [in] */ IStream *pStream, /* [in] */ IWMReaderCallback *pCallback, /* [in] */ void *pvContext); END_INTERFACE } IWMReaderAdvanced2Vtbl; interface IWMReaderAdvanced2 { CONST_VTBL struct IWMReaderAdvanced2Vtbl *lpVtbl; }; #ifdef COBJMACROS #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) ) #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,dwSreamNum,pfAllocate) \ ( (This)->lpVtbl -> GetAllocateForStream(This,dwSreamNum,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) ) #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) ) #endif /* COBJMACROS */ #endif /* C style interface */ #endif /* __IWMReaderAdvanced2_INTERFACE_DEFINED__ */ #ifndef __IWMReaderAdvanced3_INTERFACE_DEFINED__ #define __IWMReaderAdvanced3_INTERFACE_DEFINED__ /* interface IWMReaderAdvanced3 */ /* [local][unique][helpstring][uuid][object] */ EXTERN_C const IID IID_IWMReaderAdvanced3; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("5DC0674B-F04B-4a4e-9F2A-B1AFDE2C8100") IWMReaderAdvanced3 : public IWMReaderAdvanced2 { public: virtual HRESULT STDMETHODCALLTYPE StopNetStreaming( void) = 0; virtual HRESULT STDMETHODCALLTYPE StartAtPosition( /* [in] */ WORD wStreamNum, /* [in] */ void *pvOffsetStart, /* [in] */ void *pvDuration, /* [in] */ WMT_OFFSET_FORMAT dwOffsetFormat, /* [in] */ float fRate, /* [in] */ void *pvContext) = 0; }; #else /* C style interface */ typedef struct IWMReaderAdvanced3Vtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IWMReaderAdvanced3 * This, /* [in] */ REFIID riid, /* [annotation][iid_is][out] */ __RPC__deref_out void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IWMReaderAdvanced3 * This); ULONG ( STDMETHODCALLTYPE *Release )( IWMReaderAdvanced3 * This); HRESULT ( STDMETHODCALLTYPE *SetUserProvidedClock )( IWMReaderAdvanced3 * This, /* [in] */ BOOL fUserClock); HRESULT ( STDMETHODCALLTYPE *GetUserProvidedClock )( IWMReaderAdvanced3 * This, /* [out] */ BOOL *pfUserClock); HRESULT ( STDMETHODCALLTYPE *DeliverTime )( IWMReaderAdvanced3 * This, /* [in] */ QWORD cnsTime); HRESULT ( STDMETHODCALLTYPE *SetManualStreamSelection )( IWMReaderAdvanced3 * This, /* [in] */ BOOL fSelection); HRESULT ( STDMETHODCALLTYPE *GetManualStreamSelection )( IWMReaderAdvanced3 * This, /* [out] */ BOOL *pfSelection); HRESULT ( STDMETHODCALLTYPE *SetStreamsSelected )( IWMReaderAdvanced3 * This, /* [in] */ WORD cStreamCount, /* [in] */ WORD *pwStreamNumbers, /* [in] */ WMT_STREAM_SELECTION *pSelections); HRESULT ( STDMETHODCALLTYPE *GetStreamSelected )( IWMReaderAdvanced3 * This, /* [in] */ WORD wStreamNum, /* [out] */ WMT_STREAM_SELECTION *pSelection); HRESULT ( STDMETHODCALLTYPE *SetReceiveSelectionCallbacks )( IWMReaderAdvanced3 * This, /* [in] */ BOOL fGetCallbacks); HRESULT ( STDMETHODCALLTYPE *GetReceiveSelectionCallbacks )( IWMReaderAdvanced3 * This, /* [out] */ BOOL *pfGetCallbacks); HRESULT ( STDMETHODCALLTYPE *SetReceiveStreamSamples )( IWMReaderAdvanced3 * This, /* [in] */ WORD wStreamNum, /* [in] */ BOOL fReceiveStreamSamples); HRESULT ( STDMETHODCALLTYPE *GetReceiveStreamSamples )( IWMReaderAdvanced3 * This, /* [in] */ WORD wStreamNum, /* [out] */ BOOL *pfReceiveStreamSamples); HRESULT ( STDMETHODCALLTYPE *SetAllocateForOutput )( IWMReaderAdvanced3 * This, /* [in] */ DWORD dwOutputNum, /* [in] */ BOOL fAllocate); HRESULT ( STDMETHODCALLTYPE *GetAllocateForOutput )( IWMReaderAdvanced3 * This, /* [in] */ DWORD dwOutputNum, /* [out] */ BOOL *pfAllocate); HRESULT ( STDMETHODCALLTYPE *SetAllocateForStream )( IWMReaderAdvanced3 * This, /* [in] */ WORD wStreamNum, /* [in] */ BOOL fAllocate); HRESULT ( STDMETHODCALLTYPE *GetAllocateForStream )( IWMReaderAdvanced3 * This, /* [in] */ WORD dwSreamNum, /* [out] */ BOOL *pfAllocate); HRESULT ( STDMETHODCALLTYPE *GetStatistics )( IWMReaderAdvanced3 * This, /* [out][in] */ WM_READER_STATISTICS *pStatistics); HRESULT ( STDMETHODCALLTYPE *SetClientInfo )( IWMReaderAdvanced3 * This, /* [in] */ WM_READER_CLIENTINFO *pClientInfo); HRESULT ( STDMETHODCALLTYPE *GetMaxOutputSampleSize )( IWMReaderAdvanced3 * This, /* [in] */ DWORD dwOutput, /* [out] */ DWORD *pcbMax); HRESULT ( STDMETHODCALLTYPE *GetMaxStreamSampleSize )( IWMReaderAdvanced3 * This, /* [in] */ WORD wStream, /* [out] */ DWORD *pcbMax); HRESULT ( STDMETHODCALLTYPE *NotifyLateDelivery )( IWMReaderAdvanced3 * This, QWORD cnsLateness); HRESULT ( STDMETHODCALLTYPE *SetPlayMode )( IWMReaderAdvanced3 * This, /* [in] */ WMT_PLAY_MODE Mode); HRESULT ( STDMETHODCALLTYPE *GetPlayMode )( IWMReaderAdvanced3 * This, /* [out] */ WMT_PLAY_MODE *pMode); HRESULT ( STDMETHODCALLTYPE *GetBufferProgress )( IWMReaderAdvanced3 * This, /* [out] */ DWORD *pdwPercent, /* [out] */ QWORD *pcnsBuffering); HRESULT ( STDMETHODCALLTYPE *GetDownloadProgress )( IWMReaderAdvanced3 * This, /* [out] */ DWORD *pdwPercent, /* [out] */ QWORD *pqwBytesDownloaded, /* [out] */ QWORD *pcnsDownload); HRESULT ( STDMETHODCALLTYPE *GetSaveAsProgress )( IWMReaderAdvanced3 * This, /* [out] */ DWORD *pdwPercent); HRESULT ( STDMETHODCALLTYPE *SaveFileAs )( IWMReaderAdvanced3 * This, /* [in] */ const WCHAR *pwszFilename); HRESULT ( STDMETHODCALLTYPE *GetProtocolName )( IWMReaderAdvanced3 * This, /* [size_is][out] */ WCHAR *pwszProtocol, /* [out][in] */ DWORD *pcchProtocol); HRESULT ( STDMETHODCALLTYPE *StartAtMarker )( IWMReaderAdvanced3 * This, /* [in] */ WORD wMarkerIndex, /* [in] */ QWORD cnsDuration, /* [in] */ float fRate, /* [in] */ void *pvContext); HRESULT ( STDMETHODCALLTYPE *GetOutputSetting )( IWMReaderAdvanced3 * This, /* [in] */ DWORD dwOutputNum, /* [in] */ LPCWSTR pszName, /* [out] */ WMT_ATTR_DATATYPE *pType, /* [size_is][out] */ BYTE *pValue, /* [out][in] */ WORD *pcbLength); HRESULT ( STDMETHODCALLTYPE *SetOutputSetting )( IWMReaderAdvanced3 * This, /* [in] */ DWORD dwOutputNum, /* [in] */ LPCWSTR pszName, /* [in] */ WMT_ATTR_DATATYPE Type, /* [size_is][in] */ const BYTE *pValue, /* [in] */ WORD cbLength); HRESULT ( STDMETHODCALLTYPE *Preroll )( IWMReaderAdvanced3 * This, /* [in] */ QWORD cnsStart, /* [in] */ QWORD cnsDuration, /* [in] */ float fRate); HRESULT ( STDMETHODCALLTYPE *SetLogClientID )( IWMReaderAdvanced3 * This, /* [in] */ BOOL fLogClientID); HRESULT ( STDMETHODCALLTYPE *GetLogClientID )( IWMReaderAdvanced3 * This, /* [out] */ BOOL *pfLogClientID); HRESULT ( STDMETHODCALLTYPE *StopBuffering )( IWMReaderAdvanced3 * This); HRESULT ( STDMETHODCALLTYPE *OpenStream )( IWMReaderAdvanced3 * This, /* [in] */ IStream *pStream, /* [in] */ IWMReaderCallback *pCallback, /* [in] */ void *pvContext); HRESULT ( STDMETHODCALLTYPE *StopNetStreaming )( IWMReaderAdvanced3 * This); HRESULT ( STDMETHODCALLTYPE *StartAtPosition )( IWMReaderAdvanced3 * This, /* [in] */ WORD wStreamNum, /* [in] */ void *pvOffsetStart, /* [in] */ void *pvDuration, /* [in] */ WMT_OFFSET_FORMAT dwOffsetFormat, /* [in] */ float fRate, /* [in] */ void *pvContext); END_INTERFACE } IWMReaderAdvanced3Vtbl; interface IWMReaderAdvanced3 { CONST_VTBL struct IWMReaderAdvanced3Vtbl *lpVtbl; }; #ifdef COBJMACROS #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) ) #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,dwSreamNum,pfAllocate) \ ( (This)->lpVtbl -> GetAllocateForStream(This,dwSreamNum,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) ) #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) ) #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) ) #endif /* COBJMACROS */ #endif /* C style interface */ #endif /* __IWMReaderAdvanced3_INTERFACE_DEFINED__ */ #ifndef __IWMReaderAdvanced4_INTERFACE_DEFINED__ #define __IWMReaderAdvanced4_INTERFACE_DEFINED__ /* interface IWMReaderAdvanced4 */ /* [local][unique][helpstring][uuid][object] */ EXTERN_C const IID IID_IWMReaderAdvanced4; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("945A76A2-12AE-4d48-BD3C-CD1D90399B85") IWMReaderAdvanced4 : public IWMReaderAdvanced3 { public: virtual HRESULT STDMETHODCALLTYPE GetLanguageCount( /* [in] */ DWORD dwOutputNum, /* [out] */ WORD *pwLanguageCount) = 0; virtual HRESULT STDMETHODCALLTYPE GetLanguage( /* [in] */ DWORD dwOutputNum, /* [in] */ WORD wLanguage, /* [size_is][out] */ WCHAR *pwszLanguageString, /* [out][in] */ WORD *pcchLanguageStringLength) = 0; virtual HRESULT STDMETHODCALLTYPE GetMaxSpeedFactor( /* [out] */ double *pdblFactor) = 0; virtual HRESULT STDMETHODCALLTYPE IsUsingFastCache( /* [out] */ BOOL *pfUsingFastCache) = 0; virtual HRESULT STDMETHODCALLTYPE AddLogParam( /* [in] */ LPCWSTR wszNameSpace, /* [in] */ LPCWSTR wszName, /* [in] */ LPCWSTR wszValue) = 0; virtual HRESULT STDMETHODCALLTYPE SendLogParams( void) = 0; virtual HRESULT STDMETHODCALLTYPE CanSaveFileAs( /* [out] */ BOOL *pfCanSave) = 0; virtual HRESULT STDMETHODCALLTYPE CancelSaveFileAs( void) = 0; virtual HRESULT STDMETHODCALLTYPE GetURL( /* [size_is][out] */ WCHAR *pwszURL, /* [out][in] */ DWORD *pcchURL) = 0; }; #else /* C style interface */ typedef struct IWMReaderAdvanced4Vtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IWMReaderAdvanced4 * This, /* [in] */ REFIID riid, /* [annotation][iid_is][out] */ __RPC__deref_out void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IWMReaderAdvanced4 * This); ULONG ( STDMETHODCALLTYPE *Release )( IWMReaderAdvanced4 * This); HRESULT ( STDMETHODCALLTYPE *SetUserProvidedClock )( IWMReaderAdvanced4 * This, /* [in] */ BOOL fUserClock); HRESULT ( STDMETHODCALLTYPE *GetUserProvidedClock )( IWMReaderAdvanced4 * This, /* [out] */ BOOL *pfUserClock); HRESULT ( STDMETHODCALLTYPE *DeliverTime )( IWMReaderAdvanced4 * This, /* [in] */ QWORD cnsTime); HRESULT ( STDMETHODCALLTYPE *SetManualStreamSelection )( IWMReaderAdvanced4 * This, /* [in] */ BOOL fSelection); HRESULT ( STDMETHODCALLTYPE *GetManualStreamSelection )( IWMReaderAdvanced4 * This, /* [out] */ BOOL *pfSelection); HRESULT ( STDMETHODCALLTYPE *SetStreamsSelected )( IWMReaderAdvanced4 * This, /* [in] */ WORD cStreamCount, /* [in] */ WORD *pwStreamNumbers, /* [in] */ WMT_STREAM_SELECTION *pSelections); HRESULT ( STDMETHODCALLTYPE *GetStreamSelected )( IWMReaderAdvanced4 * This, /* [in] */ WORD wStreamNum, /* [out] */ WMT_STREAM_SELECTION *pSelection); HRESULT ( STDMETHODCALLTYPE *SetReceiveSelectionCallbacks )( IWMReaderAdvanced4 * This, /* [in] */ BOOL fGetCallbacks); HRESULT ( STDMETHODCALLTYPE *GetReceiveSelectionCallbacks )( IWMReaderAdvanced4 * This, /* [out] */ BOOL *pfGetCallbacks); HRESULT ( STDMETHODCALLTYPE *SetReceiveStreamSamples )( IWMReaderAdvanced4 * This, /* [in] */ WORD wStreamNum, /* [in] */ BOOL fReceiveStreamSamples); HRESULT ( STDMETHODCALLTYPE *GetReceiveStreamSamples )( IWMReaderAdvanced4 * This, /* [in] */ WORD wStreamNum, /* [out] */ BOOL *pfReceiveStreamSamples); HRESULT ( STDMETHODCALLTYPE *SetAllocateForOutput )( IWMReaderAdvanced4 * This, /* [in] */ DWORD dwOutputNum, /* [in] */ BOOL fAllocate); HRESULT ( STDMETHODCALLTYPE *GetAllocateForOutput )( IWMReaderAdvanced4 * This, /* [in] */ DWORD dwOutputNum, /* [out] */ BOOL *pfAllocate); HRESULT ( STDMETHODCALLTYPE *SetAllocateForStream )( IWMReaderAdvanced4 * This, /* [in] */ WORD wStreamNum, /* [in] */ BOOL fAllocate); HRESULT ( STDMETHODCALLTYPE *GetAllocateForStream )( IWMReaderAdvanced4 * This, /* [in] */ WORD dwSreamNum, /* [out] */ BOOL *pfAllocate); HRESULT ( STDMETHODCALLTYPE *GetStatistics )( IWMReaderAdvanced4 * This, /* [out][in] */ WM_READER_STATISTICS *pStatistics); HRESULT ( STDMETHODCALLTYPE *SetClientInfo )( IWMReaderAdvanced4 * This, /* [in] */ WM_READER_CLIENTINFO *pClientInfo); HRESULT ( STDMETHODCALLTYPE *GetMaxOutputSampleSize )( IWMReaderAdvanced4 * This, /* [in] */ DWORD dwOutput, /* [out] */ DWORD *pcbMax); HRESULT ( STDMETHODCALLTYPE *GetMaxStreamSampleSize )( IWMReaderAdvanced4 * This, /* [in] */ WORD wStream, /* [out] */ DWORD *pcbMax); HRESULT ( STDMETHODCALLTYPE *NotifyLateDelivery )( IWMReaderAdvanced4 * This, QWORD cnsLateness); HRESULT ( STDMETHODCALLTYPE *SetPlayMode )( IWMReaderAdvanced4 * This, /* [in] */ WMT_PLAY_MODE Mode); HRESULT ( STDMETHODCALLTYPE *GetPlayMode )( IWMReaderAdvanced4 * This, /* [out] */ WMT_PLAY_MODE *pMode); HRESULT ( STDMETHODCALLTYPE *GetBufferProgress )( IWMReaderAdvanced4 * This, /* [out] */ DWORD *pdwPercent, /* [out] */ QWORD *pcnsBuffering); HRESULT ( STDMETHODCALLTYPE *GetDownloadProgress )( IWMReaderAdvanced4 * This, /* [out] */ DWORD *pdwPercent, /* [out] */ QWORD *pqwBytesDownloaded, /* [out] */ QWORD *pcnsDownload); HRESULT ( STDMETHODCALLTYPE *GetSaveAsProgress )( IWMReaderAdvanced4 * This, /* [out] */ DWORD *pdwPercent); HRESULT ( STDMETHODCALLTYPE *SaveFileAs )( IWMReaderAdvanced4 * This, /* [in] */ const WCHAR *pwszFilename); HRESULT ( STDMETHODCALLTYPE *GetProtocolName )( IWMReaderAdvanced4 * This, /* [size_is][out] */ WCHAR *pwszProtocol, /* [out][in] */ DWORD *pcchProtocol); HRESULT ( STDMETHODCALLTYPE *StartAtMarker )( IWMReaderAdvanced4 * This, /* [in] */ WORD wMarkerIndex, /* [in] */ QWORD cnsDuration, /* [in] */ float fRate, /* [in] */ void *pvContext); HRESULT ( STDMETHODCALLTYPE *GetOutputSetting )( IWMReaderAdvanced4 * This, /* [in] */ DWORD dwOutputNum, /* [in] */ LPCWSTR pszName, /* [out] */ WMT_ATTR_DATATYPE *pType, /* [size_is][out] */ BYTE *pValue, /* [out][in] */ WORD *pcbLength); HRESULT ( STDMETHODCALLTYPE *SetOutputSetting )( IWMReaderAdvanced4 * This, /* [in] */ DWORD dwOutputNum, /* [in] */ LPCWSTR pszName, /* [in] */ WMT_ATTR_DATATYPE Type, /* [size_is][in] */ const BYTE *pValue, /* [in] */ WORD cbLength); HRESULT ( STDMETHODCALLTYPE *Preroll )( IWMReaderAdvanced4 * This, /* [in] */ QWORD cnsStart, /* [in] */ QWORD cnsDuration, /* [in] */ float fRate); HRESULT ( STDMETHODCALLTYPE *SetLogClientID )( IWMReaderAdvanced4 * This, /* [in] */ BOOL fLogClientID); HRESULT ( STDMETHODCALLTYPE *GetLogClientID )( IWMReaderAdvanced4 * This, /* [out] */ BOOL *pfLogClientID); HRESULT ( STDMETHODCALLTYPE *StopBuffering )( IWMReaderAdvanced4 * This); HRESULT ( STDMETHODCALLTYPE *OpenStream )( IWMReaderAdvanced4 * This, /* [in] */ IStream *pStream, /* [in] */ IWMReaderCallback *pCallback, /* [in] */ void *pvContext); HRESULT ( STDMETHODCALLTYPE *StopNetStreaming )( IWMReaderAdvanced4 * This); HRESULT ( STDMETHODCALLTYPE *StartAtPosition )( IWMReaderAdvanced4 * This, /* [in] */ WORD wStreamNum, /* [in] */ void *pvOffsetStart, /* [in] */ void *pvDuration, /* [in] */ WMT_OFFSET_FORMAT dwOffsetFormat, /* [in] */ float fRate, /* [in] */ void *pvContext); HRESULT ( STDMETHODCALLTYPE *GetLanguageCount )( IWMReaderAdvanced4 * This, /* [in] */ DWORD dwOutputNum, /* [out] */ WORD *pwLanguageCount); HRESULT ( STDMETHODCALLTYPE *GetLanguage )( IWMReaderAdvanced4 * This, /* [in] */ DWORD dwOutputNum, /* [in] */ WORD wLanguage, /* [size_is][out] */ WCHAR *pwszLanguageString, /* [out][in] */ WORD *pcchLanguageStringLength); HRESULT ( STDMETHODCALLTYPE *GetMaxSpeedFactor )( IWMReaderAdvanced4 * This, /* [out] */ double *pdblFactor); HRESULT ( STDMETHODCALLTYPE *IsUsingFastCache )( IWMReaderAdvanced4 * This, /* [out] */ BOOL *pfUsingFastCache); HRESULT ( STDMETHODCALLTYPE *AddLogParam )( IWMReaderAdvanced4 * This, /* [in] */ LPCWSTR wszNameSpace, /* [in] */ LPCWSTR wszName, /* [in] */ LPCWSTR wszValue); HRESULT ( STDMETHODCALLTYPE *SendLogParams )( IWMReaderAdvanced4 * This); HRESULT ( STDMETHODCALLTYPE *CanSaveFileAs )( IWMReaderAdvanced4 * This, /* [out] */ BOOL *pfCanSave); HRESULT ( STDMETHODCALLTYPE *CancelSaveFileAs )( IWMReaderAdvanced4 * This); HRESULT ( STDMETHODCALLTYPE *GetURL )( IWMReaderAdvanced4 * This, /* [size_is][out] */ WCHAR *pwszURL, /* [out][in] */ DWORD *pcchURL); END_INTERFACE } IWMReaderAdvanced4Vtbl; interface IWMReaderAdvanced4 { CONST_VTBL struct IWMReaderAdvanced4Vtbl *lpVtbl; }; #ifdef COBJMACROS #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) ) #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,dwSreamNum,pfAllocate) \ ( (This)->lpVtbl -> GetAllocateForStream(This,dwSreamNum,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) ) #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) ) #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) ) #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) ) #endif /* COBJMACROS */ #endif /* C style interface */ #endif /* __IWMReaderAdvanced4_INTERFACE_DEFINED__ */ #ifndef __IWMReaderAdvanced5_INTERFACE_DEFINED__ #define __IWMReaderAdvanced5_INTERFACE_DEFINED__ /* interface IWMReaderAdvanced5 */ /* [local][unique][helpstring][uuid][object] */ EXTERN_C const IID IID_IWMReaderAdvanced5; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("24C44DB0-55D1-49ae-A5CC-F13815E36363") IWMReaderAdvanced5 : public IWMReaderAdvanced4 { public: virtual HRESULT STDMETHODCALLTYPE SetPlayerHook( /* [in] */ DWORD dwOutputNum, /* [in] */ IWMPlayerHook *pHook) = 0; }; #else /* C style interface */ typedef struct IWMReaderAdvanced5Vtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IWMReaderAdvanced5 * This, /* [in] */ REFIID riid, /* [annotation][iid_is][out] */ __RPC__deref_out void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IWMReaderAdvanced5 * This); ULONG ( STDMETHODCALLTYPE *Release )( IWMReaderAdvanced5 * This); HRESULT ( STDMETHODCALLTYPE *SetUserProvidedClock )( IWMReaderAdvanced5 * This, /* [in] */ BOOL fUserClock); HRESULT ( STDMETHODCALLTYPE *GetUserProvidedClock )( IWMReaderAdvanced5 * This, /* [out] */ BOOL *pfUserClock); HRESULT ( STDMETHODCALLTYPE *DeliverTime )( IWMReaderAdvanced5 * This, /* [in] */ QWORD cnsTime); HRESULT ( STDMETHODCALLTYPE *SetManualStreamSelection )( IWMReaderAdvanced5 * This, /* [in] */ BOOL fSelection); HRESULT ( STDMETHODCALLTYPE *GetManualStreamSelection )( IWMReaderAdvanced5 * This, /* [out] */ BOOL *pfSelection); HRESULT ( STDMETHODCALLTYPE *SetStreamsSelected )( IWMReaderAdvanced5 * This, /* [in] */ WORD cStreamCount, /* [in] */ WORD *pwStreamNumbers, /* [in] */ WMT_STREAM_SELECTION *pSelections); HRESULT ( STDMETHODCALLTYPE *GetStreamSelected )( IWMReaderAdvanced5 * This, /* [in] */ WORD wStreamNum, /* [out] */ WMT_STREAM_SELECTION *pSelection); HRESULT ( STDMETHODCALLTYPE *SetReceiveSelectionCallbacks )( IWMReaderAdvanced5 * This, /* [in] */ BOOL fGetCallbacks); HRESULT ( STDMETHODCALLTYPE *GetReceiveSelectionCallbacks )( IWMReaderAdvanced5 * This, /* [out] */ BOOL *pfGetCallbacks); HRESULT ( STDMETHODCALLTYPE *SetReceiveStreamSamples )( IWMReaderAdvanced5 * This, /* [in] */ WORD wStreamNum, /* [in] */ BOOL fReceiveStreamSamples); HRESULT ( STDMETHODCALLTYPE *GetReceiveStreamSamples )( IWMReaderAdvanced5 * This, /* [in] */ WORD wStreamNum, /* [out] */ BOOL *pfReceiveStreamSamples); HRESULT ( STDMETHODCALLTYPE *SetAllocateForOutput )( IWMReaderAdvanced5 * This, /* [in] */ DWORD dwOutputNum, /* [in] */ BOOL fAllocate); HRESULT ( STDMETHODCALLTYPE *GetAllocateForOutput )( IWMReaderAdvanced5 * This, /* [in] */ DWORD dwOutputNum, /* [out] */ BOOL *pfAllocate); HRESULT ( STDMETHODCALLTYPE *SetAllocateForStream )( IWMReaderAdvanced5 * This, /* [in] */ WORD wStreamNum, /* [in] */ BOOL fAllocate); HRESULT ( STDMETHODCALLTYPE *GetAllocateForStream )( IWMReaderAdvanced5 * This, /* [in] */ WORD dwSreamNum, /* [out] */ BOOL *pfAllocate); HRESULT ( STDMETHODCALLTYPE *GetStatistics )( IWMReaderAdvanced5 * This, /* [out][in] */ WM_READER_STATISTICS *pStatistics); HRESULT ( STDMETHODCALLTYPE *SetClientInfo )( IWMReaderAdvanced5 * This, /* [in] */ WM_READER_CLIENTINFO *pClientInfo); HRESULT ( STDMETHODCALLTYPE *GetMaxOutputSampleSize )( IWMReaderAdvanced5 * This, /* [in] */ DWORD dwOutput, /* [out] */ DWORD *pcbMax); HRESULT ( STDMETHODCALLTYPE *GetMaxStreamSampleSize )( IWMReaderAdvanced5 * This, /* [in] */ WORD wStream, /* [out] */ DWORD *pcbMax); HRESULT ( STDMETHODCALLTYPE *NotifyLateDelivery )( IWMReaderAdvanced5 * This, QWORD cnsLateness); HRESULT ( STDMETHODCALLTYPE *SetPlayMode )( IWMReaderAdvanced5 * This, /* [in] */ WMT_PLAY_MODE Mode); HRESULT ( STDMETHODCALLTYPE *GetPlayMode )( IWMReaderAdvanced5 * This, /* [out] */ WMT_PLAY_MODE *pMode); HRESULT ( STDMETHODCALLTYPE *GetBufferProgress )( IWMReaderAdvanced5 * This, /* [out] */ DWORD *pdwPercent, /* [out] */ QWORD *pcnsBuffering); HRESULT ( STDMETHODCALLTYPE *GetDownloadProgress )( IWMReaderAdvanced5 * This, /* [out] */ DWORD *pdwPercent, /* [out] */ QWORD *pqwBytesDownloaded, /* [out] */ QWORD *pcnsDownload); HRESULT ( STDMETHODCALLTYPE *GetSaveAsProgress )( IWMReaderAdvanced5 * This, /* [out] */ DWORD *pdwPercent); HRESULT ( STDMETHODCALLTYPE *SaveFileAs )( IWMReaderAdvanced5 * This, /* [in] */ const WCHAR *pwszFilename); HRESULT ( STDMETHODCALLTYPE *GetProtocolName )( IWMReaderAdvanced5 * This, /* [size_is][out] */ WCHAR *pwszProtocol, /* [out][in] */ DWORD *pcchProtocol); HRESULT ( STDMETHODCALLTYPE *StartAtMarker )( IWMReaderAdvanced5 * This, /* [in] */ WORD wMarkerIndex, /* [in] */ QWORD cnsDuration, /* [in] */ float fRate, /* [in] */ void *pvContext); HRESULT ( STDMETHODCALLTYPE *GetOutputSetting )( IWMReaderAdvanced5 * This, /* [in] */ DWORD dwOutputNum, /* [in] */ LPCWSTR pszName, /* [out] */ WMT_ATTR_DATATYPE *pType, /* [size_is][out] */ BYTE *pValue, /* [out][in] */ WORD *pcbLength); HRESULT ( STDMETHODCALLTYPE *SetOutputSetting )( IWMReaderAdvanced5 * This, /* [in] */ DWORD dwOutputNum, /* [in] */ LPCWSTR pszName, /* [in] */ WMT_ATTR_DATATYPE Type, /* [size_is][in] */ const BYTE *pValue, /* [in] */ WORD cbLength); HRESULT ( STDMETHODCALLTYPE *Preroll )( IWMReaderAdvanced5 * This, /* [in] */ QWORD cnsStart, /* [in] */ QWORD cnsDuration, /* [in] */ float fRate); HRESULT ( STDMETHODCALLTYPE *SetLogClientID )( IWMReaderAdvanced5 * This, /* [in] */ BOOL fLogClientID); HRESULT ( STDMETHODCALLTYPE *GetLogClientID )( IWMReaderAdvanced5 * This, /* [out] */ BOOL *pfLogClientID); HRESULT ( STDMETHODCALLTYPE *StopBuffering )( IWMReaderAdvanced5 * This); HRESULT ( STDMETHODCALLTYPE *OpenStream )( IWMReaderAdvanced5 * This, /* [in] */ IStream *pStream, /* [in] */ IWMReaderCallback *pCallback, /* [in] */ void *pvContext); HRESULT ( STDMETHODCALLTYPE *StopNetStreaming )( IWMReaderAdvanced5 * This); HRESULT ( STDMETHODCALLTYPE *StartAtPosition )( IWMReaderAdvanced5 * This, /* [in] */ WORD wStreamNum, /* [in] */ void *pvOffsetStart, /* [in] */ void *pvDuration, /* [in] */ WMT_OFFSET_FORMAT dwOffsetFormat, /* [in] */ float fRate, /* [in] */ void *pvContext); HRESULT ( STDMETHODCALLTYPE *GetLanguageCount )( IWMReaderAdvanced5 * This, /* [in] */ DWORD dwOutputNum, /* [out] */ WORD *pwLanguageCount); HRESULT ( STDMETHODCALLTYPE *GetLanguage )( IWMReaderAdvanced5 * This, /* [in] */ DWORD dwOutputNum, /* [in] */ WORD wLanguage, /* [size_is][out] */ WCHAR *pwszLanguageString, /* [out][in] */ WORD *pcchLanguageStringLength); HRESULT ( STDMETHODCALLTYPE *GetMaxSpeedFactor )( IWMReaderAdvanced5 * This, /* [out] */ double *pdblFactor); HRESULT ( STDMETHODCALLTYPE *IsUsingFastCache )( IWMReaderAdvanced5 * This, /* [out] */ BOOL *pfUsingFastCache); HRESULT ( STDMETHODCALLTYPE *AddLogParam )( IWMReaderAdvanced5 * This, /* [in] */ LPCWSTR wszNameSpace, /* [in] */ LPCWSTR wszName, /* [in] */ LPCWSTR wszValue); HRESULT ( STDMETHODCALLTYPE *SendLogParams )( IWMReaderAdvanced5 * This); HRESULT ( STDMETHODCALLTYPE *CanSaveFileAs )( IWMReaderAdvanced5 * This, /* [out] */ BOOL *pfCanSave); HRESULT ( STDMETHODCALLTYPE *CancelSaveFileAs )( IWMReaderAdvanced5 * This); HRESULT ( STDMETHODCALLTYPE *GetURL )( IWMReaderAdvanced5 * This, /* [size_is][out] */ WCHAR *pwszURL, /* [out][in] */ DWORD *pcchURL); HRESULT ( STDMETHODCALLTYPE *SetPlayerHook )( IWMReaderAdvanced5 * This, /* [in] */ DWORD dwOutputNum, /* [in] */ IWMPlayerHook *pHook); END_INTERFACE } IWMReaderAdvanced5Vtbl; interface IWMReaderAdvanced5 { CONST_VTBL struct IWMReaderAdvanced5Vtbl *lpVtbl; }; #ifdef COBJMACROS #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) ) #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,dwSreamNum,pfAllocate) \ ( (This)->lpVtbl -> GetAllocateForStream(This,dwSreamNum,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) ) #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) ) #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) ) #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) ) #define IWMReaderAdvanced5_SetPlayerHook(This,dwOutputNum,pHook) \ ( (This)->lpVtbl -> SetPlayerHook(This,dwOutputNum,pHook) ) #endif /* COBJMACROS */ #endif /* C style interface */ #endif /* __IWMReaderAdvanced5_INTERFACE_DEFINED__ */ #ifndef __IWMReaderAdvanced6_INTERFACE_DEFINED__ #define __IWMReaderAdvanced6_INTERFACE_DEFINED__ /* interface IWMReaderAdvanced6 */ /* [local][unique][helpstring][uuid][object] */ EXTERN_C const IID IID_IWMReaderAdvanced6; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("18A2E7F8-428F-4acd-8A00-E64639BC93DE") IWMReaderAdvanced6 : public IWMReaderAdvanced5 { public: virtual HRESULT STDMETHODCALLTYPE SetProtectStreamSamples( /* [size_is][in] */ BYTE *pbCertificate, /* [in] */ DWORD cbCertificate, /* [in] */ DWORD dwCertificateType, /* [in] */ DWORD dwFlags, /* [size_is][out] */ BYTE *pbInitializationVector, /* [out][in] */ DWORD *pcbInitializationVector) = 0; }; #else /* C style interface */ typedef struct IWMReaderAdvanced6Vtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IWMReaderAdvanced6 * This, /* [in] */ REFIID riid, /* [annotation][iid_is][out] */ __RPC__deref_out void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IWMReaderAdvanced6 * This); ULONG ( STDMETHODCALLTYPE *Release )( IWMReaderAdvanced6 * This); HRESULT ( STDMETHODCALLTYPE *SetUserProvidedClock )( IWMReaderAdvanced6 * This, /* [in] */ BOOL fUserClock); HRESULT ( STDMETHODCALLTYPE *GetUserProvidedClock )( IWMReaderAdvanced6 * This, /* [out] */ BOOL *pfUserClock); HRESULT ( STDMETHODCALLTYPE *DeliverTime )( IWMReaderAdvanced6 * This, /* [in] */ QWORD cnsTime); HRESULT ( STDMETHODCALLTYPE *SetManualStreamSelection )( IWMReaderAdvanced6 * This, /* [in] */ BOOL fSelection); HRESULT ( STDMETHODCALLTYPE *GetManualStreamSelection )( IWMReaderAdvanced6 * This, /* [out] */ BOOL *pfSelection); HRESULT ( STDMETHODCALLTYPE *SetStreamsSelected )( IWMReaderAdvanced6 * This, /* [in] */ WORD cStreamCount, /* [in] */ WORD *pwStreamNumbers, /* [in] */ WMT_STREAM_SELECTION *pSelections); HRESULT ( STDMETHODCALLTYPE *GetStreamSelected )( IWMReaderAdvanced6 * This, /* [in] */ WORD wStreamNum, /* [out] */ WMT_STREAM_SELECTION *pSelection); HRESULT ( STDMETHODCALLTYPE *SetReceiveSelectionCallbacks )( IWMReaderAdvanced6 * This, /* [in] */ BOOL fGetCallbacks); HRESULT ( STDMETHODCALLTYPE *GetReceiveSelectionCallbacks )( IWMReaderAdvanced6 * This, /* [out] */ BOOL *pfGetCallbacks); HRESULT ( STDMETHODCALLTYPE *SetReceiveStreamSamples )( IWMReaderAdvanced6 * This, /* [in] */ WORD wStreamNum, /* [in] */ BOOL fReceiveStreamSamples); HRESULT ( STDMETHODCALLTYPE *GetReceiveStreamSamples )( IWMReaderAdvanced6 * This, /* [in] */ WORD wStreamNum, /* [out] */ BOOL *pfReceiveStreamSamples); HRESULT ( STDMETHODCALLTYPE *SetAllocateForOutput )( IWMReaderAdvanced6 * This, /* [in] */ DWORD dwOutputNum, /* [in] */ BOOL fAllocate); HRESULT ( STDMETHODCALLTYPE *GetAllocateForOutput )( IWMReaderAdvanced6 * This, /* [in] */ DWORD dwOutputNum, /* [out] */ BOOL *pfAllocate); HRESULT ( STDMETHODCALLTYPE *SetAllocateForStream )( IWMReaderAdvanced6 * This, /* [in] */ WORD wStreamNum, /* [in] */ BOOL fAllocate); HRESULT ( STDMETHODCALLTYPE *GetAllocateForStream )( IWMReaderAdvanced6 * This, /* [in] */ WORD dwSreamNum, /* [out] */ BOOL *pfAllocate); HRESULT ( STDMETHODCALLTYPE *GetStatistics )( IWMReaderAdvanced6 * This, /* [out][in] */ WM_READER_STATISTICS *pStatistics); HRESULT ( STDMETHODCALLTYPE *SetClientInfo )( IWMReaderAdvanced6 * This, /* [in] */ WM_READER_CLIENTINFO *pClientInfo); HRESULT ( STDMETHODCALLTYPE *GetMaxOutputSampleSize )( IWMReaderAdvanced6 * This, /* [in] */ DWORD dwOutput, /* [out] */ DWORD *pcbMax); HRESULT ( STDMETHODCALLTYPE *GetMaxStreamSampleSize )( IWMReaderAdvanced6 * This, /* [in] */ WORD wStream, /* [out] */ DWORD *pcbMax); HRESULT ( STDMETHODCALLTYPE *NotifyLateDelivery )( IWMReaderAdvanced6 * This, QWORD cnsLateness); HRESULT ( STDMETHODCALLTYPE *SetPlayMode )( IWMReaderAdvanced6 * This, /* [in] */ WMT_PLAY_MODE Mode); HRESULT ( STDMETHODCALLTYPE *GetPlayMode )( IWMReaderAdvanced6 * This, /* [out] */ WMT_PLAY_MODE *pMode); HRESULT ( STDMETHODCALLTYPE *GetBufferProgress )( IWMReaderAdvanced6 * This, /* [out] */ DWORD *pdwPercent, /* [out] */ QWORD *pcnsBuffering); HRESULT ( STDMETHODCALLTYPE *GetDownloadProgress )( IWMReaderAdvanced6 * This, /* [out] */ DWORD *pdwPercent, /* [out] */ QWORD *pqwBytesDownloaded, /* [out] */ QWORD *pcnsDownload); HRESULT ( STDMETHODCALLTYPE *GetSaveAsProgress )( IWMReaderAdvanced6 * This, /* [out] */ DWORD *pdwPercent); HRESULT ( STDMETHODCALLTYPE *SaveFileAs )( IWMReaderAdvanced6 * This, /* [in] */ const WCHAR *pwszFilename); HRESULT ( STDMETHODCALLTYPE *GetProtocolName )( IWMReaderAdvanced6 * This, /* [size_is][out] */ WCHAR *pwszProtocol, /* [out][in] */ DWORD *pcchProtocol); HRESULT ( STDMETHODCALLTYPE *StartAtMarker )( IWMReaderAdvanced6 * This, /* [in] */ WORD wMarkerIndex, /* [in] */ QWORD cnsDuration, /* [in] */ float fRate, /* [in] */ void *pvContext); HRESULT ( STDMETHODCALLTYPE *GetOutputSetting )( IWMReaderAdvanced6 * This, /* [in] */ DWORD dwOutputNum, /* [in] */ LPCWSTR pszName, /* [out] */ WMT_ATTR_DATATYPE *pType, /* [size_is][out] */ BYTE *pValue, /* [out][in] */ WORD *pcbLength); HRESULT ( STDMETHODCALLTYPE *SetOutputSetting )( IWMReaderAdvanced6 * This, /* [in] */ DWORD dwOutputNum, /* [in] */ LPCWSTR pszName, /* [in] */ WMT_ATTR_DATATYPE Type, /* [size_is][in] */ const BYTE *pValue, /* [in] */ WORD cbLength); HRESULT ( STDMETHODCALLTYPE *Preroll )( IWMReaderAdvanced6 * This, /* [in] */ QWORD cnsStart, /* [in] */ QWORD cnsDuration, /* [in] */ float fRate); HRESULT ( STDMETHODCALLTYPE *SetLogClientID )( IWMReaderAdvanced6 * This, /* [in] */ BOOL fLogClientID); HRESULT ( STDMETHODCALLTYPE *GetLogClientID )( IWMReaderAdvanced6 * This, /* [out] */ BOOL *pfLogClientID); HRESULT ( STDMETHODCALLTYPE *StopBuffering )( IWMReaderAdvanced6 * This); HRESULT ( STDMETHODCALLTYPE *OpenStream )( IWMReaderAdvanced6 * This, /* [in] */ IStream *pStream, /* [in] */ IWMReaderCallback *pCallback, /* [in] */ void *pvContext); HRESULT ( STDMETHODCALLTYPE *StopNetStreaming )( IWMReaderAdvanced6 * This); HRESULT ( STDMETHODCALLTYPE *StartAtPosition )( IWMReaderAdvanced6 * This, /* [in] */ WORD wStreamNum, /* [in] */ void *pvOffsetStart, /* [in] */ void *pvDuration, /* [in] */ WMT_OFFSET_FORMAT dwOffsetFormat, /* [in] */ float fRate, /* [in] */ void *pvContext); HRESULT ( STDMETHODCALLTYPE *GetLanguageCount )( IWMReaderAdvanced6 * This, /* [in] */ DWORD dwOutputNum, /* [out] */ WORD *pwLanguageCount); HRESULT ( STDMETHODCALLTYPE *GetLanguage )( IWMReaderAdvanced6 * This, /* [in] */ DWORD dwOutputNum, /* [in] */ WORD wLanguage, /* [size_is][out] */ WCHAR *pwszLanguageString, /* [out][in] */ WORD *pcchLanguageStringLength); HRESULT ( STDMETHODCALLTYPE *GetMaxSpeedFactor )( IWMReaderAdvanced6 * This, /* [out] */ double *pdblFactor); HRESULT ( STDMETHODCALLTYPE *IsUsingFastCache )( IWMReaderAdvanced6 * This, /* [out] */ BOOL *pfUsingFastCache); HRESULT ( STDMETHODCALLTYPE *AddLogParam )( IWMReaderAdvanced6 * This, /* [in] */ LPCWSTR wszNameSpace, /* [in] */ LPCWSTR wszName, /* [in] */ LPCWSTR wszValue); HRESULT ( STDMETHODCALLTYPE *SendLogParams )( IWMReaderAdvanced6 * This); HRESULT ( STDMETHODCALLTYPE *CanSaveFileAs )( IWMReaderAdvanced6 * This, /* [out] */ BOOL *pfCanSave); HRESULT ( STDMETHODCALLTYPE *CancelSaveFileAs )( IWMReaderAdvanced6 * This); HRESULT ( STDMETHODCALLTYPE *GetURL )( IWMReaderAdvanced6 * This, /* [size_is][out] */ WCHAR *pwszURL, /* [out][in] */ DWORD *pcchURL); HRESULT ( STDMETHODCALLTYPE *SetPlayerHook )( IWMReaderAdvanced6 * This, /* [in] */ DWORD dwOutputNum, /* [in] */ IWMPlayerHook *pHook); HRESULT ( STDMETHODCALLTYPE *SetProtectStreamSamples )( IWMReaderAdvanced6 * This, /* [size_is][in] */ BYTE *pbCertificate, /* [in] */ DWORD cbCertificate, /* [in] */ DWORD dwCertificateType, /* [in] */ DWORD dwFlags, /* [size_is][out] */ BYTE *pbInitializationVector, /* [out][in] */ DWORD *pcbInitializationVector); END_INTERFACE } IWMReaderAdvanced6Vtbl; interface IWMReaderAdvanced6 { CONST_VTBL struct IWMReaderAdvanced6Vtbl *lpVtbl; }; #ifdef COBJMACROS #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) ) #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,dwSreamNum,pfAllocate) \ ( (This)->lpVtbl -> GetAllocateForStream(This,dwSreamNum,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) ) #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) ) #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) ) #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) ) #define IWMReaderAdvanced6_SetPlayerHook(This,dwOutputNum,pHook) \ ( (This)->lpVtbl -> SetPlayerHook(This,dwOutputNum,pHook) ) #define IWMReaderAdvanced6_SetProtectStreamSamples(This,pbCertificate,cbCertificate,dwCertificateType,dwFlags,pbInitializationVector,pcbInitializationVector) \ ( (This)->lpVtbl -> SetProtectStreamSamples(This,pbCertificate,cbCertificate,dwCertificateType,dwFlags,pbInitializationVector,pcbInitializationVector) ) #endif /* COBJMACROS */ #endif /* C style interface */ #endif /* __IWMReaderAdvanced6_INTERFACE_DEFINED__ */ #ifndef __IWMPlayerHook_INTERFACE_DEFINED__ #define __IWMPlayerHook_INTERFACE_DEFINED__ /* interface IWMPlayerHook */ /* [local][unique][helpstring][uuid][object] */ EXTERN_C const IID IID_IWMPlayerHook; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("e5b7ca9a-0f1c-4f66-9002-74ec50d8b304") IWMPlayerHook : public IUnknown { public: virtual HRESULT STDMETHODCALLTYPE PreDecode( void) = 0; }; #else /* C style interface */ typedef struct IWMPlayerHookVtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IWMPlayerHook * This, /* [in] */ REFIID riid, /* [annotation][iid_is][out] */ __RPC__deref_out void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IWMPlayerHook * This); ULONG ( STDMETHODCALLTYPE *Release )( IWMPlayerHook * This); HRESULT ( STDMETHODCALLTYPE *PreDecode )( IWMPlayerHook * This); END_INTERFACE } IWMPlayerHookVtbl; interface IWMPlayerHook { CONST_VTBL struct IWMPlayerHookVtbl *lpVtbl; }; #ifdef COBJMACROS #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) ) #define IWMPlayerHook_PreDecode(This) \ ( (This)->lpVtbl -> PreDecode(This) ) #endif /* COBJMACROS */ #endif /* C style interface */ #endif /* __IWMPlayerHook_INTERFACE_DEFINED__ */ #ifndef __IWMReaderAllocatorEx_INTERFACE_DEFINED__ #define __IWMReaderAllocatorEx_INTERFACE_DEFINED__ /* interface IWMReaderAllocatorEx */ /* [local][unique][helpstring][uuid][object] */ EXTERN_C const IID IID_IWMReaderAllocatorEx; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("9F762FA7-A22E-428d-93C9-AC82F3AAFE5A") IWMReaderAllocatorEx : public IUnknown { public: virtual HRESULT STDMETHODCALLTYPE AllocateForStreamEx( /* [in] */ WORD wStreamNum, /* [in] */ DWORD cbBuffer, /* [out] */ INSSBuffer **ppBuffer, /* [in] */ DWORD dwFlags, /* [in] */ QWORD cnsSampleTime, /* [in] */ QWORD cnsSampleDuration, /* [in] */ void *pvContext) = 0; virtual HRESULT STDMETHODCALLTYPE AllocateForOutputEx( /* [in] */ DWORD dwOutputNum, /* [in] */ DWORD cbBuffer, /* [out] */ INSSBuffer **ppBuffer, /* [in] */ DWORD dwFlags, /* [in] */ QWORD cnsSampleTime, /* [in] */ QWORD cnsSampleDuration, /* [in] */ void *pvContext) = 0; }; #else /* C style interface */ typedef struct IWMReaderAllocatorExVtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IWMReaderAllocatorEx * This, /* [in] */ REFIID riid, /* [annotation][iid_is][out] */ __RPC__deref_out void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IWMReaderAllocatorEx * This); ULONG ( STDMETHODCALLTYPE *Release )( IWMReaderAllocatorEx * This); HRESULT ( STDMETHODCALLTYPE *AllocateForStreamEx )( IWMReaderAllocatorEx * This, /* [in] */ WORD wStreamNum, /* [in] */ DWORD cbBuffer, /* [out] */ INSSBuffer **ppBuffer, /* [in] */ DWORD dwFlags, /* [in] */ QWORD cnsSampleTime, /* [in] */ QWORD cnsSampleDuration, /* [in] */ void *pvContext); HRESULT ( STDMETHODCALLTYPE *AllocateForOutputEx )( IWMReaderAllocatorEx * This, /* [in] */ DWORD dwOutputNum, /* [in] */ DWORD cbBuffer, /* [out] */ INSSBuffer **ppBuffer, /* [in] */ DWORD dwFlags, /* [in] */ QWORD cnsSampleTime, /* [in] */ QWORD cnsSampleDuration, /* [in] */ void *pvContext); END_INTERFACE } IWMReaderAllocatorExVtbl; interface IWMReaderAllocatorEx { CONST_VTBL struct IWMReaderAllocatorExVtbl *lpVtbl; }; #ifdef COBJMACROS #define IWMReaderAllocatorEx_QueryInterface(This,riid,ppvObject) \ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) #define IWMReaderAllocatorEx_AddRef(This) \ ( (This)->lpVtbl -> AddRef(This) ) #define IWMReaderAllocatorEx_Release(This) \ ( (This)->lpVtbl -> Release(This) ) #define IWMReaderAllocatorEx_AllocateForStreamEx(This,wStreamNum,cbBuffer,ppBuffer,dwFlags,cnsSampleTime,cnsSampleDuration,pvContext) \ ( (This)->lpVtbl -> AllocateForStreamEx(This,wStreamNum,cbBuffer,ppBuffer,dwFlags,cnsSampleTime,cnsSampleDuration,pvContext) ) #define IWMReaderAllocatorEx_AllocateForOutputEx(This,dwOutputNum,cbBuffer,ppBuffer,dwFlags,cnsSampleTime,cnsSampleDuration,pvContext) \ ( (This)->lpVtbl -> AllocateForOutputEx(This,dwOutputNum,cbBuffer,ppBuffer,dwFlags,cnsSampleTime,cnsSampleDuration,pvContext) ) #endif /* COBJMACROS */ #endif /* C style interface */ #endif /* __IWMReaderAllocatorEx_INTERFACE_DEFINED__ */ #ifndef __IWMReaderTypeNegotiation_INTERFACE_DEFINED__ #define __IWMReaderTypeNegotiation_INTERFACE_DEFINED__ /* interface IWMReaderTypeNegotiation */ /* [local][unique][helpstring][uuid][object] */ EXTERN_C const IID IID_IWMReaderTypeNegotiation; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("FDBE5592-81A1-41ea-93BD-735CAD1ADC05") IWMReaderTypeNegotiation : public IUnknown { public: virtual HRESULT STDMETHODCALLTYPE TryOutputProps( /* [in] */ DWORD dwOutputNum, /* [in] */ IWMOutputMediaProps *pOutput) = 0; }; #else /* C style interface */ typedef struct IWMReaderTypeNegotiationVtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IWMReaderTypeNegotiation * This, /* [in] */ REFIID riid, /* [annotation][iid_is][out] */ __RPC__deref_out void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IWMReaderTypeNegotiation * This); ULONG ( STDMETHODCALLTYPE *Release )( IWMReaderTypeNegotiation * This); HRESULT ( STDMETHODCALLTYPE *TryOutputProps )( IWMReaderTypeNegotiation * This, /* [in] */ DWORD dwOutputNum, /* [in] */ IWMOutputMediaProps *pOutput); END_INTERFACE } IWMReaderTypeNegotiationVtbl; interface IWMReaderTypeNegotiation { CONST_VTBL struct IWMReaderTypeNegotiationVtbl *lpVtbl; }; #ifdef COBJMACROS #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) ) #define IWMReaderTypeNegotiation_TryOutputProps(This,dwOutputNum,pOutput) \ ( (This)->lpVtbl -> TryOutputProps(This,dwOutputNum,pOutput) ) #endif /* COBJMACROS */ #endif /* C style interface */ #endif /* __IWMReaderTypeNegotiation_INTERFACE_DEFINED__ */ #ifndef __IWMReaderCallbackAdvanced_INTERFACE_DEFINED__ #define __IWMReaderCallbackAdvanced_INTERFACE_DEFINED__ /* interface IWMReaderCallbackAdvanced */ /* [local][unique][helpstring][uuid][object] */ EXTERN_C const IID IID_IWMReaderCallbackAdvanced; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("96406BEB-2B2B-11d3-B36B-00C04F6108FF") IWMReaderCallbackAdvanced : public IUnknown { public: virtual HRESULT STDMETHODCALLTYPE OnStreamSample( /* [in] */ WORD wStreamNum, /* [in] */ QWORD cnsSampleTime, /* [in] */ QWORD cnsSampleDuration, /* [in] */ DWORD dwFlags, /* [in] */ INSSBuffer *pSample, /* [in] */ void *pvContext) = 0; virtual HRESULT STDMETHODCALLTYPE OnTime( /* [in] */ QWORD cnsCurrentTime, /* [in] */ void *pvContext) = 0; virtual HRESULT STDMETHODCALLTYPE OnStreamSelection( /* [in] */ WORD wStreamCount, /* [in] */ WORD *pStreamNumbers, /* [in] */ WMT_STREAM_SELECTION *pSelections, /* [in] */ void *pvContext) = 0; virtual HRESULT STDMETHODCALLTYPE OnOutputPropsChanged( /* [in] */ DWORD dwOutputNum, /* [in] */ WM_MEDIA_TYPE *pMediaType, /* [in] */ void *pvContext) = 0; virtual HRESULT STDMETHODCALLTYPE AllocateForStream( /* [in] */ WORD wStreamNum, /* [in] */ DWORD cbBuffer, /* [out] */ INSSBuffer **ppBuffer, /* [in] */ void *pvContext) = 0; virtual HRESULT STDMETHODCALLTYPE AllocateForOutput( /* [in] */ DWORD dwOutputNum, /* [in] */ DWORD cbBuffer, /* [out] */ INSSBuffer **ppBuffer, /* [in] */ void *pvContext) = 0; }; #else /* C style interface */ typedef struct IWMReaderCallbackAdvancedVtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IWMReaderCallbackAdvanced * This, /* [in] */ REFIID riid, /* [annotation][iid_is][out] */ __RPC__deref_out void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IWMReaderCallbackAdvanced * This); ULONG ( STDMETHODCALLTYPE *Release )( IWMReaderCallbackAdvanced * This); HRESULT ( STDMETHODCALLTYPE *OnStreamSample )( IWMReaderCallbackAdvanced * This, /* [in] */ WORD wStreamNum, /* [in] */ QWORD cnsSampleTime, /* [in] */ QWORD cnsSampleDuration, /* [in] */ DWORD dwFlags, /* [in] */ INSSBuffer *pSample, /* [in] */ void *pvContext); HRESULT ( STDMETHODCALLTYPE *OnTime )( IWMReaderCallbackAdvanced * This, /* [in] */ QWORD cnsCurrentTime, /* [in] */ void *pvContext); HRESULT ( STDMETHODCALLTYPE *OnStreamSelection )( IWMReaderCallbackAdvanced * This, /* [in] */ WORD wStreamCount, /* [in] */ WORD *pStreamNumbers, /* [in] */ WMT_STREAM_SELECTION *pSelections, /* [in] */ void *pvContext); HRESULT ( STDMETHODCALLTYPE *OnOutputPropsChanged )( IWMReaderCallbackAdvanced * This, /* [in] */ DWORD dwOutputNum, /* [in] */ WM_MEDIA_TYPE *pMediaType, /* [in] */ void *pvContext); HRESULT ( STDMETHODCALLTYPE *AllocateForStream )( IWMReaderCallbackAdvanced * This, /* [in] */ WORD wStreamNum, /* [in] */ DWORD cbBuffer, /* [out] */ INSSBuffer **ppBuffer, /* [in] */ void *pvContext); HRESULT ( STDMETHODCALLTYPE *AllocateForOutput )( IWMReaderCallbackAdvanced * This, /* [in] */ DWORD dwOutputNum, /* [in] */ DWORD cbBuffer, /* [out] */ INSSBuffer **ppBuffer, /* [in] */ void *pvContext); END_INTERFACE } IWMReaderCallbackAdvancedVtbl; interface IWMReaderCallbackAdvanced { CONST_VTBL struct IWMReaderCallbackAdvancedVtbl *lpVtbl; }; #ifdef COBJMACROS #define IWMReaderCallbackAdvanced_QueryInterface(This,riid,ppvObject) \ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) #define IWMReaderCallbackAdvanced_AddRef(This) \ ( (This)->lpVtbl -> AddRef(This) ) #define IWMReaderCallbackAdvanced_Release(This) \ ( (This)->lpVtbl -> Release(This) ) #define IWMReaderCallbackAdvanced_OnStreamSample(This,wStreamNum,cnsSampleTime,cnsSampleDuration,dwFlags,pSample,pvContext) \ ( (This)->lpVtbl -> OnStreamSample(This,wStreamNum,cnsSampleTime,cnsSampleDuration,dwFlags,pSample,pvContext) ) #define IWMReaderCallbackAdvanced_OnTime(This,cnsCurrentTime,pvContext) \ ( (This)->lpVtbl -> OnTime(This,cnsCurrentTime,pvContext) ) #define IWMReaderCallbackAdvanced_OnStreamSelection(This,wStreamCount,pStreamNumbers,pSelections,pvContext) \ ( (This)->lpVtbl -> OnStreamSelection(This,wStreamCount,pStreamNumbers,pSelections,pvContext) ) #define IWMReaderCallbackAdvanced_OnOutputPropsChanged(This,dwOutputNum,pMediaType,pvContext) \ ( (This)->lpVtbl -> OnOutputPropsChanged(This,dwOutputNum,pMediaType,pvContext) ) #define IWMReaderCallbackAdvanced_AllocateForStream(This,wStreamNum,cbBuffer,ppBuffer,pvContext) \ ( (This)->lpVtbl -> AllocateForStream(This,wStreamNum,cbBuffer,ppBuffer,pvContext) ) #define IWMReaderCallbackAdvanced_AllocateForOutput(This,dwOutputNum,cbBuffer,ppBuffer,pvContext) \ ( (This)->lpVtbl -> AllocateForOutput(This,dwOutputNum,cbBuffer,ppBuffer,pvContext) ) #endif /* COBJMACROS */ #endif /* C style interface */ #endif /* __IWMReaderCallbackAdvanced_INTERFACE_DEFINED__ */ #ifndef __IWMDRMReader_INTERFACE_DEFINED__ #define __IWMDRMReader_INTERFACE_DEFINED__ /* interface IWMDRMReader */ /* [local][unique][helpstring][uuid][object] */ EXTERN_C const IID IID_IWMDRMReader; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("D2827540-3EE7-432c-B14C-DC17F085D3B3") IWMDRMReader : public IUnknown { public: virtual HRESULT STDMETHODCALLTYPE AcquireLicense( /* [in] */ DWORD dwFlags) = 0; virtual HRESULT STDMETHODCALLTYPE CancelLicenseAcquisition( void) = 0; virtual HRESULT STDMETHODCALLTYPE Individualize( /* [in] */ DWORD dwFlags) = 0; virtual HRESULT STDMETHODCALLTYPE CancelIndividualization( void) = 0; virtual HRESULT STDMETHODCALLTYPE MonitorLicenseAcquisition( void) = 0; virtual HRESULT STDMETHODCALLTYPE CancelMonitorLicenseAcquisition( void) = 0; virtual HRESULT STDMETHODCALLTYPE SetDRMProperty( /* [in] */ LPCWSTR pwstrName, /* [in] */ WMT_ATTR_DATATYPE dwType, /* [size_is][in] */ const BYTE *pValue, /* [in] */ WORD cbLength) = 0; virtual HRESULT STDMETHODCALLTYPE GetDRMProperty( /* [in] */ LPCWSTR pwstrName, /* [out] */ WMT_ATTR_DATATYPE *pdwType, /* [size_is][out] */ BYTE *pValue, /* [out][in] */ WORD *pcbLength) = 0; }; #else /* C style interface */ typedef struct IWMDRMReaderVtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IWMDRMReader * This, /* [in] */ REFIID riid, /* [annotation][iid_is][out] */ __RPC__deref_out void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IWMDRMReader * This); ULONG ( STDMETHODCALLTYPE *Release )( IWMDRMReader * This); HRESULT ( STDMETHODCALLTYPE *AcquireLicense )( IWMDRMReader * This, /* [in] */ DWORD dwFlags); HRESULT ( STDMETHODCALLTYPE *CancelLicenseAcquisition )( IWMDRMReader * This); HRESULT ( STDMETHODCALLTYPE *Individualize )( IWMDRMReader * This, /* [in] */ DWORD dwFlags); HRESULT ( STDMETHODCALLTYPE *CancelIndividualization )( IWMDRMReader * This); HRESULT ( STDMETHODCALLTYPE *MonitorLicenseAcquisition )( IWMDRMReader * This); HRESULT ( STDMETHODCALLTYPE *CancelMonitorLicenseAcquisition )( IWMDRMReader * This); HRESULT ( STDMETHODCALLTYPE *SetDRMProperty )( IWMDRMReader * This, /* [in] */ LPCWSTR pwstrName, /* [in] */ WMT_ATTR_DATATYPE dwType, /* [size_is][in] */ const BYTE *pValue, /* [in] */ WORD cbLength); HRESULT ( STDMETHODCALLTYPE *GetDRMProperty )( IWMDRMReader * This, /* [in] */ LPCWSTR pwstrName, /* [out] */ WMT_ATTR_DATATYPE *pdwType, /* [size_is][out] */ BYTE *pValue, /* [out][in] */ WORD *pcbLength); END_INTERFACE } IWMDRMReaderVtbl; interface IWMDRMReader { CONST_VTBL struct IWMDRMReaderVtbl *lpVtbl; }; #ifdef COBJMACROS #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) ) #define IWMDRMReader_AcquireLicense(This,dwFlags) \ ( (This)->lpVtbl -> AcquireLicense(This,dwFlags) ) #define IWMDRMReader_CancelLicenseAcquisition(This) \ ( (This)->lpVtbl -> CancelLicenseAcquisition(This) ) #define IWMDRMReader_Individualize(This,dwFlags) \ ( (This)->lpVtbl -> Individualize(This,dwFlags) ) #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,pwstrName,dwType,pValue,cbLength) \ ( (This)->lpVtbl -> SetDRMProperty(This,pwstrName,dwType,pValue,cbLength) ) #define IWMDRMReader_GetDRMProperty(This,pwstrName,pdwType,pValue,pcbLength) \ ( (This)->lpVtbl -> GetDRMProperty(This,pwstrName,pdwType,pValue,pcbLength) ) #endif /* COBJMACROS */ #endif /* C style interface */ #endif /* __IWMDRMReader_INTERFACE_DEFINED__ */ #ifndef __IWMDRMReader2_INTERFACE_DEFINED__ #define __IWMDRMReader2_INTERFACE_DEFINED__ /* interface IWMDRMReader2 */ /* [local][unique][helpstring][uuid][object] */ EXTERN_C const IID IID_IWMDRMReader2; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("befe7a75-9f1d-4075-b9d9-a3c37bda49a0") IWMDRMReader2 : public IWMDRMReader { public: virtual HRESULT STDMETHODCALLTYPE SetEvaluateOutputLevelLicenses( /* [in] */ BOOL fEvaluate) = 0; virtual HRESULT STDMETHODCALLTYPE GetPlayOutputLevels( /* [size_is][out] */ DRM_PLAY_OPL *pPlayOPL, /* [out][in] */ DWORD *pcbLength, /* [out] */ DWORD *pdwMinAppComplianceLevel) = 0; virtual HRESULT STDMETHODCALLTYPE GetCopyOutputLevels( /* [size_is][out] */ DRM_COPY_OPL *pCopyOPL, /* [out][in] */ DWORD *pcbLength, /* [out] */ DWORD *pdwMinAppComplianceLevel) = 0; virtual HRESULT STDMETHODCALLTYPE TryNextLicense( void) = 0; }; #else /* C style interface */ typedef struct IWMDRMReader2Vtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IWMDRMReader2 * This, /* [in] */ REFIID riid, /* [annotation][iid_is][out] */ __RPC__deref_out void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IWMDRMReader2 * This); ULONG ( STDMETHODCALLTYPE *Release )( IWMDRMReader2 * This); HRESULT ( STDMETHODCALLTYPE *AcquireLicense )( IWMDRMReader2 * This, /* [in] */ DWORD dwFlags); HRESULT ( STDMETHODCALLTYPE *CancelLicenseAcquisition )( IWMDRMReader2 * This); HRESULT ( STDMETHODCALLTYPE *Individualize )( IWMDRMReader2 * This, /* [in] */ DWORD dwFlags); HRESULT ( STDMETHODCALLTYPE *CancelIndividualization )( IWMDRMReader2 * This); HRESULT ( STDMETHODCALLTYPE *MonitorLicenseAcquisition )( IWMDRMReader2 * This); HRESULT ( STDMETHODCALLTYPE *CancelMonitorLicenseAcquisition )( IWMDRMReader2 * This); HRESULT ( STDMETHODCALLTYPE *SetDRMProperty )( IWMDRMReader2 * This, /* [in] */ LPCWSTR pwstrName, /* [in] */ WMT_ATTR_DATATYPE dwType, /* [size_is][in] */ const BYTE *pValue, /* [in] */ WORD cbLength); HRESULT ( STDMETHODCALLTYPE *GetDRMProperty )( IWMDRMReader2 * This, /* [in] */ LPCWSTR pwstrName, /* [out] */ WMT_ATTR_DATATYPE *pdwType, /* [size_is][out] */ BYTE *pValue, /* [out][in] */ WORD *pcbLength); HRESULT ( STDMETHODCALLTYPE *SetEvaluateOutputLevelLicenses )( IWMDRMReader2 * This, /* [in] */ BOOL fEvaluate); HRESULT ( STDMETHODCALLTYPE *GetPlayOutputLevels )( IWMDRMReader2 * This, /* [size_is][out] */ DRM_PLAY_OPL *pPlayOPL, /* [out][in] */ DWORD *pcbLength, /* [out] */ DWORD *pdwMinAppComplianceLevel); HRESULT ( STDMETHODCALLTYPE *GetCopyOutputLevels )( IWMDRMReader2 * This, /* [size_is][out] */ DRM_COPY_OPL *pCopyOPL, /* [out][in] */ DWORD *pcbLength, /* [out] */ DWORD *pdwMinAppComplianceLevel); HRESULT ( STDMETHODCALLTYPE *TryNextLicense )( IWMDRMReader2 * This); END_INTERFACE } IWMDRMReader2Vtbl; interface IWMDRMReader2 { CONST_VTBL struct IWMDRMReader2Vtbl *lpVtbl; }; #ifdef COBJMACROS #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) ) #define IWMDRMReader2_AcquireLicense(This,dwFlags) \ ( (This)->lpVtbl -> AcquireLicense(This,dwFlags) ) #define IWMDRMReader2_CancelLicenseAcquisition(This) \ ( (This)->lpVtbl -> CancelLicenseAcquisition(This) ) #define IWMDRMReader2_Individualize(This,dwFlags) \ ( (This)->lpVtbl -> Individualize(This,dwFlags) ) #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,pwstrName,dwType,pValue,cbLength) \ ( (This)->lpVtbl -> SetDRMProperty(This,pwstrName,dwType,pValue,cbLength) ) #define IWMDRMReader2_GetDRMProperty(This,pwstrName,pdwType,pValue,pcbLength) \ ( (This)->lpVtbl -> GetDRMProperty(This,pwstrName,pdwType,pValue,pcbLength) ) #define IWMDRMReader2_SetEvaluateOutputLevelLicenses(This,fEvaluate) \ ( (This)->lpVtbl -> SetEvaluateOutputLevelLicenses(This,fEvaluate) ) #define IWMDRMReader2_GetPlayOutputLevels(This,pPlayOPL,pcbLength,pdwMinAppComplianceLevel) \ ( (This)->lpVtbl -> GetPlayOutputLevels(This,pPlayOPL,pcbLength,pdwMinAppComplianceLevel) ) #define IWMDRMReader2_GetCopyOutputLevels(This,pCopyOPL,pcbLength,pdwMinAppComplianceLevel) \ ( (This)->lpVtbl -> GetCopyOutputLevels(This,pCopyOPL,pcbLength,pdwMinAppComplianceLevel) ) #define IWMDRMReader2_TryNextLicense(This) \ ( (This)->lpVtbl -> TryNextLicense(This) ) #endif /* COBJMACROS */ #endif /* C style interface */ #endif /* __IWMDRMReader2_INTERFACE_DEFINED__ */ #ifndef __IWMDRMReader3_INTERFACE_DEFINED__ #define __IWMDRMReader3_INTERFACE_DEFINED__ /* interface IWMDRMReader3 */ /* [local][unique][helpstring][uuid][object] */ EXTERN_C const IID IID_IWMDRMReader3; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("e08672de-f1e7-4ff4-a0a3-fc4b08e4caf8") IWMDRMReader3 : public IWMDRMReader2 { public: virtual HRESULT STDMETHODCALLTYPE GetInclusionList( /* [out] */ GUID **ppGuids, /* [out] */ DWORD *pcGuids) = 0; }; #else /* C style interface */ typedef struct IWMDRMReader3Vtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IWMDRMReader3 * This, /* [in] */ REFIID riid, /* [annotation][iid_is][out] */ __RPC__deref_out void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IWMDRMReader3 * This); ULONG ( STDMETHODCALLTYPE *Release )( IWMDRMReader3 * This); HRESULT ( STDMETHODCALLTYPE *AcquireLicense )( IWMDRMReader3 * This, /* [in] */ DWORD dwFlags); HRESULT ( STDMETHODCALLTYPE *CancelLicenseAcquisition )( IWMDRMReader3 * This); HRESULT ( STDMETHODCALLTYPE *Individualize )( IWMDRMReader3 * This, /* [in] */ DWORD dwFlags); HRESULT ( STDMETHODCALLTYPE *CancelIndividualization )( IWMDRMReader3 * This); HRESULT ( STDMETHODCALLTYPE *MonitorLicenseAcquisition )( IWMDRMReader3 * This); HRESULT ( STDMETHODCALLTYPE *CancelMonitorLicenseAcquisition )( IWMDRMReader3 * This); HRESULT ( STDMETHODCALLTYPE *SetDRMProperty )( IWMDRMReader3 * This, /* [in] */ LPCWSTR pwstrName, /* [in] */ WMT_ATTR_DATATYPE dwType, /* [size_is][in] */ const BYTE *pValue, /* [in] */ WORD cbLength); HRESULT ( STDMETHODCALLTYPE *GetDRMProperty )( IWMDRMReader3 * This, /* [in] */ LPCWSTR pwstrName, /* [out] */ WMT_ATTR_DATATYPE *pdwType, /* [size_is][out] */ BYTE *pValue, /* [out][in] */ WORD *pcbLength); HRESULT ( STDMETHODCALLTYPE *SetEvaluateOutputLevelLicenses )( IWMDRMReader3 * This, /* [in] */ BOOL fEvaluate); HRESULT ( STDMETHODCALLTYPE *GetPlayOutputLevels )( IWMDRMReader3 * This, /* [size_is][out] */ DRM_PLAY_OPL *pPlayOPL, /* [out][in] */ DWORD *pcbLength, /* [out] */ DWORD *pdwMinAppComplianceLevel); HRESULT ( STDMETHODCALLTYPE *GetCopyOutputLevels )( IWMDRMReader3 * This, /* [size_is][out] */ DRM_COPY_OPL *pCopyOPL, /* [out][in] */ DWORD *pcbLength, /* [out] */ DWORD *pdwMinAppComplianceLevel); HRESULT ( STDMETHODCALLTYPE *TryNextLicense )( IWMDRMReader3 * This); HRESULT ( STDMETHODCALLTYPE *GetInclusionList )( IWMDRMReader3 * This, /* [out] */ GUID **ppGuids, /* [out] */ DWORD *pcGuids); END_INTERFACE } IWMDRMReader3Vtbl; interface IWMDRMReader3 { CONST_VTBL struct IWMDRMReader3Vtbl *lpVtbl; }; #ifdef COBJMACROS #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) ) #define IWMDRMReader3_AcquireLicense(This,dwFlags) \ ( (This)->lpVtbl -> AcquireLicense(This,dwFlags) ) #define IWMDRMReader3_CancelLicenseAcquisition(This) \ ( (This)->lpVtbl -> CancelLicenseAcquisition(This) ) #define IWMDRMReader3_Individualize(This,dwFlags) \ ( (This)->lpVtbl -> Individualize(This,dwFlags) ) #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,pwstrName,dwType,pValue,cbLength) \ ( (This)->lpVtbl -> SetDRMProperty(This,pwstrName,dwType,pValue,cbLength) ) #define IWMDRMReader3_GetDRMProperty(This,pwstrName,pdwType,pValue,pcbLength) \ ( (This)->lpVtbl -> GetDRMProperty(This,pwstrName,pdwType,pValue,pcbLength) ) #define IWMDRMReader3_SetEvaluateOutputLevelLicenses(This,fEvaluate) \ ( (This)->lpVtbl -> SetEvaluateOutputLevelLicenses(This,fEvaluate) ) #define IWMDRMReader3_GetPlayOutputLevels(This,pPlayOPL,pcbLength,pdwMinAppComplianceLevel) \ ( (This)->lpVtbl -> GetPlayOutputLevels(This,pPlayOPL,pcbLength,pdwMinAppComplianceLevel) ) #define IWMDRMReader3_GetCopyOutputLevels(This,pCopyOPL,pcbLength,pdwMinAppComplianceLevel) \ ( (This)->lpVtbl -> GetCopyOutputLevels(This,pCopyOPL,pcbLength,pdwMinAppComplianceLevel) ) #define IWMDRMReader3_TryNextLicense(This) \ ( (This)->lpVtbl -> TryNextLicense(This) ) #define IWMDRMReader3_GetInclusionList(This,ppGuids,pcGuids) \ ( (This)->lpVtbl -> GetInclusionList(This,ppGuids,pcGuids) ) #endif /* COBJMACROS */ #endif /* C style interface */ #endif /* __IWMDRMReader3_INTERFACE_DEFINED__ */ #ifndef __IWMReaderPlaylistBurn_INTERFACE_DEFINED__ #define __IWMReaderPlaylistBurn_INTERFACE_DEFINED__ /* interface IWMReaderPlaylistBurn */ /* [local][unique][helpstring][uuid][object] */ EXTERN_C const IID IID_IWMReaderPlaylistBurn; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("f28c0300-9baa-4477-a846-1744d9cbf533") IWMReaderPlaylistBurn : public IUnknown { public: virtual HRESULT STDMETHODCALLTYPE InitPlaylistBurn( /* [in] */ DWORD cFiles, /* [in] */ LPCWSTR_WMSDK_TYPE_SAFE *ppwszFilenames, /* [in] */ IWMStatusCallback *pCallback, /* [in] */ void *pvContext) = 0; virtual HRESULT STDMETHODCALLTYPE GetInitResults( /* [in] */ DWORD cFiles, /* [out] */ HRESULT *phrStati) = 0; virtual HRESULT STDMETHODCALLTYPE Cancel( void) = 0; virtual HRESULT STDMETHODCALLTYPE EndPlaylistBurn( /* [in] */ HRESULT hrBurnResult) = 0; }; #else /* C style interface */ typedef struct IWMReaderPlaylistBurnVtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IWMReaderPlaylistBurn * This, /* [in] */ REFIID riid, /* [annotation][iid_is][out] */ __RPC__deref_out void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IWMReaderPlaylistBurn * This); ULONG ( STDMETHODCALLTYPE *Release )( IWMReaderPlaylistBurn * This); HRESULT ( STDMETHODCALLTYPE *InitPlaylistBurn )( IWMReaderPlaylistBurn * This, /* [in] */ DWORD cFiles, /* [in] */ LPCWSTR_WMSDK_TYPE_SAFE *ppwszFilenames, /* [in] */ IWMStatusCallback *pCallback, /* [in] */ void *pvContext); HRESULT ( STDMETHODCALLTYPE *GetInitResults )( IWMReaderPlaylistBurn * This, /* [in] */ DWORD cFiles, /* [out] */ HRESULT *phrStati); HRESULT ( STDMETHODCALLTYPE *Cancel )( IWMReaderPlaylistBurn * This); HRESULT ( STDMETHODCALLTYPE *EndPlaylistBurn )( IWMReaderPlaylistBurn * This, /* [in] */ HRESULT hrBurnResult); END_INTERFACE } IWMReaderPlaylistBurnVtbl; interface IWMReaderPlaylistBurn { CONST_VTBL struct IWMReaderPlaylistBurnVtbl *lpVtbl; }; #ifdef COBJMACROS #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) ) #define IWMReaderPlaylistBurn_InitPlaylistBurn(This,cFiles,ppwszFilenames,pCallback,pvContext) \ ( (This)->lpVtbl -> InitPlaylistBurn(This,cFiles,ppwszFilenames,pCallback,pvContext) ) #define IWMReaderPlaylistBurn_GetInitResults(This,cFiles,phrStati) \ ( (This)->lpVtbl -> GetInitResults(This,cFiles,phrStati) ) #define IWMReaderPlaylistBurn_Cancel(This) \ ( (This)->lpVtbl -> Cancel(This) ) #define IWMReaderPlaylistBurn_EndPlaylistBurn(This,hrBurnResult) \ ( (This)->lpVtbl -> EndPlaylistBurn(This,hrBurnResult) ) #endif /* COBJMACROS */ #endif /* C style interface */ #endif /* __IWMReaderPlaylistBurn_INTERFACE_DEFINED__ */ #ifndef __IWMReaderNetworkConfig_INTERFACE_DEFINED__ #define __IWMReaderNetworkConfig_INTERFACE_DEFINED__ /* interface IWMReaderNetworkConfig */ /* [local][unique][helpstring][uuid][object] */ EXTERN_C const IID IID_IWMReaderNetworkConfig; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("96406BEC-2B2B-11d3-B36B-00C04F6108FF") IWMReaderNetworkConfig : public IUnknown { public: virtual HRESULT STDMETHODCALLTYPE GetBufferingTime( /* [out] */ QWORD *pcnsBufferingTime) = 0; virtual HRESULT STDMETHODCALLTYPE SetBufferingTime( /* [in] */ QWORD cnsBufferingTime) = 0; virtual HRESULT STDMETHODCALLTYPE GetUDPPortRanges( /* [size_is][out] */ WM_PORT_NUMBER_RANGE *pRangeArray, /* [out][in] */ DWORD *pcRanges) = 0; virtual HRESULT STDMETHODCALLTYPE SetUDPPortRanges( /* [size_is][in] */ WM_PORT_NUMBER_RANGE *pRangeArray, /* [in] */ DWORD cRanges) = 0; virtual HRESULT STDMETHODCALLTYPE GetProxySettings( /* [in] */ LPCWSTR pwszProtocol, /* [out] */ WMT_PROXY_SETTINGS *pProxySetting) = 0; virtual HRESULT STDMETHODCALLTYPE SetProxySettings( /* [in] */ LPCWSTR pwszProtocol, /* [in] */ WMT_PROXY_SETTINGS ProxySetting) = 0; virtual HRESULT STDMETHODCALLTYPE GetProxyHostName( /* [in] */ LPCWSTR pwszProtocol, /* [size_is][out] */ WCHAR *pwszHostName, /* [out][in] */ DWORD *pcchHostName) = 0; virtual HRESULT STDMETHODCALLTYPE SetProxyHostName( /* [in] */ LPCWSTR pwszProtocol, /* [in] */ LPCWSTR pwszHostName) = 0; virtual HRESULT STDMETHODCALLTYPE GetProxyPort( /* [in] */ LPCWSTR pwszProtocol, /* [out] */ DWORD *pdwPort) = 0; virtual HRESULT STDMETHODCALLTYPE SetProxyPort( /* [in] */ LPCWSTR pwszProtocol, /* [in] */ DWORD dwPort) = 0; virtual HRESULT STDMETHODCALLTYPE GetProxyExceptionList( /* [in] */ LPCWSTR pwszProtocol, /* [size_is][out] */ WCHAR *pwszExceptionList, /* [out][in] */ DWORD *pcchExceptionList) = 0; virtual HRESULT STDMETHODCALLTYPE SetProxyExceptionList( /* [in] */ LPCWSTR pwszProtocol, /* [in] */ LPCWSTR pwszExceptionList) = 0; virtual HRESULT STDMETHODCALLTYPE GetProxyBypassForLocal( /* [in] */ LPCWSTR pwszProtocol, /* [out] */ BOOL *pfBypassForLocal) = 0; virtual HRESULT STDMETHODCALLTYPE SetProxyBypassForLocal( /* [in] */ LPCWSTR pwszProtocol, /* [in] */ BOOL fBypassForLocal) = 0; virtual HRESULT STDMETHODCALLTYPE GetForceRerunAutoProxyDetection( /* [out] */ BOOL *pfForceRerunDetection) = 0; virtual HRESULT STDMETHODCALLTYPE SetForceRerunAutoProxyDetection( /* [in] */ BOOL fForceRerunDetection) = 0; virtual HRESULT STDMETHODCALLTYPE GetEnableMulticast( /* [out] */ BOOL *pfEnableMulticast) = 0; virtual HRESULT STDMETHODCALLTYPE SetEnableMulticast( /* [in] */ BOOL fEnableMulticast) = 0; virtual HRESULT STDMETHODCALLTYPE GetEnableHTTP( /* [out] */ BOOL *pfEnableHTTP) = 0; virtual HRESULT STDMETHODCALLTYPE SetEnableHTTP( /* [in] */ BOOL fEnableHTTP) = 0; virtual HRESULT STDMETHODCALLTYPE GetEnableUDP( /* [out] */ BOOL *pfEnableUDP) = 0; virtual HRESULT STDMETHODCALLTYPE SetEnableUDP( /* [in] */ BOOL fEnableUDP) = 0; virtual HRESULT STDMETHODCALLTYPE GetEnableTCP( /* [out] */ BOOL *pfEnableTCP) = 0; virtual HRESULT STDMETHODCALLTYPE SetEnableTCP( /* [in] */ BOOL fEnableTCP) = 0; virtual HRESULT STDMETHODCALLTYPE ResetProtocolRollover( void) = 0; virtual HRESULT STDMETHODCALLTYPE GetConnectionBandwidth( /* [out] */ DWORD *pdwConnectionBandwidth) = 0; virtual HRESULT STDMETHODCALLTYPE SetConnectionBandwidth( /* [in] */ DWORD dwConnectionBandwidth) = 0; virtual HRESULT STDMETHODCALLTYPE GetNumProtocolsSupported( /* [out] */ DWORD *pcProtocols) = 0; virtual HRESULT STDMETHODCALLTYPE GetSupportedProtocolName( /* [in] */ DWORD dwProtocolNum, /* [size_is][out] */ WCHAR *pwszProtocolName, /* [out][in] */ DWORD *pcchProtocolName) = 0; virtual HRESULT STDMETHODCALLTYPE AddLoggingUrl( /* [in] */ LPCWSTR pwszUrl) = 0; virtual HRESULT STDMETHODCALLTYPE GetLoggingUrl( /* [in] */ DWORD dwIndex, /* [size_is][out] */ LPWSTR pwszUrl, /* [out][in] */ DWORD *pcchUrl) = 0; virtual HRESULT STDMETHODCALLTYPE GetLoggingUrlCount( /* [out] */ DWORD *pdwUrlCount) = 0; virtual HRESULT STDMETHODCALLTYPE ResetLoggingUrlList( void) = 0; }; #else /* C style interface */ typedef struct IWMReaderNetworkConfigVtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IWMReaderNetworkConfig * This, /* [in] */ REFIID riid, /* [annotation][iid_is][out] */ __RPC__deref_out void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IWMReaderNetworkConfig * This); ULONG ( STDMETHODCALLTYPE *Release )( IWMReaderNetworkConfig * This); HRESULT ( STDMETHODCALLTYPE *GetBufferingTime )( IWMReaderNetworkConfig * This, /* [out] */ QWORD *pcnsBufferingTime); HRESULT ( STDMETHODCALLTYPE *SetBufferingTime )( IWMReaderNetworkConfig * This, /* [in] */ QWORD cnsBufferingTime); HRESULT ( STDMETHODCALLTYPE *GetUDPPortRanges )( IWMReaderNetworkConfig * This, /* [size_is][out] */ WM_PORT_NUMBER_RANGE *pRangeArray, /* [out][in] */ DWORD *pcRanges); HRESULT ( STDMETHODCALLTYPE *SetUDPPortRanges )( IWMReaderNetworkConfig * This, /* [size_is][in] */ WM_PORT_NUMBER_RANGE *pRangeArray, /* [in] */ DWORD cRanges); HRESULT ( STDMETHODCALLTYPE *GetProxySettings )( IWMReaderNetworkConfig * This, /* [in] */ LPCWSTR pwszProtocol, /* [out] */ WMT_PROXY_SETTINGS *pProxySetting); HRESULT ( STDMETHODCALLTYPE *SetProxySettings )( IWMReaderNetworkConfig * This, /* [in] */ LPCWSTR pwszProtocol, /* [in] */ WMT_PROXY_SETTINGS ProxySetting); HRESULT ( STDMETHODCALLTYPE *GetProxyHostName )( IWMReaderNetworkConfig * This, /* [in] */ LPCWSTR pwszProtocol, /* [size_is][out] */ WCHAR *pwszHostName, /* [out][in] */ DWORD *pcchHostName); HRESULT ( STDMETHODCALLTYPE *SetProxyHostName )( IWMReaderNetworkConfig * This, /* [in] */ LPCWSTR pwszProtocol, /* [in] */ LPCWSTR pwszHostName); HRESULT ( STDMETHODCALLTYPE *GetProxyPort )( IWMReaderNetworkConfig * This, /* [in] */ LPCWSTR pwszProtocol, /* [out] */ DWORD *pdwPort); HRESULT ( STDMETHODCALLTYPE *SetProxyPort )( IWMReaderNetworkConfig * This, /* [in] */ LPCWSTR pwszProtocol, /* [in] */ DWORD dwPort); HRESULT ( STDMETHODCALLTYPE *GetProxyExceptionList )( IWMReaderNetworkConfig * This, /* [in] */ LPCWSTR pwszProtocol, /* [size_is][out] */ WCHAR *pwszExceptionList, /* [out][in] */ DWORD *pcchExceptionList); HRESULT ( STDMETHODCALLTYPE *SetProxyExceptionList )( IWMReaderNetworkConfig * This, /* [in] */ LPCWSTR pwszProtocol, /* [in] */ LPCWSTR pwszExceptionList); HRESULT ( STDMETHODCALLTYPE *GetProxyBypassForLocal )( IWMReaderNetworkConfig * This, /* [in] */ LPCWSTR pwszProtocol, /* [out] */ BOOL *pfBypassForLocal); HRESULT ( STDMETHODCALLTYPE *SetProxyBypassForLocal )( IWMReaderNetworkConfig * This, /* [in] */ LPCWSTR pwszProtocol, /* [in] */ BOOL fBypassForLocal); HRESULT ( STDMETHODCALLTYPE *GetForceRerunAutoProxyDetection )( IWMReaderNetworkConfig * This, /* [out] */ BOOL *pfForceRerunDetection); HRESULT ( STDMETHODCALLTYPE *SetForceRerunAutoProxyDetection )( IWMReaderNetworkConfig * This, /* [in] */ BOOL fForceRerunDetection); HRESULT ( STDMETHODCALLTYPE *GetEnableMulticast )( IWMReaderNetworkConfig * This, /* [out] */ BOOL *pfEnableMulticast); HRESULT ( STDMETHODCALLTYPE *SetEnableMulticast )( IWMReaderNetworkConfig * This, /* [in] */ BOOL fEnableMulticast); HRESULT ( STDMETHODCALLTYPE *GetEnableHTTP )( IWMReaderNetworkConfig * This, /* [out] */ BOOL *pfEnableHTTP); HRESULT ( STDMETHODCALLTYPE *SetEnableHTTP )( IWMReaderNetworkConfig * This, /* [in] */ BOOL fEnableHTTP); HRESULT ( STDMETHODCALLTYPE *GetEnableUDP )( IWMReaderNetworkConfig * This, /* [out] */ BOOL *pfEnableUDP); HRESULT ( STDMETHODCALLTYPE *SetEnableUDP )( IWMReaderNetworkConfig * This, /* [in] */ BOOL fEnableUDP); HRESULT ( STDMETHODCALLTYPE *GetEnableTCP )( IWMReaderNetworkConfig * This, /* [out] */ BOOL *pfEnableTCP); HRESULT ( STDMETHODCALLTYPE *SetEnableTCP )( IWMReaderNetworkConfig * This, /* [in] */ BOOL fEnableTCP); HRESULT ( STDMETHODCALLTYPE *ResetProtocolRollover )( IWMReaderNetworkConfig * This); HRESULT ( STDMETHODCALLTYPE *GetConnectionBandwidth )( IWMReaderNetworkConfig * This, /* [out] */ DWORD *pdwConnectionBandwidth); HRESULT ( STDMETHODCALLTYPE *SetConnectionBandwidth )( IWMReaderNetworkConfig * This, /* [in] */ DWORD dwConnectionBandwidth); HRESULT ( STDMETHODCALLTYPE *GetNumProtocolsSupported )( IWMReaderNetworkConfig * This, /* [out] */ DWORD *pcProtocols); HRESULT ( STDMETHODCALLTYPE *GetSupportedProtocolName )( IWMReaderNetworkConfig * This, /* [in] */ DWORD dwProtocolNum, /* [size_is][out] */ WCHAR *pwszProtocolName, /* [out][in] */ DWORD *pcchProtocolName); HRESULT ( STDMETHODCALLTYPE *AddLoggingUrl )( IWMReaderNetworkConfig * This, /* [in] */ LPCWSTR pwszUrl); HRESULT ( STDMETHODCALLTYPE *GetLoggingUrl )( IWMReaderNetworkConfig * This, /* [in] */ DWORD dwIndex, /* [size_is][out] */ LPWSTR pwszUrl, /* [out][in] */ DWORD *pcchUrl); HRESULT ( STDMETHODCALLTYPE *GetLoggingUrlCount )( IWMReaderNetworkConfig * This, /* [out] */ DWORD *pdwUrlCount); HRESULT ( STDMETHODCALLTYPE *ResetLoggingUrlList )( IWMReaderNetworkConfig * This); END_INTERFACE } IWMReaderNetworkConfigVtbl; interface IWMReaderNetworkConfig { CONST_VTBL struct IWMReaderNetworkConfigVtbl *lpVtbl; }; #ifdef COBJMACROS #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) ) #define IWMReaderNetworkConfig_GetBufferingTime(This,pcnsBufferingTime) \ ( (This)->lpVtbl -> GetBufferingTime(This,pcnsBufferingTime) ) #define IWMReaderNetworkConfig_SetBufferingTime(This,cnsBufferingTime) \ ( (This)->lpVtbl -> SetBufferingTime(This,cnsBufferingTime) ) #define IWMReaderNetworkConfig_GetUDPPortRanges(This,pRangeArray,pcRanges) \ ( (This)->lpVtbl -> GetUDPPortRanges(This,pRangeArray,pcRanges) ) #define IWMReaderNetworkConfig_SetUDPPortRanges(This,pRangeArray,cRanges) \ ( (This)->lpVtbl -> SetUDPPortRanges(This,pRangeArray,cRanges) ) #define IWMReaderNetworkConfig_GetProxySettings(This,pwszProtocol,pProxySetting) \ ( (This)->lpVtbl -> GetProxySettings(This,pwszProtocol,pProxySetting) ) #define IWMReaderNetworkConfig_SetProxySettings(This,pwszProtocol,ProxySetting) \ ( (This)->lpVtbl -> SetProxySettings(This,pwszProtocol,ProxySetting) ) #define IWMReaderNetworkConfig_GetProxyHostName(This,pwszProtocol,pwszHostName,pcchHostName) \ ( (This)->lpVtbl -> GetProxyHostName(This,pwszProtocol,pwszHostName,pcchHostName) ) #define IWMReaderNetworkConfig_SetProxyHostName(This,pwszProtocol,pwszHostName) \ ( (This)->lpVtbl -> SetProxyHostName(This,pwszProtocol,pwszHostName) ) #define IWMReaderNetworkConfig_GetProxyPort(This,pwszProtocol,pdwPort) \ ( (This)->lpVtbl -> GetProxyPort(This,pwszProtocol,pdwPort) ) #define IWMReaderNetworkConfig_SetProxyPort(This,pwszProtocol,dwPort) \ ( (This)->lpVtbl -> SetProxyPort(This,pwszProtocol,dwPort) ) #define IWMReaderNetworkConfig_GetProxyExceptionList(This,pwszProtocol,pwszExceptionList,pcchExceptionList) \ ( (This)->lpVtbl -> GetProxyExceptionList(This,pwszProtocol,pwszExceptionList,pcchExceptionList) ) #define IWMReaderNetworkConfig_SetProxyExceptionList(This,pwszProtocol,pwszExceptionList) \ ( (This)->lpVtbl -> SetProxyExceptionList(This,pwszProtocol,pwszExceptionList) ) #define IWMReaderNetworkConfig_GetProxyBypassForLocal(This,pwszProtocol,pfBypassForLocal) \ ( (This)->lpVtbl -> GetProxyBypassForLocal(This,pwszProtocol,pfBypassForLocal) ) #define IWMReaderNetworkConfig_SetProxyBypassForLocal(This,pwszProtocol,fBypassForLocal) \ ( (This)->lpVtbl -> SetProxyBypassForLocal(This,pwszProtocol,fBypassForLocal) ) #define IWMReaderNetworkConfig_GetForceRerunAutoProxyDetection(This,pfForceRerunDetection) \ ( (This)->lpVtbl -> GetForceRerunAutoProxyDetection(This,pfForceRerunDetection) ) #define IWMReaderNetworkConfig_SetForceRerunAutoProxyDetection(This,fForceRerunDetection) \ ( (This)->lpVtbl -> SetForceRerunAutoProxyDetection(This,fForceRerunDetection) ) #define IWMReaderNetworkConfig_GetEnableMulticast(This,pfEnableMulticast) \ ( (This)->lpVtbl -> GetEnableMulticast(This,pfEnableMulticast) ) #define IWMReaderNetworkConfig_SetEnableMulticast(This,fEnableMulticast) \ ( (This)->lpVtbl -> SetEnableMulticast(This,fEnableMulticast) ) #define IWMReaderNetworkConfig_GetEnableHTTP(This,pfEnableHTTP) \ ( (This)->lpVtbl -> GetEnableHTTP(This,pfEnableHTTP) ) #define IWMReaderNetworkConfig_SetEnableHTTP(This,fEnableHTTP) \ ( (This)->lpVtbl -> SetEnableHTTP(This,fEnableHTTP) ) #define IWMReaderNetworkConfig_GetEnableUDP(This,pfEnableUDP) \ ( (This)->lpVtbl -> GetEnableUDP(This,pfEnableUDP) ) #define IWMReaderNetworkConfig_SetEnableUDP(This,fEnableUDP) \ ( (This)->lpVtbl -> SetEnableUDP(This,fEnableUDP) ) #define IWMReaderNetworkConfig_GetEnableTCP(This,pfEnableTCP) \ ( (This)->lpVtbl -> GetEnableTCP(This,pfEnableTCP) ) #define IWMReaderNetworkConfig_SetEnableTCP(This,fEnableTCP) \ ( (This)->lpVtbl -> SetEnableTCP(This,fEnableTCP) ) #define IWMReaderNetworkConfig_ResetProtocolRollover(This) \ ( (This)->lpVtbl -> ResetProtocolRollover(This) ) #define IWMReaderNetworkConfig_GetConnectionBandwidth(This,pdwConnectionBandwidth) \ ( (This)->lpVtbl -> GetConnectionBandwidth(This,pdwConnectionBandwidth) ) #define IWMReaderNetworkConfig_SetConnectionBandwidth(This,dwConnectionBandwidth) \ ( (This)->lpVtbl -> SetConnectionBandwidth(This,dwConnectionBandwidth) ) #define IWMReaderNetworkConfig_GetNumProtocolsSupported(This,pcProtocols) \ ( (This)->lpVtbl -> GetNumProtocolsSupported(This,pcProtocols) ) #define IWMReaderNetworkConfig_GetSupportedProtocolName(This,dwProtocolNum,pwszProtocolName,pcchProtocolName) \ ( (This)->lpVtbl -> GetSupportedProtocolName(This,dwProtocolNum,pwszProtocolName,pcchProtocolName) ) #define IWMReaderNetworkConfig_AddLoggingUrl(This,pwszUrl) \ ( (This)->lpVtbl -> AddLoggingUrl(This,pwszUrl) ) #define IWMReaderNetworkConfig_GetLoggingUrl(This,dwIndex,pwszUrl,pcchUrl) \ ( (This)->lpVtbl -> GetLoggingUrl(This,dwIndex,pwszUrl,pcchUrl) ) #define IWMReaderNetworkConfig_GetLoggingUrlCount(This,pdwUrlCount) \ ( (This)->lpVtbl -> GetLoggingUrlCount(This,pdwUrlCount) ) #define IWMReaderNetworkConfig_ResetLoggingUrlList(This) \ ( (This)->lpVtbl -> ResetLoggingUrlList(This) ) #endif /* COBJMACROS */ #endif /* C style interface */ #endif /* __IWMReaderNetworkConfig_INTERFACE_DEFINED__ */ #ifndef __IWMReaderNetworkConfig2_INTERFACE_DEFINED__ #define __IWMReaderNetworkConfig2_INTERFACE_DEFINED__ /* interface IWMReaderNetworkConfig2 */ /* [local][unique][helpstring][uuid][object] */ EXTERN_C const IID IID_IWMReaderNetworkConfig2; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("d979a853-042b-4050-8387-c939db22013f") IWMReaderNetworkConfig2 : public IWMReaderNetworkConfig { public: virtual HRESULT STDMETHODCALLTYPE GetEnableContentCaching( /* [out] */ BOOL *pfEnableContentCaching) = 0; virtual HRESULT STDMETHODCALLTYPE SetEnableContentCaching( /* [in] */ BOOL fEnableContentCaching) = 0; virtual HRESULT STDMETHODCALLTYPE GetEnableFastCache( /* [out] */ BOOL *pfEnableFastCache) = 0; virtual HRESULT STDMETHODCALLTYPE SetEnableFastCache( /* [in] */ BOOL fEnableFastCache) = 0; virtual HRESULT STDMETHODCALLTYPE GetAcceleratedStreamingDuration( /* [out] */ QWORD *pcnsAccelDuration) = 0; virtual HRESULT STDMETHODCALLTYPE SetAcceleratedStreamingDuration( /* [in] */ QWORD cnsAccelDuration) = 0; virtual HRESULT STDMETHODCALLTYPE GetAutoReconnectLimit( /* [out] */ DWORD *pdwAutoReconnectLimit) = 0; virtual HRESULT STDMETHODCALLTYPE SetAutoReconnectLimit( /* [in] */ DWORD dwAutoReconnectLimit) = 0; virtual HRESULT STDMETHODCALLTYPE GetEnableResends( /* [out] */ BOOL *pfEnableResends) = 0; virtual HRESULT STDMETHODCALLTYPE SetEnableResends( /* [in] */ BOOL fEnableResends) = 0; virtual HRESULT STDMETHODCALLTYPE GetEnableThinning( /* [out] */ BOOL *pfEnableThinning) = 0; virtual HRESULT STDMETHODCALLTYPE SetEnableThinning( /* [in] */ BOOL fEnableThinning) = 0; virtual HRESULT STDMETHODCALLTYPE GetMaxNetPacketSize( /* [out] */ DWORD *pdwMaxNetPacketSize) = 0; }; #else /* C style interface */ typedef struct IWMReaderNetworkConfig2Vtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IWMReaderNetworkConfig2 * This, /* [in] */ REFIID riid, /* [annotation][iid_is][out] */ __RPC__deref_out void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IWMReaderNetworkConfig2 * This); ULONG ( STDMETHODCALLTYPE *Release )( IWMReaderNetworkConfig2 * This); HRESULT ( STDMETHODCALLTYPE *GetBufferingTime )( IWMReaderNetworkConfig2 * This, /* [out] */ QWORD *pcnsBufferingTime); HRESULT ( STDMETHODCALLTYPE *SetBufferingTime )( IWMReaderNetworkConfig2 * This, /* [in] */ QWORD cnsBufferingTime); HRESULT ( STDMETHODCALLTYPE *GetUDPPortRanges )( IWMReaderNetworkConfig2 * This, /* [size_is][out] */ WM_PORT_NUMBER_RANGE *pRangeArray, /* [out][in] */ DWORD *pcRanges); HRESULT ( STDMETHODCALLTYPE *SetUDPPortRanges )( IWMReaderNetworkConfig2 * This, /* [size_is][in] */ WM_PORT_NUMBER_RANGE *pRangeArray, /* [in] */ DWORD cRanges); HRESULT ( STDMETHODCALLTYPE *GetProxySettings )( IWMReaderNetworkConfig2 * This, /* [in] */ LPCWSTR pwszProtocol, /* [out] */ WMT_PROXY_SETTINGS *pProxySetting); HRESULT ( STDMETHODCALLTYPE *SetProxySettings )( IWMReaderNetworkConfig2 * This, /* [in] */ LPCWSTR pwszProtocol, /* [in] */ WMT_PROXY_SETTINGS ProxySetting); HRESULT ( STDMETHODCALLTYPE *GetProxyHostName )( IWMReaderNetworkConfig2 * This, /* [in] */ LPCWSTR pwszProtocol, /* [size_is][out] */ WCHAR *pwszHostName, /* [out][in] */ DWORD *pcchHostName); HRESULT ( STDMETHODCALLTYPE *SetProxyHostName )( IWMReaderNetworkConfig2 * This, /* [in] */ LPCWSTR pwszProtocol, /* [in] */ LPCWSTR pwszHostName); HRESULT ( STDMETHODCALLTYPE *GetProxyPort )( IWMReaderNetworkConfig2 * This, /* [in] */ LPCWSTR pwszProtocol, /* [out] */ DWORD *pdwPort); HRESULT ( STDMETHODCALLTYPE *SetProxyPort )( IWMReaderNetworkConfig2 * This, /* [in] */ LPCWSTR pwszProtocol, /* [in] */ DWORD dwPort); HRESULT ( STDMETHODCALLTYPE *GetProxyExceptionList )( IWMReaderNetworkConfig2 * This, /* [in] */ LPCWSTR pwszProtocol, /* [size_is][out] */ WCHAR *pwszExceptionList, /* [out][in] */ DWORD *pcchExceptionList); HRESULT ( STDMETHODCALLTYPE *SetProxyExceptionList )( IWMReaderNetworkConfig2 * This, /* [in] */ LPCWSTR pwszProtocol, /* [in] */ LPCWSTR pwszExceptionList); HRESULT ( STDMETHODCALLTYPE *GetProxyBypassForLocal )( IWMReaderNetworkConfig2 * This, /* [in] */ LPCWSTR pwszProtocol, /* [out] */ BOOL *pfBypassForLocal); HRESULT ( STDMETHODCALLTYPE *SetProxyBypassForLocal )( IWMReaderNetworkConfig2 * This, /* [in] */ LPCWSTR pwszProtocol, /* [in] */ BOOL fBypassForLocal); HRESULT ( STDMETHODCALLTYPE *GetForceRerunAutoProxyDetection )( IWMReaderNetworkConfig2 * This, /* [out] */ BOOL *pfForceRerunDetection); HRESULT ( STDMETHODCALLTYPE *SetForceRerunAutoProxyDetection )( IWMReaderNetworkConfig2 * This, /* [in] */ BOOL fForceRerunDetection); HRESULT ( STDMETHODCALLTYPE *GetEnableMulticast )( IWMReaderNetworkConfig2 * This, /* [out] */ BOOL *pfEnableMulticast); HRESULT ( STDMETHODCALLTYPE *SetEnableMulticast )( IWMReaderNetworkConfig2 * This, /* [in] */ BOOL fEnableMulticast); HRESULT ( STDMETHODCALLTYPE *GetEnableHTTP )( IWMReaderNetworkConfig2 * This, /* [out] */ BOOL *pfEnableHTTP); HRESULT ( STDMETHODCALLTYPE *SetEnableHTTP )( IWMReaderNetworkConfig2 * This, /* [in] */ BOOL fEnableHTTP); HRESULT ( STDMETHODCALLTYPE *GetEnableUDP )( IWMReaderNetworkConfig2 * This, /* [out] */ BOOL *pfEnableUDP); HRESULT ( STDMETHODCALLTYPE *SetEnableUDP )( IWMReaderNetworkConfig2 * This, /* [in] */ BOOL fEnableUDP); HRESULT ( STDMETHODCALLTYPE *GetEnableTCP )( IWMReaderNetworkConfig2 * This, /* [out] */ BOOL *pfEnableTCP); HRESULT ( STDMETHODCALLTYPE *SetEnableTCP )( IWMReaderNetworkConfig2 * This, /* [in] */ BOOL fEnableTCP); HRESULT ( STDMETHODCALLTYPE *ResetProtocolRollover )( IWMReaderNetworkConfig2 * This); HRESULT ( STDMETHODCALLTYPE *GetConnectionBandwidth )( IWMReaderNetworkConfig2 * This, /* [out] */ DWORD *pdwConnectionBandwidth); HRESULT ( STDMETHODCALLTYPE *SetConnectionBandwidth )( IWMReaderNetworkConfig2 * This, /* [in] */ DWORD dwConnectionBandwidth); HRESULT ( STDMETHODCALLTYPE *GetNumProtocolsSupported )( IWMReaderNetworkConfig2 * This, /* [out] */ DWORD *pcProtocols); HRESULT ( STDMETHODCALLTYPE *GetSupportedProtocolName )( IWMReaderNetworkConfig2 * This, /* [in] */ DWORD dwProtocolNum, /* [size_is][out] */ WCHAR *pwszProtocolName, /* [out][in] */ DWORD *pcchProtocolName); HRESULT ( STDMETHODCALLTYPE *AddLoggingUrl )( IWMReaderNetworkConfig2 * This, /* [in] */ LPCWSTR pwszUrl); HRESULT ( STDMETHODCALLTYPE *GetLoggingUrl )( IWMReaderNetworkConfig2 * This, /* [in] */ DWORD dwIndex, /* [size_is][out] */ LPWSTR pwszUrl, /* [out][in] */ DWORD *pcchUrl); HRESULT ( STDMETHODCALLTYPE *GetLoggingUrlCount )( IWMReaderNetworkConfig2 * This, /* [out] */ DWORD *pdwUrlCount); HRESULT ( STDMETHODCALLTYPE *ResetLoggingUrlList )( IWMReaderNetworkConfig2 * This); HRESULT ( STDMETHODCALLTYPE *GetEnableContentCaching )( IWMReaderNetworkConfig2 * This, /* [out] */ BOOL *pfEnableContentCaching); HRESULT ( STDMETHODCALLTYPE *SetEnableContentCaching )( IWMReaderNetworkConfig2 * This, /* [in] */ BOOL fEnableContentCaching); HRESULT ( STDMETHODCALLTYPE *GetEnableFastCache )( IWMReaderNetworkConfig2 * This, /* [out] */ BOOL *pfEnableFastCache); HRESULT ( STDMETHODCALLTYPE *SetEnableFastCache )( IWMReaderNetworkConfig2 * This, /* [in] */ BOOL fEnableFastCache); HRESULT ( STDMETHODCALLTYPE *GetAcceleratedStreamingDuration )( IWMReaderNetworkConfig2 * This, /* [out] */ QWORD *pcnsAccelDuration); HRESULT ( STDMETHODCALLTYPE *SetAcceleratedStreamingDuration )( IWMReaderNetworkConfig2 * This, /* [in] */ QWORD cnsAccelDuration); HRESULT ( STDMETHODCALLTYPE *GetAutoReconnectLimit )( IWMReaderNetworkConfig2 * This, /* [out] */ DWORD *pdwAutoReconnectLimit); HRESULT ( STDMETHODCALLTYPE *SetAutoReconnectLimit )( IWMReaderNetworkConfig2 * This, /* [in] */ DWORD dwAutoReconnectLimit); HRESULT ( STDMETHODCALLTYPE *GetEnableResends )( IWMReaderNetworkConfig2 * This, /* [out] */ BOOL *pfEnableResends); HRESULT ( STDMETHODCALLTYPE *SetEnableResends )( IWMReaderNetworkConfig2 * This, /* [in] */ BOOL fEnableResends); HRESULT ( STDMETHODCALLTYPE *GetEnableThinning )( IWMReaderNetworkConfig2 * This, /* [out] */ BOOL *pfEnableThinning); HRESULT ( STDMETHODCALLTYPE *SetEnableThinning )( IWMReaderNetworkConfig2 * This, /* [in] */ BOOL fEnableThinning); HRESULT ( STDMETHODCALLTYPE *GetMaxNetPacketSize )( IWMReaderNetworkConfig2 * This, /* [out] */ DWORD *pdwMaxNetPacketSize); END_INTERFACE } IWMReaderNetworkConfig2Vtbl; interface IWMReaderNetworkConfig2 { CONST_VTBL struct IWMReaderNetworkConfig2Vtbl *lpVtbl; }; #ifdef COBJMACROS #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) ) #define IWMReaderNetworkConfig2_GetBufferingTime(This,pcnsBufferingTime) \ ( (This)->lpVtbl -> GetBufferingTime(This,pcnsBufferingTime) ) #define IWMReaderNetworkConfig2_SetBufferingTime(This,cnsBufferingTime) \ ( (This)->lpVtbl -> SetBufferingTime(This,cnsBufferingTime) ) #define IWMReaderNetworkConfig2_GetUDPPortRanges(This,pRangeArray,pcRanges) \ ( (This)->lpVtbl -> GetUDPPortRanges(This,pRangeArray,pcRanges) ) #define IWMReaderNetworkConfig2_SetUDPPortRanges(This,pRangeArray,cRanges) \ ( (This)->lpVtbl -> SetUDPPortRanges(This,pRangeArray,cRanges) ) #define IWMReaderNetworkConfig2_GetProxySettings(This,pwszProtocol,pProxySetting) \ ( (This)->lpVtbl -> GetProxySettings(This,pwszProtocol,pProxySetting) ) #define IWMReaderNetworkConfig2_SetProxySettings(This,pwszProtocol,ProxySetting) \ ( (This)->lpVtbl -> SetProxySettings(This,pwszProtocol,ProxySetting) ) #define IWMReaderNetworkConfig2_GetProxyHostName(This,pwszProtocol,pwszHostName,pcchHostName) \ ( (This)->lpVtbl -> GetProxyHostName(This,pwszProtocol,pwszHostName,pcchHostName) ) #define IWMReaderNetworkConfig2_SetProxyHostName(This,pwszProtocol,pwszHostName) \ ( (This)->lpVtbl -> SetProxyHostName(This,pwszProtocol,pwszHostName) ) #define IWMReaderNetworkConfig2_GetProxyPort(This,pwszProtocol,pdwPort) \ ( (This)->lpVtbl -> GetProxyPort(This,pwszProtocol,pdwPort) ) #define IWMReaderNetworkConfig2_SetProxyPort(This,pwszProtocol,dwPort) \ ( (This)->lpVtbl -> SetProxyPort(This,pwszProtocol,dwPort) ) #define IWMReaderNetworkConfig2_GetProxyExceptionList(This,pwszProtocol,pwszExceptionList,pcchExceptionList) \ ( (This)->lpVtbl -> GetProxyExceptionList(This,pwszProtocol,pwszExceptionList,pcchExceptionList) ) #define IWMReaderNetworkConfig2_SetProxyExceptionList(This,pwszProtocol,pwszExceptionList) \ ( (This)->lpVtbl -> SetProxyExceptionList(This,pwszProtocol,pwszExceptionList) ) #define IWMReaderNetworkConfig2_GetProxyBypassForLocal(This,pwszProtocol,pfBypassForLocal) \ ( (This)->lpVtbl -> GetProxyBypassForLocal(This,pwszProtocol,pfBypassForLocal) ) #define IWMReaderNetworkConfig2_SetProxyBypassForLocal(This,pwszProtocol,fBypassForLocal) \ ( (This)->lpVtbl -> SetProxyBypassForLocal(This,pwszProtocol,fBypassForLocal) ) #define IWMReaderNetworkConfig2_GetForceRerunAutoProxyDetection(This,pfForceRerunDetection) \ ( (This)->lpVtbl -> GetForceRerunAutoProxyDetection(This,pfForceRerunDetection) ) #define IWMReaderNetworkConfig2_SetForceRerunAutoProxyDetection(This,fForceRerunDetection) \ ( (This)->lpVtbl -> SetForceRerunAutoProxyDetection(This,fForceRerunDetection) ) #define IWMReaderNetworkConfig2_GetEnableMulticast(This,pfEnableMulticast) \ ( (This)->lpVtbl -> GetEnableMulticast(This,pfEnableMulticast) ) #define IWMReaderNetworkConfig2_SetEnableMulticast(This,fEnableMulticast) \ ( (This)->lpVtbl -> SetEnableMulticast(This,fEnableMulticast) ) #define IWMReaderNetworkConfig2_GetEnableHTTP(This,pfEnableHTTP) \ ( (This)->lpVtbl -> GetEnableHTTP(This,pfEnableHTTP) ) #define IWMReaderNetworkConfig2_SetEnableHTTP(This,fEnableHTTP) \ ( (This)->lpVtbl -> SetEnableHTTP(This,fEnableHTTP) ) #define IWMReaderNetworkConfig2_GetEnableUDP(This,pfEnableUDP) \ ( (This)->lpVtbl -> GetEnableUDP(This,pfEnableUDP) ) #define IWMReaderNetworkConfig2_SetEnableUDP(This,fEnableUDP) \ ( (This)->lpVtbl -> SetEnableUDP(This,fEnableUDP) ) #define IWMReaderNetworkConfig2_GetEnableTCP(This,pfEnableTCP) \ ( (This)->lpVtbl -> GetEnableTCP(This,pfEnableTCP) ) #define IWMReaderNetworkConfig2_SetEnableTCP(This,fEnableTCP) \ ( (This)->lpVtbl -> SetEnableTCP(This,fEnableTCP) ) #define IWMReaderNetworkConfig2_ResetProtocolRollover(This) \ ( (This)->lpVtbl -> ResetProtocolRollover(This) ) #define IWMReaderNetworkConfig2_GetConnectionBandwidth(This,pdwConnectionBandwidth) \ ( (This)->lpVtbl -> GetConnectionBandwidth(This,pdwConnectionBandwidth) ) #define IWMReaderNetworkConfig2_SetConnectionBandwidth(This,dwConnectionBandwidth) \ ( (This)->lpVtbl -> SetConnectionBandwidth(This,dwConnectionBandwidth) ) #define IWMReaderNetworkConfig2_GetNumProtocolsSupported(This,pcProtocols) \ ( (This)->lpVtbl -> GetNumProtocolsSupported(This,pcProtocols) ) #define IWMReaderNetworkConfig2_GetSupportedProtocolName(This,dwProtocolNum,pwszProtocolName,pcchProtocolName) \ ( (This)->lpVtbl -> GetSupportedProtocolName(This,dwProtocolNum,pwszProtocolName,pcchProtocolName) ) #define IWMReaderNetworkConfig2_AddLoggingUrl(This,pwszUrl) \ ( (This)->lpVtbl -> AddLoggingUrl(This,pwszUrl) ) #define IWMReaderNetworkConfig2_GetLoggingUrl(This,dwIndex,pwszUrl,pcchUrl) \ ( (This)->lpVtbl -> GetLoggingUrl(This,dwIndex,pwszUrl,pcchUrl) ) #define IWMReaderNetworkConfig2_GetLoggingUrlCount(This,pdwUrlCount) \ ( (This)->lpVtbl -> GetLoggingUrlCount(This,pdwUrlCount) ) #define IWMReaderNetworkConfig2_ResetLoggingUrlList(This) \ ( (This)->lpVtbl -> ResetLoggingUrlList(This) ) #define IWMReaderNetworkConfig2_GetEnableContentCaching(This,pfEnableContentCaching) \ ( (This)->lpVtbl -> GetEnableContentCaching(This,pfEnableContentCaching) ) #define IWMReaderNetworkConfig2_SetEnableContentCaching(This,fEnableContentCaching) \ ( (This)->lpVtbl -> SetEnableContentCaching(This,fEnableContentCaching) ) #define IWMReaderNetworkConfig2_GetEnableFastCache(This,pfEnableFastCache) \ ( (This)->lpVtbl -> GetEnableFastCache(This,pfEnableFastCache) ) #define IWMReaderNetworkConfig2_SetEnableFastCache(This,fEnableFastCache) \ ( (This)->lpVtbl -> SetEnableFastCache(This,fEnableFastCache) ) #define IWMReaderNetworkConfig2_GetAcceleratedStreamingDuration(This,pcnsAccelDuration) \ ( (This)->lpVtbl -> GetAcceleratedStreamingDuration(This,pcnsAccelDuration) ) #define IWMReaderNetworkConfig2_SetAcceleratedStreamingDuration(This,cnsAccelDuration) \ ( (This)->lpVtbl -> SetAcceleratedStreamingDuration(This,cnsAccelDuration) ) #define IWMReaderNetworkConfig2_GetAutoReconnectLimit(This,pdwAutoReconnectLimit) \ ( (This)->lpVtbl -> GetAutoReconnectLimit(This,pdwAutoReconnectLimit) ) #define IWMReaderNetworkConfig2_SetAutoReconnectLimit(This,dwAutoReconnectLimit) \ ( (This)->lpVtbl -> SetAutoReconnectLimit(This,dwAutoReconnectLimit) ) #define IWMReaderNetworkConfig2_GetEnableResends(This,pfEnableResends) \ ( (This)->lpVtbl -> GetEnableResends(This,pfEnableResends) ) #define IWMReaderNetworkConfig2_SetEnableResends(This,fEnableResends) \ ( (This)->lpVtbl -> SetEnableResends(This,fEnableResends) ) #define IWMReaderNetworkConfig2_GetEnableThinning(This,pfEnableThinning) \ ( (This)->lpVtbl -> GetEnableThinning(This,pfEnableThinning) ) #define IWMReaderNetworkConfig2_SetEnableThinning(This,fEnableThinning) \ ( (This)->lpVtbl -> SetEnableThinning(This,fEnableThinning) ) #define IWMReaderNetworkConfig2_GetMaxNetPacketSize(This,pdwMaxNetPacketSize) \ ( (This)->lpVtbl -> GetMaxNetPacketSize(This,pdwMaxNetPacketSize) ) #endif /* COBJMACROS */ #endif /* C style interface */ #endif /* __IWMReaderNetworkConfig2_INTERFACE_DEFINED__ */ #ifndef __IWMReaderStreamClock_INTERFACE_DEFINED__ #define __IWMReaderStreamClock_INTERFACE_DEFINED__ /* interface IWMReaderStreamClock */ /* [local][unique][helpstring][uuid][object] */ EXTERN_C const IID IID_IWMReaderStreamClock; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("96406BED-2B2B-11d3-B36B-00C04F6108FF") IWMReaderStreamClock : public IUnknown { public: virtual HRESULT STDMETHODCALLTYPE GetTime( /* [in] */ QWORD *pcnsNow) = 0; virtual HRESULT STDMETHODCALLTYPE SetTimer( /* [in] */ QWORD cnsWhen, /* [in] */ void *pvParam, /* [out] */ DWORD *pdwTimerId) = 0; virtual HRESULT STDMETHODCALLTYPE KillTimer( /* [in] */ DWORD dwTimerId) = 0; }; #else /* C style interface */ typedef struct IWMReaderStreamClockVtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IWMReaderStreamClock * This, /* [in] */ REFIID riid, /* [annotation][iid_is][out] */ __RPC__deref_out void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IWMReaderStreamClock * This); ULONG ( STDMETHODCALLTYPE *Release )( IWMReaderStreamClock * This); HRESULT ( STDMETHODCALLTYPE *GetTime )( IWMReaderStreamClock * This, /* [in] */ QWORD *pcnsNow); HRESULT ( STDMETHODCALLTYPE *SetTimer )( IWMReaderStreamClock * This, /* [in] */ QWORD cnsWhen, /* [in] */ void *pvParam, /* [out] */ DWORD *pdwTimerId); HRESULT ( STDMETHODCALLTYPE *KillTimer )( IWMReaderStreamClock * This, /* [in] */ DWORD dwTimerId); END_INTERFACE } IWMReaderStreamClockVtbl; interface IWMReaderStreamClock { CONST_VTBL struct IWMReaderStreamClockVtbl *lpVtbl; }; #ifdef COBJMACROS #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) ) #define IWMReaderStreamClock_GetTime(This,pcnsNow) \ ( (This)->lpVtbl -> GetTime(This,pcnsNow) ) #define IWMReaderStreamClock_SetTimer(This,cnsWhen,pvParam,pdwTimerId) \ ( (This)->lpVtbl -> SetTimer(This,cnsWhen,pvParam,pdwTimerId) ) #define IWMReaderStreamClock_KillTimer(This,dwTimerId) \ ( (This)->lpVtbl -> KillTimer(This,dwTimerId) ) #endif /* COBJMACROS */ #endif /* C style interface */ #endif /* __IWMReaderStreamClock_INTERFACE_DEFINED__ */ #ifndef __IWMIndexer_INTERFACE_DEFINED__ #define __IWMIndexer_INTERFACE_DEFINED__ /* interface IWMIndexer */ /* [local][unique][helpstring][uuid][object] */ EXTERN_C const IID IID_IWMIndexer; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("6d7cdc71-9888-11d3-8edc-00c04f6109cf") IWMIndexer : public IUnknown { public: virtual HRESULT STDMETHODCALLTYPE StartIndexing( /* [in] */ const WCHAR *pwszURL, /* [in] */ IWMStatusCallback *pCallback, /* [in] */ void *pvContext) = 0; virtual HRESULT STDMETHODCALLTYPE Cancel( void) = 0; }; #else /* C style interface */ typedef struct IWMIndexerVtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IWMIndexer * This, /* [in] */ REFIID riid, /* [annotation][iid_is][out] */ __RPC__deref_out void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IWMIndexer * This); ULONG ( STDMETHODCALLTYPE *Release )( IWMIndexer * This); HRESULT ( STDMETHODCALLTYPE *StartIndexing )( IWMIndexer * This, /* [in] */ const WCHAR *pwszURL, /* [in] */ IWMStatusCallback *pCallback, /* [in] */ void *pvContext); HRESULT ( STDMETHODCALLTYPE *Cancel )( IWMIndexer * This); END_INTERFACE } IWMIndexerVtbl; interface IWMIndexer { CONST_VTBL struct IWMIndexerVtbl *lpVtbl; }; #ifdef COBJMACROS #define IWMIndexer_QueryInterface(This,riid,ppvObject) \ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) #define IWMIndexer_AddRef(This) \ ( (This)->lpVtbl -> AddRef(This) ) #define IWMIndexer_Release(This) \ ( (This)->lpVtbl -> Release(This) ) #define IWMIndexer_StartIndexing(This,pwszURL,pCallback,pvContext) \ ( (This)->lpVtbl -> StartIndexing(This,pwszURL,pCallback,pvContext) ) #define IWMIndexer_Cancel(This) \ ( (This)->lpVtbl -> Cancel(This) ) #endif /* COBJMACROS */ #endif /* C style interface */ #endif /* __IWMIndexer_INTERFACE_DEFINED__ */ #ifndef __IWMIndexer2_INTERFACE_DEFINED__ #define __IWMIndexer2_INTERFACE_DEFINED__ /* interface IWMIndexer2 */ /* [local][unique][helpstring][uuid][object] */ EXTERN_C const IID IID_IWMIndexer2; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("B70F1E42-6255-4df0-A6B9-02B212D9E2BB") IWMIndexer2 : public IWMIndexer { public: virtual HRESULT STDMETHODCALLTYPE Configure( /* [in] */ WORD wStreamNum, /* [in] */ WMT_INDEXER_TYPE nIndexerType, /* [in] */ void *pvInterval, /* [in] */ void *pvIndexType) = 0; }; #else /* C style interface */ typedef struct IWMIndexer2Vtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IWMIndexer2 * This, /* [in] */ REFIID riid, /* [annotation][iid_is][out] */ __RPC__deref_out void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IWMIndexer2 * This); ULONG ( STDMETHODCALLTYPE *Release )( IWMIndexer2 * This); HRESULT ( STDMETHODCALLTYPE *StartIndexing )( IWMIndexer2 * This, /* [in] */ const WCHAR *pwszURL, /* [in] */ IWMStatusCallback *pCallback, /* [in] */ void *pvContext); HRESULT ( STDMETHODCALLTYPE *Cancel )( IWMIndexer2 * This); HRESULT ( STDMETHODCALLTYPE *Configure )( IWMIndexer2 * This, /* [in] */ WORD wStreamNum, /* [in] */ WMT_INDEXER_TYPE nIndexerType, /* [in] */ void *pvInterval, /* [in] */ void *pvIndexType); END_INTERFACE } IWMIndexer2Vtbl; interface IWMIndexer2 { CONST_VTBL struct IWMIndexer2Vtbl *lpVtbl; }; #ifdef COBJMACROS #define IWMIndexer2_QueryInterface(This,riid,ppvObject) \ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) #define IWMIndexer2_AddRef(This) \ ( (This)->lpVtbl -> AddRef(This) ) #define IWMIndexer2_Release(This) \ ( (This)->lpVtbl -> Release(This) ) #define IWMIndexer2_StartIndexing(This,pwszURL,pCallback,pvContext) \ ( (This)->lpVtbl -> StartIndexing(This,pwszURL,pCallback,pvContext) ) #define IWMIndexer2_Cancel(This) \ ( (This)->lpVtbl -> Cancel(This) ) #define IWMIndexer2_Configure(This,wStreamNum,nIndexerType,pvInterval,pvIndexType) \ ( (This)->lpVtbl -> Configure(This,wStreamNum,nIndexerType,pvInterval,pvIndexType) ) #endif /* COBJMACROS */ #endif /* C style interface */ #endif /* __IWMIndexer2_INTERFACE_DEFINED__ */ #ifndef __IWMLicenseBackup_INTERFACE_DEFINED__ #define __IWMLicenseBackup_INTERFACE_DEFINED__ /* interface IWMLicenseBackup */ /* [local][unique][helpstring][uuid][object] */ EXTERN_C const IID IID_IWMLicenseBackup; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("05E5AC9F-3FB6-4508-BB43-A4067BA1EBE8") IWMLicenseBackup : public IUnknown { public: virtual HRESULT STDMETHODCALLTYPE BackupLicenses( /* [in] */ DWORD dwFlags, /* [in] */ IWMStatusCallback *pCallback) = 0; virtual HRESULT STDMETHODCALLTYPE CancelLicenseBackup( void) = 0; }; #else /* C style interface */ typedef struct IWMLicenseBackupVtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IWMLicenseBackup * This, /* [in] */ REFIID riid, /* [annotation][iid_is][out] */ __RPC__deref_out void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IWMLicenseBackup * This); ULONG ( STDMETHODCALLTYPE *Release )( IWMLicenseBackup * This); HRESULT ( STDMETHODCALLTYPE *BackupLicenses )( IWMLicenseBackup * This, /* [in] */ DWORD dwFlags, /* [in] */ IWMStatusCallback *pCallback); HRESULT ( STDMETHODCALLTYPE *CancelLicenseBackup )( IWMLicenseBackup * This); END_INTERFACE } IWMLicenseBackupVtbl; interface IWMLicenseBackup { CONST_VTBL struct IWMLicenseBackupVtbl *lpVtbl; }; #ifdef COBJMACROS #define IWMLicenseBackup_QueryInterface(This,riid,ppvObject) \ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) #define IWMLicenseBackup_AddRef(This) \ ( (This)->lpVtbl -> AddRef(This) ) #define IWMLicenseBackup_Release(This) \ ( (This)->lpVtbl -> Release(This) ) #define IWMLicenseBackup_BackupLicenses(This,dwFlags,pCallback) \ ( (This)->lpVtbl -> BackupLicenses(This,dwFlags,pCallback) ) #define IWMLicenseBackup_CancelLicenseBackup(This) \ ( (This)->lpVtbl -> CancelLicenseBackup(This) ) #endif /* COBJMACROS */ #endif /* C style interface */ #endif /* __IWMLicenseBackup_INTERFACE_DEFINED__ */ #ifndef __IWMLicenseRestore_INTERFACE_DEFINED__ #define __IWMLicenseRestore_INTERFACE_DEFINED__ /* interface IWMLicenseRestore */ /* [local][unique][helpstring][uuid][object] */ EXTERN_C const IID IID_IWMLicenseRestore; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("C70B6334-A22E-4efb-A245-15E65A004A13") IWMLicenseRestore : public IUnknown { public: virtual HRESULT STDMETHODCALLTYPE RestoreLicenses( /* [in] */ DWORD dwFlags, /* [in] */ IWMStatusCallback *pCallback) = 0; virtual HRESULT STDMETHODCALLTYPE CancelLicenseRestore( void) = 0; }; #else /* C style interface */ typedef struct IWMLicenseRestoreVtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IWMLicenseRestore * This, /* [in] */ REFIID riid, /* [annotation][iid_is][out] */ __RPC__deref_out void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IWMLicenseRestore * This); ULONG ( STDMETHODCALLTYPE *Release )( IWMLicenseRestore * This); HRESULT ( STDMETHODCALLTYPE *RestoreLicenses )( IWMLicenseRestore * This, /* [in] */ DWORD dwFlags, /* [in] */ IWMStatusCallback *pCallback); HRESULT ( STDMETHODCALLTYPE *CancelLicenseRestore )( IWMLicenseRestore * This); END_INTERFACE } IWMLicenseRestoreVtbl; interface IWMLicenseRestore { CONST_VTBL struct IWMLicenseRestoreVtbl *lpVtbl; }; #ifdef COBJMACROS #define IWMLicenseRestore_QueryInterface(This,riid,ppvObject) \ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) #define IWMLicenseRestore_AddRef(This) \ ( (This)->lpVtbl -> AddRef(This) ) #define IWMLicenseRestore_Release(This) \ ( (This)->lpVtbl -> Release(This) ) #define IWMLicenseRestore_RestoreLicenses(This,dwFlags,pCallback) \ ( (This)->lpVtbl -> RestoreLicenses(This,dwFlags,pCallback) ) #define IWMLicenseRestore_CancelLicenseRestore(This) \ ( (This)->lpVtbl -> CancelLicenseRestore(This) ) #endif /* COBJMACROS */ #endif /* C style interface */ #endif /* __IWMLicenseRestore_INTERFACE_DEFINED__ */ #ifndef __IWMBackupRestoreProps_INTERFACE_DEFINED__ #define __IWMBackupRestoreProps_INTERFACE_DEFINED__ /* interface IWMBackupRestoreProps */ /* [local][unique][helpstring][uuid][object] */ EXTERN_C const IID IID_IWMBackupRestoreProps; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("3C8E0DA6-996F-4ff3-A1AF-4838F9377E2E") IWMBackupRestoreProps : public IUnknown { public: virtual HRESULT STDMETHODCALLTYPE GetPropCount( /* [out] */ WORD *pcProps) = 0; virtual HRESULT STDMETHODCALLTYPE GetPropByIndex( /* [in] */ WORD wIndex, /* [size_is][out] */ WCHAR *pwszName, /* [out][in] */ WORD *pcchNameLen, /* [out] */ WMT_ATTR_DATATYPE *pType, /* [size_is][out] */ BYTE *pValue, /* [out][in] */ WORD *pcbLength) = 0; virtual HRESULT STDMETHODCALLTYPE GetPropByName( /* [in] */ LPCWSTR pszName, /* [out] */ WMT_ATTR_DATATYPE *pType, /* [size_is][out] */ BYTE *pValue, /* [out][in] */ WORD *pcbLength) = 0; virtual HRESULT STDMETHODCALLTYPE SetProp( /* [in] */ LPCWSTR pszName, /* [in] */ WMT_ATTR_DATATYPE Type, /* [size_is][in] */ const BYTE *pValue, /* [in] */ WORD cbLength) = 0; virtual HRESULT STDMETHODCALLTYPE RemoveProp( /* [in] */ LPCWSTR pcwszName) = 0; virtual HRESULT STDMETHODCALLTYPE RemoveAllProps( void) = 0; }; #else /* C style interface */ typedef struct IWMBackupRestorePropsVtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IWMBackupRestoreProps * This, /* [in] */ REFIID riid, /* [annotation][iid_is][out] */ __RPC__deref_out void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IWMBackupRestoreProps * This); ULONG ( STDMETHODCALLTYPE *Release )( IWMBackupRestoreProps * This); HRESULT ( STDMETHODCALLTYPE *GetPropCount )( IWMBackupRestoreProps * This, /* [out] */ WORD *pcProps); HRESULT ( STDMETHODCALLTYPE *GetPropByIndex )( IWMBackupRestoreProps * This, /* [in] */ WORD wIndex, /* [size_is][out] */ WCHAR *pwszName, /* [out][in] */ WORD *pcchNameLen, /* [out] */ WMT_ATTR_DATATYPE *pType, /* [size_is][out] */ BYTE *pValue, /* [out][in] */ WORD *pcbLength); HRESULT ( STDMETHODCALLTYPE *GetPropByName )( IWMBackupRestoreProps * This, /* [in] */ LPCWSTR pszName, /* [out] */ WMT_ATTR_DATATYPE *pType, /* [size_is][out] */ BYTE *pValue, /* [out][in] */ WORD *pcbLength); HRESULT ( STDMETHODCALLTYPE *SetProp )( IWMBackupRestoreProps * This, /* [in] */ LPCWSTR pszName, /* [in] */ WMT_ATTR_DATATYPE Type, /* [size_is][in] */ const BYTE *pValue, /* [in] */ WORD cbLength); HRESULT ( STDMETHODCALLTYPE *RemoveProp )( IWMBackupRestoreProps * This, /* [in] */ LPCWSTR pcwszName); HRESULT ( STDMETHODCALLTYPE *RemoveAllProps )( IWMBackupRestoreProps * This); END_INTERFACE } IWMBackupRestorePropsVtbl; interface IWMBackupRestoreProps { CONST_VTBL struct IWMBackupRestorePropsVtbl *lpVtbl; }; #ifdef COBJMACROS #define IWMBackupRestoreProps_QueryInterface(This,riid,ppvObject) \ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) #define IWMBackupRestoreProps_AddRef(This) \ ( (This)->lpVtbl -> AddRef(This) ) #define IWMBackupRestoreProps_Release(This) \ ( (This)->lpVtbl -> Release(This) ) #define IWMBackupRestoreProps_GetPropCount(This,pcProps) \ ( (This)->lpVtbl -> GetPropCount(This,pcProps) ) #define IWMBackupRestoreProps_GetPropByIndex(This,wIndex,pwszName,pcchNameLen,pType,pValue,pcbLength) \ ( (This)->lpVtbl -> GetPropByIndex(This,wIndex,pwszName,pcchNameLen,pType,pValue,pcbLength) ) #define IWMBackupRestoreProps_GetPropByName(This,pszName,pType,pValue,pcbLength) \ ( (This)->lpVtbl -> GetPropByName(This,pszName,pType,pValue,pcbLength) ) #define IWMBackupRestoreProps_SetProp(This,pszName,Type,pValue,cbLength) \ ( (This)->lpVtbl -> SetProp(This,pszName,Type,pValue,cbLength) ) #define IWMBackupRestoreProps_RemoveProp(This,pcwszName) \ ( (This)->lpVtbl -> RemoveProp(This,pcwszName) ) #define IWMBackupRestoreProps_RemoveAllProps(This) \ ( (This)->lpVtbl -> RemoveAllProps(This) ) #endif /* COBJMACROS */ #endif /* C style interface */ #endif /* __IWMBackupRestoreProps_INTERFACE_DEFINED__ */ #ifndef __IWMCodecInfo_INTERFACE_DEFINED__ #define __IWMCodecInfo_INTERFACE_DEFINED__ /* interface IWMCodecInfo */ /* [local][unique][helpstring][uuid][object] */ EXTERN_C const IID IID_IWMCodecInfo; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("A970F41E-34DE-4a98-B3BA-E4B3CA7528F0") IWMCodecInfo : public IUnknown { public: virtual HRESULT STDMETHODCALLTYPE GetCodecInfoCount( /* [in] */ REFGUID guidType, /* [out] */ DWORD *pcCodecs) = 0; virtual HRESULT STDMETHODCALLTYPE GetCodecFormatCount( /* [in] */ REFGUID guidType, /* [in] */ DWORD dwCodecIndex, /* [out] */ DWORD *pcFormat) = 0; virtual HRESULT STDMETHODCALLTYPE GetCodecFormat( /* [in] */ REFGUID guidType, /* [in] */ DWORD dwCodecIndex, /* [in] */ DWORD dwFormatIndex, /* [out] */ IWMStreamConfig **ppIStreamConfig) = 0; }; #else /* C style interface */ typedef struct IWMCodecInfoVtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IWMCodecInfo * This, /* [in] */ REFIID riid, /* [annotation][iid_is][out] */ __RPC__deref_out void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IWMCodecInfo * This); ULONG ( STDMETHODCALLTYPE *Release )( IWMCodecInfo * This); HRESULT ( STDMETHODCALLTYPE *GetCodecInfoCount )( IWMCodecInfo * This, /* [in] */ REFGUID guidType, /* [out] */ DWORD *pcCodecs); HRESULT ( STDMETHODCALLTYPE *GetCodecFormatCount )( IWMCodecInfo * This, /* [in] */ REFGUID guidType, /* [in] */ DWORD dwCodecIndex, /* [out] */ DWORD *pcFormat); HRESULT ( STDMETHODCALLTYPE *GetCodecFormat )( IWMCodecInfo * This, /* [in] */ REFGUID guidType, /* [in] */ DWORD dwCodecIndex, /* [in] */ DWORD dwFormatIndex, /* [out] */ IWMStreamConfig **ppIStreamConfig); END_INTERFACE } IWMCodecInfoVtbl; interface IWMCodecInfo { CONST_VTBL struct IWMCodecInfoVtbl *lpVtbl; }; #ifdef COBJMACROS #define IWMCodecInfo_QueryInterface(This,riid,ppvObject) \ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) #define IWMCodecInfo_AddRef(This) \ ( (This)->lpVtbl -> AddRef(This) ) #define IWMCodecInfo_Release(This) \ ( (This)->lpVtbl -> Release(This) ) #define IWMCodecInfo_GetCodecInfoCount(This,guidType,pcCodecs) \ ( (This)->lpVtbl -> GetCodecInfoCount(This,guidType,pcCodecs) ) #define IWMCodecInfo_GetCodecFormatCount(This,guidType,dwCodecIndex,pcFormat) \ ( (This)->lpVtbl -> GetCodecFormatCount(This,guidType,dwCodecIndex,pcFormat) ) #define IWMCodecInfo_GetCodecFormat(This,guidType,dwCodecIndex,dwFormatIndex,ppIStreamConfig) \ ( (This)->lpVtbl -> GetCodecFormat(This,guidType,dwCodecIndex,dwFormatIndex,ppIStreamConfig) ) #endif /* COBJMACROS */ #endif /* C style interface */ #endif /* __IWMCodecInfo_INTERFACE_DEFINED__ */ #ifndef __IWMCodecInfo2_INTERFACE_DEFINED__ #define __IWMCodecInfo2_INTERFACE_DEFINED__ /* interface IWMCodecInfo2 */ /* [local][unique][helpstring][uuid][object] */ EXTERN_C const IID IID_IWMCodecInfo2; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("AA65E273-B686-4056-91EC-DD768D4DF710") IWMCodecInfo2 : public IWMCodecInfo { public: virtual HRESULT STDMETHODCALLTYPE GetCodecName( /* [in] */ REFGUID guidType, /* [in] */ DWORD dwCodecIndex, /* [size_is][out] */ WCHAR *wszName, /* [out][in] */ DWORD *pcchName) = 0; virtual HRESULT STDMETHODCALLTYPE GetCodecFormatDesc( /* [in] */ REFGUID guidType, /* [in] */ DWORD dwCodecIndex, /* [in] */ DWORD dwFormatIndex, /* [out] */ IWMStreamConfig **ppIStreamConfig, /* [size_is][out] */ WCHAR *wszDesc, /* [out][in] */ DWORD *pcchDesc) = 0; }; #else /* C style interface */ typedef struct IWMCodecInfo2Vtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IWMCodecInfo2 * This, /* [in] */ REFIID riid, /* [annotation][iid_is][out] */ __RPC__deref_out void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IWMCodecInfo2 * This); ULONG ( STDMETHODCALLTYPE *Release )( IWMCodecInfo2 * This); HRESULT ( STDMETHODCALLTYPE *GetCodecInfoCount )( IWMCodecInfo2 * This, /* [in] */ REFGUID guidType, /* [out] */ DWORD *pcCodecs); HRESULT ( STDMETHODCALLTYPE *GetCodecFormatCount )( IWMCodecInfo2 * This, /* [in] */ REFGUID guidType, /* [in] */ DWORD dwCodecIndex, /* [out] */ DWORD *pcFormat); HRESULT ( STDMETHODCALLTYPE *GetCodecFormat )( IWMCodecInfo2 * This, /* [in] */ REFGUID guidType, /* [in] */ DWORD dwCodecIndex, /* [in] */ DWORD dwFormatIndex, /* [out] */ IWMStreamConfig **ppIStreamConfig); HRESULT ( STDMETHODCALLTYPE *GetCodecName )( IWMCodecInfo2 * This, /* [in] */ REFGUID guidType, /* [in] */ DWORD dwCodecIndex, /* [size_is][out] */ WCHAR *wszName, /* [out][in] */ DWORD *pcchName); HRESULT ( STDMETHODCALLTYPE *GetCodecFormatDesc )( IWMCodecInfo2 * This, /* [in] */ REFGUID guidType, /* [in] */ DWORD dwCodecIndex, /* [in] */ DWORD dwFormatIndex, /* [out] */ IWMStreamConfig **ppIStreamConfig, /* [size_is][out] */ WCHAR *wszDesc, /* [out][in] */ DWORD *pcchDesc); END_INTERFACE } IWMCodecInfo2Vtbl; interface IWMCodecInfo2 { CONST_VTBL struct IWMCodecInfo2Vtbl *lpVtbl; }; #ifdef COBJMACROS #define IWMCodecInfo2_QueryInterface(This,riid,ppvObject) \ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) #define IWMCodecInfo2_AddRef(This) \ ( (This)->lpVtbl -> AddRef(This) ) #define IWMCodecInfo2_Release(This) \ ( (This)->lpVtbl -> Release(This) ) #define IWMCodecInfo2_GetCodecInfoCount(This,guidType,pcCodecs) \ ( (This)->lpVtbl -> GetCodecInfoCount(This,guidType,pcCodecs) ) #define IWMCodecInfo2_GetCodecFormatCount(This,guidType,dwCodecIndex,pcFormat) \ ( (This)->lpVtbl -> GetCodecFormatCount(This,guidType,dwCodecIndex,pcFormat) ) #define IWMCodecInfo2_GetCodecFormat(This,guidType,dwCodecIndex,dwFormatIndex,ppIStreamConfig) \ ( (This)->lpVtbl -> GetCodecFormat(This,guidType,dwCodecIndex,dwFormatIndex,ppIStreamConfig) ) #define IWMCodecInfo2_GetCodecName(This,guidType,dwCodecIndex,wszName,pcchName) \ ( (This)->lpVtbl -> GetCodecName(This,guidType,dwCodecIndex,wszName,pcchName) ) #define IWMCodecInfo2_GetCodecFormatDesc(This,guidType,dwCodecIndex,dwFormatIndex,ppIStreamConfig,wszDesc,pcchDesc) \ ( (This)->lpVtbl -> GetCodecFormatDesc(This,guidType,dwCodecIndex,dwFormatIndex,ppIStreamConfig,wszDesc,pcchDesc) ) #endif /* COBJMACROS */ #endif /* C style interface */ #endif /* __IWMCodecInfo2_INTERFACE_DEFINED__ */ #ifndef __IWMCodecInfo3_INTERFACE_DEFINED__ #define __IWMCodecInfo3_INTERFACE_DEFINED__ /* interface IWMCodecInfo3 */ /* [local][unique][helpstring][uuid][object] */ EXTERN_C const IID IID_IWMCodecInfo3; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("7e51f487-4d93-4f98-8ab4-27d0565adc51") IWMCodecInfo3 : public IWMCodecInfo2 { public: virtual HRESULT STDMETHODCALLTYPE GetCodecFormatProp( /* [in] */ REFGUID guidType, /* [in] */ DWORD dwCodecIndex, /* [in] */ DWORD dwFormatIndex, /* [in] */ LPCWSTR pszName, /* [out] */ WMT_ATTR_DATATYPE *pType, /* [size_is][out] */ BYTE *pValue, /* [out][in] */ DWORD *pdwSize) = 0; virtual HRESULT STDMETHODCALLTYPE GetCodecProp( /* [in] */ REFGUID guidType, /* [in] */ DWORD dwCodecIndex, /* [in] */ LPCWSTR pszName, /* [out] */ WMT_ATTR_DATATYPE *pType, /* [size_is][out] */ BYTE *pValue, /* [out][in] */ DWORD *pdwSize) = 0; virtual HRESULT STDMETHODCALLTYPE SetCodecEnumerationSetting( /* [in] */ REFGUID guidType, /* [in] */ DWORD dwCodecIndex, /* [in] */ LPCWSTR pszName, /* [in] */ WMT_ATTR_DATATYPE Type, /* [size_is][in] */ const BYTE *pValue, /* [in] */ DWORD dwSize) = 0; virtual HRESULT STDMETHODCALLTYPE GetCodecEnumerationSetting( /* [in] */ REFGUID guidType, /* [in] */ DWORD dwCodecIndex, /* [in] */ LPCWSTR pszName, /* [out] */ WMT_ATTR_DATATYPE *pType, /* [size_is][out] */ BYTE *pValue, /* [out][in] */ DWORD *pdwSize) = 0; }; #else /* C style interface */ typedef struct IWMCodecInfo3Vtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IWMCodecInfo3 * This, /* [in] */ REFIID riid, /* [annotation][iid_is][out] */ __RPC__deref_out void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IWMCodecInfo3 * This); ULONG ( STDMETHODCALLTYPE *Release )( IWMCodecInfo3 * This); HRESULT ( STDMETHODCALLTYPE *GetCodecInfoCount )( IWMCodecInfo3 * This, /* [in] */ REFGUID guidType, /* [out] */ DWORD *pcCodecs); HRESULT ( STDMETHODCALLTYPE *GetCodecFormatCount )( IWMCodecInfo3 * This, /* [in] */ REFGUID guidType, /* [in] */ DWORD dwCodecIndex, /* [out] */ DWORD *pcFormat); HRESULT ( STDMETHODCALLTYPE *GetCodecFormat )( IWMCodecInfo3 * This, /* [in] */ REFGUID guidType, /* [in] */ DWORD dwCodecIndex, /* [in] */ DWORD dwFormatIndex, /* [out] */ IWMStreamConfig **ppIStreamConfig); HRESULT ( STDMETHODCALLTYPE *GetCodecName )( IWMCodecInfo3 * This, /* [in] */ REFGUID guidType, /* [in] */ DWORD dwCodecIndex, /* [size_is][out] */ WCHAR *wszName, /* [out][in] */ DWORD *pcchName); HRESULT ( STDMETHODCALLTYPE *GetCodecFormatDesc )( IWMCodecInfo3 * This, /* [in] */ REFGUID guidType, /* [in] */ DWORD dwCodecIndex, /* [in] */ DWORD dwFormatIndex, /* [out] */ IWMStreamConfig **ppIStreamConfig, /* [size_is][out] */ WCHAR *wszDesc, /* [out][in] */ DWORD *pcchDesc); HRESULT ( STDMETHODCALLTYPE *GetCodecFormatProp )( IWMCodecInfo3 * This, /* [in] */ REFGUID guidType, /* [in] */ DWORD dwCodecIndex, /* [in] */ DWORD dwFormatIndex, /* [in] */ LPCWSTR pszName, /* [out] */ WMT_ATTR_DATATYPE *pType, /* [size_is][out] */ BYTE *pValue, /* [out][in] */ DWORD *pdwSize); HRESULT ( STDMETHODCALLTYPE *GetCodecProp )( IWMCodecInfo3 * This, /* [in] */ REFGUID guidType, /* [in] */ DWORD dwCodecIndex, /* [in] */ LPCWSTR pszName, /* [out] */ WMT_ATTR_DATATYPE *pType, /* [size_is][out] */ BYTE *pValue, /* [out][in] */ DWORD *pdwSize); HRESULT ( STDMETHODCALLTYPE *SetCodecEnumerationSetting )( IWMCodecInfo3 * This, /* [in] */ REFGUID guidType, /* [in] */ DWORD dwCodecIndex, /* [in] */ LPCWSTR pszName, /* [in] */ WMT_ATTR_DATATYPE Type, /* [size_is][in] */ const BYTE *pValue, /* [in] */ DWORD dwSize); HRESULT ( STDMETHODCALLTYPE *GetCodecEnumerationSetting )( IWMCodecInfo3 * This, /* [in] */ REFGUID guidType, /* [in] */ DWORD dwCodecIndex, /* [in] */ LPCWSTR pszName, /* [out] */ WMT_ATTR_DATATYPE *pType, /* [size_is][out] */ BYTE *pValue, /* [out][in] */ DWORD *pdwSize); END_INTERFACE } IWMCodecInfo3Vtbl; interface IWMCodecInfo3 { CONST_VTBL struct IWMCodecInfo3Vtbl *lpVtbl; }; #ifdef COBJMACROS #define IWMCodecInfo3_QueryInterface(This,riid,ppvObject) \ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) #define IWMCodecInfo3_AddRef(This) \ ( (This)->lpVtbl -> AddRef(This) ) #define IWMCodecInfo3_Release(This) \ ( (This)->lpVtbl -> Release(This) ) #define IWMCodecInfo3_GetCodecInfoCount(This,guidType,pcCodecs) \ ( (This)->lpVtbl -> GetCodecInfoCount(This,guidType,pcCodecs) ) #define IWMCodecInfo3_GetCodecFormatCount(This,guidType,dwCodecIndex,pcFormat) \ ( (This)->lpVtbl -> GetCodecFormatCount(This,guidType,dwCodecIndex,pcFormat) ) #define IWMCodecInfo3_GetCodecFormat(This,guidType,dwCodecIndex,dwFormatIndex,ppIStreamConfig) \ ( (This)->lpVtbl -> GetCodecFormat(This,guidType,dwCodecIndex,dwFormatIndex,ppIStreamConfig) ) #define IWMCodecInfo3_GetCodecName(This,guidType,dwCodecIndex,wszName,pcchName) \ ( (This)->lpVtbl -> GetCodecName(This,guidType,dwCodecIndex,wszName,pcchName) ) #define IWMCodecInfo3_GetCodecFormatDesc(This,guidType,dwCodecIndex,dwFormatIndex,ppIStreamConfig,wszDesc,pcchDesc) \ ( (This)->lpVtbl -> GetCodecFormatDesc(This,guidType,dwCodecIndex,dwFormatIndex,ppIStreamConfig,wszDesc,pcchDesc) ) #define IWMCodecInfo3_GetCodecFormatProp(This,guidType,dwCodecIndex,dwFormatIndex,pszName,pType,pValue,pdwSize) \ ( (This)->lpVtbl -> GetCodecFormatProp(This,guidType,dwCodecIndex,dwFormatIndex,pszName,pType,pValue,pdwSize) ) #define IWMCodecInfo3_GetCodecProp(This,guidType,dwCodecIndex,pszName,pType,pValue,pdwSize) \ ( (This)->lpVtbl -> GetCodecProp(This,guidType,dwCodecIndex,pszName,pType,pValue,pdwSize) ) #define IWMCodecInfo3_SetCodecEnumerationSetting(This,guidType,dwCodecIndex,pszName,Type,pValue,dwSize) \ ( (This)->lpVtbl -> SetCodecEnumerationSetting(This,guidType,dwCodecIndex,pszName,Type,pValue,dwSize) ) #define IWMCodecInfo3_GetCodecEnumerationSetting(This,guidType,dwCodecIndex,pszName,pType,pValue,pdwSize) \ ( (This)->lpVtbl -> GetCodecEnumerationSetting(This,guidType,dwCodecIndex,pszName,pType,pValue,pdwSize) ) #endif /* COBJMACROS */ #endif /* C style interface */ #endif /* __IWMCodecInfo3_INTERFACE_DEFINED__ */ #ifndef __IWMLanguageList_INTERFACE_DEFINED__ #define __IWMLanguageList_INTERFACE_DEFINED__ /* interface IWMLanguageList */ /* [local][unique][helpstring][uuid][object] */ EXTERN_C const IID IID_IWMLanguageList; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("DF683F00-2D49-4d8e-92B7-FB19F6A0DC57") IWMLanguageList : public IUnknown { public: virtual HRESULT STDMETHODCALLTYPE GetLanguageCount( /* [out] */ WORD *pwCount) = 0; virtual HRESULT STDMETHODCALLTYPE GetLanguageDetails( /* [in] */ WORD wIndex, /* [size_is][out] */ WCHAR *pwszLanguageString, /* [out][in] */ WORD *pcchLanguageStringLength) = 0; virtual HRESULT STDMETHODCALLTYPE AddLanguageByRFC1766String( /* [in] */ LPCWSTR_WMSDK_TYPE_SAFE pwszLanguageString, /* [out] */ WORD *pwIndex) = 0; }; #else /* C style interface */ typedef struct IWMLanguageListVtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IWMLanguageList * This, /* [in] */ REFIID riid, /* [annotation][iid_is][out] */ __RPC__deref_out void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IWMLanguageList * This); ULONG ( STDMETHODCALLTYPE *Release )( IWMLanguageList * This); HRESULT ( STDMETHODCALLTYPE *GetLanguageCount )( IWMLanguageList * This, /* [out] */ WORD *pwCount); HRESULT ( STDMETHODCALLTYPE *GetLanguageDetails )( IWMLanguageList * This, /* [in] */ WORD wIndex, /* [size_is][out] */ WCHAR *pwszLanguageString, /* [out][in] */ WORD *pcchLanguageStringLength); HRESULT ( STDMETHODCALLTYPE *AddLanguageByRFC1766String )( IWMLanguageList * This, /* [in] */ LPCWSTR_WMSDK_TYPE_SAFE pwszLanguageString, /* [out] */ WORD *pwIndex); END_INTERFACE } IWMLanguageListVtbl; interface IWMLanguageList { CONST_VTBL struct IWMLanguageListVtbl *lpVtbl; }; #ifdef COBJMACROS #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) ) #define IWMLanguageList_GetLanguageCount(This,pwCount) \ ( (This)->lpVtbl -> GetLanguageCount(This,pwCount) ) #define IWMLanguageList_GetLanguageDetails(This,wIndex,pwszLanguageString,pcchLanguageStringLength) \ ( (This)->lpVtbl -> GetLanguageDetails(This,wIndex,pwszLanguageString,pcchLanguageStringLength) ) #define IWMLanguageList_AddLanguageByRFC1766String(This,pwszLanguageString,pwIndex) \ ( (This)->lpVtbl -> AddLanguageByRFC1766String(This,pwszLanguageString,pwIndex) ) #endif /* COBJMACROS */ #endif /* C style interface */ #endif /* __IWMLanguageList_INTERFACE_DEFINED__ */ #ifndef __IWMWriterPushSink_INTERFACE_DEFINED__ #define __IWMWriterPushSink_INTERFACE_DEFINED__ /* interface IWMWriterPushSink */ /* [local][unique][helpstring][uuid][object] */ EXTERN_C const IID IID_IWMWriterPushSink; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("dc10e6a5-072c-467d-bf57-6330a9dde12a") IWMWriterPushSink : public IWMWriterSink { public: virtual HRESULT STDMETHODCALLTYPE Connect( /* [in] */ LPCWSTR pwszURL, /* [in] */ LPCWSTR pwszTemplateURL, /* [in] */ BOOL fAutoDestroy) = 0; virtual HRESULT STDMETHODCALLTYPE Disconnect( void) = 0; virtual HRESULT STDMETHODCALLTYPE EndSession( void) = 0; }; #else /* C style interface */ typedef struct IWMWriterPushSinkVtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IWMWriterPushSink * This, /* [in] */ REFIID riid, /* [annotation][iid_is][out] */ __RPC__deref_out void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IWMWriterPushSink * This); ULONG ( STDMETHODCALLTYPE *Release )( IWMWriterPushSink * This); HRESULT ( STDMETHODCALLTYPE *OnHeader )( IWMWriterPushSink * This, /* [in] */ INSSBuffer *pHeader); HRESULT ( STDMETHODCALLTYPE *IsRealTime )( IWMWriterPushSink * This, /* [out] */ BOOL *pfRealTime); HRESULT ( STDMETHODCALLTYPE *AllocateDataUnit )( IWMWriterPushSink * This, /* [in] */ DWORD cbDataUnit, /* [out] */ INSSBuffer **ppDataUnit); HRESULT ( STDMETHODCALLTYPE *OnDataUnit )( IWMWriterPushSink * This, /* [in] */ INSSBuffer *pDataUnit); HRESULT ( STDMETHODCALLTYPE *OnEndWriting )( IWMWriterPushSink * This); HRESULT ( STDMETHODCALLTYPE *Connect )( IWMWriterPushSink * This, /* [in] */ LPCWSTR pwszURL, /* [in] */ LPCWSTR pwszTemplateURL, /* [in] */ BOOL fAutoDestroy); HRESULT ( STDMETHODCALLTYPE *Disconnect )( IWMWriterPushSink * This); HRESULT ( STDMETHODCALLTYPE *EndSession )( IWMWriterPushSink * This); END_INTERFACE } IWMWriterPushSinkVtbl; interface IWMWriterPushSink { CONST_VTBL struct IWMWriterPushSinkVtbl *lpVtbl; }; #ifdef COBJMACROS #define IWMWriterPushSink_QueryInterface(This,riid,ppvObject) \ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) #define IWMWriterPushSink_AddRef(This) \ ( (This)->lpVtbl -> AddRef(This) ) #define IWMWriterPushSink_Release(This) \ ( (This)->lpVtbl -> Release(This) ) #define IWMWriterPushSink_OnHeader(This,pHeader) \ ( (This)->lpVtbl -> OnHeader(This,pHeader) ) #define IWMWriterPushSink_IsRealTime(This,pfRealTime) \ ( (This)->lpVtbl -> IsRealTime(This,pfRealTime) ) #define IWMWriterPushSink_AllocateDataUnit(This,cbDataUnit,ppDataUnit) \ ( (This)->lpVtbl -> AllocateDataUnit(This,cbDataUnit,ppDataUnit) ) #define IWMWriterPushSink_OnDataUnit(This,pDataUnit) \ ( (This)->lpVtbl -> OnDataUnit(This,pDataUnit) ) #define IWMWriterPushSink_OnEndWriting(This) \ ( (This)->lpVtbl -> OnEndWriting(This) ) #define IWMWriterPushSink_Connect(This,pwszURL,pwszTemplateURL,fAutoDestroy) \ ( (This)->lpVtbl -> Connect(This,pwszURL,pwszTemplateURL,fAutoDestroy) ) #define IWMWriterPushSink_Disconnect(This) \ ( (This)->lpVtbl -> Disconnect(This) ) #define IWMWriterPushSink_EndSession(This) \ ( (This)->lpVtbl -> EndSession(This) ) #endif /* COBJMACROS */ #endif /* C style interface */ #endif /* __IWMWriterPushSink_INTERFACE_DEFINED__ */ #ifndef __IWMDeviceRegistration_INTERFACE_DEFINED__ #define __IWMDeviceRegistration_INTERFACE_DEFINED__ /* interface IWMDeviceRegistration */ /* [local][unique][helpstring][uuid][object] */ EXTERN_C const IID IID_IWMDeviceRegistration; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("f6211f03-8d21-4e94-93e6-8510805f2d99") IWMDeviceRegistration : public IUnknown { public: virtual HRESULT STDMETHODCALLTYPE RegisterDevice( /* [in] */ DWORD dwRegisterType, /* [size_is][in] */ BYTE *pbCertificate, /* [in] */ DWORD cbCertificate, /* [in] */ DRM_VAL16 SerialNumber, /* [out] */ IWMRegisteredDevice **ppDevice) = 0; virtual HRESULT STDMETHODCALLTYPE UnregisterDevice( /* [in] */ DWORD dwRegisterType, /* [size_is][in] */ BYTE *pbCertificate, /* [in] */ DWORD cbCertificate, /* [in] */ DRM_VAL16 SerialNumber) = 0; virtual HRESULT STDMETHODCALLTYPE GetRegistrationStats( /* [in] */ DWORD dwRegisterType, /* [out] */ DWORD *pcRegisteredDevices) = 0; virtual HRESULT STDMETHODCALLTYPE GetFirstRegisteredDevice( /* [in] */ DWORD dwRegisterType, /* [out] */ IWMRegisteredDevice **ppDevice) = 0; virtual HRESULT STDMETHODCALLTYPE GetNextRegisteredDevice( /* [out] */ IWMRegisteredDevice **ppDevice) = 0; virtual HRESULT STDMETHODCALLTYPE GetRegisteredDeviceByID( /* [in] */ DWORD dwRegisterType, /* [size_is][in] */ BYTE *pbCertificate, /* [in] */ DWORD cbCertificate, /* [in] */ DRM_VAL16 SerialNumber, /* [out] */ IWMRegisteredDevice **ppDevice) = 0; }; #else /* C style interface */ typedef struct IWMDeviceRegistrationVtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IWMDeviceRegistration * This, /* [in] */ REFIID riid, /* [annotation][iid_is][out] */ __RPC__deref_out void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IWMDeviceRegistration * This); ULONG ( STDMETHODCALLTYPE *Release )( IWMDeviceRegistration * This); HRESULT ( STDMETHODCALLTYPE *RegisterDevice )( IWMDeviceRegistration * This, /* [in] */ DWORD dwRegisterType, /* [size_is][in] */ BYTE *pbCertificate, /* [in] */ DWORD cbCertificate, /* [in] */ DRM_VAL16 SerialNumber, /* [out] */ IWMRegisteredDevice **ppDevice); HRESULT ( STDMETHODCALLTYPE *UnregisterDevice )( IWMDeviceRegistration * This, /* [in] */ DWORD dwRegisterType, /* [size_is][in] */ BYTE *pbCertificate, /* [in] */ DWORD cbCertificate, /* [in] */ DRM_VAL16 SerialNumber); HRESULT ( STDMETHODCALLTYPE *GetRegistrationStats )( IWMDeviceRegistration * This, /* [in] */ DWORD dwRegisterType, /* [out] */ DWORD *pcRegisteredDevices); HRESULT ( STDMETHODCALLTYPE *GetFirstRegisteredDevice )( IWMDeviceRegistration * This, /* [in] */ DWORD dwRegisterType, /* [out] */ IWMRegisteredDevice **ppDevice); HRESULT ( STDMETHODCALLTYPE *GetNextRegisteredDevice )( IWMDeviceRegistration * This, /* [out] */ IWMRegisteredDevice **ppDevice); HRESULT ( STDMETHODCALLTYPE *GetRegisteredDeviceByID )( IWMDeviceRegistration * This, /* [in] */ DWORD dwRegisterType, /* [size_is][in] */ BYTE *pbCertificate, /* [in] */ DWORD cbCertificate, /* [in] */ DRM_VAL16 SerialNumber, /* [out] */ IWMRegisteredDevice **ppDevice); END_INTERFACE } IWMDeviceRegistrationVtbl; interface IWMDeviceRegistration { CONST_VTBL struct IWMDeviceRegistrationVtbl *lpVtbl; }; #ifdef COBJMACROS #define IWMDeviceRegistration_QueryInterface(This,riid,ppvObject) \ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) #define IWMDeviceRegistration_AddRef(This) \ ( (This)->lpVtbl -> AddRef(This) ) #define IWMDeviceRegistration_Release(This) \ ( (This)->lpVtbl -> Release(This) ) #define IWMDeviceRegistration_RegisterDevice(This,dwRegisterType,pbCertificate,cbCertificate,SerialNumber,ppDevice) \ ( (This)->lpVtbl -> RegisterDevice(This,dwRegisterType,pbCertificate,cbCertificate,SerialNumber,ppDevice) ) #define IWMDeviceRegistration_UnregisterDevice(This,dwRegisterType,pbCertificate,cbCertificate,SerialNumber) \ ( (This)->lpVtbl -> UnregisterDevice(This,dwRegisterType,pbCertificate,cbCertificate,SerialNumber) ) #define IWMDeviceRegistration_GetRegistrationStats(This,dwRegisterType,pcRegisteredDevices) \ ( (This)->lpVtbl -> GetRegistrationStats(This,dwRegisterType,pcRegisteredDevices) ) #define IWMDeviceRegistration_GetFirstRegisteredDevice(This,dwRegisterType,ppDevice) \ ( (This)->lpVtbl -> GetFirstRegisteredDevice(This,dwRegisterType,ppDevice) ) #define IWMDeviceRegistration_GetNextRegisteredDevice(This,ppDevice) \ ( (This)->lpVtbl -> GetNextRegisteredDevice(This,ppDevice) ) #define IWMDeviceRegistration_GetRegisteredDeviceByID(This,dwRegisterType,pbCertificate,cbCertificate,SerialNumber,ppDevice) \ ( (This)->lpVtbl -> GetRegisteredDeviceByID(This,dwRegisterType,pbCertificate,cbCertificate,SerialNumber,ppDevice) ) #endif /* COBJMACROS */ #endif /* C style interface */ #endif /* __IWMDeviceRegistration_INTERFACE_DEFINED__ */ #ifndef __IWMRegisteredDevice_INTERFACE_DEFINED__ #define __IWMRegisteredDevice_INTERFACE_DEFINED__ /* interface IWMRegisteredDevice */ /* [local][unique][helpstring][uuid][object] */ EXTERN_C const IID IID_IWMRegisteredDevice; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("a4503bec-5508-4148-97ac-bfa75760a70d") IWMRegisteredDevice : public IUnknown { public: virtual HRESULT STDMETHODCALLTYPE GetDeviceSerialNumber( /* [out] */ DRM_VAL16 *pSerialNumber) = 0; virtual HRESULT STDMETHODCALLTYPE GetDeviceCertificate( /* [out] */ INSSBuffer **ppCertificate) = 0; virtual HRESULT STDMETHODCALLTYPE GetDeviceType( /* [out] */ DWORD *pdwType) = 0; virtual HRESULT STDMETHODCALLTYPE GetAttributeCount( /* [out] */ DWORD *pcAttributes) = 0; virtual HRESULT STDMETHODCALLTYPE GetAttributeByIndex( /* [in] */ DWORD dwIndex, /* [out] */ BSTR *pbstrName, /* [out] */ BSTR *pbstrValue) = 0; virtual HRESULT STDMETHODCALLTYPE GetAttributeByName( /* [in] */ BSTR bstrName, /* [out] */ BSTR *pbstrValue) = 0; virtual HRESULT STDMETHODCALLTYPE SetAttributeByName( /* [in] */ BSTR bstrName, /* [in] */ BSTR bstrValue) = 0; virtual HRESULT STDMETHODCALLTYPE Approve( /* [in] */ BOOL fApprove) = 0; virtual HRESULT STDMETHODCALLTYPE IsValid( /* [out] */ BOOL *pfValid) = 0; virtual HRESULT STDMETHODCALLTYPE IsApproved( /* [out] */ BOOL *pfApproved) = 0; virtual HRESULT STDMETHODCALLTYPE IsWmdrmCompliant( /* [out] */ BOOL *pfCompliant) = 0; virtual HRESULT STDMETHODCALLTYPE IsOpened( /* [out] */ BOOL *pfOpened) = 0; virtual HRESULT STDMETHODCALLTYPE Open( void) = 0; virtual HRESULT STDMETHODCALLTYPE Close( void) = 0; }; #else /* C style interface */ typedef struct IWMRegisteredDeviceVtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IWMRegisteredDevice * This, /* [in] */ REFIID riid, /* [annotation][iid_is][out] */ __RPC__deref_out void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IWMRegisteredDevice * This); ULONG ( STDMETHODCALLTYPE *Release )( IWMRegisteredDevice * This); HRESULT ( STDMETHODCALLTYPE *GetDeviceSerialNumber )( IWMRegisteredDevice * This, /* [out] */ DRM_VAL16 *pSerialNumber); HRESULT ( STDMETHODCALLTYPE *GetDeviceCertificate )( IWMRegisteredDevice * This, /* [out] */ INSSBuffer **ppCertificate); HRESULT ( STDMETHODCALLTYPE *GetDeviceType )( IWMRegisteredDevice * This, /* [out] */ DWORD *pdwType); HRESULT ( STDMETHODCALLTYPE *GetAttributeCount )( IWMRegisteredDevice * This, /* [out] */ DWORD *pcAttributes); HRESULT ( STDMETHODCALLTYPE *GetAttributeByIndex )( IWMRegisteredDevice * This, /* [in] */ DWORD dwIndex, /* [out] */ BSTR *pbstrName, /* [out] */ BSTR *pbstrValue); HRESULT ( STDMETHODCALLTYPE *GetAttributeByName )( IWMRegisteredDevice * This, /* [in] */ BSTR bstrName, /* [out] */ BSTR *pbstrValue); HRESULT ( STDMETHODCALLTYPE *SetAttributeByName )( IWMRegisteredDevice * This, /* [in] */ BSTR bstrName, /* [in] */ BSTR bstrValue); HRESULT ( STDMETHODCALLTYPE *Approve )( IWMRegisteredDevice * This, /* [in] */ BOOL fApprove); HRESULT ( STDMETHODCALLTYPE *IsValid )( IWMRegisteredDevice * This, /* [out] */ BOOL *pfValid); HRESULT ( STDMETHODCALLTYPE *IsApproved )( IWMRegisteredDevice * This, /* [out] */ BOOL *pfApproved); HRESULT ( STDMETHODCALLTYPE *IsWmdrmCompliant )( IWMRegisteredDevice * This, /* [out] */ BOOL *pfCompliant); HRESULT ( STDMETHODCALLTYPE *IsOpened )( IWMRegisteredDevice * This, /* [out] */ BOOL *pfOpened); HRESULT ( STDMETHODCALLTYPE *Open )( IWMRegisteredDevice * This); HRESULT ( STDMETHODCALLTYPE *Close )( IWMRegisteredDevice * This); END_INTERFACE } IWMRegisteredDeviceVtbl; interface IWMRegisteredDevice { CONST_VTBL struct IWMRegisteredDeviceVtbl *lpVtbl; }; #ifdef COBJMACROS #define IWMRegisteredDevice_QueryInterface(This,riid,ppvObject) \ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) #define IWMRegisteredDevice_AddRef(This) \ ( (This)->lpVtbl -> AddRef(This) ) #define IWMRegisteredDevice_Release(This) \ ( (This)->lpVtbl -> Release(This) ) #define IWMRegisteredDevice_GetDeviceSerialNumber(This,pSerialNumber) \ ( (This)->lpVtbl -> GetDeviceSerialNumber(This,pSerialNumber) ) #define IWMRegisteredDevice_GetDeviceCertificate(This,ppCertificate) \ ( (This)->lpVtbl -> GetDeviceCertificate(This,ppCertificate) ) #define IWMRegisteredDevice_GetDeviceType(This,pdwType) \ ( (This)->lpVtbl -> GetDeviceType(This,pdwType) ) #define IWMRegisteredDevice_GetAttributeCount(This,pcAttributes) \ ( (This)->lpVtbl -> GetAttributeCount(This,pcAttributes) ) #define IWMRegisteredDevice_GetAttributeByIndex(This,dwIndex,pbstrName,pbstrValue) \ ( (This)->lpVtbl -> GetAttributeByIndex(This,dwIndex,pbstrName,pbstrValue) ) #define IWMRegisteredDevice_GetAttributeByName(This,bstrName,pbstrValue) \ ( (This)->lpVtbl -> GetAttributeByName(This,bstrName,pbstrValue) ) #define IWMRegisteredDevice_SetAttributeByName(This,bstrName,bstrValue) \ ( (This)->lpVtbl -> SetAttributeByName(This,bstrName,bstrValue) ) #define IWMRegisteredDevice_Approve(This,fApprove) \ ( (This)->lpVtbl -> Approve(This,fApprove) ) #define IWMRegisteredDevice_IsValid(This,pfValid) \ ( (This)->lpVtbl -> IsValid(This,pfValid) ) #define IWMRegisteredDevice_IsApproved(This,pfApproved) \ ( (This)->lpVtbl -> IsApproved(This,pfApproved) ) #define IWMRegisteredDevice_IsWmdrmCompliant(This,pfCompliant) \ ( (This)->lpVtbl -> IsWmdrmCompliant(This,pfCompliant) ) #define IWMRegisteredDevice_IsOpened(This,pfOpened) \ ( (This)->lpVtbl -> IsOpened(This,pfOpened) ) #define IWMRegisteredDevice_Open(This) \ ( (This)->lpVtbl -> Open(This) ) #define IWMRegisteredDevice_Close(This) \ ( (This)->lpVtbl -> Close(This) ) #endif /* COBJMACROS */ #endif /* C style interface */ #endif /* __IWMRegisteredDevice_INTERFACE_DEFINED__ */ #ifndef __IWMProximityDetection_INTERFACE_DEFINED__ #define __IWMProximityDetection_INTERFACE_DEFINED__ /* interface IWMProximityDetection */ /* [local][unique][helpstring][uuid][object] */ EXTERN_C const IID IID_IWMProximityDetection; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("6A9FD8EE-B651-4bf0-B849-7D4ECE79A2B1") IWMProximityDetection : public IUnknown { public: virtual HRESULT STDMETHODCALLTYPE StartDetection( /* [size_is][in] */ BYTE *pbRegistrationMsg, /* [in] */ DWORD cbRegistrationMsg, /* [size_is][in] */ BYTE *pbLocalAddress, /* [in] */ DWORD cbLocalAddress, /* [in] */ DWORD dwExtraPortsAllowed, /* [out] */ INSSBuffer **ppRegistrationResponseMsg, /* [in] */ IWMStatusCallback *pCallback, /* [in] */ void *pvContext) = 0; }; #else /* C style interface */ typedef struct IWMProximityDetectionVtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IWMProximityDetection * This, /* [in] */ REFIID riid, /* [annotation][iid_is][out] */ __RPC__deref_out void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IWMProximityDetection * This); ULONG ( STDMETHODCALLTYPE *Release )( IWMProximityDetection * This); HRESULT ( STDMETHODCALLTYPE *StartDetection )( IWMProximityDetection * This, /* [size_is][in] */ BYTE *pbRegistrationMsg, /* [in] */ DWORD cbRegistrationMsg, /* [size_is][in] */ BYTE *pbLocalAddress, /* [in] */ DWORD cbLocalAddress, /* [in] */ DWORD dwExtraPortsAllowed, /* [out] */ INSSBuffer **ppRegistrationResponseMsg, /* [in] */ IWMStatusCallback *pCallback, /* [in] */ void *pvContext); END_INTERFACE } IWMProximityDetectionVtbl; interface IWMProximityDetection { CONST_VTBL struct IWMProximityDetectionVtbl *lpVtbl; }; #ifdef COBJMACROS #define IWMProximityDetection_QueryInterface(This,riid,ppvObject) \ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) #define IWMProximityDetection_AddRef(This) \ ( (This)->lpVtbl -> AddRef(This) ) #define IWMProximityDetection_Release(This) \ ( (This)->lpVtbl -> Release(This) ) #define IWMProximityDetection_StartDetection(This,pbRegistrationMsg,cbRegistrationMsg,pbLocalAddress,cbLocalAddress,dwExtraPortsAllowed,ppRegistrationResponseMsg,pCallback,pvContext) \ ( (This)->lpVtbl -> StartDetection(This,pbRegistrationMsg,cbRegistrationMsg,pbLocalAddress,cbLocalAddress,dwExtraPortsAllowed,ppRegistrationResponseMsg,pCallback,pvContext) ) #endif /* COBJMACROS */ #endif /* C style interface */ #endif /* __IWMProximityDetection_INTERFACE_DEFINED__ */ #ifndef __IWMDRMMessageParser_INTERFACE_DEFINED__ #define __IWMDRMMessageParser_INTERFACE_DEFINED__ /* interface IWMDRMMessageParser */ /* [local][unique][helpstring][uuid][object] */ EXTERN_C const IID IID_IWMDRMMessageParser; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("A73A0072-25A0-4c99-B4A5-EDE8101A6C39") IWMDRMMessageParser : public IUnknown { public: virtual HRESULT STDMETHODCALLTYPE ParseRegistrationReqMsg( /* [size_is][in] */ BYTE *pbRegistrationReqMsg, /* [in] */ DWORD cbRegistrationReqMsg, /* [out] */ INSSBuffer **ppDeviceCert, /* [out] */ DRM_VAL16 *pDeviceSerialNumber) = 0; virtual HRESULT STDMETHODCALLTYPE ParseLicenseRequestMsg( /* [size_is][in] */ BYTE *pbLicenseRequestMsg, /* [in] */ DWORD cbLicenseRequestMsg, /* [out] */ INSSBuffer **ppDeviceCert, /* [out] */ DRM_VAL16 *pDeviceSerialNumber, /* [out] */ BSTR *pbstrAction) = 0; }; #else /* C style interface */ typedef struct IWMDRMMessageParserVtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IWMDRMMessageParser * This, /* [in] */ REFIID riid, /* [annotation][iid_is][out] */ __RPC__deref_out void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IWMDRMMessageParser * This); ULONG ( STDMETHODCALLTYPE *Release )( IWMDRMMessageParser * This); HRESULT ( STDMETHODCALLTYPE *ParseRegistrationReqMsg )( IWMDRMMessageParser * This, /* [size_is][in] */ BYTE *pbRegistrationReqMsg, /* [in] */ DWORD cbRegistrationReqMsg, /* [out] */ INSSBuffer **ppDeviceCert, /* [out] */ DRM_VAL16 *pDeviceSerialNumber); HRESULT ( STDMETHODCALLTYPE *ParseLicenseRequestMsg )( IWMDRMMessageParser * This, /* [size_is][in] */ BYTE *pbLicenseRequestMsg, /* [in] */ DWORD cbLicenseRequestMsg, /* [out] */ INSSBuffer **ppDeviceCert, /* [out] */ DRM_VAL16 *pDeviceSerialNumber, /* [out] */ BSTR *pbstrAction); END_INTERFACE } IWMDRMMessageParserVtbl; interface IWMDRMMessageParser { CONST_VTBL struct IWMDRMMessageParserVtbl *lpVtbl; }; #ifdef COBJMACROS #define IWMDRMMessageParser_QueryInterface(This,riid,ppvObject) \ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) #define IWMDRMMessageParser_AddRef(This) \ ( (This)->lpVtbl -> AddRef(This) ) #define IWMDRMMessageParser_Release(This) \ ( (This)->lpVtbl -> Release(This) ) #define IWMDRMMessageParser_ParseRegistrationReqMsg(This,pbRegistrationReqMsg,cbRegistrationReqMsg,ppDeviceCert,pDeviceSerialNumber) \ ( (This)->lpVtbl -> ParseRegistrationReqMsg(This,pbRegistrationReqMsg,cbRegistrationReqMsg,ppDeviceCert,pDeviceSerialNumber) ) #define IWMDRMMessageParser_ParseLicenseRequestMsg(This,pbLicenseRequestMsg,cbLicenseRequestMsg,ppDeviceCert,pDeviceSerialNumber,pbstrAction) \ ( (This)->lpVtbl -> ParseLicenseRequestMsg(This,pbLicenseRequestMsg,cbLicenseRequestMsg,ppDeviceCert,pDeviceSerialNumber,pbstrAction) ) #endif /* COBJMACROS */ #endif /* C style interface */ #endif /* __IWMDRMMessageParser_INTERFACE_DEFINED__ */ #ifndef __IWMDRMTranscryptor_INTERFACE_DEFINED__ #define __IWMDRMTranscryptor_INTERFACE_DEFINED__ /* interface IWMDRMTranscryptor */ /* [local][unique][helpstring][uuid][object] */ EXTERN_C const IID IID_IWMDRMTranscryptor; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("69059850-6E6F-4bb2-806F-71863DDFC471") IWMDRMTranscryptor : public IUnknown { public: virtual HRESULT STDMETHODCALLTYPE Initialize( /* [in] */ BSTR bstrFileName, /* [size_is][in] */ BYTE *pbLicenseRequestMsg, /* [in] */ DWORD cbLicenseRequestMsg, /* [out] */ INSSBuffer **ppLicenseResponseMsg, /* [in] */ IWMStatusCallback *pCallback, /* [in] */ void *pvContext) = 0; virtual HRESULT STDMETHODCALLTYPE Seek( /* [in] */ QWORD hnsTime) = 0; virtual HRESULT STDMETHODCALLTYPE Read( /* [in] */ BYTE *pbData, /* [in] */ DWORD *pcbData) = 0; virtual HRESULT STDMETHODCALLTYPE Close( void) = 0; }; #else /* C style interface */ typedef struct IWMDRMTranscryptorVtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IWMDRMTranscryptor * This, /* [in] */ REFIID riid, /* [annotation][iid_is][out] */ __RPC__deref_out void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IWMDRMTranscryptor * This); ULONG ( STDMETHODCALLTYPE *Release )( IWMDRMTranscryptor * This); HRESULT ( STDMETHODCALLTYPE *Initialize )( IWMDRMTranscryptor * This, /* [in] */ BSTR bstrFileName, /* [size_is][in] */ BYTE *pbLicenseRequestMsg, /* [in] */ DWORD cbLicenseRequestMsg, /* [out] */ INSSBuffer **ppLicenseResponseMsg, /* [in] */ IWMStatusCallback *pCallback, /* [in] */ void *pvContext); HRESULT ( STDMETHODCALLTYPE *Seek )( IWMDRMTranscryptor * This, /* [in] */ QWORD hnsTime); HRESULT ( STDMETHODCALLTYPE *Read )( IWMDRMTranscryptor * This, /* [in] */ BYTE *pbData, /* [in] */ DWORD *pcbData); HRESULT ( STDMETHODCALLTYPE *Close )( IWMDRMTranscryptor * This); END_INTERFACE } IWMDRMTranscryptorVtbl; interface IWMDRMTranscryptor { CONST_VTBL struct IWMDRMTranscryptorVtbl *lpVtbl; }; #ifdef COBJMACROS #define IWMDRMTranscryptor_QueryInterface(This,riid,ppvObject) \ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) #define IWMDRMTranscryptor_AddRef(This) \ ( (This)->lpVtbl -> AddRef(This) ) #define IWMDRMTranscryptor_Release(This) \ ( (This)->lpVtbl -> Release(This) ) #define IWMDRMTranscryptor_Initialize(This,bstrFileName,pbLicenseRequestMsg,cbLicenseRequestMsg,ppLicenseResponseMsg,pCallback,pvContext) \ ( (This)->lpVtbl -> Initialize(This,bstrFileName,pbLicenseRequestMsg,cbLicenseRequestMsg,ppLicenseResponseMsg,pCallback,pvContext) ) #define IWMDRMTranscryptor_Seek(This,hnsTime) \ ( (This)->lpVtbl -> Seek(This,hnsTime) ) #define IWMDRMTranscryptor_Read(This,pbData,pcbData) \ ( (This)->lpVtbl -> Read(This,pbData,pcbData) ) #define IWMDRMTranscryptor_Close(This) \ ( (This)->lpVtbl -> Close(This) ) #endif /* COBJMACROS */ #endif /* C style interface */ #endif /* __IWMDRMTranscryptor_INTERFACE_DEFINED__ */ #ifndef __IWMDRMTranscryptor2_INTERFACE_DEFINED__ #define __IWMDRMTranscryptor2_INTERFACE_DEFINED__ /* interface IWMDRMTranscryptor2 */ /* [local][unique][helpstring][uuid][object] */ EXTERN_C const IID IID_IWMDRMTranscryptor2; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("e0da439f-d331-496a-bece-18e5bac5dd23") IWMDRMTranscryptor2 : public IWMDRMTranscryptor { public: virtual HRESULT STDMETHODCALLTYPE SeekEx( /* [in] */ QWORD cnsStartTime, /* [in] */ QWORD cnsDuration, /* [in] */ float flRate, /* [in] */ BOOL fIncludeFileHeader) = 0; virtual HRESULT STDMETHODCALLTYPE ZeroAdjustTimestamps( /* [in] */ BOOL fEnable) = 0; virtual HRESULT STDMETHODCALLTYPE GetSeekStartTime( /* [out] */ QWORD *pcnsTime) = 0; virtual HRESULT STDMETHODCALLTYPE GetDuration( /* [out] */ QWORD *pcnsDuration) = 0; }; #else /* C style interface */ typedef struct IWMDRMTranscryptor2Vtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IWMDRMTranscryptor2 * This, /* [in] */ REFIID riid, /* [annotation][iid_is][out] */ __RPC__deref_out void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IWMDRMTranscryptor2 * This); ULONG ( STDMETHODCALLTYPE *Release )( IWMDRMTranscryptor2 * This); HRESULT ( STDMETHODCALLTYPE *Initialize )( IWMDRMTranscryptor2 * This, /* [in] */ BSTR bstrFileName, /* [size_is][in] */ BYTE *pbLicenseRequestMsg, /* [in] */ DWORD cbLicenseRequestMsg, /* [out] */ INSSBuffer **ppLicenseResponseMsg, /* [in] */ IWMStatusCallback *pCallback, /* [in] */ void *pvContext); HRESULT ( STDMETHODCALLTYPE *Seek )( IWMDRMTranscryptor2 * This, /* [in] */ QWORD hnsTime); HRESULT ( STDMETHODCALLTYPE *Read )( IWMDRMTranscryptor2 * This, /* [in] */ BYTE *pbData, /* [in] */ DWORD *pcbData); HRESULT ( STDMETHODCALLTYPE *Close )( IWMDRMTranscryptor2 * This); HRESULT ( STDMETHODCALLTYPE *SeekEx )( IWMDRMTranscryptor2 * This, /* [in] */ QWORD cnsStartTime, /* [in] */ QWORD cnsDuration, /* [in] */ float flRate, /* [in] */ BOOL fIncludeFileHeader); HRESULT ( STDMETHODCALLTYPE *ZeroAdjustTimestamps )( IWMDRMTranscryptor2 * This, /* [in] */ BOOL fEnable); HRESULT ( STDMETHODCALLTYPE *GetSeekStartTime )( IWMDRMTranscryptor2 * This, /* [out] */ QWORD *pcnsTime); HRESULT ( STDMETHODCALLTYPE *GetDuration )( IWMDRMTranscryptor2 * This, /* [out] */ QWORD *pcnsDuration); END_INTERFACE } IWMDRMTranscryptor2Vtbl; interface IWMDRMTranscryptor2 { CONST_VTBL struct IWMDRMTranscryptor2Vtbl *lpVtbl; }; #ifdef COBJMACROS #define IWMDRMTranscryptor2_QueryInterface(This,riid,ppvObject) \ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) #define IWMDRMTranscryptor2_AddRef(This) \ ( (This)->lpVtbl -> AddRef(This) ) #define IWMDRMTranscryptor2_Release(This) \ ( (This)->lpVtbl -> Release(This) ) #define IWMDRMTranscryptor2_Initialize(This,bstrFileName,pbLicenseRequestMsg,cbLicenseRequestMsg,ppLicenseResponseMsg,pCallback,pvContext) \ ( (This)->lpVtbl -> Initialize(This,bstrFileName,pbLicenseRequestMsg,cbLicenseRequestMsg,ppLicenseResponseMsg,pCallback,pvContext) ) #define IWMDRMTranscryptor2_Seek(This,hnsTime) \ ( (This)->lpVtbl -> Seek(This,hnsTime) ) #define IWMDRMTranscryptor2_Read(This,pbData,pcbData) \ ( (This)->lpVtbl -> Read(This,pbData,pcbData) ) #define IWMDRMTranscryptor2_Close(This) \ ( (This)->lpVtbl -> Close(This) ) #define IWMDRMTranscryptor2_SeekEx(This,cnsStartTime,cnsDuration,flRate,fIncludeFileHeader) \ ( (This)->lpVtbl -> SeekEx(This,cnsStartTime,cnsDuration,flRate,fIncludeFileHeader) ) #define IWMDRMTranscryptor2_ZeroAdjustTimestamps(This,fEnable) \ ( (This)->lpVtbl -> ZeroAdjustTimestamps(This,fEnable) ) #define IWMDRMTranscryptor2_GetSeekStartTime(This,pcnsTime) \ ( (This)->lpVtbl -> GetSeekStartTime(This,pcnsTime) ) #define IWMDRMTranscryptor2_GetDuration(This,pcnsDuration) \ ( (This)->lpVtbl -> GetDuration(This,pcnsDuration) ) #endif /* COBJMACROS */ #endif /* C style interface */ #endif /* __IWMDRMTranscryptor2_INTERFACE_DEFINED__ */ #ifndef __IWMDRMTranscryptionManager_INTERFACE_DEFINED__ #define __IWMDRMTranscryptionManager_INTERFACE_DEFINED__ /* interface IWMDRMTranscryptionManager */ /* [local][unique][helpstring][uuid][object] */ EXTERN_C const IID IID_IWMDRMTranscryptionManager; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("b1a887b2-a4f0-407a-b02e-efbd23bbecdf") IWMDRMTranscryptionManager : public IUnknown { public: virtual HRESULT STDMETHODCALLTYPE CreateTranscryptor( /* [out] */ IWMDRMTranscryptor **ppTranscryptor) = 0; }; #else /* C style interface */ typedef struct IWMDRMTranscryptionManagerVtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IWMDRMTranscryptionManager * This, /* [in] */ REFIID riid, /* [annotation][iid_is][out] */ __RPC__deref_out void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IWMDRMTranscryptionManager * This); ULONG ( STDMETHODCALLTYPE *Release )( IWMDRMTranscryptionManager * This); HRESULT ( STDMETHODCALLTYPE *CreateTranscryptor )( IWMDRMTranscryptionManager * This, /* [out] */ IWMDRMTranscryptor **ppTranscryptor); END_INTERFACE } IWMDRMTranscryptionManagerVtbl; interface IWMDRMTranscryptionManager { CONST_VTBL struct IWMDRMTranscryptionManagerVtbl *lpVtbl; }; #ifdef COBJMACROS #define IWMDRMTranscryptionManager_QueryInterface(This,riid,ppvObject) \ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) #define IWMDRMTranscryptionManager_AddRef(This) \ ( (This)->lpVtbl -> AddRef(This) ) #define IWMDRMTranscryptionManager_Release(This) \ ( (This)->lpVtbl -> Release(This) ) #define IWMDRMTranscryptionManager_CreateTranscryptor(This,ppTranscryptor) \ ( (This)->lpVtbl -> CreateTranscryptor(This,ppTranscryptor) ) #endif /* COBJMACROS */ #endif /* C style interface */ #endif /* __IWMDRMTranscryptionManager_INTERFACE_DEFINED__ */ #ifndef __IWMWatermarkInfo_INTERFACE_DEFINED__ #define __IWMWatermarkInfo_INTERFACE_DEFINED__ /* interface IWMWatermarkInfo */ /* [local][unique][helpstring][uuid][object] */ EXTERN_C const IID IID_IWMWatermarkInfo; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("6f497062-f2e2-4624-8ea7-9dd40d81fc8d") IWMWatermarkInfo : public IUnknown { public: virtual HRESULT STDMETHODCALLTYPE GetWatermarkEntryCount( /* [in] */ WMT_WATERMARK_ENTRY_TYPE wmetType, /* [out] */ DWORD *pdwCount) = 0; virtual HRESULT STDMETHODCALLTYPE GetWatermarkEntry( /* [in] */ WMT_WATERMARK_ENTRY_TYPE wmetType, /* [in] */ DWORD dwEntryNum, /* [out] */ WMT_WATERMARK_ENTRY *pEntry) = 0; }; #else /* C style interface */ typedef struct IWMWatermarkInfoVtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IWMWatermarkInfo * This, /* [in] */ REFIID riid, /* [annotation][iid_is][out] */ __RPC__deref_out void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IWMWatermarkInfo * This); ULONG ( STDMETHODCALLTYPE *Release )( IWMWatermarkInfo * This); HRESULT ( STDMETHODCALLTYPE *GetWatermarkEntryCount )( IWMWatermarkInfo * This, /* [in] */ WMT_WATERMARK_ENTRY_TYPE wmetType, /* [out] */ DWORD *pdwCount); HRESULT ( STDMETHODCALLTYPE *GetWatermarkEntry )( IWMWatermarkInfo * This, /* [in] */ WMT_WATERMARK_ENTRY_TYPE wmetType, /* [in] */ DWORD dwEntryNum, /* [out] */ WMT_WATERMARK_ENTRY *pEntry); END_INTERFACE } IWMWatermarkInfoVtbl; interface IWMWatermarkInfo { CONST_VTBL struct IWMWatermarkInfoVtbl *lpVtbl; }; #ifdef COBJMACROS #define IWMWatermarkInfo_QueryInterface(This,riid,ppvObject) \ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) #define IWMWatermarkInfo_AddRef(This) \ ( (This)->lpVtbl -> AddRef(This) ) #define IWMWatermarkInfo_Release(This) \ ( (This)->lpVtbl -> Release(This) ) #define IWMWatermarkInfo_GetWatermarkEntryCount(This,wmetType,pdwCount) \ ( (This)->lpVtbl -> GetWatermarkEntryCount(This,wmetType,pdwCount) ) #define IWMWatermarkInfo_GetWatermarkEntry(This,wmetType,dwEntryNum,pEntry) \ ( (This)->lpVtbl -> GetWatermarkEntry(This,wmetType,dwEntryNum,pEntry) ) #endif /* COBJMACROS */ #endif /* C style interface */ #endif /* __IWMWatermarkInfo_INTERFACE_DEFINED__ */ #ifndef __IWMReaderAccelerator_INTERFACE_DEFINED__ #define __IWMReaderAccelerator_INTERFACE_DEFINED__ /* interface IWMReaderAccelerator */ /* [local][unique][helpstring][uuid][object] */ EXTERN_C const IID IID_IWMReaderAccelerator; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("BDDC4D08-944D-4d52-A612-46C3FDA07DD4") IWMReaderAccelerator : public IUnknown { public: virtual HRESULT STDMETHODCALLTYPE GetCodecInterface( /* [in] */ DWORD dwOutputNum, /* [in] */ REFIID riid, /* [out] */ void **ppvCodecInterface) = 0; virtual HRESULT STDMETHODCALLTYPE Notify( /* [in] */ DWORD dwOutputNum, /* [in] */ WM_MEDIA_TYPE *pSubtype) = 0; }; #else /* C style interface */ typedef struct IWMReaderAcceleratorVtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IWMReaderAccelerator * This, /* [in] */ REFIID riid, /* [annotation][iid_is][out] */ __RPC__deref_out void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IWMReaderAccelerator * This); ULONG ( STDMETHODCALLTYPE *Release )( IWMReaderAccelerator * This); HRESULT ( STDMETHODCALLTYPE *GetCodecInterface )( IWMReaderAccelerator * This, /* [in] */ DWORD dwOutputNum, /* [in] */ REFIID riid, /* [out] */ void **ppvCodecInterface); HRESULT ( STDMETHODCALLTYPE *Notify )( IWMReaderAccelerator * This, /* [in] */ DWORD dwOutputNum, /* [in] */ WM_MEDIA_TYPE *pSubtype); END_INTERFACE } IWMReaderAcceleratorVtbl; interface IWMReaderAccelerator { CONST_VTBL struct IWMReaderAcceleratorVtbl *lpVtbl; }; #ifdef COBJMACROS #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) ) #define IWMReaderAccelerator_GetCodecInterface(This,dwOutputNum,riid,ppvCodecInterface) \ ( (This)->lpVtbl -> GetCodecInterface(This,dwOutputNum,riid,ppvCodecInterface) ) #define IWMReaderAccelerator_Notify(This,dwOutputNum,pSubtype) \ ( (This)->lpVtbl -> Notify(This,dwOutputNum,pSubtype) ) #endif /* COBJMACROS */ #endif /* C style interface */ #endif /* __IWMReaderAccelerator_INTERFACE_DEFINED__ */ #ifndef __IWMReaderTimecode_INTERFACE_DEFINED__ #define __IWMReaderTimecode_INTERFACE_DEFINED__ /* interface IWMReaderTimecode */ /* [local][unique][helpstring][uuid][object] */ EXTERN_C const IID IID_IWMReaderTimecode; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("f369e2f0-e081-4fe6-8450-b810b2f410d1") IWMReaderTimecode : public IUnknown { public: virtual HRESULT STDMETHODCALLTYPE GetTimecodeRangeCount( /* [in] */ WORD wStreamNum, /* [out] */ WORD *pwRangeCount) = 0; virtual HRESULT STDMETHODCALLTYPE GetTimecodeRangeBounds( /* [in] */ WORD wStreamNum, /* [in] */ WORD wRangeNum, /* [out] */ DWORD *pStartTimecode, /* [out] */ DWORD *pEndTimecode) = 0; }; #else /* C style interface */ typedef struct IWMReaderTimecodeVtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IWMReaderTimecode * This, /* [in] */ REFIID riid, /* [annotation][iid_is][out] */ __RPC__deref_out void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IWMReaderTimecode * This); ULONG ( STDMETHODCALLTYPE *Release )( IWMReaderTimecode * This); HRESULT ( STDMETHODCALLTYPE *GetTimecodeRangeCount )( IWMReaderTimecode * This, /* [in] */ WORD wStreamNum, /* [out] */ WORD *pwRangeCount); HRESULT ( STDMETHODCALLTYPE *GetTimecodeRangeBounds )( IWMReaderTimecode * This, /* [in] */ WORD wStreamNum, /* [in] */ WORD wRangeNum, /* [out] */ DWORD *pStartTimecode, /* [out] */ DWORD *pEndTimecode); END_INTERFACE } IWMReaderTimecodeVtbl; interface IWMReaderTimecode { CONST_VTBL struct IWMReaderTimecodeVtbl *lpVtbl; }; #ifdef COBJMACROS #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) ) #define IWMReaderTimecode_GetTimecodeRangeCount(This,wStreamNum,pwRangeCount) \ ( (This)->lpVtbl -> GetTimecodeRangeCount(This,wStreamNum,pwRangeCount) ) #define IWMReaderTimecode_GetTimecodeRangeBounds(This,wStreamNum,wRangeNum,pStartTimecode,pEndTimecode) \ ( (This)->lpVtbl -> GetTimecodeRangeBounds(This,wStreamNum,wRangeNum,pStartTimecode,pEndTimecode) ) #endif /* COBJMACROS */ #endif /* C style interface */ #endif /* __IWMReaderTimecode_INTERFACE_DEFINED__ */ #ifndef __IWMAddressAccess_INTERFACE_DEFINED__ #define __IWMAddressAccess_INTERFACE_DEFINED__ /* interface IWMAddressAccess */ /* [local][unique][helpstring][uuid][object] */ EXTERN_C const IID IID_IWMAddressAccess; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("BB3C6389-1633-4e92-AF14-9F3173BA39D0") IWMAddressAccess : public IUnknown { public: virtual HRESULT STDMETHODCALLTYPE GetAccessEntryCount( /* [in] */ WM_AETYPE aeType, /* [out] */ DWORD *pcEntries) = 0; virtual HRESULT STDMETHODCALLTYPE GetAccessEntry( /* [in] */ WM_AETYPE aeType, /* [in] */ DWORD dwEntryNum, /* [out] */ WM_ADDRESS_ACCESSENTRY *pAddrAccessEntry) = 0; virtual HRESULT STDMETHODCALLTYPE AddAccessEntry( /* [in] */ WM_AETYPE aeType, /* [in] */ WM_ADDRESS_ACCESSENTRY *pAddrAccessEntry) = 0; virtual HRESULT STDMETHODCALLTYPE RemoveAccessEntry( /* [in] */ WM_AETYPE aeType, /* [in] */ DWORD dwEntryNum) = 0; }; #else /* C style interface */ typedef struct IWMAddressAccessVtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IWMAddressAccess * This, /* [in] */ REFIID riid, /* [annotation][iid_is][out] */ __RPC__deref_out void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IWMAddressAccess * This); ULONG ( STDMETHODCALLTYPE *Release )( IWMAddressAccess * This); HRESULT ( STDMETHODCALLTYPE *GetAccessEntryCount )( IWMAddressAccess * This, /* [in] */ WM_AETYPE aeType, /* [out] */ DWORD *pcEntries); HRESULT ( STDMETHODCALLTYPE *GetAccessEntry )( IWMAddressAccess * This, /* [in] */ WM_AETYPE aeType, /* [in] */ DWORD dwEntryNum, /* [out] */ WM_ADDRESS_ACCESSENTRY *pAddrAccessEntry); HRESULT ( STDMETHODCALLTYPE *AddAccessEntry )( IWMAddressAccess * This, /* [in] */ WM_AETYPE aeType, /* [in] */ WM_ADDRESS_ACCESSENTRY *pAddrAccessEntry); HRESULT ( STDMETHODCALLTYPE *RemoveAccessEntry )( IWMAddressAccess * This, /* [in] */ WM_AETYPE aeType, /* [in] */ DWORD dwEntryNum); END_INTERFACE } IWMAddressAccessVtbl; interface IWMAddressAccess { CONST_VTBL struct IWMAddressAccessVtbl *lpVtbl; }; #ifdef COBJMACROS #define IWMAddressAccess_QueryInterface(This,riid,ppvObject) \ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) #define IWMAddressAccess_AddRef(This) \ ( (This)->lpVtbl -> AddRef(This) ) #define IWMAddressAccess_Release(This) \ ( (This)->lpVtbl -> Release(This) ) #define IWMAddressAccess_GetAccessEntryCount(This,aeType,pcEntries) \ ( (This)->lpVtbl -> GetAccessEntryCount(This,aeType,pcEntries) ) #define IWMAddressAccess_GetAccessEntry(This,aeType,dwEntryNum,pAddrAccessEntry) \ ( (This)->lpVtbl -> GetAccessEntry(This,aeType,dwEntryNum,pAddrAccessEntry) ) #define IWMAddressAccess_AddAccessEntry(This,aeType,pAddrAccessEntry) \ ( (This)->lpVtbl -> AddAccessEntry(This,aeType,pAddrAccessEntry) ) #define IWMAddressAccess_RemoveAccessEntry(This,aeType,dwEntryNum) \ ( (This)->lpVtbl -> RemoveAccessEntry(This,aeType,dwEntryNum) ) #endif /* COBJMACROS */ #endif /* C style interface */ #endif /* __IWMAddressAccess_INTERFACE_DEFINED__ */ #ifndef __IWMAddressAccess2_INTERFACE_DEFINED__ #define __IWMAddressAccess2_INTERFACE_DEFINED__ /* interface IWMAddressAccess2 */ /* [local][unique][helpstring][uuid][object] */ EXTERN_C const IID IID_IWMAddressAccess2; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("65a83fc2-3e98-4d4d-81b5-2a742886b33d") IWMAddressAccess2 : public IWMAddressAccess { public: virtual HRESULT STDMETHODCALLTYPE GetAccessEntryEx( /* [in] */ WM_AETYPE aeType, /* [in] */ DWORD dwEntryNum, /* [out] */ BSTR *pbstrAddress, /* [out] */ BSTR *pbstrMask) = 0; virtual HRESULT STDMETHODCALLTYPE AddAccessEntryEx( /* [in] */ WM_AETYPE aeType, /* [in] */ BSTR bstrAddress, /* [in] */ BSTR bstrMask) = 0; }; #else /* C style interface */ typedef struct IWMAddressAccess2Vtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IWMAddressAccess2 * This, /* [in] */ REFIID riid, /* [annotation][iid_is][out] */ __RPC__deref_out void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IWMAddressAccess2 * This); ULONG ( STDMETHODCALLTYPE *Release )( IWMAddressAccess2 * This); HRESULT ( STDMETHODCALLTYPE *GetAccessEntryCount )( IWMAddressAccess2 * This, /* [in] */ WM_AETYPE aeType, /* [out] */ DWORD *pcEntries); HRESULT ( STDMETHODCALLTYPE *GetAccessEntry )( IWMAddressAccess2 * This, /* [in] */ WM_AETYPE aeType, /* [in] */ DWORD dwEntryNum, /* [out] */ WM_ADDRESS_ACCESSENTRY *pAddrAccessEntry); HRESULT ( STDMETHODCALLTYPE *AddAccessEntry )( IWMAddressAccess2 * This, /* [in] */ WM_AETYPE aeType, /* [in] */ WM_ADDRESS_ACCESSENTRY *pAddrAccessEntry); HRESULT ( STDMETHODCALLTYPE *RemoveAccessEntry )( IWMAddressAccess2 * This, /* [in] */ WM_AETYPE aeType, /* [in] */ DWORD dwEntryNum); HRESULT ( STDMETHODCALLTYPE *GetAccessEntryEx )( IWMAddressAccess2 * This, /* [in] */ WM_AETYPE aeType, /* [in] */ DWORD dwEntryNum, /* [out] */ BSTR *pbstrAddress, /* [out] */ BSTR *pbstrMask); HRESULT ( STDMETHODCALLTYPE *AddAccessEntryEx )( IWMAddressAccess2 * This, /* [in] */ WM_AETYPE aeType, /* [in] */ BSTR bstrAddress, /* [in] */ BSTR bstrMask); END_INTERFACE } IWMAddressAccess2Vtbl; interface IWMAddressAccess2 { CONST_VTBL struct IWMAddressAccess2Vtbl *lpVtbl; }; #ifdef COBJMACROS #define IWMAddressAccess2_QueryInterface(This,riid,ppvObject) \ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) #define IWMAddressAccess2_AddRef(This) \ ( (This)->lpVtbl -> AddRef(This) ) #define IWMAddressAccess2_Release(This) \ ( (This)->lpVtbl -> Release(This) ) #define IWMAddressAccess2_GetAccessEntryCount(This,aeType,pcEntries) \ ( (This)->lpVtbl -> GetAccessEntryCount(This,aeType,pcEntries) ) #define IWMAddressAccess2_GetAccessEntry(This,aeType,dwEntryNum,pAddrAccessEntry) \ ( (This)->lpVtbl -> GetAccessEntry(This,aeType,dwEntryNum,pAddrAccessEntry) ) #define IWMAddressAccess2_AddAccessEntry(This,aeType,pAddrAccessEntry) \ ( (This)->lpVtbl -> AddAccessEntry(This,aeType,pAddrAccessEntry) ) #define IWMAddressAccess2_RemoveAccessEntry(This,aeType,dwEntryNum) \ ( (This)->lpVtbl -> RemoveAccessEntry(This,aeType,dwEntryNum) ) #define IWMAddressAccess2_GetAccessEntryEx(This,aeType,dwEntryNum,pbstrAddress,pbstrMask) \ ( (This)->lpVtbl -> GetAccessEntryEx(This,aeType,dwEntryNum,pbstrAddress,pbstrMask) ) #define IWMAddressAccess2_AddAccessEntryEx(This,aeType,bstrAddress,bstrMask) \ ( (This)->lpVtbl -> AddAccessEntryEx(This,aeType,bstrAddress,bstrMask) ) #endif /* COBJMACROS */ #endif /* C style interface */ #endif /* __IWMAddressAccess2_INTERFACE_DEFINED__ */ #ifndef __IWMImageInfo_INTERFACE_DEFINED__ #define __IWMImageInfo_INTERFACE_DEFINED__ /* interface IWMImageInfo */ /* [local][unique][helpstring][uuid][object] */ EXTERN_C const IID IID_IWMImageInfo; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("9F0AA3B6-7267-4d89-88F2-BA915AA5C4C6") IWMImageInfo : public IUnknown { public: virtual HRESULT STDMETHODCALLTYPE GetImageCount( /* [out] */ DWORD *pcImages) = 0; virtual HRESULT STDMETHODCALLTYPE GetImage( /* [in] */ DWORD wIndex, /* [out][in] */ WORD *pcchMIMEType, /* [size_is][out] */ WCHAR *pwszMIMEType, /* [out][in] */ WORD *pcchDescription, /* [size_is][out] */ WCHAR *pwszDescription, /* [out] */ WORD *pImageType, /* [out][in] */ DWORD *pcbImageData, /* [size_is][out] */ BYTE *pbImageData) = 0; }; #else /* C style interface */ typedef struct IWMImageInfoVtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IWMImageInfo * This, /* [in] */ REFIID riid, /* [annotation][iid_is][out] */ __RPC__deref_out void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IWMImageInfo * This); ULONG ( STDMETHODCALLTYPE *Release )( IWMImageInfo * This); HRESULT ( STDMETHODCALLTYPE *GetImageCount )( IWMImageInfo * This, /* [out] */ DWORD *pcImages); HRESULT ( STDMETHODCALLTYPE *GetImage )( IWMImageInfo * This, /* [in] */ DWORD wIndex, /* [out][in] */ WORD *pcchMIMEType, /* [size_is][out] */ WCHAR *pwszMIMEType, /* [out][in] */ WORD *pcchDescription, /* [size_is][out] */ WCHAR *pwszDescription, /* [out] */ WORD *pImageType, /* [out][in] */ DWORD *pcbImageData, /* [size_is][out] */ BYTE *pbImageData); END_INTERFACE } IWMImageInfoVtbl; interface IWMImageInfo { CONST_VTBL struct IWMImageInfoVtbl *lpVtbl; }; #ifdef COBJMACROS #define IWMImageInfo_QueryInterface(This,riid,ppvObject) \ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) #define IWMImageInfo_AddRef(This) \ ( (This)->lpVtbl -> AddRef(This) ) #define IWMImageInfo_Release(This) \ ( (This)->lpVtbl -> Release(This) ) #define IWMImageInfo_GetImageCount(This,pcImages) \ ( (This)->lpVtbl -> GetImageCount(This,pcImages) ) #define IWMImageInfo_GetImage(This,wIndex,pcchMIMEType,pwszMIMEType,pcchDescription,pwszDescription,pImageType,pcbImageData,pbImageData) \ ( (This)->lpVtbl -> GetImage(This,wIndex,pcchMIMEType,pwszMIMEType,pcchDescription,pwszDescription,pImageType,pcbImageData,pbImageData) ) #endif /* COBJMACROS */ #endif /* C style interface */ #endif /* __IWMImageInfo_INTERFACE_DEFINED__ */ #ifndef __IWMLicenseRevocationAgent_INTERFACE_DEFINED__ #define __IWMLicenseRevocationAgent_INTERFACE_DEFINED__ /* interface IWMLicenseRevocationAgent */ /* [local][unique][helpstring][uuid][object] */ EXTERN_C const IID IID_IWMLicenseRevocationAgent; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("6967F2C9-4E26-4b57-8894-799880F7AC7B") IWMLicenseRevocationAgent : public IUnknown { public: virtual HRESULT STDMETHODCALLTYPE GetLRBChallenge( /* [in] */ BYTE *pMachineID, /* [in] */ DWORD dwMachineIDLength, /* [in] */ BYTE *pChallenge, /* [in] */ DWORD dwChallengeLength, /* [out] */ BYTE *pChallengeOutput, /* [out] */ DWORD *pdwChallengeOutputLength) = 0; virtual HRESULT STDMETHODCALLTYPE ProcessLRB( /* [in] */ BYTE *pSignedLRB, /* [in] */ DWORD dwSignedLRBLength, /* [out] */ BYTE *pSignedACK, /* [out] */ DWORD *pdwSignedACKLength) = 0; }; #else /* C style interface */ typedef struct IWMLicenseRevocationAgentVtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( IWMLicenseRevocationAgent * This, /* [in] */ REFIID riid, /* [annotation][iid_is][out] */ __RPC__deref_out void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( IWMLicenseRevocationAgent * This); ULONG ( STDMETHODCALLTYPE *Release )( IWMLicenseRevocationAgent * This); HRESULT ( STDMETHODCALLTYPE *GetLRBChallenge )( IWMLicenseRevocationAgent * This, /* [in] */ BYTE *pMachineID, /* [in] */ DWORD dwMachineIDLength, /* [in] */ BYTE *pChallenge, /* [in] */ DWORD dwChallengeLength, /* [out] */ BYTE *pChallengeOutput, /* [out] */ DWORD *pdwChallengeOutputLength); HRESULT ( STDMETHODCALLTYPE *ProcessLRB )( IWMLicenseRevocationAgent * This, /* [in] */ BYTE *pSignedLRB, /* [in] */ DWORD dwSignedLRBLength, /* [out] */ BYTE *pSignedACK, /* [out] */ DWORD *pdwSignedACKLength); END_INTERFACE } IWMLicenseRevocationAgentVtbl; interface IWMLicenseRevocationAgent { CONST_VTBL struct IWMLicenseRevocationAgentVtbl *lpVtbl; }; #ifdef COBJMACROS #define IWMLicenseRevocationAgent_QueryInterface(This,riid,ppvObject) \ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) #define IWMLicenseRevocationAgent_AddRef(This) \ ( (This)->lpVtbl -> AddRef(This) ) #define IWMLicenseRevocationAgent_Release(This) \ ( (This)->lpVtbl -> Release(This) ) #define IWMLicenseRevocationAgent_GetLRBChallenge(This,pMachineID,dwMachineIDLength,pChallenge,dwChallengeLength,pChallengeOutput,pdwChallengeOutputLength) \ ( (This)->lpVtbl -> GetLRBChallenge(This,pMachineID,dwMachineIDLength,pChallenge,dwChallengeLength,pChallengeOutput,pdwChallengeOutputLength) ) #define IWMLicenseRevocationAgent_ProcessLRB(This,pSignedLRB,dwSignedLRBLength,pSignedACK,pdwSignedACKLength) \ ( (This)->lpVtbl -> ProcessLRB(This,pSignedLRB,dwSignedLRBLength,pSignedACK,pdwSignedACKLength) ) #endif /* COBJMACROS */ #endif /* C style interface */ #endif /* __IWMLicenseRevocationAgent_INTERFACE_DEFINED__ */ /* Additional Prototypes for ALL interfaces */ /* end of Additional Prototypes */ #ifdef __cplusplus } #endif #endif