xpmgr/BuildTools/Include/mfidl.h

13479 lines
446 KiB
C++

/* this ALWAYS GENERATED file contains the definitions for the interfaces */
/* File created by MIDL compiler version 7.00.0555 */
/* Compiler settings for mfidl.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 <rpcndr.h> version is high enough to compile this file*/
#ifndef __REQUIRED_RPCNDR_H_VERSION__
#define __REQUIRED_RPCNDR_H_VERSION__ 500
#endif
/* verify that the <rpcsal.h> 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 <rpcndr.h>
#endif // __RPCNDR_H_VERSION__
#ifndef COM_NO_WINDOWS_H
#include "windows.h"
#include "ole2.h"
#endif /*COM_NO_WINDOWS_H*/
#ifndef __mfidl_h__
#define __mfidl_h__
#if defined(_MSC_VER) && (_MSC_VER >= 1020)
#pragma once
#endif
/* Forward Declarations */
#ifndef __IMFMediaSession_FWD_DEFINED__
#define __IMFMediaSession_FWD_DEFINED__
typedef interface IMFMediaSession IMFMediaSession;
#endif /* __IMFMediaSession_FWD_DEFINED__ */
#ifndef __IMFSourceResolver_FWD_DEFINED__
#define __IMFSourceResolver_FWD_DEFINED__
typedef interface IMFSourceResolver IMFSourceResolver;
#endif /* __IMFSourceResolver_FWD_DEFINED__ */
#ifndef __IMFMediaSource_FWD_DEFINED__
#define __IMFMediaSource_FWD_DEFINED__
typedef interface IMFMediaSource IMFMediaSource;
#endif /* __IMFMediaSource_FWD_DEFINED__ */
#ifndef __IMFMediaStream_FWD_DEFINED__
#define __IMFMediaStream_FWD_DEFINED__
typedef interface IMFMediaStream IMFMediaStream;
#endif /* __IMFMediaStream_FWD_DEFINED__ */
#ifndef __IMFMediaSink_FWD_DEFINED__
#define __IMFMediaSink_FWD_DEFINED__
typedef interface IMFMediaSink IMFMediaSink;
#endif /* __IMFMediaSink_FWD_DEFINED__ */
#ifndef __IMFStreamSink_FWD_DEFINED__
#define __IMFStreamSink_FWD_DEFINED__
typedef interface IMFStreamSink IMFStreamSink;
#endif /* __IMFStreamSink_FWD_DEFINED__ */
#ifndef __IMFVideoSampleAllocator_FWD_DEFINED__
#define __IMFVideoSampleAllocator_FWD_DEFINED__
typedef interface IMFVideoSampleAllocator IMFVideoSampleAllocator;
#endif /* __IMFVideoSampleAllocator_FWD_DEFINED__ */
#ifndef __IMFVideoSampleAllocatorNotify_FWD_DEFINED__
#define __IMFVideoSampleAllocatorNotify_FWD_DEFINED__
typedef interface IMFVideoSampleAllocatorNotify IMFVideoSampleAllocatorNotify;
#endif /* __IMFVideoSampleAllocatorNotify_FWD_DEFINED__ */
#ifndef __IMFVideoSampleAllocatorCallback_FWD_DEFINED__
#define __IMFVideoSampleAllocatorCallback_FWD_DEFINED__
typedef interface IMFVideoSampleAllocatorCallback IMFVideoSampleAllocatorCallback;
#endif /* __IMFVideoSampleAllocatorCallback_FWD_DEFINED__ */
#ifndef __IMFTopology_FWD_DEFINED__
#define __IMFTopology_FWD_DEFINED__
typedef interface IMFTopology IMFTopology;
#endif /* __IMFTopology_FWD_DEFINED__ */
#ifndef __IMFTopologyNode_FWD_DEFINED__
#define __IMFTopologyNode_FWD_DEFINED__
typedef interface IMFTopologyNode IMFTopologyNode;
#endif /* __IMFTopologyNode_FWD_DEFINED__ */
#ifndef __IMFGetService_FWD_DEFINED__
#define __IMFGetService_FWD_DEFINED__
typedef interface IMFGetService IMFGetService;
#endif /* __IMFGetService_FWD_DEFINED__ */
#ifndef __IMFClock_FWD_DEFINED__
#define __IMFClock_FWD_DEFINED__
typedef interface IMFClock IMFClock;
#endif /* __IMFClock_FWD_DEFINED__ */
#ifndef __IMFPresentationClock_FWD_DEFINED__
#define __IMFPresentationClock_FWD_DEFINED__
typedef interface IMFPresentationClock IMFPresentationClock;
#endif /* __IMFPresentationClock_FWD_DEFINED__ */
#ifndef __IMFPresentationTimeSource_FWD_DEFINED__
#define __IMFPresentationTimeSource_FWD_DEFINED__
typedef interface IMFPresentationTimeSource IMFPresentationTimeSource;
#endif /* __IMFPresentationTimeSource_FWD_DEFINED__ */
#ifndef __IMFClockStateSink_FWD_DEFINED__
#define __IMFClockStateSink_FWD_DEFINED__
typedef interface IMFClockStateSink IMFClockStateSink;
#endif /* __IMFClockStateSink_FWD_DEFINED__ */
#ifndef __IMFPresentationDescriptor_FWD_DEFINED__
#define __IMFPresentationDescriptor_FWD_DEFINED__
typedef interface IMFPresentationDescriptor IMFPresentationDescriptor;
#endif /* __IMFPresentationDescriptor_FWD_DEFINED__ */
#ifndef __IMFStreamDescriptor_FWD_DEFINED__
#define __IMFStreamDescriptor_FWD_DEFINED__
typedef interface IMFStreamDescriptor IMFStreamDescriptor;
#endif /* __IMFStreamDescriptor_FWD_DEFINED__ */
#ifndef __IMFMediaTypeHandler_FWD_DEFINED__
#define __IMFMediaTypeHandler_FWD_DEFINED__
typedef interface IMFMediaTypeHandler IMFMediaTypeHandler;
#endif /* __IMFMediaTypeHandler_FWD_DEFINED__ */
#ifndef __IMFTimer_FWD_DEFINED__
#define __IMFTimer_FWD_DEFINED__
typedef interface IMFTimer IMFTimer;
#endif /* __IMFTimer_FWD_DEFINED__ */
#ifndef __IMFShutdown_FWD_DEFINED__
#define __IMFShutdown_FWD_DEFINED__
typedef interface IMFShutdown IMFShutdown;
#endif /* __IMFShutdown_FWD_DEFINED__ */
#ifndef __IMFTopoLoader_FWD_DEFINED__
#define __IMFTopoLoader_FWD_DEFINED__
typedef interface IMFTopoLoader IMFTopoLoader;
#endif /* __IMFTopoLoader_FWD_DEFINED__ */
#ifndef __IMFContentProtectionManager_FWD_DEFINED__
#define __IMFContentProtectionManager_FWD_DEFINED__
typedef interface IMFContentProtectionManager IMFContentProtectionManager;
#endif /* __IMFContentProtectionManager_FWD_DEFINED__ */
#ifndef __IMFContentEnabler_FWD_DEFINED__
#define __IMFContentEnabler_FWD_DEFINED__
typedef interface IMFContentEnabler IMFContentEnabler;
#endif /* __IMFContentEnabler_FWD_DEFINED__ */
#ifndef __IMFMetadata_FWD_DEFINED__
#define __IMFMetadata_FWD_DEFINED__
typedef interface IMFMetadata IMFMetadata;
#endif /* __IMFMetadata_FWD_DEFINED__ */
#ifndef __IMFMetadataProvider_FWD_DEFINED__
#define __IMFMetadataProvider_FWD_DEFINED__
typedef interface IMFMetadataProvider IMFMetadataProvider;
#endif /* __IMFMetadataProvider_FWD_DEFINED__ */
#ifndef __IMFRateSupport_FWD_DEFINED__
#define __IMFRateSupport_FWD_DEFINED__
typedef interface IMFRateSupport IMFRateSupport;
#endif /* __IMFRateSupport_FWD_DEFINED__ */
#ifndef __IMFRateControl_FWD_DEFINED__
#define __IMFRateControl_FWD_DEFINED__
typedef interface IMFRateControl IMFRateControl;
#endif /* __IMFRateControl_FWD_DEFINED__ */
#ifndef __IMFTimecodeTranslate_FWD_DEFINED__
#define __IMFTimecodeTranslate_FWD_DEFINED__
typedef interface IMFTimecodeTranslate IMFTimecodeTranslate;
#endif /* __IMFTimecodeTranslate_FWD_DEFINED__ */
#ifndef __IMFSimpleAudioVolume_FWD_DEFINED__
#define __IMFSimpleAudioVolume_FWD_DEFINED__
typedef interface IMFSimpleAudioVolume IMFSimpleAudioVolume;
#endif /* __IMFSimpleAudioVolume_FWD_DEFINED__ */
#ifndef __IMFAudioStreamVolume_FWD_DEFINED__
#define __IMFAudioStreamVolume_FWD_DEFINED__
typedef interface IMFAudioStreamVolume IMFAudioStreamVolume;
#endif /* __IMFAudioStreamVolume_FWD_DEFINED__ */
#ifndef __IMFAudioPolicy_FWD_DEFINED__
#define __IMFAudioPolicy_FWD_DEFINED__
typedef interface IMFAudioPolicy IMFAudioPolicy;
#endif /* __IMFAudioPolicy_FWD_DEFINED__ */
#ifndef __IMFSampleGrabberSinkCallback_FWD_DEFINED__
#define __IMFSampleGrabberSinkCallback_FWD_DEFINED__
typedef interface IMFSampleGrabberSinkCallback IMFSampleGrabberSinkCallback;
#endif /* __IMFSampleGrabberSinkCallback_FWD_DEFINED__ */
#ifndef __IMFSampleGrabberSinkCallback2_FWD_DEFINED__
#define __IMFSampleGrabberSinkCallback2_FWD_DEFINED__
typedef interface IMFSampleGrabberSinkCallback2 IMFSampleGrabberSinkCallback2;
#endif /* __IMFSampleGrabberSinkCallback2_FWD_DEFINED__ */
#ifndef __IMFWorkQueueServices_FWD_DEFINED__
#define __IMFWorkQueueServices_FWD_DEFINED__
typedef interface IMFWorkQueueServices IMFWorkQueueServices;
#endif /* __IMFWorkQueueServices_FWD_DEFINED__ */
#ifndef __IMFQualityManager_FWD_DEFINED__
#define __IMFQualityManager_FWD_DEFINED__
typedef interface IMFQualityManager IMFQualityManager;
#endif /* __IMFQualityManager_FWD_DEFINED__ */
#ifndef __IMFQualityAdvise_FWD_DEFINED__
#define __IMFQualityAdvise_FWD_DEFINED__
typedef interface IMFQualityAdvise IMFQualityAdvise;
#endif /* __IMFQualityAdvise_FWD_DEFINED__ */
#ifndef __IMFQualityAdvise2_FWD_DEFINED__
#define __IMFQualityAdvise2_FWD_DEFINED__
typedef interface IMFQualityAdvise2 IMFQualityAdvise2;
#endif /* __IMFQualityAdvise2_FWD_DEFINED__ */
#ifndef __IMFQualityAdviseLimits_FWD_DEFINED__
#define __IMFQualityAdviseLimits_FWD_DEFINED__
typedef interface IMFQualityAdviseLimits IMFQualityAdviseLimits;
#endif /* __IMFQualityAdviseLimits_FWD_DEFINED__ */
#ifndef __IMFRealTimeClient_FWD_DEFINED__
#define __IMFRealTimeClient_FWD_DEFINED__
typedef interface IMFRealTimeClient IMFRealTimeClient;
#endif /* __IMFRealTimeClient_FWD_DEFINED__ */
#ifndef __IMFSequencerSource_FWD_DEFINED__
#define __IMFSequencerSource_FWD_DEFINED__
typedef interface IMFSequencerSource IMFSequencerSource;
#endif /* __IMFSequencerSource_FWD_DEFINED__ */
#ifndef __IMFMediaSourceTopologyProvider_FWD_DEFINED__
#define __IMFMediaSourceTopologyProvider_FWD_DEFINED__
typedef interface IMFMediaSourceTopologyProvider IMFMediaSourceTopologyProvider;
#endif /* __IMFMediaSourceTopologyProvider_FWD_DEFINED__ */
#ifndef __IMFMediaSourcePresentationProvider_FWD_DEFINED__
#define __IMFMediaSourcePresentationProvider_FWD_DEFINED__
typedef interface IMFMediaSourcePresentationProvider IMFMediaSourcePresentationProvider;
#endif /* __IMFMediaSourcePresentationProvider_FWD_DEFINED__ */
#ifndef __IMFTopologyNodeAttributeEditor_FWD_DEFINED__
#define __IMFTopologyNodeAttributeEditor_FWD_DEFINED__
typedef interface IMFTopologyNodeAttributeEditor IMFTopologyNodeAttributeEditor;
#endif /* __IMFTopologyNodeAttributeEditor_FWD_DEFINED__ */
#ifndef __IMFByteStreamBuffering_FWD_DEFINED__
#define __IMFByteStreamBuffering_FWD_DEFINED__
typedef interface IMFByteStreamBuffering IMFByteStreamBuffering;
#endif /* __IMFByteStreamBuffering_FWD_DEFINED__ */
#ifndef __IMFByteStreamCacheControl_FWD_DEFINED__
#define __IMFByteStreamCacheControl_FWD_DEFINED__
typedef interface IMFByteStreamCacheControl IMFByteStreamCacheControl;
#endif /* __IMFByteStreamCacheControl_FWD_DEFINED__ */
#ifndef __IMFNetCredential_FWD_DEFINED__
#define __IMFNetCredential_FWD_DEFINED__
typedef interface IMFNetCredential IMFNetCredential;
#endif /* __IMFNetCredential_FWD_DEFINED__ */
#ifndef __IMFNetCredentialManager_FWD_DEFINED__
#define __IMFNetCredentialManager_FWD_DEFINED__
typedef interface IMFNetCredentialManager IMFNetCredentialManager;
#endif /* __IMFNetCredentialManager_FWD_DEFINED__ */
#ifndef __IMFNetCredentialCache_FWD_DEFINED__
#define __IMFNetCredentialCache_FWD_DEFINED__
typedef interface IMFNetCredentialCache IMFNetCredentialCache;
#endif /* __IMFNetCredentialCache_FWD_DEFINED__ */
#ifndef __IMFSSLCertificateManager_FWD_DEFINED__
#define __IMFSSLCertificateManager_FWD_DEFINED__
typedef interface IMFSSLCertificateManager IMFSSLCertificateManager;
#endif /* __IMFSSLCertificateManager_FWD_DEFINED__ */
#ifndef __IMFSourceOpenMonitor_FWD_DEFINED__
#define __IMFSourceOpenMonitor_FWD_DEFINED__
typedef interface IMFSourceOpenMonitor IMFSourceOpenMonitor;
#endif /* __IMFSourceOpenMonitor_FWD_DEFINED__ */
#ifndef __IMFNetProxyLocator_FWD_DEFINED__
#define __IMFNetProxyLocator_FWD_DEFINED__
typedef interface IMFNetProxyLocator IMFNetProxyLocator;
#endif /* __IMFNetProxyLocator_FWD_DEFINED__ */
#ifndef __IMFNetProxyLocatorFactory_FWD_DEFINED__
#define __IMFNetProxyLocatorFactory_FWD_DEFINED__
typedef interface IMFNetProxyLocatorFactory IMFNetProxyLocatorFactory;
#endif /* __IMFNetProxyLocatorFactory_FWD_DEFINED__ */
#ifndef __IMFSaveJob_FWD_DEFINED__
#define __IMFSaveJob_FWD_DEFINED__
typedef interface IMFSaveJob IMFSaveJob;
#endif /* __IMFSaveJob_FWD_DEFINED__ */
#ifndef __IMFNetSchemeHandlerConfig_FWD_DEFINED__
#define __IMFNetSchemeHandlerConfig_FWD_DEFINED__
typedef interface IMFNetSchemeHandlerConfig IMFNetSchemeHandlerConfig;
#endif /* __IMFNetSchemeHandlerConfig_FWD_DEFINED__ */
#ifndef __IMFSchemeHandler_FWD_DEFINED__
#define __IMFSchemeHandler_FWD_DEFINED__
typedef interface IMFSchemeHandler IMFSchemeHandler;
#endif /* __IMFSchemeHandler_FWD_DEFINED__ */
#ifndef __IMFByteStreamHandler_FWD_DEFINED__
#define __IMFByteStreamHandler_FWD_DEFINED__
typedef interface IMFByteStreamHandler IMFByteStreamHandler;
#endif /* __IMFByteStreamHandler_FWD_DEFINED__ */
#ifndef __IMFTrustedInput_FWD_DEFINED__
#define __IMFTrustedInput_FWD_DEFINED__
typedef interface IMFTrustedInput IMFTrustedInput;
#endif /* __IMFTrustedInput_FWD_DEFINED__ */
#ifndef __IMFInputTrustAuthority_FWD_DEFINED__
#define __IMFInputTrustAuthority_FWD_DEFINED__
typedef interface IMFInputTrustAuthority IMFInputTrustAuthority;
#endif /* __IMFInputTrustAuthority_FWD_DEFINED__ */
#ifndef __IMFTrustedOutput_FWD_DEFINED__
#define __IMFTrustedOutput_FWD_DEFINED__
typedef interface IMFTrustedOutput IMFTrustedOutput;
#endif /* __IMFTrustedOutput_FWD_DEFINED__ */
#ifndef __IMFOutputTrustAuthority_FWD_DEFINED__
#define __IMFOutputTrustAuthority_FWD_DEFINED__
typedef interface IMFOutputTrustAuthority IMFOutputTrustAuthority;
#endif /* __IMFOutputTrustAuthority_FWD_DEFINED__ */
#ifndef __IMFOutputPolicy_FWD_DEFINED__
#define __IMFOutputPolicy_FWD_DEFINED__
typedef interface IMFOutputPolicy IMFOutputPolicy;
#endif /* __IMFOutputPolicy_FWD_DEFINED__ */
#ifndef __IMFOutputSchema_FWD_DEFINED__
#define __IMFOutputSchema_FWD_DEFINED__
typedef interface IMFOutputSchema IMFOutputSchema;
#endif /* __IMFOutputSchema_FWD_DEFINED__ */
#ifndef __IMFSecureChannel_FWD_DEFINED__
#define __IMFSecureChannel_FWD_DEFINED__
typedef interface IMFSecureChannel IMFSecureChannel;
#endif /* __IMFSecureChannel_FWD_DEFINED__ */
#ifndef __IMFSampleProtection_FWD_DEFINED__
#define __IMFSampleProtection_FWD_DEFINED__
typedef interface IMFSampleProtection IMFSampleProtection;
#endif /* __IMFSampleProtection_FWD_DEFINED__ */
#ifndef __IMFMediaSinkPreroll_FWD_DEFINED__
#define __IMFMediaSinkPreroll_FWD_DEFINED__
typedef interface IMFMediaSinkPreroll IMFMediaSinkPreroll;
#endif /* __IMFMediaSinkPreroll_FWD_DEFINED__ */
#ifndef __IMFFinalizableMediaSink_FWD_DEFINED__
#define __IMFFinalizableMediaSink_FWD_DEFINED__
typedef interface IMFFinalizableMediaSink IMFFinalizableMediaSink;
#endif /* __IMFFinalizableMediaSink_FWD_DEFINED__ */
#ifndef __IMFStreamingSinkConfig_FWD_DEFINED__
#define __IMFStreamingSinkConfig_FWD_DEFINED__
typedef interface IMFStreamingSinkConfig IMFStreamingSinkConfig;
#endif /* __IMFStreamingSinkConfig_FWD_DEFINED__ */
#ifndef __IMFRemoteProxy_FWD_DEFINED__
#define __IMFRemoteProxy_FWD_DEFINED__
typedef interface IMFRemoteProxy IMFRemoteProxy;
#endif /* __IMFRemoteProxy_FWD_DEFINED__ */
#ifndef __IMFObjectReferenceStream_FWD_DEFINED__
#define __IMFObjectReferenceStream_FWD_DEFINED__
typedef interface IMFObjectReferenceStream IMFObjectReferenceStream;
#endif /* __IMFObjectReferenceStream_FWD_DEFINED__ */
#ifndef __IMFPMPHost_FWD_DEFINED__
#define __IMFPMPHost_FWD_DEFINED__
typedef interface IMFPMPHost IMFPMPHost;
#endif /* __IMFPMPHost_FWD_DEFINED__ */
#ifndef __IMFPMPClient_FWD_DEFINED__
#define __IMFPMPClient_FWD_DEFINED__
typedef interface IMFPMPClient IMFPMPClient;
#endif /* __IMFPMPClient_FWD_DEFINED__ */
#ifndef __IMFPMPServer_FWD_DEFINED__
#define __IMFPMPServer_FWD_DEFINED__
typedef interface IMFPMPServer IMFPMPServer;
#endif /* __IMFPMPServer_FWD_DEFINED__ */
#ifndef __IMFRemoteDesktopPlugin_FWD_DEFINED__
#define __IMFRemoteDesktopPlugin_FWD_DEFINED__
typedef interface IMFRemoteDesktopPlugin IMFRemoteDesktopPlugin;
#endif /* __IMFRemoteDesktopPlugin_FWD_DEFINED__ */
#ifndef __IMFSAMIStyle_FWD_DEFINED__
#define __IMFSAMIStyle_FWD_DEFINED__
typedef interface IMFSAMIStyle IMFSAMIStyle;
#endif /* __IMFSAMIStyle_FWD_DEFINED__ */
#ifndef __IMFTranscodeProfile_FWD_DEFINED__
#define __IMFTranscodeProfile_FWD_DEFINED__
typedef interface IMFTranscodeProfile IMFTranscodeProfile;
#endif /* __IMFTranscodeProfile_FWD_DEFINED__ */
#ifndef __IMFTranscodeSinkInfoProvider_FWD_DEFINED__
#define __IMFTranscodeSinkInfoProvider_FWD_DEFINED__
typedef interface IMFTranscodeSinkInfoProvider IMFTranscodeSinkInfoProvider;
#endif /* __IMFTranscodeSinkInfoProvider_FWD_DEFINED__ */
#ifndef __IMFFieldOfUseMFTUnlock_FWD_DEFINED__
#define __IMFFieldOfUseMFTUnlock_FWD_DEFINED__
typedef interface IMFFieldOfUseMFTUnlock IMFFieldOfUseMFTUnlock;
#endif /* __IMFFieldOfUseMFTUnlock_FWD_DEFINED__ */
#ifndef __IMFLocalMFTRegistration_FWD_DEFINED__
#define __IMFLocalMFTRegistration_FWD_DEFINED__
typedef interface IMFLocalMFTRegistration IMFLocalMFTRegistration;
#endif /* __IMFLocalMFTRegistration_FWD_DEFINED__ */
/* header files for imported files */
#include "mfobjects.h"
#include "mftransform.h"
#ifdef __cplusplus
extern "C"{
#endif
/* interface __MIDL_itf_mfidl_0000_0000 */
/* [local] */
#include <windef.h>
typedef
enum MFSESSION_SETTOPOLOGY_FLAGS
{ MFSESSION_SETTOPOLOGY_IMMEDIATE = 0x1,
MFSESSION_SETTOPOLOGY_NORESOLUTION = 0x2,
MFSESSION_SETTOPOLOGY_CLEAR_CURRENT = 0x4
} MFSESSION_SETTOPOLOGY_FLAGS;
typedef
enum MFSESSION_GETFULLTOPOLOGY_FLAGS
{ MFSESSION_GETFULLTOPOLOGY_CURRENT = 0x1
} MFSESSION_GETFULLTOPOLOGY_FLAGS;
typedef
enum MFPMPSESSION_CREATION_FLAGS
{ MFPMPSESSION_UNPROTECTED_PROCESS = 0x1
} MFPMPSESSION_CREATION_FLAGS;
typedef unsigned __int64 TOPOID;
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0000_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0000_v0_0_s_ifspec;
#ifndef __IMFMediaSession_INTERFACE_DEFINED__
#define __IMFMediaSession_INTERFACE_DEFINED__
/* interface IMFMediaSession */
/* [uuid][object] */
EXTERN_C const IID IID_IMFMediaSession;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("90377834-21D0-4dee-8214-BA2E3E6C1127")
IMFMediaSession : public IMFMediaEventGenerator
{
public:
virtual HRESULT STDMETHODCALLTYPE SetTopology(
/* [in] */ DWORD dwSetTopologyFlags,
/* [in] */ __RPC__in_opt IMFTopology *pTopology) = 0;
virtual HRESULT STDMETHODCALLTYPE ClearTopologies( void) = 0;
virtual HRESULT STDMETHODCALLTYPE Start(
/* [unique][in] */ __RPC__in_opt const GUID *pguidTimeFormat,
/* [unique][in] */ __RPC__in_opt const PROPVARIANT *pvarStartPosition) = 0;
virtual HRESULT STDMETHODCALLTYPE Pause( void) = 0;
virtual HRESULT STDMETHODCALLTYPE Stop( void) = 0;
virtual HRESULT STDMETHODCALLTYPE Close( void) = 0;
virtual HRESULT STDMETHODCALLTYPE Shutdown( void) = 0;
virtual HRESULT STDMETHODCALLTYPE GetClock(
/* [out] */ __RPC__deref_out_opt IMFClock **ppClock) = 0;
virtual HRESULT STDMETHODCALLTYPE GetSessionCapabilities(
/* [out] */ __RPC__out DWORD *pdwCaps) = 0;
virtual HRESULT STDMETHODCALLTYPE GetFullTopology(
/* [in] */ DWORD dwGetFullTopologyFlags,
/* [in] */ TOPOID TopoId,
/* [out] */ __RPC__deref_out_opt IMFTopology **ppFullTopology) = 0;
};
#else /* C style interface */
typedef struct IMFMediaSessionVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
__RPC__in IMFMediaSession * This,
/* [in] */ __RPC__in REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
__RPC__in IMFMediaSession * This);
ULONG ( STDMETHODCALLTYPE *Release )(
__RPC__in IMFMediaSession * This);
HRESULT ( STDMETHODCALLTYPE *GetEvent )(
__RPC__in IMFMediaSession * This,
/* [in] */ DWORD dwFlags,
/* [out] */ __RPC__deref_out_opt IMFMediaEvent **ppEvent);
/* [local] */ HRESULT ( STDMETHODCALLTYPE *BeginGetEvent )(
IMFMediaSession * This,
/* [in] */ IMFAsyncCallback *pCallback,
/* [in] */ IUnknown *punkState);
/* [local] */ HRESULT ( STDMETHODCALLTYPE *EndGetEvent )(
IMFMediaSession * This,
/* [in] */ IMFAsyncResult *pResult,
/* [annotation][out] */
__out IMFMediaEvent **ppEvent);
HRESULT ( STDMETHODCALLTYPE *QueueEvent )(
__RPC__in IMFMediaSession * This,
/* [in] */ MediaEventType met,
/* [in] */ __RPC__in REFGUID guidExtendedType,
/* [in] */ HRESULT hrStatus,
/* [unique][in] */ __RPC__in_opt const PROPVARIANT *pvValue);
HRESULT ( STDMETHODCALLTYPE *SetTopology )(
__RPC__in IMFMediaSession * This,
/* [in] */ DWORD dwSetTopologyFlags,
/* [in] */ __RPC__in_opt IMFTopology *pTopology);
HRESULT ( STDMETHODCALLTYPE *ClearTopologies )(
__RPC__in IMFMediaSession * This);
HRESULT ( STDMETHODCALLTYPE *Start )(
__RPC__in IMFMediaSession * This,
/* [unique][in] */ __RPC__in_opt const GUID *pguidTimeFormat,
/* [unique][in] */ __RPC__in_opt const PROPVARIANT *pvarStartPosition);
HRESULT ( STDMETHODCALLTYPE *Pause )(
__RPC__in IMFMediaSession * This);
HRESULT ( STDMETHODCALLTYPE *Stop )(
__RPC__in IMFMediaSession * This);
HRESULT ( STDMETHODCALLTYPE *Close )(
__RPC__in IMFMediaSession * This);
HRESULT ( STDMETHODCALLTYPE *Shutdown )(
__RPC__in IMFMediaSession * This);
HRESULT ( STDMETHODCALLTYPE *GetClock )(
__RPC__in IMFMediaSession * This,
/* [out] */ __RPC__deref_out_opt IMFClock **ppClock);
HRESULT ( STDMETHODCALLTYPE *GetSessionCapabilities )(
__RPC__in IMFMediaSession * This,
/* [out] */ __RPC__out DWORD *pdwCaps);
HRESULT ( STDMETHODCALLTYPE *GetFullTopology )(
__RPC__in IMFMediaSession * This,
/* [in] */ DWORD dwGetFullTopologyFlags,
/* [in] */ TOPOID TopoId,
/* [out] */ __RPC__deref_out_opt IMFTopology **ppFullTopology);
END_INTERFACE
} IMFMediaSessionVtbl;
interface IMFMediaSession
{
CONST_VTBL struct IMFMediaSessionVtbl *lpVtbl;
};
#ifdef COBJMACROS
#define IMFMediaSession_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
#define IMFMediaSession_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
#define IMFMediaSession_Release(This) \
( (This)->lpVtbl -> Release(This) )
#define IMFMediaSession_GetEvent(This,dwFlags,ppEvent) \
( (This)->lpVtbl -> GetEvent(This,dwFlags,ppEvent) )
#define IMFMediaSession_BeginGetEvent(This,pCallback,punkState) \
( (This)->lpVtbl -> BeginGetEvent(This,pCallback,punkState) )
#define IMFMediaSession_EndGetEvent(This,pResult,ppEvent) \
( (This)->lpVtbl -> EndGetEvent(This,pResult,ppEvent) )
#define IMFMediaSession_QueueEvent(This,met,guidExtendedType,hrStatus,pvValue) \
( (This)->lpVtbl -> QueueEvent(This,met,guidExtendedType,hrStatus,pvValue) )
#define IMFMediaSession_SetTopology(This,dwSetTopologyFlags,pTopology) \
( (This)->lpVtbl -> SetTopology(This,dwSetTopologyFlags,pTopology) )
#define IMFMediaSession_ClearTopologies(This) \
( (This)->lpVtbl -> ClearTopologies(This) )
#define IMFMediaSession_Start(This,pguidTimeFormat,pvarStartPosition) \
( (This)->lpVtbl -> Start(This,pguidTimeFormat,pvarStartPosition) )
#define IMFMediaSession_Pause(This) \
( (This)->lpVtbl -> Pause(This) )
#define IMFMediaSession_Stop(This) \
( (This)->lpVtbl -> Stop(This) )
#define IMFMediaSession_Close(This) \
( (This)->lpVtbl -> Close(This) )
#define IMFMediaSession_Shutdown(This) \
( (This)->lpVtbl -> Shutdown(This) )
#define IMFMediaSession_GetClock(This,ppClock) \
( (This)->lpVtbl -> GetClock(This,ppClock) )
#define IMFMediaSession_GetSessionCapabilities(This,pdwCaps) \
( (This)->lpVtbl -> GetSessionCapabilities(This,pdwCaps) )
#define IMFMediaSession_GetFullTopology(This,dwGetFullTopologyFlags,TopoId,ppFullTopology) \
( (This)->lpVtbl -> GetFullTopology(This,dwGetFullTopologyFlags,TopoId,ppFullTopology) )
#endif /* COBJMACROS */
#endif /* C style interface */
#endif /* __IMFMediaSession_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_mfidl_0000_0001 */
/* [local] */
EXTERN_GUID( MF_SESSION_TOPOLOADER, 0x1e83d482, 0x1f1c, 0x4571, 0x84, 0x5, 0x88, 0xf4, 0xb2, 0x18, 0x1f, 0x71);
EXTERN_GUID( MF_SESSION_GLOBAL_TIME, 0x1e83d482, 0x1f1c, 0x4571, 0x84, 0x5, 0x88, 0xf4, 0xb2, 0x18, 0x1f, 0x72);
EXTERN_GUID( MF_SESSION_QUALITY_MANAGER, 0x1e83d482, 0x1f1c, 0x4571, 0x84, 0x5, 0x88, 0xf4, 0xb2, 0x18, 0x1f, 0x73);
EXTERN_GUID( MF_SESSION_CONTENT_PROTECTION_MANAGER, 0x1e83d482, 0x1f1c, 0x4571, 0x84, 0x5, 0x88, 0xf4, 0xb2, 0x18, 0x1f, 0x74);
EXTERN_GUID( MF_SESSION_SERVER_CONTEXT, 0xafe5b291, 0x50fa, 0x46e8, 0xb9, 0xbe, 0xc, 0xc, 0x3c, 0xe4, 0xb3, 0xa5);
EXTERN_GUID( MF_SESSION_REMOTE_SOURCE_MODE, 0xf4033ef4, 0x9bb3, 0x4378, 0x94, 0x1f, 0x85, 0xa0, 0x85, 0x6b, 0xc2, 0x44);
EXTERN_GUID( MF_SESSION_APPROX_EVENT_OCCURRENCE_TIME, 0x190e852f, 0x6238, 0x42d1, 0xb5, 0xaf, 0x69, 0xea, 0x33, 0x8e, 0xf8, 0x50);
EXTERN_GUID( MF_PMP_SERVER_CONTEXT, 0x2f00c910, 0xd2cf, 0x4278, 0x8b, 0x6a, 0xd0, 0x77, 0xfa, 0xc3, 0xa2, 0x5f);
STDAPI MFCreateMediaSession(
IMFAttributes* pConfiguration,
__out IMFMediaSession** ppMediaSession
);
STDAPI MFCreatePMPMediaSession(
DWORD dwCreationFlags,
IMFAttributes *pConfiguration,
__out IMFMediaSession** ppMediaSession,
__out_opt IMFActivate **ppEnablerActivate
);
typedef
enum MF_OBJECT_TYPE
{ MF_OBJECT_MEDIASOURCE = 0,
MF_OBJECT_BYTESTREAM = ( MF_OBJECT_MEDIASOURCE + 1 ) ,
MF_OBJECT_INVALID = ( MF_OBJECT_BYTESTREAM + 1 )
} MF_OBJECT_TYPE;
enum __MIDL___MIDL_itf_mfidl_0000_0001_0001
{ MF_RESOLUTION_MEDIASOURCE = 0x1,
MF_RESOLUTION_BYTESTREAM = 0x2,
MF_RESOLUTION_CONTENT_DOES_NOT_HAVE_TO_MATCH_EXTENSION_OR_MIME_TYPE = 0x10,
MF_RESOLUTION_KEEP_BYTE_STREAM_ALIVE_ON_FAIL = 0x20,
MF_RESOLUTION_READ = 0x10000,
MF_RESOLUTION_WRITE = 0x20000
} ;
typedef
enum _MF_CONNECT_METHOD
{ MF_CONNECT_DIRECT = 0,
MF_CONNECT_ALLOW_CONVERTER = 0x1,
MF_CONNECT_ALLOW_DECODER = 0x3,
MF_CONNECT_RESOLVE_INDEPENDENT_OUTPUTTYPES = 0x4,
MF_CONNECT_AS_OPTIONAL = 0x10000,
MF_CONNECT_AS_OPTIONAL_BRANCH = 0x20000
} MF_CONNECT_METHOD;
typedef
enum _MF_TOPOLOGY_RESOLUTION_STATUS_FLAGS
{ MF_TOPOLOGY_RESOLUTION_SUCCEEDED = 0,
MF_OPTIONAL_NODE_REJECTED_MEDIA_TYPE = 0x1,
MF_OPTIONAL_NODE_REJECTED_PROTECTED_PROCESS = 0x2
} MF_TOPOLOGY_RESOLUTION_STATUS_FLAGS;
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0001_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0001_v0_0_s_ifspec;
#ifndef __IMFSourceResolver_INTERFACE_DEFINED__
#define __IMFSourceResolver_INTERFACE_DEFINED__
/* interface IMFSourceResolver */
/* [uuid][object] */
EXTERN_C const IID IID_IMFSourceResolver;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("FBE5A32D-A497-4b61-BB85-97B1A848A6E3")
IMFSourceResolver : public IUnknown
{
public:
virtual /* [local] */ HRESULT STDMETHODCALLTYPE CreateObjectFromURL(
/* [in] */ LPCWSTR pwszURL,
/* [in] */ DWORD dwFlags,
/* [in] */ IPropertyStore *pProps,
/* [annotation][out] */
__out MF_OBJECT_TYPE *pObjectType,
/* [annotation][out] */
__out IUnknown **ppObject) = 0;
virtual /* [local] */ HRESULT STDMETHODCALLTYPE CreateObjectFromByteStream(
/* [in] */ IMFByteStream *pByteStream,
/* [in] */ LPCWSTR pwszURL,
/* [in] */ DWORD dwFlags,
/* [in] */ IPropertyStore *pProps,
/* [annotation][out] */
__out MF_OBJECT_TYPE *pObjectType,
/* [annotation][out] */
__out IUnknown **ppObject) = 0;
virtual /* [local] */ HRESULT STDMETHODCALLTYPE BeginCreateObjectFromURL(
/* [in] */ LPCWSTR pwszURL,
/* [in] */ DWORD dwFlags,
/* [in] */ IPropertyStore *pProps,
/* [annotation][out] */
__out_opt IUnknown **ppIUnknownCancelCookie,
/* [in] */ IMFAsyncCallback *pCallback,
/* [in] */ IUnknown *punkState) = 0;
virtual /* [local] */ HRESULT STDMETHODCALLTYPE EndCreateObjectFromURL(
/* [in] */ IMFAsyncResult *pResult,
/* [annotation][out] */
__out MF_OBJECT_TYPE *pObjectType,
/* [annotation][out] */
__out IUnknown **ppObject) = 0;
virtual /* [local] */ HRESULT STDMETHODCALLTYPE BeginCreateObjectFromByteStream(
/* [in] */ IMFByteStream *pByteStream,
/* [in] */ LPCWSTR pwszURL,
/* [in] */ DWORD dwFlags,
/* [in] */ IPropertyStore *pProps,
/* [annotation][out] */
__out_opt IUnknown **ppIUnknownCancelCookie,
/* [in] */ IMFAsyncCallback *pCallback,
/* [in] */ IUnknown *punkState) = 0;
virtual /* [local] */ HRESULT STDMETHODCALLTYPE EndCreateObjectFromByteStream(
/* [in] */ IMFAsyncResult *pResult,
/* [annotation][out] */
__out MF_OBJECT_TYPE *pObjectType,
/* [annotation][out] */
__out IUnknown **ppObject) = 0;
virtual /* [local] */ HRESULT STDMETHODCALLTYPE CancelObjectCreation(
/* [in] */ IUnknown *pIUnknownCancelCookie) = 0;
};
#else /* C style interface */
typedef struct IMFSourceResolverVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
__RPC__in IMFSourceResolver * This,
/* [in] */ __RPC__in REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
__RPC__in IMFSourceResolver * This);
ULONG ( STDMETHODCALLTYPE *Release )(
__RPC__in IMFSourceResolver * This);
/* [local] */ HRESULT ( STDMETHODCALLTYPE *CreateObjectFromURL )(
IMFSourceResolver * This,
/* [in] */ LPCWSTR pwszURL,
/* [in] */ DWORD dwFlags,
/* [in] */ IPropertyStore *pProps,
/* [annotation][out] */
__out MF_OBJECT_TYPE *pObjectType,
/* [annotation][out] */
__out IUnknown **ppObject);
/* [local] */ HRESULT ( STDMETHODCALLTYPE *CreateObjectFromByteStream )(
IMFSourceResolver * This,
/* [in] */ IMFByteStream *pByteStream,
/* [in] */ LPCWSTR pwszURL,
/* [in] */ DWORD dwFlags,
/* [in] */ IPropertyStore *pProps,
/* [annotation][out] */
__out MF_OBJECT_TYPE *pObjectType,
/* [annotation][out] */
__out IUnknown **ppObject);
/* [local] */ HRESULT ( STDMETHODCALLTYPE *BeginCreateObjectFromURL )(
IMFSourceResolver * This,
/* [in] */ LPCWSTR pwszURL,
/* [in] */ DWORD dwFlags,
/* [in] */ IPropertyStore *pProps,
/* [annotation][out] */
__out_opt IUnknown **ppIUnknownCancelCookie,
/* [in] */ IMFAsyncCallback *pCallback,
/* [in] */ IUnknown *punkState);
/* [local] */ HRESULT ( STDMETHODCALLTYPE *EndCreateObjectFromURL )(
IMFSourceResolver * This,
/* [in] */ IMFAsyncResult *pResult,
/* [annotation][out] */
__out MF_OBJECT_TYPE *pObjectType,
/* [annotation][out] */
__out IUnknown **ppObject);
/* [local] */ HRESULT ( STDMETHODCALLTYPE *BeginCreateObjectFromByteStream )(
IMFSourceResolver * This,
/* [in] */ IMFByteStream *pByteStream,
/* [in] */ LPCWSTR pwszURL,
/* [in] */ DWORD dwFlags,
/* [in] */ IPropertyStore *pProps,
/* [annotation][out] */
__out_opt IUnknown **ppIUnknownCancelCookie,
/* [in] */ IMFAsyncCallback *pCallback,
/* [in] */ IUnknown *punkState);
/* [local] */ HRESULT ( STDMETHODCALLTYPE *EndCreateObjectFromByteStream )(
IMFSourceResolver * This,
/* [in] */ IMFAsyncResult *pResult,
/* [annotation][out] */
__out MF_OBJECT_TYPE *pObjectType,
/* [annotation][out] */
__out IUnknown **ppObject);
/* [local] */ HRESULT ( STDMETHODCALLTYPE *CancelObjectCreation )(
IMFSourceResolver * This,
/* [in] */ IUnknown *pIUnknownCancelCookie);
END_INTERFACE
} IMFSourceResolverVtbl;
interface IMFSourceResolver
{
CONST_VTBL struct IMFSourceResolverVtbl *lpVtbl;
};
#ifdef COBJMACROS
#define IMFSourceResolver_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
#define IMFSourceResolver_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
#define IMFSourceResolver_Release(This) \
( (This)->lpVtbl -> Release(This) )
#define IMFSourceResolver_CreateObjectFromURL(This,pwszURL,dwFlags,pProps,pObjectType,ppObject) \
( (This)->lpVtbl -> CreateObjectFromURL(This,pwszURL,dwFlags,pProps,pObjectType,ppObject) )
#define IMFSourceResolver_CreateObjectFromByteStream(This,pByteStream,pwszURL,dwFlags,pProps,pObjectType,ppObject) \
( (This)->lpVtbl -> CreateObjectFromByteStream(This,pByteStream,pwszURL,dwFlags,pProps,pObjectType,ppObject) )
#define IMFSourceResolver_BeginCreateObjectFromURL(This,pwszURL,dwFlags,pProps,ppIUnknownCancelCookie,pCallback,punkState) \
( (This)->lpVtbl -> BeginCreateObjectFromURL(This,pwszURL,dwFlags,pProps,ppIUnknownCancelCookie,pCallback,punkState) )
#define IMFSourceResolver_EndCreateObjectFromURL(This,pResult,pObjectType,ppObject) \
( (This)->lpVtbl -> EndCreateObjectFromURL(This,pResult,pObjectType,ppObject) )
#define IMFSourceResolver_BeginCreateObjectFromByteStream(This,pByteStream,pwszURL,dwFlags,pProps,ppIUnknownCancelCookie,pCallback,punkState) \
( (This)->lpVtbl -> BeginCreateObjectFromByteStream(This,pByteStream,pwszURL,dwFlags,pProps,ppIUnknownCancelCookie,pCallback,punkState) )
#define IMFSourceResolver_EndCreateObjectFromByteStream(This,pResult,pObjectType,ppObject) \
( (This)->lpVtbl -> EndCreateObjectFromByteStream(This,pResult,pObjectType,ppObject) )
#define IMFSourceResolver_CancelObjectCreation(This,pIUnknownCancelCookie) \
( (This)->lpVtbl -> CancelObjectCreation(This,pIUnknownCancelCookie) )
#endif /* COBJMACROS */
#endif /* C style interface */
/* [call_as] */ HRESULT STDMETHODCALLTYPE IMFSourceResolver_RemoteBeginCreateObjectFromURL_Proxy(
__RPC__in IMFSourceResolver * This,
/* [string][in] */ __RPC__in_string LPCWSTR pwszURL,
/* [in] */ DWORD dwFlags,
/* [in] */ __RPC__in_opt IPropertyStore *pProps,
/* [in] */ __RPC__in_opt IMFRemoteAsyncCallback *pCallback);
void __RPC_STUB IMFSourceResolver_RemoteBeginCreateObjectFromURL_Stub(
IRpcStubBuffer *This,
IRpcChannelBuffer *_pRpcChannelBuffer,
PRPC_MESSAGE _pRpcMessage,
DWORD *_pdwStubPhase);
/* [call_as] */ HRESULT STDMETHODCALLTYPE IMFSourceResolver_RemoteEndCreateObjectFromURL_Proxy(
__RPC__in IMFSourceResolver * This,
/* [in] */ __RPC__in_opt IUnknown *pResult,
/* [out] */ __RPC__out MF_OBJECT_TYPE *pObjectType,
/* [out] */ __RPC__deref_out_opt IUnknown **ppObject);
void __RPC_STUB IMFSourceResolver_RemoteEndCreateObjectFromURL_Stub(
IRpcStubBuffer *This,
IRpcChannelBuffer *_pRpcChannelBuffer,
PRPC_MESSAGE _pRpcMessage,
DWORD *_pdwStubPhase);
/* [call_as] */ HRESULT STDMETHODCALLTYPE IMFSourceResolver_RemoteBeginCreateObjectFromByteStream_Proxy(
__RPC__in IMFSourceResolver * This,
/* [in] */ __RPC__in_opt IMFByteStream *pByteStream,
/* [in] */ __RPC__in LPCWSTR pwszURL,
/* [in] */ DWORD dwFlags,
/* [in] */ __RPC__in_opt IPropertyStore *pProps,
/* [in] */ __RPC__in_opt IMFRemoteAsyncCallback *pCallback);
void __RPC_STUB IMFSourceResolver_RemoteBeginCreateObjectFromByteStream_Stub(
IRpcStubBuffer *This,
IRpcChannelBuffer *_pRpcChannelBuffer,
PRPC_MESSAGE _pRpcMessage,
DWORD *_pdwStubPhase);
/* [call_as] */ HRESULT STDMETHODCALLTYPE IMFSourceResolver_RemoteEndCreateObjectFromByteStream_Proxy(
__RPC__in IMFSourceResolver * This,
/* [in] */ __RPC__in_opt IUnknown *pResult,
/* [out] */ __RPC__out MF_OBJECT_TYPE *pObjectType,
/* [out] */ __RPC__deref_out_opt IUnknown **ppObject);
void __RPC_STUB IMFSourceResolver_RemoteEndCreateObjectFromByteStream_Stub(
IRpcStubBuffer *This,
IRpcChannelBuffer *_pRpcChannelBuffer,
PRPC_MESSAGE _pRpcMessage,
DWORD *_pdwStubPhase);
#endif /* __IMFSourceResolver_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_mfidl_0000_0002 */
/* [local] */
STDAPI MFCreateSourceResolver(
/* out */ __out IMFSourceResolver **ppISourceResolver);
STDAPI CreatePropertyStore(
/* out */ __out IPropertyStore **ppStore);
STDAPI MFGetSupportedSchemes(
__out PROPVARIANT* pPropVarSchemeArray );
STDAPI MFGetSupportedMimeTypes(
__out PROPVARIANT* pPropVarMimeTypeArray );
EXTERN_C const DECLSPEC_SELECTANY PROPERTYKEY MFPKEY_SourceOpenMonitor = { { 0x074d4637, 0xb5ae, 0x465d, 0xaf, 0x17, 0x1a, 0x53, 0x8d, 0x28, 0x59, 0xdd}, 0x02 };
EXTERN_C const DECLSPEC_SELECTANY PROPERTYKEY MFPKEY_ASFMediaSource_ApproxSeek = { { 0xb4cd270f, 0x244d, 0x4969, 0xbb, 0x92, 0x3f, 0x0f, 0xb8, 0x31, 0x6f, 0x10}, 0x01 };
#if (WINVER >= _WIN32_WINNT_WIN7)
EXTERN_C const DECLSPEC_SELECTANY PROPERTYKEY MFPKEY_ASFMediaSource_IterativeSeekIfNoIndex = { { 0x170b65dc, 0x4a4e, 0x407a, 0xac, 0x22, 0x57, 0x7f, 0x50, 0xe4, 0xa3, 0x7c }, 0x01 };
EXTERN_C const DECLSPEC_SELECTANY PROPERTYKEY MFPKEY_ASFMediaSource_IterativeSeek_Max_Count = { { 0x170b65dc, 0x4a4e, 0x407a, 0xac, 0x22, 0x57, 0x7f, 0x50, 0xe4, 0xa3, 0x7c }, 0x02 };
EXTERN_C const DECLSPEC_SELECTANY PROPERTYKEY MFPKEY_ASFMediaSource_IterativeSeek_Tolerance_In_MilliSecond = { { 0x170b65dc, 0x4a4e, 0x407a, 0xac, 0x22, 0x57, 0x7f, 0x50, 0xe4, 0xa3, 0x7c }, 0x03 };
EXTERN_C const DECLSPEC_SELECTANY PROPERTYKEY MFPKEY_Content_DLNA_Profile_ID = { { 0xcfa31b45, 0x525d, 0x4998, 0xbb, 0x44, 0x3f, 0x7d, 0x81, 0x54, 0x2f, 0xa4 }, 0x01 };
EXTERN_C const DECLSPEC_SELECTANY PROPERTYKEY MFPKEY_MediaSource_DisableReadAhead = { { 0x26366c14, 0xc5bf, 0x4c76, 0x88, 0x7b, 0x9f, 0x17, 0x54, 0xdb, 0x5f, 0x9}, 0x01 };
#endif // (WINVER >= _WIN32_WINNT_WIN7)
typedef
enum _MFMEDIASOURCE_CHARACTERISTICS
{ MFMEDIASOURCE_IS_LIVE = 0x1,
MFMEDIASOURCE_CAN_SEEK = 0x2,
MFMEDIASOURCE_CAN_PAUSE = 0x4,
MFMEDIASOURCE_HAS_SLOW_SEEK = 0x8,
MFMEDIASOURCE_HAS_MULTIPLE_PRESENTATIONS = 0x10,
MFMEDIASOURCE_CAN_SKIPFORWARD = 0x20,
MFMEDIASOURCE_CAN_SKIPBACKWARD = 0x40
} MFMEDIASOURCE_CHARACTERISTICS;
#if (WINVER >= _WIN32_WINNT_WIN7)
EXTERN_GUID( MF_TIME_FORMAT_ENTRY_RELATIVE, 0x4399f178, 0x46d3, 0x4504, 0xaf, 0xda, 0x20, 0xd3, 0x2e, 0x9b, 0xa3, 0x60 );
#endif // (WINVER >= _WIN32_WINNT_WIN7)
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0002_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0002_v0_0_s_ifspec;
#ifndef __IMFMediaSource_INTERFACE_DEFINED__
#define __IMFMediaSource_INTERFACE_DEFINED__
/* interface IMFMediaSource */
/* [uuid][object] */
EXTERN_C const IID IID_IMFMediaSource;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("279a808d-aec7-40c8-9c6b-a6b492c78a66")
IMFMediaSource : public IMFMediaEventGenerator
{
public:
virtual HRESULT STDMETHODCALLTYPE GetCharacteristics(
/* [out] */ __RPC__out DWORD *pdwCharacteristics) = 0;
virtual /* [local] */ HRESULT STDMETHODCALLTYPE CreatePresentationDescriptor(
/* [annotation][out] */
__out IMFPresentationDescriptor **ppPresentationDescriptor) = 0;
virtual HRESULT STDMETHODCALLTYPE Start(
/* [in] */ __RPC__in_opt IMFPresentationDescriptor *pPresentationDescriptor,
/* [unique][in] */ __RPC__in_opt const GUID *pguidTimeFormat,
/* [unique][in] */ __RPC__in_opt const PROPVARIANT *pvarStartPosition) = 0;
virtual HRESULT STDMETHODCALLTYPE Stop( void) = 0;
virtual HRESULT STDMETHODCALLTYPE Pause( void) = 0;
virtual HRESULT STDMETHODCALLTYPE Shutdown( void) = 0;
};
#else /* C style interface */
typedef struct IMFMediaSourceVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
__RPC__in IMFMediaSource * This,
/* [in] */ __RPC__in REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
__RPC__in IMFMediaSource * This);
ULONG ( STDMETHODCALLTYPE *Release )(
__RPC__in IMFMediaSource * This);
HRESULT ( STDMETHODCALLTYPE *GetEvent )(
__RPC__in IMFMediaSource * This,
/* [in] */ DWORD dwFlags,
/* [out] */ __RPC__deref_out_opt IMFMediaEvent **ppEvent);
/* [local] */ HRESULT ( STDMETHODCALLTYPE *BeginGetEvent )(
IMFMediaSource * This,
/* [in] */ IMFAsyncCallback *pCallback,
/* [in] */ IUnknown *punkState);
/* [local] */ HRESULT ( STDMETHODCALLTYPE *EndGetEvent )(
IMFMediaSource * This,
/* [in] */ IMFAsyncResult *pResult,
/* [annotation][out] */
__out IMFMediaEvent **ppEvent);
HRESULT ( STDMETHODCALLTYPE *QueueEvent )(
__RPC__in IMFMediaSource * This,
/* [in] */ MediaEventType met,
/* [in] */ __RPC__in REFGUID guidExtendedType,
/* [in] */ HRESULT hrStatus,
/* [unique][in] */ __RPC__in_opt const PROPVARIANT *pvValue);
HRESULT ( STDMETHODCALLTYPE *GetCharacteristics )(
__RPC__in IMFMediaSource * This,
/* [out] */ __RPC__out DWORD *pdwCharacteristics);
/* [local] */ HRESULT ( STDMETHODCALLTYPE *CreatePresentationDescriptor )(
IMFMediaSource * This,
/* [annotation][out] */
__out IMFPresentationDescriptor **ppPresentationDescriptor);
HRESULT ( STDMETHODCALLTYPE *Start )(
__RPC__in IMFMediaSource * This,
/* [in] */ __RPC__in_opt IMFPresentationDescriptor *pPresentationDescriptor,
/* [unique][in] */ __RPC__in_opt const GUID *pguidTimeFormat,
/* [unique][in] */ __RPC__in_opt const PROPVARIANT *pvarStartPosition);
HRESULT ( STDMETHODCALLTYPE *Stop )(
__RPC__in IMFMediaSource * This);
HRESULT ( STDMETHODCALLTYPE *Pause )(
__RPC__in IMFMediaSource * This);
HRESULT ( STDMETHODCALLTYPE *Shutdown )(
__RPC__in IMFMediaSource * This);
END_INTERFACE
} IMFMediaSourceVtbl;
interface IMFMediaSource
{
CONST_VTBL struct IMFMediaSourceVtbl *lpVtbl;
};
#ifdef COBJMACROS
#define IMFMediaSource_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
#define IMFMediaSource_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
#define IMFMediaSource_Release(This) \
( (This)->lpVtbl -> Release(This) )
#define IMFMediaSource_GetEvent(This,dwFlags,ppEvent) \
( (This)->lpVtbl -> GetEvent(This,dwFlags,ppEvent) )
#define IMFMediaSource_BeginGetEvent(This,pCallback,punkState) \
( (This)->lpVtbl -> BeginGetEvent(This,pCallback,punkState) )
#define IMFMediaSource_EndGetEvent(This,pResult,ppEvent) \
( (This)->lpVtbl -> EndGetEvent(This,pResult,ppEvent) )
#define IMFMediaSource_QueueEvent(This,met,guidExtendedType,hrStatus,pvValue) \
( (This)->lpVtbl -> QueueEvent(This,met,guidExtendedType,hrStatus,pvValue) )
#define IMFMediaSource_GetCharacteristics(This,pdwCharacteristics) \
( (This)->lpVtbl -> GetCharacteristics(This,pdwCharacteristics) )
#define IMFMediaSource_CreatePresentationDescriptor(This,ppPresentationDescriptor) \
( (This)->lpVtbl -> CreatePresentationDescriptor(This,ppPresentationDescriptor) )
#define IMFMediaSource_Start(This,pPresentationDescriptor,pguidTimeFormat,pvarStartPosition) \
( (This)->lpVtbl -> Start(This,pPresentationDescriptor,pguidTimeFormat,pvarStartPosition) )
#define IMFMediaSource_Stop(This) \
( (This)->lpVtbl -> Stop(This) )
#define IMFMediaSource_Pause(This) \
( (This)->lpVtbl -> Pause(This) )
#define IMFMediaSource_Shutdown(This) \
( (This)->lpVtbl -> Shutdown(This) )
#endif /* COBJMACROS */
#endif /* C style interface */
/* [call_as] */ HRESULT STDMETHODCALLTYPE IMFMediaSource_RemoteCreatePresentationDescriptor_Proxy(
__RPC__in IMFMediaSource * This,
/* [out] */ __RPC__out DWORD *pcbPD,
/* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pcbPD) BYTE **pbPD,
/* [out] */ __RPC__deref_out_opt IMFPresentationDescriptor **ppRemotePD);
void __RPC_STUB IMFMediaSource_RemoteCreatePresentationDescriptor_Stub(
IRpcStubBuffer *This,
IRpcChannelBuffer *_pRpcChannelBuffer,
PRPC_MESSAGE _pRpcMessage,
DWORD *_pdwStubPhase);
#endif /* __IMFMediaSource_INTERFACE_DEFINED__ */
#ifndef __IMFMediaStream_INTERFACE_DEFINED__
#define __IMFMediaStream_INTERFACE_DEFINED__
/* interface IMFMediaStream */
/* [uuid][object] */
EXTERN_C const IID IID_IMFMediaStream;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("D182108F-4EC6-443f-AA42-A71106EC825F")
IMFMediaStream : public IMFMediaEventGenerator
{
public:
virtual HRESULT STDMETHODCALLTYPE GetMediaSource(
/* [out] */ __RPC__deref_out_opt IMFMediaSource **ppMediaSource) = 0;
virtual HRESULT STDMETHODCALLTYPE GetStreamDescriptor(
/* [out] */ __RPC__deref_out_opt IMFStreamDescriptor **ppStreamDescriptor) = 0;
virtual /* [local] */ HRESULT STDMETHODCALLTYPE RequestSample(
/* [in] */ IUnknown *pToken) = 0;
};
#else /* C style interface */
typedef struct IMFMediaStreamVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
__RPC__in IMFMediaStream * This,
/* [in] */ __RPC__in REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
__RPC__in IMFMediaStream * This);
ULONG ( STDMETHODCALLTYPE *Release )(
__RPC__in IMFMediaStream * This);
HRESULT ( STDMETHODCALLTYPE *GetEvent )(
__RPC__in IMFMediaStream * This,
/* [in] */ DWORD dwFlags,
/* [out] */ __RPC__deref_out_opt IMFMediaEvent **ppEvent);
/* [local] */ HRESULT ( STDMETHODCALLTYPE *BeginGetEvent )(
IMFMediaStream * This,
/* [in] */ IMFAsyncCallback *pCallback,
/* [in] */ IUnknown *punkState);
/* [local] */ HRESULT ( STDMETHODCALLTYPE *EndGetEvent )(
IMFMediaStream * This,
/* [in] */ IMFAsyncResult *pResult,
/* [annotation][out] */
__out IMFMediaEvent **ppEvent);
HRESULT ( STDMETHODCALLTYPE *QueueEvent )(
__RPC__in IMFMediaStream * This,
/* [in] */ MediaEventType met,
/* [in] */ __RPC__in REFGUID guidExtendedType,
/* [in] */ HRESULT hrStatus,
/* [unique][in] */ __RPC__in_opt const PROPVARIANT *pvValue);
HRESULT ( STDMETHODCALLTYPE *GetMediaSource )(
__RPC__in IMFMediaStream * This,
/* [out] */ __RPC__deref_out_opt IMFMediaSource **ppMediaSource);
HRESULT ( STDMETHODCALLTYPE *GetStreamDescriptor )(
__RPC__in IMFMediaStream * This,
/* [out] */ __RPC__deref_out_opt IMFStreamDescriptor **ppStreamDescriptor);
/* [local] */ HRESULT ( STDMETHODCALLTYPE *RequestSample )(
IMFMediaStream * This,
/* [in] */ IUnknown *pToken);
END_INTERFACE
} IMFMediaStreamVtbl;
interface IMFMediaStream
{
CONST_VTBL struct IMFMediaStreamVtbl *lpVtbl;
};
#ifdef COBJMACROS
#define IMFMediaStream_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
#define IMFMediaStream_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
#define IMFMediaStream_Release(This) \
( (This)->lpVtbl -> Release(This) )
#define IMFMediaStream_GetEvent(This,dwFlags,ppEvent) \
( (This)->lpVtbl -> GetEvent(This,dwFlags,ppEvent) )
#define IMFMediaStream_BeginGetEvent(This,pCallback,punkState) \
( (This)->lpVtbl -> BeginGetEvent(This,pCallback,punkState) )
#define IMFMediaStream_EndGetEvent(This,pResult,ppEvent) \
( (This)->lpVtbl -> EndGetEvent(This,pResult,ppEvent) )
#define IMFMediaStream_QueueEvent(This,met,guidExtendedType,hrStatus,pvValue) \
( (This)->lpVtbl -> QueueEvent(This,met,guidExtendedType,hrStatus,pvValue) )
#define IMFMediaStream_GetMediaSource(This,ppMediaSource) \
( (This)->lpVtbl -> GetMediaSource(This,ppMediaSource) )
#define IMFMediaStream_GetStreamDescriptor(This,ppStreamDescriptor) \
( (This)->lpVtbl -> GetStreamDescriptor(This,ppStreamDescriptor) )
#define IMFMediaStream_RequestSample(This,pToken) \
( (This)->lpVtbl -> RequestSample(This,pToken) )
#endif /* COBJMACROS */
#endif /* C style interface */
/* [call_as] */ HRESULT STDMETHODCALLTYPE IMFMediaStream_RemoteRequestSample_Proxy(
__RPC__in IMFMediaStream * This);
void __RPC_STUB IMFMediaStream_RemoteRequestSample_Stub(
IRpcStubBuffer *This,
IRpcChannelBuffer *_pRpcChannelBuffer,
PRPC_MESSAGE _pRpcMessage,
DWORD *_pdwStubPhase);
#endif /* __IMFMediaStream_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_mfidl_0000_0004 */
/* [local] */
#define MEDIASINK_FIXED_STREAMS 0x00000001
#define MEDIASINK_CANNOT_MATCH_CLOCK 0x00000002
#define MEDIASINK_RATELESS 0x00000004
#define MEDIASINK_CLOCK_REQUIRED 0x00000008
#define MEDIASINK_CAN_PREROLL 0x00000010
#define MEDIASINK_REQUIRE_REFERENCE_MEDIATYPE 0x00000020
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0004_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0004_v0_0_s_ifspec;
#ifndef __IMFMediaSink_INTERFACE_DEFINED__
#define __IMFMediaSink_INTERFACE_DEFINED__
/* interface IMFMediaSink */
/* [uuid][object] */
EXTERN_C const IID IID_IMFMediaSink;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("6ef2a660-47c0-4666-b13d-cbb717f2fa2c")
IMFMediaSink : public IUnknown
{
public:
virtual HRESULT STDMETHODCALLTYPE GetCharacteristics(
/* [out] */ __RPC__out DWORD *pdwCharacteristics) = 0;
virtual HRESULT STDMETHODCALLTYPE AddStreamSink(
/* [in] */ DWORD dwStreamSinkIdentifier,
/* [in] */ __RPC__in_opt IMFMediaType *pMediaType,
/* [out] */ __RPC__deref_out_opt IMFStreamSink **ppStreamSink) = 0;
virtual HRESULT STDMETHODCALLTYPE RemoveStreamSink(
/* [in] */ DWORD dwStreamSinkIdentifier) = 0;
virtual HRESULT STDMETHODCALLTYPE GetStreamSinkCount(
/* [out] */ __RPC__out DWORD *pcStreamSinkCount) = 0;
virtual HRESULT STDMETHODCALLTYPE GetStreamSinkByIndex(
/* [in] */ DWORD dwIndex,
/* [out] */ __RPC__deref_out_opt IMFStreamSink **ppStreamSink) = 0;
virtual HRESULT STDMETHODCALLTYPE GetStreamSinkById(
/* [in] */ DWORD dwStreamSinkIdentifier,
/* [out] */ __RPC__deref_out_opt IMFStreamSink **ppStreamSink) = 0;
virtual HRESULT STDMETHODCALLTYPE SetPresentationClock(
/* [in] */ __RPC__in_opt IMFPresentationClock *pPresentationClock) = 0;
virtual HRESULT STDMETHODCALLTYPE GetPresentationClock(
/* [out] */ __RPC__deref_out_opt IMFPresentationClock **ppPresentationClock) = 0;
virtual HRESULT STDMETHODCALLTYPE Shutdown( void) = 0;
};
#else /* C style interface */
typedef struct IMFMediaSinkVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
__RPC__in IMFMediaSink * This,
/* [in] */ __RPC__in REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
__RPC__in IMFMediaSink * This);
ULONG ( STDMETHODCALLTYPE *Release )(
__RPC__in IMFMediaSink * This);
HRESULT ( STDMETHODCALLTYPE *GetCharacteristics )(
__RPC__in IMFMediaSink * This,
/* [out] */ __RPC__out DWORD *pdwCharacteristics);
HRESULT ( STDMETHODCALLTYPE *AddStreamSink )(
__RPC__in IMFMediaSink * This,
/* [in] */ DWORD dwStreamSinkIdentifier,
/* [in] */ __RPC__in_opt IMFMediaType *pMediaType,
/* [out] */ __RPC__deref_out_opt IMFStreamSink **ppStreamSink);
HRESULT ( STDMETHODCALLTYPE *RemoveStreamSink )(
__RPC__in IMFMediaSink * This,
/* [in] */ DWORD dwStreamSinkIdentifier);
HRESULT ( STDMETHODCALLTYPE *GetStreamSinkCount )(
__RPC__in IMFMediaSink * This,
/* [out] */ __RPC__out DWORD *pcStreamSinkCount);
HRESULT ( STDMETHODCALLTYPE *GetStreamSinkByIndex )(
__RPC__in IMFMediaSink * This,
/* [in] */ DWORD dwIndex,
/* [out] */ __RPC__deref_out_opt IMFStreamSink **ppStreamSink);
HRESULT ( STDMETHODCALLTYPE *GetStreamSinkById )(
__RPC__in IMFMediaSink * This,
/* [in] */ DWORD dwStreamSinkIdentifier,
/* [out] */ __RPC__deref_out_opt IMFStreamSink **ppStreamSink);
HRESULT ( STDMETHODCALLTYPE *SetPresentationClock )(
__RPC__in IMFMediaSink * This,
/* [in] */ __RPC__in_opt IMFPresentationClock *pPresentationClock);
HRESULT ( STDMETHODCALLTYPE *GetPresentationClock )(
__RPC__in IMFMediaSink * This,
/* [out] */ __RPC__deref_out_opt IMFPresentationClock **ppPresentationClock);
HRESULT ( STDMETHODCALLTYPE *Shutdown )(
__RPC__in IMFMediaSink * This);
END_INTERFACE
} IMFMediaSinkVtbl;
interface IMFMediaSink
{
CONST_VTBL struct IMFMediaSinkVtbl *lpVtbl;
};
#ifdef COBJMACROS
#define IMFMediaSink_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
#define IMFMediaSink_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
#define IMFMediaSink_Release(This) \
( (This)->lpVtbl -> Release(This) )
#define IMFMediaSink_GetCharacteristics(This,pdwCharacteristics) \
( (This)->lpVtbl -> GetCharacteristics(This,pdwCharacteristics) )
#define IMFMediaSink_AddStreamSink(This,dwStreamSinkIdentifier,pMediaType,ppStreamSink) \
( (This)->lpVtbl -> AddStreamSink(This,dwStreamSinkIdentifier,pMediaType,ppStreamSink) )
#define IMFMediaSink_RemoveStreamSink(This,dwStreamSinkIdentifier) \
( (This)->lpVtbl -> RemoveStreamSink(This,dwStreamSinkIdentifier) )
#define IMFMediaSink_GetStreamSinkCount(This,pcStreamSinkCount) \
( (This)->lpVtbl -> GetStreamSinkCount(This,pcStreamSinkCount) )
#define IMFMediaSink_GetStreamSinkByIndex(This,dwIndex,ppStreamSink) \
( (This)->lpVtbl -> GetStreamSinkByIndex(This,dwIndex,ppStreamSink) )
#define IMFMediaSink_GetStreamSinkById(This,dwStreamSinkIdentifier,ppStreamSink) \
( (This)->lpVtbl -> GetStreamSinkById(This,dwStreamSinkIdentifier,ppStreamSink) )
#define IMFMediaSink_SetPresentationClock(This,pPresentationClock) \
( (This)->lpVtbl -> SetPresentationClock(This,pPresentationClock) )
#define IMFMediaSink_GetPresentationClock(This,ppPresentationClock) \
( (This)->lpVtbl -> GetPresentationClock(This,ppPresentationClock) )
#define IMFMediaSink_Shutdown(This) \
( (This)->lpVtbl -> Shutdown(This) )
#endif /* COBJMACROS */
#endif /* C style interface */
#endif /* __IMFMediaSink_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_mfidl_0000_0005 */
/* [local] */
typedef
enum _MFSTREAMSINK_MARKER_TYPE
{ MFSTREAMSINK_MARKER_DEFAULT = 0,
MFSTREAMSINK_MARKER_ENDOFSEGMENT = ( MFSTREAMSINK_MARKER_DEFAULT + 1 ) ,
MFSTREAMSINK_MARKER_TICK = ( MFSTREAMSINK_MARKER_ENDOFSEGMENT + 1 ) ,
MFSTREAMSINK_MARKER_EVENT = ( MFSTREAMSINK_MARKER_TICK + 1 )
} MFSTREAMSINK_MARKER_TYPE;
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0005_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0005_v0_0_s_ifspec;
#ifndef __IMFStreamSink_INTERFACE_DEFINED__
#define __IMFStreamSink_INTERFACE_DEFINED__
/* interface IMFStreamSink */
/* [uuid][object] */
EXTERN_C const IID IID_IMFStreamSink;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("0A97B3CF-8E7C-4a3d-8F8C-0C843DC247FB")
IMFStreamSink : public IMFMediaEventGenerator
{
public:
virtual HRESULT STDMETHODCALLTYPE GetMediaSink(
/* [out] */ __RPC__deref_out_opt IMFMediaSink **ppMediaSink) = 0;
virtual HRESULT STDMETHODCALLTYPE GetIdentifier(
/* [out] */ __RPC__out DWORD *pdwIdentifier) = 0;
virtual HRESULT STDMETHODCALLTYPE GetMediaTypeHandler(
/* [out] */ __RPC__deref_out_opt IMFMediaTypeHandler **ppHandler) = 0;
virtual HRESULT STDMETHODCALLTYPE ProcessSample(
/* [in] */ __RPC__in_opt IMFSample *pSample) = 0;
virtual HRESULT STDMETHODCALLTYPE PlaceMarker(
/* [in] */ MFSTREAMSINK_MARKER_TYPE eMarkerType,
/* [in] */ __RPC__in const PROPVARIANT *pvarMarkerValue,
/* [in] */ __RPC__in const PROPVARIANT *pvarContextValue) = 0;
virtual HRESULT STDMETHODCALLTYPE Flush( void) = 0;
};
#else /* C style interface */
typedef struct IMFStreamSinkVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
__RPC__in IMFStreamSink * This,
/* [in] */ __RPC__in REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
__RPC__in IMFStreamSink * This);
ULONG ( STDMETHODCALLTYPE *Release )(
__RPC__in IMFStreamSink * This);
HRESULT ( STDMETHODCALLTYPE *GetEvent )(
__RPC__in IMFStreamSink * This,
/* [in] */ DWORD dwFlags,
/* [out] */ __RPC__deref_out_opt IMFMediaEvent **ppEvent);
/* [local] */ HRESULT ( STDMETHODCALLTYPE *BeginGetEvent )(
IMFStreamSink * This,
/* [in] */ IMFAsyncCallback *pCallback,
/* [in] */ IUnknown *punkState);
/* [local] */ HRESULT ( STDMETHODCALLTYPE *EndGetEvent )(
IMFStreamSink * This,
/* [in] */ IMFAsyncResult *pResult,
/* [annotation][out] */
__out IMFMediaEvent **ppEvent);
HRESULT ( STDMETHODCALLTYPE *QueueEvent )(
__RPC__in IMFStreamSink * This,
/* [in] */ MediaEventType met,
/* [in] */ __RPC__in REFGUID guidExtendedType,
/* [in] */ HRESULT hrStatus,
/* [unique][in] */ __RPC__in_opt const PROPVARIANT *pvValue);
HRESULT ( STDMETHODCALLTYPE *GetMediaSink )(
__RPC__in IMFStreamSink * This,
/* [out] */ __RPC__deref_out_opt IMFMediaSink **ppMediaSink);
HRESULT ( STDMETHODCALLTYPE *GetIdentifier )(
__RPC__in IMFStreamSink * This,
/* [out] */ __RPC__out DWORD *pdwIdentifier);
HRESULT ( STDMETHODCALLTYPE *GetMediaTypeHandler )(
__RPC__in IMFStreamSink * This,
/* [out] */ __RPC__deref_out_opt IMFMediaTypeHandler **ppHandler);
HRESULT ( STDMETHODCALLTYPE *ProcessSample )(
__RPC__in IMFStreamSink * This,
/* [in] */ __RPC__in_opt IMFSample *pSample);
HRESULT ( STDMETHODCALLTYPE *PlaceMarker )(
__RPC__in IMFStreamSink * This,
/* [in] */ MFSTREAMSINK_MARKER_TYPE eMarkerType,
/* [in] */ __RPC__in const PROPVARIANT *pvarMarkerValue,
/* [in] */ __RPC__in const PROPVARIANT *pvarContextValue);
HRESULT ( STDMETHODCALLTYPE *Flush )(
__RPC__in IMFStreamSink * This);
END_INTERFACE
} IMFStreamSinkVtbl;
interface IMFStreamSink
{
CONST_VTBL struct IMFStreamSinkVtbl *lpVtbl;
};
#ifdef COBJMACROS
#define IMFStreamSink_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
#define IMFStreamSink_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
#define IMFStreamSink_Release(This) \
( (This)->lpVtbl -> Release(This) )
#define IMFStreamSink_GetEvent(This,dwFlags,ppEvent) \
( (This)->lpVtbl -> GetEvent(This,dwFlags,ppEvent) )
#define IMFStreamSink_BeginGetEvent(This,pCallback,punkState) \
( (This)->lpVtbl -> BeginGetEvent(This,pCallback,punkState) )
#define IMFStreamSink_EndGetEvent(This,pResult,ppEvent) \
( (This)->lpVtbl -> EndGetEvent(This,pResult,ppEvent) )
#define IMFStreamSink_QueueEvent(This,met,guidExtendedType,hrStatus,pvValue) \
( (This)->lpVtbl -> QueueEvent(This,met,guidExtendedType,hrStatus,pvValue) )
#define IMFStreamSink_GetMediaSink(This,ppMediaSink) \
( (This)->lpVtbl -> GetMediaSink(This,ppMediaSink) )
#define IMFStreamSink_GetIdentifier(This,pdwIdentifier) \
( (This)->lpVtbl -> GetIdentifier(This,pdwIdentifier) )
#define IMFStreamSink_GetMediaTypeHandler(This,ppHandler) \
( (This)->lpVtbl -> GetMediaTypeHandler(This,ppHandler) )
#define IMFStreamSink_ProcessSample(This,pSample) \
( (This)->lpVtbl -> ProcessSample(This,pSample) )
#define IMFStreamSink_PlaceMarker(This,eMarkerType,pvarMarkerValue,pvarContextValue) \
( (This)->lpVtbl -> PlaceMarker(This,eMarkerType,pvarMarkerValue,pvarContextValue) )
#define IMFStreamSink_Flush(This) \
( (This)->lpVtbl -> Flush(This) )
#endif /* COBJMACROS */
#endif /* C style interface */
#endif /* __IMFStreamSink_INTERFACE_DEFINED__ */
#ifndef __IMFVideoSampleAllocator_INTERFACE_DEFINED__
#define __IMFVideoSampleAllocator_INTERFACE_DEFINED__
/* interface IMFVideoSampleAllocator */
/* [local][uuid][object] */
EXTERN_C const IID IID_IMFVideoSampleAllocator;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("86cbc910-e533-4751-8e3b-f19b5b806a03")
IMFVideoSampleAllocator : public IUnknown
{
public:
virtual HRESULT STDMETHODCALLTYPE SetDirectXManager(
/* [unique][in] */ IUnknown *pManager) = 0;
virtual HRESULT STDMETHODCALLTYPE UninitializeSampleAllocator( void) = 0;
virtual HRESULT STDMETHODCALLTYPE InitializeSampleAllocator(
/* [in] */ DWORD cRequestedFrames,
/* [in] */ IMFMediaType *pMediaType) = 0;
virtual HRESULT STDMETHODCALLTYPE AllocateSample(
/* [out] */ IMFSample **ppSample) = 0;
};
#else /* C style interface */
typedef struct IMFVideoSampleAllocatorVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IMFVideoSampleAllocator * This,
/* [in] */ REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
IMFVideoSampleAllocator * This);
ULONG ( STDMETHODCALLTYPE *Release )(
IMFVideoSampleAllocator * This);
HRESULT ( STDMETHODCALLTYPE *SetDirectXManager )(
IMFVideoSampleAllocator * This,
/* [unique][in] */ IUnknown *pManager);
HRESULT ( STDMETHODCALLTYPE *UninitializeSampleAllocator )(
IMFVideoSampleAllocator * This);
HRESULT ( STDMETHODCALLTYPE *InitializeSampleAllocator )(
IMFVideoSampleAllocator * This,
/* [in] */ DWORD cRequestedFrames,
/* [in] */ IMFMediaType *pMediaType);
HRESULT ( STDMETHODCALLTYPE *AllocateSample )(
IMFVideoSampleAllocator * This,
/* [out] */ IMFSample **ppSample);
END_INTERFACE
} IMFVideoSampleAllocatorVtbl;
interface IMFVideoSampleAllocator
{
CONST_VTBL struct IMFVideoSampleAllocatorVtbl *lpVtbl;
};
#ifdef COBJMACROS
#define IMFVideoSampleAllocator_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
#define IMFVideoSampleAllocator_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
#define IMFVideoSampleAllocator_Release(This) \
( (This)->lpVtbl -> Release(This) )
#define IMFVideoSampleAllocator_SetDirectXManager(This,pManager) \
( (This)->lpVtbl -> SetDirectXManager(This,pManager) )
#define IMFVideoSampleAllocator_UninitializeSampleAllocator(This) \
( (This)->lpVtbl -> UninitializeSampleAllocator(This) )
#define IMFVideoSampleAllocator_InitializeSampleAllocator(This,cRequestedFrames,pMediaType) \
( (This)->lpVtbl -> InitializeSampleAllocator(This,cRequestedFrames,pMediaType) )
#define IMFVideoSampleAllocator_AllocateSample(This,ppSample) \
( (This)->lpVtbl -> AllocateSample(This,ppSample) )
#endif /* COBJMACROS */
#endif /* C style interface */
#endif /* __IMFVideoSampleAllocator_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_mfidl_0000_0007 */
/* [local] */
#if (WINVER >= _WIN32_WINNT_WIN7)
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0007_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0007_v0_0_s_ifspec;
#ifndef __IMFVideoSampleAllocatorNotify_INTERFACE_DEFINED__
#define __IMFVideoSampleAllocatorNotify_INTERFACE_DEFINED__
/* interface IMFVideoSampleAllocatorNotify */
/* [local][uuid][object] */
EXTERN_C const IID IID_IMFVideoSampleAllocatorNotify;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("A792CDBE-C374-4e89-8335-278E7B9956A4")
IMFVideoSampleAllocatorNotify : public IUnknown
{
public:
virtual HRESULT STDMETHODCALLTYPE NotifyRelease( void) = 0;
};
#else /* C style interface */
typedef struct IMFVideoSampleAllocatorNotifyVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IMFVideoSampleAllocatorNotify * This,
/* [in] */ REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
IMFVideoSampleAllocatorNotify * This);
ULONG ( STDMETHODCALLTYPE *Release )(
IMFVideoSampleAllocatorNotify * This);
HRESULT ( STDMETHODCALLTYPE *NotifyRelease )(
IMFVideoSampleAllocatorNotify * This);
END_INTERFACE
} IMFVideoSampleAllocatorNotifyVtbl;
interface IMFVideoSampleAllocatorNotify
{
CONST_VTBL struct IMFVideoSampleAllocatorNotifyVtbl *lpVtbl;
};
#ifdef COBJMACROS
#define IMFVideoSampleAllocatorNotify_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
#define IMFVideoSampleAllocatorNotify_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
#define IMFVideoSampleAllocatorNotify_Release(This) \
( (This)->lpVtbl -> Release(This) )
#define IMFVideoSampleAllocatorNotify_NotifyRelease(This) \
( (This)->lpVtbl -> NotifyRelease(This) )
#endif /* COBJMACROS */
#endif /* C style interface */
#endif /* __IMFVideoSampleAllocatorNotify_INTERFACE_DEFINED__ */
#ifndef __IMFVideoSampleAllocatorCallback_INTERFACE_DEFINED__
#define __IMFVideoSampleAllocatorCallback_INTERFACE_DEFINED__
/* interface IMFVideoSampleAllocatorCallback */
/* [local][uuid][object] */
EXTERN_C const IID IID_IMFVideoSampleAllocatorCallback;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("992388B4-3372-4f67-8B6F-C84C071F4751")
IMFVideoSampleAllocatorCallback : public IUnknown
{
public:
virtual HRESULT STDMETHODCALLTYPE SetCallback(
/* [unique][in] */ IMFVideoSampleAllocatorNotify *pNotify) = 0;
virtual HRESULT STDMETHODCALLTYPE GetFreeSampleCount(
/* [out] */ LONG *plSamples) = 0;
};
#else /* C style interface */
typedef struct IMFVideoSampleAllocatorCallbackVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IMFVideoSampleAllocatorCallback * This,
/* [in] */ REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
IMFVideoSampleAllocatorCallback * This);
ULONG ( STDMETHODCALLTYPE *Release )(
IMFVideoSampleAllocatorCallback * This);
HRESULT ( STDMETHODCALLTYPE *SetCallback )(
IMFVideoSampleAllocatorCallback * This,
/* [unique][in] */ IMFVideoSampleAllocatorNotify *pNotify);
HRESULT ( STDMETHODCALLTYPE *GetFreeSampleCount )(
IMFVideoSampleAllocatorCallback * This,
/* [out] */ LONG *plSamples);
END_INTERFACE
} IMFVideoSampleAllocatorCallbackVtbl;
interface IMFVideoSampleAllocatorCallback
{
CONST_VTBL struct IMFVideoSampleAllocatorCallbackVtbl *lpVtbl;
};
#ifdef COBJMACROS
#define IMFVideoSampleAllocatorCallback_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
#define IMFVideoSampleAllocatorCallback_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
#define IMFVideoSampleAllocatorCallback_Release(This) \
( (This)->lpVtbl -> Release(This) )
#define IMFVideoSampleAllocatorCallback_SetCallback(This,pNotify) \
( (This)->lpVtbl -> SetCallback(This,pNotify) )
#define IMFVideoSampleAllocatorCallback_GetFreeSampleCount(This,plSamples) \
( (This)->lpVtbl -> GetFreeSampleCount(This,plSamples) )
#endif /* COBJMACROS */
#endif /* C style interface */
#endif /* __IMFVideoSampleAllocatorCallback_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_mfidl_0000_0009 */
/* [local] */
#endif // (WINVER >= _WIN32_WINNT_WIN7)
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0009_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0009_v0_0_s_ifspec;
#ifndef __IMFTopology_INTERFACE_DEFINED__
#define __IMFTopology_INTERFACE_DEFINED__
/* interface IMFTopology */
/* [uuid][object] */
EXTERN_C const IID IID_IMFTopology;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("83CF873A-F6DA-4bc8-823F-BACFD55DC433")
IMFTopology : public IMFAttributes
{
public:
virtual HRESULT STDMETHODCALLTYPE GetTopologyID(
/* [out] */ __RPC__out TOPOID *pID) = 0;
virtual /* [local] */ HRESULT STDMETHODCALLTYPE AddNode(
/* [in] */ IMFTopologyNode *pNode) = 0;
virtual /* [local] */ HRESULT STDMETHODCALLTYPE RemoveNode(
/* [in] */ IMFTopologyNode *pNode) = 0;
virtual HRESULT STDMETHODCALLTYPE GetNodeCount(
/* [out] */ __RPC__out WORD *pwNodes) = 0;
virtual HRESULT STDMETHODCALLTYPE GetNode(
/* [in] */ WORD wIndex,
/* [out] */ __RPC__deref_out_opt IMFTopologyNode **ppNode) = 0;
virtual /* [local] */ HRESULT STDMETHODCALLTYPE Clear( void) = 0;
virtual HRESULT STDMETHODCALLTYPE CloneFrom(
/* [in] */ __RPC__in_opt IMFTopology *pTopology) = 0;
virtual HRESULT STDMETHODCALLTYPE GetNodeByID(
/* [in] */ TOPOID qwTopoNodeID,
/* [out] */ __RPC__deref_out_opt IMFTopologyNode **ppNode) = 0;
virtual HRESULT STDMETHODCALLTYPE GetSourceNodeCollection(
/* [out] */ __RPC__deref_out_opt IMFCollection **ppCollection) = 0;
virtual HRESULT STDMETHODCALLTYPE GetOutputNodeCollection(
/* [out] */ __RPC__deref_out_opt IMFCollection **ppCollection) = 0;
};
#else /* C style interface */
typedef struct IMFTopologyVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
__RPC__in IMFTopology * This,
/* [in] */ __RPC__in REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
__RPC__in IMFTopology * This);
ULONG ( STDMETHODCALLTYPE *Release )(
__RPC__in IMFTopology * This);
HRESULT ( STDMETHODCALLTYPE *GetItem )(
__RPC__in IMFTopology * This,
__RPC__in REFGUID guidKey,
/* [full][out][in] */ __RPC__inout_opt PROPVARIANT *pValue);
HRESULT ( STDMETHODCALLTYPE *GetItemType )(
__RPC__in IMFTopology * This,
__RPC__in REFGUID guidKey,
/* [out] */ __RPC__out MF_ATTRIBUTE_TYPE *pType);
HRESULT ( STDMETHODCALLTYPE *CompareItem )(
__RPC__in IMFTopology * This,
__RPC__in REFGUID guidKey,
__RPC__in REFPROPVARIANT Value,
/* [out] */ __RPC__out BOOL *pbResult);
HRESULT ( STDMETHODCALLTYPE *Compare )(
__RPC__in IMFTopology * This,
__RPC__in_opt IMFAttributes *pTheirs,
MF_ATTRIBUTES_MATCH_TYPE MatchType,
/* [out] */ __RPC__out BOOL *pbResult);
HRESULT ( STDMETHODCALLTYPE *GetUINT32 )(
__RPC__in IMFTopology * This,
__RPC__in REFGUID guidKey,
/* [out] */ __RPC__out UINT32 *punValue);
HRESULT ( STDMETHODCALLTYPE *GetUINT64 )(
__RPC__in IMFTopology * This,
__RPC__in REFGUID guidKey,
/* [out] */ __RPC__out UINT64 *punValue);
HRESULT ( STDMETHODCALLTYPE *GetDouble )(
__RPC__in IMFTopology * This,
__RPC__in REFGUID guidKey,
/* [out] */ __RPC__out double *pfValue);
HRESULT ( STDMETHODCALLTYPE *GetGUID )(
__RPC__in IMFTopology * This,
__RPC__in REFGUID guidKey,
/* [out] */ __RPC__out GUID *pguidValue);
HRESULT ( STDMETHODCALLTYPE *GetStringLength )(
__RPC__in IMFTopology * This,
__RPC__in REFGUID guidKey,
/* [out] */ __RPC__out UINT32 *pcchLength);
HRESULT ( STDMETHODCALLTYPE *GetString )(
__RPC__in IMFTopology * This,
__RPC__in REFGUID guidKey,
/* [size_is][out] */ __RPC__out_ecount_full(cchBufSize) LPWSTR pwszValue,
UINT32 cchBufSize,
/* [full][out][in] */ __RPC__inout_opt UINT32 *pcchLength);
HRESULT ( STDMETHODCALLTYPE *GetAllocatedString )(
__RPC__in IMFTopology * This,
__RPC__in REFGUID guidKey,
/* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(( *pcchLength + 1 ) ) LPWSTR *ppwszValue,
/* [out] */ __RPC__out UINT32 *pcchLength);
HRESULT ( STDMETHODCALLTYPE *GetBlobSize )(
__RPC__in IMFTopology * This,
__RPC__in REFGUID guidKey,
/* [out] */ __RPC__out UINT32 *pcbBlobSize);
HRESULT ( STDMETHODCALLTYPE *GetBlob )(
__RPC__in IMFTopology * This,
__RPC__in REFGUID guidKey,
/* [size_is][out] */ __RPC__out_ecount_full(cbBufSize) UINT8 *pBuf,
UINT32 cbBufSize,
/* [full][out][in] */ __RPC__inout_opt UINT32 *pcbBlobSize);
HRESULT ( STDMETHODCALLTYPE *GetAllocatedBlob )(
__RPC__in IMFTopology * This,
__RPC__in REFGUID guidKey,
/* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pcbSize) UINT8 **ppBuf,
/* [out] */ __RPC__out UINT32 *pcbSize);
HRESULT ( STDMETHODCALLTYPE *GetUnknown )(
__RPC__in IMFTopology * This,
__RPC__in REFGUID guidKey,
__RPC__in REFIID riid,
/* [iid_is][out] */ __RPC__deref_out_opt LPVOID *ppv);
HRESULT ( STDMETHODCALLTYPE *SetItem )(
__RPC__in IMFTopology * This,
__RPC__in REFGUID guidKey,
__RPC__in REFPROPVARIANT Value);
HRESULT ( STDMETHODCALLTYPE *DeleteItem )(
__RPC__in IMFTopology * This,
__RPC__in REFGUID guidKey);
HRESULT ( STDMETHODCALLTYPE *DeleteAllItems )(
__RPC__in IMFTopology * This);
HRESULT ( STDMETHODCALLTYPE *SetUINT32 )(
__RPC__in IMFTopology * This,
__RPC__in REFGUID guidKey,
UINT32 unValue);
HRESULT ( STDMETHODCALLTYPE *SetUINT64 )(
__RPC__in IMFTopology * This,
__RPC__in REFGUID guidKey,
UINT64 unValue);
HRESULT ( STDMETHODCALLTYPE *SetDouble )(
__RPC__in IMFTopology * This,
__RPC__in REFGUID guidKey,
double fValue);
HRESULT ( STDMETHODCALLTYPE *SetGUID )(
__RPC__in IMFTopology * This,
__RPC__in REFGUID guidKey,
__RPC__in REFGUID guidValue);
HRESULT ( STDMETHODCALLTYPE *SetString )(
__RPC__in IMFTopology * This,
__RPC__in REFGUID guidKey,
/* [string][in] */ __RPC__in_string LPCWSTR wszValue);
HRESULT ( STDMETHODCALLTYPE *SetBlob )(
__RPC__in IMFTopology * This,
__RPC__in REFGUID guidKey,
/* [size_is][in] */ __RPC__in_ecount_full(cbBufSize) const UINT8 *pBuf,
UINT32 cbBufSize);
HRESULT ( STDMETHODCALLTYPE *SetUnknown )(
__RPC__in IMFTopology * This,
__RPC__in REFGUID guidKey,
/* [in] */ __RPC__in_opt IUnknown *pUnknown);
HRESULT ( STDMETHODCALLTYPE *LockStore )(
__RPC__in IMFTopology * This);
HRESULT ( STDMETHODCALLTYPE *UnlockStore )(
__RPC__in IMFTopology * This);
HRESULT ( STDMETHODCALLTYPE *GetCount )(
__RPC__in IMFTopology * This,
/* [out] */ __RPC__out UINT32 *pcItems);
HRESULT ( STDMETHODCALLTYPE *GetItemByIndex )(
__RPC__in IMFTopology * This,
UINT32 unIndex,
/* [out] */ __RPC__out GUID *pguidKey,
/* [full][out][in] */ __RPC__inout_opt PROPVARIANT *pValue);
HRESULT ( STDMETHODCALLTYPE *CopyAllItems )(
__RPC__in IMFTopology * This,
/* [in] */ __RPC__in_opt IMFAttributes *pDest);
HRESULT ( STDMETHODCALLTYPE *GetTopologyID )(
__RPC__in IMFTopology * This,
/* [out] */ __RPC__out TOPOID *pID);
/* [local] */ HRESULT ( STDMETHODCALLTYPE *AddNode )(
IMFTopology * This,
/* [in] */ IMFTopologyNode *pNode);
/* [local] */ HRESULT ( STDMETHODCALLTYPE *RemoveNode )(
IMFTopology * This,
/* [in] */ IMFTopologyNode *pNode);
HRESULT ( STDMETHODCALLTYPE *GetNodeCount )(
__RPC__in IMFTopology * This,
/* [out] */ __RPC__out WORD *pwNodes);
HRESULT ( STDMETHODCALLTYPE *GetNode )(
__RPC__in IMFTopology * This,
/* [in] */ WORD wIndex,
/* [out] */ __RPC__deref_out_opt IMFTopologyNode **ppNode);
/* [local] */ HRESULT ( STDMETHODCALLTYPE *Clear )(
IMFTopology * This);
HRESULT ( STDMETHODCALLTYPE *CloneFrom )(
__RPC__in IMFTopology * This,
/* [in] */ __RPC__in_opt IMFTopology *pTopology);
HRESULT ( STDMETHODCALLTYPE *GetNodeByID )(
__RPC__in IMFTopology * This,
/* [in] */ TOPOID qwTopoNodeID,
/* [out] */ __RPC__deref_out_opt IMFTopologyNode **ppNode);
HRESULT ( STDMETHODCALLTYPE *GetSourceNodeCollection )(
__RPC__in IMFTopology * This,
/* [out] */ __RPC__deref_out_opt IMFCollection **ppCollection);
HRESULT ( STDMETHODCALLTYPE *GetOutputNodeCollection )(
__RPC__in IMFTopology * This,
/* [out] */ __RPC__deref_out_opt IMFCollection **ppCollection);
END_INTERFACE
} IMFTopologyVtbl;
interface IMFTopology
{
CONST_VTBL struct IMFTopologyVtbl *lpVtbl;
};
#ifdef COBJMACROS
#define IMFTopology_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
#define IMFTopology_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
#define IMFTopology_Release(This) \
( (This)->lpVtbl -> Release(This) )
#define IMFTopology_GetItem(This,guidKey,pValue) \
( (This)->lpVtbl -> GetItem(This,guidKey,pValue) )
#define IMFTopology_GetItemType(This,guidKey,pType) \
( (This)->lpVtbl -> GetItemType(This,guidKey,pType) )
#define IMFTopology_CompareItem(This,guidKey,Value,pbResult) \
( (This)->lpVtbl -> CompareItem(This,guidKey,Value,pbResult) )
#define IMFTopology_Compare(This,pTheirs,MatchType,pbResult) \
( (This)->lpVtbl -> Compare(This,pTheirs,MatchType,pbResult) )
#define IMFTopology_GetUINT32(This,guidKey,punValue) \
( (This)->lpVtbl -> GetUINT32(This,guidKey,punValue) )
#define IMFTopology_GetUINT64(This,guidKey,punValue) \
( (This)->lpVtbl -> GetUINT64(This,guidKey,punValue) )
#define IMFTopology_GetDouble(This,guidKey,pfValue) \
( (This)->lpVtbl -> GetDouble(This,guidKey,pfValue) )
#define IMFTopology_GetGUID(This,guidKey,pguidValue) \
( (This)->lpVtbl -> GetGUID(This,guidKey,pguidValue) )
#define IMFTopology_GetStringLength(This,guidKey,pcchLength) \
( (This)->lpVtbl -> GetStringLength(This,guidKey,pcchLength) )
#define IMFTopology_GetString(This,guidKey,pwszValue,cchBufSize,pcchLength) \
( (This)->lpVtbl -> GetString(This,guidKey,pwszValue,cchBufSize,pcchLength) )
#define IMFTopology_GetAllocatedString(This,guidKey,ppwszValue,pcchLength) \
( (This)->lpVtbl -> GetAllocatedString(This,guidKey,ppwszValue,pcchLength) )
#define IMFTopology_GetBlobSize(This,guidKey,pcbBlobSize) \
( (This)->lpVtbl -> GetBlobSize(This,guidKey,pcbBlobSize) )
#define IMFTopology_GetBlob(This,guidKey,pBuf,cbBufSize,pcbBlobSize) \
( (This)->lpVtbl -> GetBlob(This,guidKey,pBuf,cbBufSize,pcbBlobSize) )
#define IMFTopology_GetAllocatedBlob(This,guidKey,ppBuf,pcbSize) \
( (This)->lpVtbl -> GetAllocatedBlob(This,guidKey,ppBuf,pcbSize) )
#define IMFTopology_GetUnknown(This,guidKey,riid,ppv) \
( (This)->lpVtbl -> GetUnknown(This,guidKey,riid,ppv) )
#define IMFTopology_SetItem(This,guidKey,Value) \
( (This)->lpVtbl -> SetItem(This,guidKey,Value) )
#define IMFTopology_DeleteItem(This,guidKey) \
( (This)->lpVtbl -> DeleteItem(This,guidKey) )
#define IMFTopology_DeleteAllItems(This) \
( (This)->lpVtbl -> DeleteAllItems(This) )
#define IMFTopology_SetUINT32(This,guidKey,unValue) \
( (This)->lpVtbl -> SetUINT32(This,guidKey,unValue) )
#define IMFTopology_SetUINT64(This,guidKey,unValue) \
( (This)->lpVtbl -> SetUINT64(This,guidKey,unValue) )
#define IMFTopology_SetDouble(This,guidKey,fValue) \
( (This)->lpVtbl -> SetDouble(This,guidKey,fValue) )
#define IMFTopology_SetGUID(This,guidKey,guidValue) \
( (This)->lpVtbl -> SetGUID(This,guidKey,guidValue) )
#define IMFTopology_SetString(This,guidKey,wszValue) \
( (This)->lpVtbl -> SetString(This,guidKey,wszValue) )
#define IMFTopology_SetBlob(This,guidKey,pBuf,cbBufSize) \
( (This)->lpVtbl -> SetBlob(This,guidKey,pBuf,cbBufSize) )
#define IMFTopology_SetUnknown(This,guidKey,pUnknown) \
( (This)->lpVtbl -> SetUnknown(This,guidKey,pUnknown) )
#define IMFTopology_LockStore(This) \
( (This)->lpVtbl -> LockStore(This) )
#define IMFTopology_UnlockStore(This) \
( (This)->lpVtbl -> UnlockStore(This) )
#define IMFTopology_GetCount(This,pcItems) \
( (This)->lpVtbl -> GetCount(This,pcItems) )
#define IMFTopology_GetItemByIndex(This,unIndex,pguidKey,pValue) \
( (This)->lpVtbl -> GetItemByIndex(This,unIndex,pguidKey,pValue) )
#define IMFTopology_CopyAllItems(This,pDest) \
( (This)->lpVtbl -> CopyAllItems(This,pDest) )
#define IMFTopology_GetTopologyID(This,pID) \
( (This)->lpVtbl -> GetTopologyID(This,pID) )
#define IMFTopology_AddNode(This,pNode) \
( (This)->lpVtbl -> AddNode(This,pNode) )
#define IMFTopology_RemoveNode(This,pNode) \
( (This)->lpVtbl -> RemoveNode(This,pNode) )
#define IMFTopology_GetNodeCount(This,pwNodes) \
( (This)->lpVtbl -> GetNodeCount(This,pwNodes) )
#define IMFTopology_GetNode(This,wIndex,ppNode) \
( (This)->lpVtbl -> GetNode(This,wIndex,ppNode) )
#define IMFTopology_Clear(This) \
( (This)->lpVtbl -> Clear(This) )
#define IMFTopology_CloneFrom(This,pTopology) \
( (This)->lpVtbl -> CloneFrom(This,pTopology) )
#define IMFTopology_GetNodeByID(This,qwTopoNodeID,ppNode) \
( (This)->lpVtbl -> GetNodeByID(This,qwTopoNodeID,ppNode) )
#define IMFTopology_GetSourceNodeCollection(This,ppCollection) \
( (This)->lpVtbl -> GetSourceNodeCollection(This,ppCollection) )
#define IMFTopology_GetOutputNodeCollection(This,ppCollection) \
( (This)->lpVtbl -> GetOutputNodeCollection(This,ppCollection) )
#endif /* COBJMACROS */
#endif /* C style interface */
#endif /* __IMFTopology_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_mfidl_0000_0010 */
/* [local] */
EXTERN_GUID( MF_TOPOLOGY_PROJECTSTART, 0x7ed3f802, 0x86bb, 0x4b3f, 0xb7, 0xe4, 0x7c, 0xb4, 0x3a, 0xfd, 0x4b, 0x80);
EXTERN_GUID( MF_TOPOLOGY_PROJECTSTOP, 0x7ed3f803, 0x86bb, 0x4b3f, 0xb7, 0xe4, 0x7c, 0xb4, 0x3a, 0xfd, 0x4b, 0x80);
EXTERN_GUID( MF_TOPOLOGY_NO_MARKIN_MARKOUT, 0x7ed3f804, 0x86bb, 0x4b3f, 0xb7, 0xe4, 0x7c, 0xb4, 0x3a, 0xfd, 0x4b, 0x80);
#if (WINVER >= _WIN32_WINNT_WIN7)
typedef
enum MFTOPOLOGY_DXVA_MODE
{ MFTOPOLOGY_DXVA_DEFAULT = 0,
MFTOPOLOGY_DXVA_NONE = 1,
MFTOPOLOGY_DXVA_FULL = 2
} MFTOPOLOGY_DXVA_MODE;
EXTERN_GUID(MF_TOPOLOGY_DXVA_MODE, 0x1e8d34f6, 0xf5ab, 0x4e23, 0xbb, 0x88, 0x87, 0x4a, 0xa3, 0xa1, 0xa7, 0x4d);
EXTERN_GUID(MF_TOPOLOGY_STATIC_PLAYBACK_OPTIMIZATIONS, 0xb86cac42, 0x41a6, 0x4b79, 0x89, 0x7a, 0x1a, 0xb0, 0xe5, 0x2b, 0x4a, 0x1b);
EXTERN_GUID(MF_TOPOLOGY_PLAYBACK_MAX_DIMS, 0x5715cf19, 0x5768, 0x44aa, 0xad, 0x6e, 0x87, 0x21, 0xf1, 0xb0, 0xf9, 0xbb);
typedef
enum MFTOPOLOGY_HARDWARE_MODE
{ MFTOPOLOGY_HWMODE_SOFTWARE_ONLY = 0,
MFTOPOLOGY_HWMODE_USE_HARDWARE = 1
} MFTOPOLOGY_HARDWARE_MODE;
EXTERN_GUID(MF_TOPOLOGY_HARDWARE_MODE, 0xd2d362fd, 0x4e4f, 0x4191, 0xa5, 0x79, 0xc6, 0x18, 0xb6, 0x67, 0x6, 0xaf);
EXTERN_GUID(MF_TOPOLOGY_PLAYBACK_FRAMERATE, 0xc164737a, 0xc2b1, 0x4553, 0x83, 0xbb, 0x5a, 0x52, 0x60, 0x72, 0x44, 0x8f);
EXTERN_GUID(MF_TOPOLOGY_DYNAMIC_CHANGE_NOT_ALLOWED, 0xd529950b, 0xd484, 0x4527, 0xa9, 0xcd, 0xb1, 0x90, 0x95, 0x32, 0xb5, 0xb0);
EXTERN_GUID(MF_TOPOLOGY_ENUMERATE_SOURCE_TYPES, 0x6248c36d, 0x5d0b, 0x4f40, 0xa0, 0xbb, 0xb0, 0xb3, 0x05, 0xf7, 0x76, 0x98);
EXTERN_GUID( MF_TOPOLOGY_START_TIME_ON_PRESENTATION_SWITCH, 0xc8cc113f, 0x7951, 0x4548, 0xaa, 0xd6, 0x9e, 0xd6, 0x20, 0x2e, 0x62, 0xb3);
#endif // (WINVER >= _WIN32_WINNT_WIN7)
STDAPI MFCreateTopology(
__out IMFTopology ** ppTopo );
typedef
enum MF_TOPOLOGY_TYPE
{ MF_TOPOLOGY_OUTPUT_NODE = 0,
MF_TOPOLOGY_SOURCESTREAM_NODE = ( MF_TOPOLOGY_OUTPUT_NODE + 1 ) ,
MF_TOPOLOGY_TRANSFORM_NODE = ( MF_TOPOLOGY_SOURCESTREAM_NODE + 1 ) ,
MF_TOPOLOGY_TEE_NODE = ( MF_TOPOLOGY_TRANSFORM_NODE + 1 ) ,
MF_TOPOLOGY_MAX = 0xffffffff
} MF_TOPOLOGY_TYPE;
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0010_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0010_v0_0_s_ifspec;
#ifndef __IMFTopologyNode_INTERFACE_DEFINED__
#define __IMFTopologyNode_INTERFACE_DEFINED__
/* interface IMFTopologyNode */
/* [uuid][object] */
EXTERN_C const IID IID_IMFTopologyNode;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("83CF873A-F6DA-4bc8-823F-BACFD55DC430")
IMFTopologyNode : public IMFAttributes
{
public:
virtual HRESULT STDMETHODCALLTYPE SetObject(
/* [in] */ __RPC__in_opt IUnknown *pObject) = 0;
virtual HRESULT STDMETHODCALLTYPE GetObject(
/* [out] */ __RPC__deref_out_opt IUnknown **ppObject) = 0;
virtual HRESULT STDMETHODCALLTYPE GetNodeType(
/* [out] */ __RPC__out MF_TOPOLOGY_TYPE *pType) = 0;
virtual HRESULT STDMETHODCALLTYPE GetTopoNodeID(
/* [out] */ __RPC__out TOPOID *pID) = 0;
virtual HRESULT STDMETHODCALLTYPE SetTopoNodeID(
/* [in] */ TOPOID ullTopoID) = 0;
virtual HRESULT STDMETHODCALLTYPE GetInputCount(
/* [out] */ __RPC__out DWORD *pcInputs) = 0;
virtual HRESULT STDMETHODCALLTYPE GetOutputCount(
/* [out] */ __RPC__out DWORD *pcOutputs) = 0;
virtual /* [local] */ HRESULT STDMETHODCALLTYPE ConnectOutput(
/* [in] */ DWORD dwOutputIndex,
/* [in] */ IMFTopologyNode *pDownstreamNode,
/* [in] */ DWORD dwInputIndexOnDownstreamNode) = 0;
virtual /* [local] */ HRESULT STDMETHODCALLTYPE DisconnectOutput(
/* [in] */ DWORD dwOutputIndex) = 0;
virtual HRESULT STDMETHODCALLTYPE GetInput(
/* [in] */ DWORD dwInputIndex,
/* [out] */ __RPC__deref_out_opt IMFTopologyNode **ppUpstreamNode,
/* [out] */ __RPC__out DWORD *pdwOutputIndexOnUpstreamNode) = 0;
virtual HRESULT STDMETHODCALLTYPE GetOutput(
/* [in] */ DWORD dwOutputIndex,
/* [out] */ __RPC__deref_out_opt IMFTopologyNode **ppDownstreamNode,
/* [out] */ __RPC__out DWORD *pdwInputIndexOnDownstreamNode) = 0;
virtual /* [local] */ HRESULT STDMETHODCALLTYPE SetOutputPrefType(
/* [in] */ DWORD dwOutputIndex,
/* [in] */ IMFMediaType *pType) = 0;
virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetOutputPrefType(
/* [in] */ DWORD dwOutputIndex,
/* [annotation][out] */
__out IMFMediaType **ppType) = 0;
virtual /* [local] */ HRESULT STDMETHODCALLTYPE SetInputPrefType(
/* [in] */ DWORD dwInputIndex,
/* [in] */ IMFMediaType *pType) = 0;
virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetInputPrefType(
/* [in] */ DWORD dwInputIndex,
/* [annotation][out] */
__out IMFMediaType **ppType) = 0;
virtual HRESULT STDMETHODCALLTYPE CloneFrom(
/* [in] */ __RPC__in_opt IMFTopologyNode *pNode) = 0;
};
#else /* C style interface */
typedef struct IMFTopologyNodeVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
__RPC__in IMFTopologyNode * This,
/* [in] */ __RPC__in REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
__RPC__in IMFTopologyNode * This);
ULONG ( STDMETHODCALLTYPE *Release )(
__RPC__in IMFTopologyNode * This);
HRESULT ( STDMETHODCALLTYPE *GetItem )(
__RPC__in IMFTopologyNode * This,
__RPC__in REFGUID guidKey,
/* [full][out][in] */ __RPC__inout_opt PROPVARIANT *pValue);
HRESULT ( STDMETHODCALLTYPE *GetItemType )(
__RPC__in IMFTopologyNode * This,
__RPC__in REFGUID guidKey,
/* [out] */ __RPC__out MF_ATTRIBUTE_TYPE *pType);
HRESULT ( STDMETHODCALLTYPE *CompareItem )(
__RPC__in IMFTopologyNode * This,
__RPC__in REFGUID guidKey,
__RPC__in REFPROPVARIANT Value,
/* [out] */ __RPC__out BOOL *pbResult);
HRESULT ( STDMETHODCALLTYPE *Compare )(
__RPC__in IMFTopologyNode * This,
__RPC__in_opt IMFAttributes *pTheirs,
MF_ATTRIBUTES_MATCH_TYPE MatchType,
/* [out] */ __RPC__out BOOL *pbResult);
HRESULT ( STDMETHODCALLTYPE *GetUINT32 )(
__RPC__in IMFTopologyNode * This,
__RPC__in REFGUID guidKey,
/* [out] */ __RPC__out UINT32 *punValue);
HRESULT ( STDMETHODCALLTYPE *GetUINT64 )(
__RPC__in IMFTopologyNode * This,
__RPC__in REFGUID guidKey,
/* [out] */ __RPC__out UINT64 *punValue);
HRESULT ( STDMETHODCALLTYPE *GetDouble )(
__RPC__in IMFTopologyNode * This,
__RPC__in REFGUID guidKey,
/* [out] */ __RPC__out double *pfValue);
HRESULT ( STDMETHODCALLTYPE *GetGUID )(
__RPC__in IMFTopologyNode * This,
__RPC__in REFGUID guidKey,
/* [out] */ __RPC__out GUID *pguidValue);
HRESULT ( STDMETHODCALLTYPE *GetStringLength )(
__RPC__in IMFTopologyNode * This,
__RPC__in REFGUID guidKey,
/* [out] */ __RPC__out UINT32 *pcchLength);
HRESULT ( STDMETHODCALLTYPE *GetString )(
__RPC__in IMFTopologyNode * This,
__RPC__in REFGUID guidKey,
/* [size_is][out] */ __RPC__out_ecount_full(cchBufSize) LPWSTR pwszValue,
UINT32 cchBufSize,
/* [full][out][in] */ __RPC__inout_opt UINT32 *pcchLength);
HRESULT ( STDMETHODCALLTYPE *GetAllocatedString )(
__RPC__in IMFTopologyNode * This,
__RPC__in REFGUID guidKey,
/* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(( *pcchLength + 1 ) ) LPWSTR *ppwszValue,
/* [out] */ __RPC__out UINT32 *pcchLength);
HRESULT ( STDMETHODCALLTYPE *GetBlobSize )(
__RPC__in IMFTopologyNode * This,
__RPC__in REFGUID guidKey,
/* [out] */ __RPC__out UINT32 *pcbBlobSize);
HRESULT ( STDMETHODCALLTYPE *GetBlob )(
__RPC__in IMFTopologyNode * This,
__RPC__in REFGUID guidKey,
/* [size_is][out] */ __RPC__out_ecount_full(cbBufSize) UINT8 *pBuf,
UINT32 cbBufSize,
/* [full][out][in] */ __RPC__inout_opt UINT32 *pcbBlobSize);
HRESULT ( STDMETHODCALLTYPE *GetAllocatedBlob )(
__RPC__in IMFTopologyNode * This,
__RPC__in REFGUID guidKey,
/* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pcbSize) UINT8 **ppBuf,
/* [out] */ __RPC__out UINT32 *pcbSize);
HRESULT ( STDMETHODCALLTYPE *GetUnknown )(
__RPC__in IMFTopologyNode * This,
__RPC__in REFGUID guidKey,
__RPC__in REFIID riid,
/* [iid_is][out] */ __RPC__deref_out_opt LPVOID *ppv);
HRESULT ( STDMETHODCALLTYPE *SetItem )(
__RPC__in IMFTopologyNode * This,
__RPC__in REFGUID guidKey,
__RPC__in REFPROPVARIANT Value);
HRESULT ( STDMETHODCALLTYPE *DeleteItem )(
__RPC__in IMFTopologyNode * This,
__RPC__in REFGUID guidKey);
HRESULT ( STDMETHODCALLTYPE *DeleteAllItems )(
__RPC__in IMFTopologyNode * This);
HRESULT ( STDMETHODCALLTYPE *SetUINT32 )(
__RPC__in IMFTopologyNode * This,
__RPC__in REFGUID guidKey,
UINT32 unValue);
HRESULT ( STDMETHODCALLTYPE *SetUINT64 )(
__RPC__in IMFTopologyNode * This,
__RPC__in REFGUID guidKey,
UINT64 unValue);
HRESULT ( STDMETHODCALLTYPE *SetDouble )(
__RPC__in IMFTopologyNode * This,
__RPC__in REFGUID guidKey,
double fValue);
HRESULT ( STDMETHODCALLTYPE *SetGUID )(
__RPC__in IMFTopologyNode * This,
__RPC__in REFGUID guidKey,
__RPC__in REFGUID guidValue);
HRESULT ( STDMETHODCALLTYPE *SetString )(
__RPC__in IMFTopologyNode * This,
__RPC__in REFGUID guidKey,
/* [string][in] */ __RPC__in_string LPCWSTR wszValue);
HRESULT ( STDMETHODCALLTYPE *SetBlob )(
__RPC__in IMFTopologyNode * This,
__RPC__in REFGUID guidKey,
/* [size_is][in] */ __RPC__in_ecount_full(cbBufSize) const UINT8 *pBuf,
UINT32 cbBufSize);
HRESULT ( STDMETHODCALLTYPE *SetUnknown )(
__RPC__in IMFTopologyNode * This,
__RPC__in REFGUID guidKey,
/* [in] */ __RPC__in_opt IUnknown *pUnknown);
HRESULT ( STDMETHODCALLTYPE *LockStore )(
__RPC__in IMFTopologyNode * This);
HRESULT ( STDMETHODCALLTYPE *UnlockStore )(
__RPC__in IMFTopologyNode * This);
HRESULT ( STDMETHODCALLTYPE *GetCount )(
__RPC__in IMFTopologyNode * This,
/* [out] */ __RPC__out UINT32 *pcItems);
HRESULT ( STDMETHODCALLTYPE *GetItemByIndex )(
__RPC__in IMFTopologyNode * This,
UINT32 unIndex,
/* [out] */ __RPC__out GUID *pguidKey,
/* [full][out][in] */ __RPC__inout_opt PROPVARIANT *pValue);
HRESULT ( STDMETHODCALLTYPE *CopyAllItems )(
__RPC__in IMFTopologyNode * This,
/* [in] */ __RPC__in_opt IMFAttributes *pDest);
HRESULT ( STDMETHODCALLTYPE *SetObject )(
__RPC__in IMFTopologyNode * This,
/* [in] */ __RPC__in_opt IUnknown *pObject);
HRESULT ( STDMETHODCALLTYPE *GetObject )(
__RPC__in IMFTopologyNode * This,
/* [out] */ __RPC__deref_out_opt IUnknown **ppObject);
HRESULT ( STDMETHODCALLTYPE *GetNodeType )(
__RPC__in IMFTopologyNode * This,
/* [out] */ __RPC__out MF_TOPOLOGY_TYPE *pType);
HRESULT ( STDMETHODCALLTYPE *GetTopoNodeID )(
__RPC__in IMFTopologyNode * This,
/* [out] */ __RPC__out TOPOID *pID);
HRESULT ( STDMETHODCALLTYPE *SetTopoNodeID )(
__RPC__in IMFTopologyNode * This,
/* [in] */ TOPOID ullTopoID);
HRESULT ( STDMETHODCALLTYPE *GetInputCount )(
__RPC__in IMFTopologyNode * This,
/* [out] */ __RPC__out DWORD *pcInputs);
HRESULT ( STDMETHODCALLTYPE *GetOutputCount )(
__RPC__in IMFTopologyNode * This,
/* [out] */ __RPC__out DWORD *pcOutputs);
/* [local] */ HRESULT ( STDMETHODCALLTYPE *ConnectOutput )(
IMFTopologyNode * This,
/* [in] */ DWORD dwOutputIndex,
/* [in] */ IMFTopologyNode *pDownstreamNode,
/* [in] */ DWORD dwInputIndexOnDownstreamNode);
/* [local] */ HRESULT ( STDMETHODCALLTYPE *DisconnectOutput )(
IMFTopologyNode * This,
/* [in] */ DWORD dwOutputIndex);
HRESULT ( STDMETHODCALLTYPE *GetInput )(
__RPC__in IMFTopologyNode * This,
/* [in] */ DWORD dwInputIndex,
/* [out] */ __RPC__deref_out_opt IMFTopologyNode **ppUpstreamNode,
/* [out] */ __RPC__out DWORD *pdwOutputIndexOnUpstreamNode);
HRESULT ( STDMETHODCALLTYPE *GetOutput )(
__RPC__in IMFTopologyNode * This,
/* [in] */ DWORD dwOutputIndex,
/* [out] */ __RPC__deref_out_opt IMFTopologyNode **ppDownstreamNode,
/* [out] */ __RPC__out DWORD *pdwInputIndexOnDownstreamNode);
/* [local] */ HRESULT ( STDMETHODCALLTYPE *SetOutputPrefType )(
IMFTopologyNode * This,
/* [in] */ DWORD dwOutputIndex,
/* [in] */ IMFMediaType *pType);
/* [local] */ HRESULT ( STDMETHODCALLTYPE *GetOutputPrefType )(
IMFTopologyNode * This,
/* [in] */ DWORD dwOutputIndex,
/* [annotation][out] */
__out IMFMediaType **ppType);
/* [local] */ HRESULT ( STDMETHODCALLTYPE *SetInputPrefType )(
IMFTopologyNode * This,
/* [in] */ DWORD dwInputIndex,
/* [in] */ IMFMediaType *pType);
/* [local] */ HRESULT ( STDMETHODCALLTYPE *GetInputPrefType )(
IMFTopologyNode * This,
/* [in] */ DWORD dwInputIndex,
/* [annotation][out] */
__out IMFMediaType **ppType);
HRESULT ( STDMETHODCALLTYPE *CloneFrom )(
__RPC__in IMFTopologyNode * This,
/* [in] */ __RPC__in_opt IMFTopologyNode *pNode);
END_INTERFACE
} IMFTopologyNodeVtbl;
interface IMFTopologyNode
{
CONST_VTBL struct IMFTopologyNodeVtbl *lpVtbl;
};
#ifdef COBJMACROS
#define IMFTopologyNode_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
#define IMFTopologyNode_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
#define IMFTopologyNode_Release(This) \
( (This)->lpVtbl -> Release(This) )
#define IMFTopologyNode_GetItem(This,guidKey,pValue) \
( (This)->lpVtbl -> GetItem(This,guidKey,pValue) )
#define IMFTopologyNode_GetItemType(This,guidKey,pType) \
( (This)->lpVtbl -> GetItemType(This,guidKey,pType) )
#define IMFTopologyNode_CompareItem(This,guidKey,Value,pbResult) \
( (This)->lpVtbl -> CompareItem(This,guidKey,Value,pbResult) )
#define IMFTopologyNode_Compare(This,pTheirs,MatchType,pbResult) \
( (This)->lpVtbl -> Compare(This,pTheirs,MatchType,pbResult) )
#define IMFTopologyNode_GetUINT32(This,guidKey,punValue) \
( (This)->lpVtbl -> GetUINT32(This,guidKey,punValue) )
#define IMFTopologyNode_GetUINT64(This,guidKey,punValue) \
( (This)->lpVtbl -> GetUINT64(This,guidKey,punValue) )
#define IMFTopologyNode_GetDouble(This,guidKey,pfValue) \
( (This)->lpVtbl -> GetDouble(This,guidKey,pfValue) )
#define IMFTopologyNode_GetGUID(This,guidKey,pguidValue) \
( (This)->lpVtbl -> GetGUID(This,guidKey,pguidValue) )
#define IMFTopologyNode_GetStringLength(This,guidKey,pcchLength) \
( (This)->lpVtbl -> GetStringLength(This,guidKey,pcchLength) )
#define IMFTopologyNode_GetString(This,guidKey,pwszValue,cchBufSize,pcchLength) \
( (This)->lpVtbl -> GetString(This,guidKey,pwszValue,cchBufSize,pcchLength) )
#define IMFTopologyNode_GetAllocatedString(This,guidKey,ppwszValue,pcchLength) \
( (This)->lpVtbl -> GetAllocatedString(This,guidKey,ppwszValue,pcchLength) )
#define IMFTopologyNode_GetBlobSize(This,guidKey,pcbBlobSize) \
( (This)->lpVtbl -> GetBlobSize(This,guidKey,pcbBlobSize) )
#define IMFTopologyNode_GetBlob(This,guidKey,pBuf,cbBufSize,pcbBlobSize) \
( (This)->lpVtbl -> GetBlob(This,guidKey,pBuf,cbBufSize,pcbBlobSize) )
#define IMFTopologyNode_GetAllocatedBlob(This,guidKey,ppBuf,pcbSize) \
( (This)->lpVtbl -> GetAllocatedBlob(This,guidKey,ppBuf,pcbSize) )
#define IMFTopologyNode_GetUnknown(This,guidKey,riid,ppv) \
( (This)->lpVtbl -> GetUnknown(This,guidKey,riid,ppv) )
#define IMFTopologyNode_SetItem(This,guidKey,Value) \
( (This)->lpVtbl -> SetItem(This,guidKey,Value) )
#define IMFTopologyNode_DeleteItem(This,guidKey) \
( (This)->lpVtbl -> DeleteItem(This,guidKey) )
#define IMFTopologyNode_DeleteAllItems(This) \
( (This)->lpVtbl -> DeleteAllItems(This) )
#define IMFTopologyNode_SetUINT32(This,guidKey,unValue) \
( (This)->lpVtbl -> SetUINT32(This,guidKey,unValue) )
#define IMFTopologyNode_SetUINT64(This,guidKey,unValue) \
( (This)->lpVtbl -> SetUINT64(This,guidKey,unValue) )
#define IMFTopologyNode_SetDouble(This,guidKey,fValue) \
( (This)->lpVtbl -> SetDouble(This,guidKey,fValue) )
#define IMFTopologyNode_SetGUID(This,guidKey,guidValue) \
( (This)->lpVtbl -> SetGUID(This,guidKey,guidValue) )
#define IMFTopologyNode_SetString(This,guidKey,wszValue) \
( (This)->lpVtbl -> SetString(This,guidKey,wszValue) )
#define IMFTopologyNode_SetBlob(This,guidKey,pBuf,cbBufSize) \
( (This)->lpVtbl -> SetBlob(This,guidKey,pBuf,cbBufSize) )
#define IMFTopologyNode_SetUnknown(This,guidKey,pUnknown) \
( (This)->lpVtbl -> SetUnknown(This,guidKey,pUnknown) )
#define IMFTopologyNode_LockStore(This) \
( (This)->lpVtbl -> LockStore(This) )
#define IMFTopologyNode_UnlockStore(This) \
( (This)->lpVtbl -> UnlockStore(This) )
#define IMFTopologyNode_GetCount(This,pcItems) \
( (This)->lpVtbl -> GetCount(This,pcItems) )
#define IMFTopologyNode_GetItemByIndex(This,unIndex,pguidKey,pValue) \
( (This)->lpVtbl -> GetItemByIndex(This,unIndex,pguidKey,pValue) )
#define IMFTopologyNode_CopyAllItems(This,pDest) \
( (This)->lpVtbl -> CopyAllItems(This,pDest) )
#define IMFTopologyNode_SetObject(This,pObject) \
( (This)->lpVtbl -> SetObject(This,pObject) )
#define IMFTopologyNode_GetObject(This,ppObject) \
( (This)->lpVtbl -> GetObject(This,ppObject) )
#define IMFTopologyNode_GetNodeType(This,pType) \
( (This)->lpVtbl -> GetNodeType(This,pType) )
#define IMFTopologyNode_GetTopoNodeID(This,pID) \
( (This)->lpVtbl -> GetTopoNodeID(This,pID) )
#define IMFTopologyNode_SetTopoNodeID(This,ullTopoID) \
( (This)->lpVtbl -> SetTopoNodeID(This,ullTopoID) )
#define IMFTopologyNode_GetInputCount(This,pcInputs) \
( (This)->lpVtbl -> GetInputCount(This,pcInputs) )
#define IMFTopologyNode_GetOutputCount(This,pcOutputs) \
( (This)->lpVtbl -> GetOutputCount(This,pcOutputs) )
#define IMFTopologyNode_ConnectOutput(This,dwOutputIndex,pDownstreamNode,dwInputIndexOnDownstreamNode) \
( (This)->lpVtbl -> ConnectOutput(This,dwOutputIndex,pDownstreamNode,dwInputIndexOnDownstreamNode) )
#define IMFTopologyNode_DisconnectOutput(This,dwOutputIndex) \
( (This)->lpVtbl -> DisconnectOutput(This,dwOutputIndex) )
#define IMFTopologyNode_GetInput(This,dwInputIndex,ppUpstreamNode,pdwOutputIndexOnUpstreamNode) \
( (This)->lpVtbl -> GetInput(This,dwInputIndex,ppUpstreamNode,pdwOutputIndexOnUpstreamNode) )
#define IMFTopologyNode_GetOutput(This,dwOutputIndex,ppDownstreamNode,pdwInputIndexOnDownstreamNode) \
( (This)->lpVtbl -> GetOutput(This,dwOutputIndex,ppDownstreamNode,pdwInputIndexOnDownstreamNode) )
#define IMFTopologyNode_SetOutputPrefType(This,dwOutputIndex,pType) \
( (This)->lpVtbl -> SetOutputPrefType(This,dwOutputIndex,pType) )
#define IMFTopologyNode_GetOutputPrefType(This,dwOutputIndex,ppType) \
( (This)->lpVtbl -> GetOutputPrefType(This,dwOutputIndex,ppType) )
#define IMFTopologyNode_SetInputPrefType(This,dwInputIndex,pType) \
( (This)->lpVtbl -> SetInputPrefType(This,dwInputIndex,pType) )
#define IMFTopologyNode_GetInputPrefType(This,dwInputIndex,ppType) \
( (This)->lpVtbl -> GetInputPrefType(This,dwInputIndex,ppType) )
#define IMFTopologyNode_CloneFrom(This,pNode) \
( (This)->lpVtbl -> CloneFrom(This,pNode) )
#endif /* COBJMACROS */
#endif /* C style interface */
/* [call_as] */ HRESULT STDMETHODCALLTYPE IMFTopologyNode_RemoteGetOutputPrefType_Proxy(
__RPC__in IMFTopologyNode * This,
/* [in] */ DWORD dwOutputIndex,
/* [out] */ __RPC__out DWORD *pcbData,
/* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pcbData) BYTE **ppbData);
void __RPC_STUB IMFTopologyNode_RemoteGetOutputPrefType_Stub(
IRpcStubBuffer *This,
IRpcChannelBuffer *_pRpcChannelBuffer,
PRPC_MESSAGE _pRpcMessage,
DWORD *_pdwStubPhase);
/* [call_as] */ HRESULT STDMETHODCALLTYPE IMFTopologyNode_RemoteGetInputPrefType_Proxy(
__RPC__in IMFTopologyNode * This,
/* [in] */ DWORD dwInputIndex,
/* [out] */ __RPC__out DWORD *pcbData,
/* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pcbData) BYTE **ppbData);
void __RPC_STUB IMFTopologyNode_RemoteGetInputPrefType_Stub(
IRpcStubBuffer *This,
IRpcChannelBuffer *_pRpcChannelBuffer,
PRPC_MESSAGE _pRpcMessage,
DWORD *_pdwStubPhase);
#endif /* __IMFTopologyNode_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_mfidl_0000_0011 */
/* [local] */
typedef
enum _MF_TOPONODE_FLUSH_MODE
{ MF_TOPONODE_FLUSH_ALWAYS = 0,
MF_TOPONODE_FLUSH_SEEK = ( MF_TOPONODE_FLUSH_ALWAYS + 1 ) ,
MF_TOPONODE_FLUSH_NEVER = ( MF_TOPONODE_FLUSH_SEEK + 1 )
} MF_TOPONODE_FLUSH_MODE;
EXTERN_GUID( MF_TOPONODE_FLUSH, 0x494bbce8, 0xb031, 0x4e38, 0x97, 0xc4, 0xd5, 0x42, 0x2d, 0xd6, 0x18, 0xdc);
typedef
enum _MF_TOPONODE_DRAIN_MODE
{ MF_TOPONODE_DRAIN_DEFAULT = 0,
MF_TOPONODE_DRAIN_ALWAYS = ( MF_TOPONODE_DRAIN_DEFAULT + 1 ) ,
MF_TOPONODE_DRAIN_NEVER = ( MF_TOPONODE_DRAIN_ALWAYS + 1 )
} MF_TOPONODE_DRAIN_MODE;
EXTERN_GUID( MF_TOPONODE_DRAIN, 0x494bbce9, 0xb031, 0x4e38, 0x97, 0xc4, 0xd5, 0x42, 0x2d, 0xd6, 0x18, 0xdc);
EXTERN_GUID( MF_TOPONODE_D3DAWARE, 0x494bbced, 0xb031, 0x4e38, 0x97, 0xc4, 0xd5, 0x42, 0x2d, 0xd6, 0x18, 0xdc);
EXTERN_GUID( MF_TOPOLOGY_RESOLUTION_STATUS, 0x494bbcde, 0xb031, 0x4e38, 0x97, 0xc4, 0xd5, 0x42, 0x2d, 0xd6, 0x18, 0xdc);
EXTERN_GUID( MF_TOPONODE_ERRORCODE, 0x494bbcee, 0xb031, 0x4e38, 0x97, 0xc4, 0xd5, 0x42, 0x2d, 0xd6, 0x18, 0xdc);
EXTERN_GUID( MF_TOPONODE_CONNECT_METHOD, 0x494bbcf1, 0xb031, 0x4e38, 0x97, 0xc4, 0xd5, 0x42, 0x2d, 0xd6, 0x18, 0xdc);
EXTERN_GUID( MF_TOPONODE_LOCKED, 0x494bbcf7, 0xb031, 0x4e38, 0x97, 0xc4, 0xd5, 0x42, 0x2d, 0xd6, 0x18, 0xdc);
EXTERN_GUID( MF_TOPONODE_WORKQUEUE_ID, 0x494bbcf8, 0xb031, 0x4e38, 0x97, 0xc4, 0xd5, 0x42, 0x2d, 0xd6, 0x18, 0xdc);
EXTERN_GUID( MF_TOPONODE_WORKQUEUE_MMCSS_CLASS, 0x494bbcf9, 0xb031, 0x4e38, 0x97, 0xc4, 0xd5, 0x42, 0x2d, 0xd6, 0x18, 0xdc);
EXTERN_GUID( MF_TOPONODE_DECRYPTOR, 0x494bbcfa, 0xb031, 0x4e38, 0x97, 0xc4, 0xd5, 0x42, 0x2d, 0xd6, 0x18, 0xdc);
EXTERN_GUID( MF_TOPONODE_DISCARDABLE, 0x494bbcfb, 0xb031, 0x4e38, 0x97, 0xc4, 0xd5, 0x42, 0x2d, 0xd6, 0x18, 0xdc);
EXTERN_GUID( MF_TOPONODE_ERROR_MAJORTYPE, 0x494bbcfd, 0xb031, 0x4e38, 0x97, 0xc4, 0xd5, 0x42, 0x2d, 0xd6, 0x18, 0xdc);
EXTERN_GUID( MF_TOPONODE_ERROR_SUBTYPE, 0x494bbcfe, 0xb031, 0x4e38, 0x97, 0xc4, 0xd5, 0x42, 0x2d, 0xd6, 0x18, 0xdc);
EXTERN_GUID( MF_TOPONODE_WORKQUEUE_MMCSS_TASKID, 0x494bbcff, 0xb031, 0x4e38, 0x97, 0xc4, 0xd5, 0x42, 0x2d, 0xd6, 0x18, 0xdc);
EXTERN_GUID( MF_TOPONODE_MARKIN_HERE, 0x494bbd00, 0xb031, 0x4e38, 0x97, 0xc4, 0xd5, 0x42, 0x2d, 0xd6, 0x18, 0xdc);
EXTERN_GUID( MF_TOPONODE_MARKOUT_HERE, 0x494bbd01, 0xb031, 0x4e38, 0x97, 0xc4, 0xd5, 0x42, 0x2d, 0xd6, 0x18, 0xdc);
EXTERN_GUID( MF_TOPONODE_DECODER, 0x494bbd02, 0xb031, 0x4e38, 0x97, 0xc4, 0xd5, 0x42, 0x2d, 0xd6, 0x18, 0xdc);
EXTERN_GUID( MF_TOPONODE_MEDIASTART, 0x835c58ea, 0xe075, 0x4bc7, 0xbc, 0xba, 0x4d, 0xe0, 0x00, 0xdf, 0x9a, 0xe6);
EXTERN_GUID( MF_TOPONODE_MEDIASTOP, 0x835c58eb, 0xe075, 0x4bc7, 0xbc, 0xba, 0x4d, 0xe0, 0x00, 0xdf, 0x9a, 0xe6);
EXTERN_GUID( MF_TOPONODE_SOURCE, 0x835c58ec, 0xe075, 0x4bc7, 0xbc, 0xba, 0x4d, 0xe0, 0x00, 0xdf, 0x9a, 0xe6);
EXTERN_GUID( MF_TOPONODE_PRESENTATION_DESCRIPTOR, 0x835c58ed, 0xe075, 0x4bc7, 0xbc, 0xba, 0x4d, 0xe0, 0x00, 0xdf, 0x9a, 0xe6);
EXTERN_GUID( MF_TOPONODE_STREAM_DESCRIPTOR, 0x835c58ee, 0xe075, 0x4bc7, 0xbc, 0xba, 0x4d, 0xe0, 0x00, 0xdf, 0x9a, 0xe6);
EXTERN_GUID( MF_TOPONODE_SEQUENCE_ELEMENTID, 0x835c58ef, 0xe075, 0x4bc7, 0xbc, 0xba, 0x4d, 0xe0, 0x00, 0xdf, 0x9a, 0xe6);
EXTERN_GUID( MF_TOPONODE_TRANSFORM_OBJECTID, 0x88dcc0c9, 0x293e, 0x4e8b, 0x9a, 0xeb, 0xa, 0xd6, 0x4c, 0xc0, 0x16, 0xb0);
EXTERN_GUID( MF_TOPONODE_STREAMID, 0x14932f9b, 0x9087, 0x4bb4, 0x84, 0x12, 0x51, 0x67, 0x14, 0x5c, 0xbe, 0x04);
EXTERN_GUID( MF_TOPONODE_NOSHUTDOWN_ON_REMOVE, 0x14932f9c, 0x9087, 0x4bb4, 0x84, 0x12, 0x51, 0x67, 0x14, 0x5c, 0xbe, 0x04);
EXTERN_GUID( MF_TOPONODE_RATELESS, 0x14932f9d, 0x9087, 0x4bb4, 0x84, 0x12, 0x51, 0x67, 0x14, 0x5c, 0xbe, 0x04);
EXTERN_GUID( MF_TOPONODE_DISABLE_PREROLL, 0x14932f9e, 0x9087, 0x4bb4, 0x84, 0x12, 0x51, 0x67, 0x14, 0x5c, 0xbe, 0x04);
EXTERN_GUID( MF_TOPONODE_PRIMARYOUTPUT, 0x6304ef99, 0x16b2, 0x4ebe, 0x9d, 0x67, 0xe4, 0xc5, 0x39, 0xb3, 0xa2, 0x59);
STDAPI MFCreateTopologyNode(
MF_TOPOLOGY_TYPE NodeType,
__out IMFTopologyNode ** ppNode );
#if (WINVER >= _WIN32_WINNT_WIN7)
STDAPI MFGetTopoNodeCurrentType(
IMFTopologyNode* pNode,
DWORD dwStreamIndex,
BOOL fOutput,
__deref_out IMFMediaType** ppType);
#endif // (WINVER >= _WIN32_WINNT_WIN7)
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0011_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0011_v0_0_s_ifspec;
#ifndef __IMFGetService_INTERFACE_DEFINED__
#define __IMFGetService_INTERFACE_DEFINED__
/* interface IMFGetService */
/* [uuid][object] */
EXTERN_C const IID IID_IMFGetService;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("fa993888-4383-415a-a930-dd472a8cf6f7")
IMFGetService : public IUnknown
{
public:
virtual HRESULT STDMETHODCALLTYPE GetService(
/* [in] */ __RPC__in REFGUID guidService,
/* [in] */ __RPC__in REFIID riid,
/* [iid_is][out] */ __RPC__deref_out_opt LPVOID *ppvObject) = 0;
};
#else /* C style interface */
typedef struct IMFGetServiceVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
__RPC__in IMFGetService * This,
/* [in] */ __RPC__in REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
__RPC__in IMFGetService * This);
ULONG ( STDMETHODCALLTYPE *Release )(
__RPC__in IMFGetService * This);
HRESULT ( STDMETHODCALLTYPE *GetService )(
__RPC__in IMFGetService * This,
/* [in] */ __RPC__in REFGUID guidService,
/* [in] */ __RPC__in REFIID riid,
/* [iid_is][out] */ __RPC__deref_out_opt LPVOID *ppvObject);
END_INTERFACE
} IMFGetServiceVtbl;
interface IMFGetService
{
CONST_VTBL struct IMFGetServiceVtbl *lpVtbl;
};
#ifdef COBJMACROS
#define IMFGetService_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
#define IMFGetService_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
#define IMFGetService_Release(This) \
( (This)->lpVtbl -> Release(This) )
#define IMFGetService_GetService(This,guidService,riid,ppvObject) \
( (This)->lpVtbl -> GetService(This,guidService,riid,ppvObject) )
#endif /* COBJMACROS */
#endif /* C style interface */
#endif /* __IMFGetService_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_mfidl_0000_0012 */
/* [local] */
STDAPI MFGetService(
IUnknown* punkObject,
REFGUID guidService,
REFIID riid,
__out LPVOID* ppvObject
);
typedef LONGLONG MFTIME;
typedef
enum _MFCLOCK_CHARACTERISTICS_FLAGS
{ MFCLOCK_CHARACTERISTICS_FLAG_FREQUENCY_10MHZ = 0x2,
MFCLOCK_CHARACTERISTICS_FLAG_ALWAYS_RUNNING = 0x4,
MFCLOCK_CHARACTERISTICS_FLAG_IS_SYSTEM_CLOCK = 0x8
} MFCLOCK_CHARACTERISTICS_FLAGS;
typedef
enum _MFCLOCK_STATE
{ MFCLOCK_STATE_INVALID = 0,
MFCLOCK_STATE_RUNNING = ( MFCLOCK_STATE_INVALID + 1 ) ,
MFCLOCK_STATE_STOPPED = ( MFCLOCK_STATE_RUNNING + 1 ) ,
MFCLOCK_STATE_PAUSED = ( MFCLOCK_STATE_STOPPED + 1 )
} MFCLOCK_STATE;
typedef
enum _MFCLOCK_RELATIONAL_FLAGS
{ MFCLOCK_RELATIONAL_FLAG_JITTER_NEVER_AHEAD = 0x1
} MFCLOCK_RELATIONAL_FLAGS;
typedef struct _MFCLOCK_PROPERTIES
{
unsigned __int64 qwCorrelationRate;
GUID guidClockId;
DWORD dwClockFlags;
unsigned __int64 qwClockFrequency;
DWORD dwClockTolerance;
DWORD dwClockJitter;
} MFCLOCK_PROPERTIES;
#define MFCLOCK_FREQUENCY_HNS 10000000
#define MFCLOCK_TOLERANCE_UNKNOWN 50000
#define MFCLOCK_JITTER_ISR 1000
#define MFCLOCK_JITTER_DPC 4000
#define MFCLOCK_JITTER_PASSIVE 10000
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0012_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0012_v0_0_s_ifspec;
#ifndef __IMFClock_INTERFACE_DEFINED__
#define __IMFClock_INTERFACE_DEFINED__
/* interface IMFClock */
/* [uuid][object] */
EXTERN_C const IID IID_IMFClock;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("2eb1e945-18b8-4139-9b1a-d5d584818530")
IMFClock : public IUnknown
{
public:
virtual HRESULT STDMETHODCALLTYPE GetClockCharacteristics(
/* [out] */ __RPC__out DWORD *pdwCharacteristics) = 0;
virtual HRESULT STDMETHODCALLTYPE GetCorrelatedTime(
/* [in] */ DWORD dwReserved,
/* [out] */ __RPC__out LONGLONG *pllClockTime,
/* [out] */ __RPC__out MFTIME *phnsSystemTime) = 0;
virtual HRESULT STDMETHODCALLTYPE GetContinuityKey(
/* [out] */ __RPC__out DWORD *pdwContinuityKey) = 0;
virtual HRESULT STDMETHODCALLTYPE GetState(
/* [in] */ DWORD dwReserved,
/* [out] */ __RPC__out MFCLOCK_STATE *peClockState) = 0;
virtual HRESULT STDMETHODCALLTYPE GetProperties(
/* [out] */ __RPC__out MFCLOCK_PROPERTIES *pClockProperties) = 0;
};
#else /* C style interface */
typedef struct IMFClockVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
__RPC__in IMFClock * This,
/* [in] */ __RPC__in REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
__RPC__in IMFClock * This);
ULONG ( STDMETHODCALLTYPE *Release )(
__RPC__in IMFClock * This);
HRESULT ( STDMETHODCALLTYPE *GetClockCharacteristics )(
__RPC__in IMFClock * This,
/* [out] */ __RPC__out DWORD *pdwCharacteristics);
HRESULT ( STDMETHODCALLTYPE *GetCorrelatedTime )(
__RPC__in IMFClock * This,
/* [in] */ DWORD dwReserved,
/* [out] */ __RPC__out LONGLONG *pllClockTime,
/* [out] */ __RPC__out MFTIME *phnsSystemTime);
HRESULT ( STDMETHODCALLTYPE *GetContinuityKey )(
__RPC__in IMFClock * This,
/* [out] */ __RPC__out DWORD *pdwContinuityKey);
HRESULT ( STDMETHODCALLTYPE *GetState )(
__RPC__in IMFClock * This,
/* [in] */ DWORD dwReserved,
/* [out] */ __RPC__out MFCLOCK_STATE *peClockState);
HRESULT ( STDMETHODCALLTYPE *GetProperties )(
__RPC__in IMFClock * This,
/* [out] */ __RPC__out MFCLOCK_PROPERTIES *pClockProperties);
END_INTERFACE
} IMFClockVtbl;
interface IMFClock
{
CONST_VTBL struct IMFClockVtbl *lpVtbl;
};
#ifdef COBJMACROS
#define IMFClock_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
#define IMFClock_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
#define IMFClock_Release(This) \
( (This)->lpVtbl -> Release(This) )
#define IMFClock_GetClockCharacteristics(This,pdwCharacteristics) \
( (This)->lpVtbl -> GetClockCharacteristics(This,pdwCharacteristics) )
#define IMFClock_GetCorrelatedTime(This,dwReserved,pllClockTime,phnsSystemTime) \
( (This)->lpVtbl -> GetCorrelatedTime(This,dwReserved,pllClockTime,phnsSystemTime) )
#define IMFClock_GetContinuityKey(This,pdwContinuityKey) \
( (This)->lpVtbl -> GetContinuityKey(This,pdwContinuityKey) )
#define IMFClock_GetState(This,dwReserved,peClockState) \
( (This)->lpVtbl -> GetState(This,dwReserved,peClockState) )
#define IMFClock_GetProperties(This,pClockProperties) \
( (This)->lpVtbl -> GetProperties(This,pClockProperties) )
#endif /* COBJMACROS */
#endif /* C style interface */
#endif /* __IMFClock_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_mfidl_0000_0013 */
/* [local] */
STDAPI_(MFTIME)
MFGetSystemTime(
);
#define PRESENTATION_CURRENT_POSITION 0x7fffffffffffffff
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0013_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0013_v0_0_s_ifspec;
#ifndef __IMFPresentationClock_INTERFACE_DEFINED__
#define __IMFPresentationClock_INTERFACE_DEFINED__
/* interface IMFPresentationClock */
/* [uuid][object] */
EXTERN_C const IID IID_IMFPresentationClock;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("868CE85C-8EA9-4f55-AB82-B009A910A805")
IMFPresentationClock : public IMFClock
{
public:
virtual HRESULT STDMETHODCALLTYPE SetTimeSource(
/* [in] */ __RPC__in_opt IMFPresentationTimeSource *pTimeSource) = 0;
virtual HRESULT STDMETHODCALLTYPE GetTimeSource(
/* [out] */ __RPC__deref_out_opt IMFPresentationTimeSource **ppTimeSource) = 0;
virtual HRESULT STDMETHODCALLTYPE GetTime(
/* [out] */ __RPC__out MFTIME *phnsClockTime) = 0;
virtual HRESULT STDMETHODCALLTYPE AddClockStateSink(
/* [in] */ __RPC__in_opt IMFClockStateSink *pStateSink) = 0;
virtual HRESULT STDMETHODCALLTYPE RemoveClockStateSink(
/* [in] */ __RPC__in_opt IMFClockStateSink *pStateSink) = 0;
virtual HRESULT STDMETHODCALLTYPE Start(
/* [in] */ LONGLONG llClockStartOffset) = 0;
virtual HRESULT STDMETHODCALLTYPE Stop( void) = 0;
virtual HRESULT STDMETHODCALLTYPE Pause( void) = 0;
};
#else /* C style interface */
typedef struct IMFPresentationClockVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
__RPC__in IMFPresentationClock * This,
/* [in] */ __RPC__in REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
__RPC__in IMFPresentationClock * This);
ULONG ( STDMETHODCALLTYPE *Release )(
__RPC__in IMFPresentationClock * This);
HRESULT ( STDMETHODCALLTYPE *GetClockCharacteristics )(
__RPC__in IMFPresentationClock * This,
/* [out] */ __RPC__out DWORD *pdwCharacteristics);
HRESULT ( STDMETHODCALLTYPE *GetCorrelatedTime )(
__RPC__in IMFPresentationClock * This,
/* [in] */ DWORD dwReserved,
/* [out] */ __RPC__out LONGLONG *pllClockTime,
/* [out] */ __RPC__out MFTIME *phnsSystemTime);
HRESULT ( STDMETHODCALLTYPE *GetContinuityKey )(
__RPC__in IMFPresentationClock * This,
/* [out] */ __RPC__out DWORD *pdwContinuityKey);
HRESULT ( STDMETHODCALLTYPE *GetState )(
__RPC__in IMFPresentationClock * This,
/* [in] */ DWORD dwReserved,
/* [out] */ __RPC__out MFCLOCK_STATE *peClockState);
HRESULT ( STDMETHODCALLTYPE *GetProperties )(
__RPC__in IMFPresentationClock * This,
/* [out] */ __RPC__out MFCLOCK_PROPERTIES *pClockProperties);
HRESULT ( STDMETHODCALLTYPE *SetTimeSource )(
__RPC__in IMFPresentationClock * This,
/* [in] */ __RPC__in_opt IMFPresentationTimeSource *pTimeSource);
HRESULT ( STDMETHODCALLTYPE *GetTimeSource )(
__RPC__in IMFPresentationClock * This,
/* [out] */ __RPC__deref_out_opt IMFPresentationTimeSource **ppTimeSource);
HRESULT ( STDMETHODCALLTYPE *GetTime )(
__RPC__in IMFPresentationClock * This,
/* [out] */ __RPC__out MFTIME *phnsClockTime);
HRESULT ( STDMETHODCALLTYPE *AddClockStateSink )(
__RPC__in IMFPresentationClock * This,
/* [in] */ __RPC__in_opt IMFClockStateSink *pStateSink);
HRESULT ( STDMETHODCALLTYPE *RemoveClockStateSink )(
__RPC__in IMFPresentationClock * This,
/* [in] */ __RPC__in_opt IMFClockStateSink *pStateSink);
HRESULT ( STDMETHODCALLTYPE *Start )(
__RPC__in IMFPresentationClock * This,
/* [in] */ LONGLONG llClockStartOffset);
HRESULT ( STDMETHODCALLTYPE *Stop )(
__RPC__in IMFPresentationClock * This);
HRESULT ( STDMETHODCALLTYPE *Pause )(
__RPC__in IMFPresentationClock * This);
END_INTERFACE
} IMFPresentationClockVtbl;
interface IMFPresentationClock
{
CONST_VTBL struct IMFPresentationClockVtbl *lpVtbl;
};
#ifdef COBJMACROS
#define IMFPresentationClock_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
#define IMFPresentationClock_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
#define IMFPresentationClock_Release(This) \
( (This)->lpVtbl -> Release(This) )
#define IMFPresentationClock_GetClockCharacteristics(This,pdwCharacteristics) \
( (This)->lpVtbl -> GetClockCharacteristics(This,pdwCharacteristics) )
#define IMFPresentationClock_GetCorrelatedTime(This,dwReserved,pllClockTime,phnsSystemTime) \
( (This)->lpVtbl -> GetCorrelatedTime(This,dwReserved,pllClockTime,phnsSystemTime) )
#define IMFPresentationClock_GetContinuityKey(This,pdwContinuityKey) \
( (This)->lpVtbl -> GetContinuityKey(This,pdwContinuityKey) )
#define IMFPresentationClock_GetState(This,dwReserved,peClockState) \
( (This)->lpVtbl -> GetState(This,dwReserved,peClockState) )
#define IMFPresentationClock_GetProperties(This,pClockProperties) \
( (This)->lpVtbl -> GetProperties(This,pClockProperties) )
#define IMFPresentationClock_SetTimeSource(This,pTimeSource) \
( (This)->lpVtbl -> SetTimeSource(This,pTimeSource) )
#define IMFPresentationClock_GetTimeSource(This,ppTimeSource) \
( (This)->lpVtbl -> GetTimeSource(This,ppTimeSource) )
#define IMFPresentationClock_GetTime(This,phnsClockTime) \
( (This)->lpVtbl -> GetTime(This,phnsClockTime) )
#define IMFPresentationClock_AddClockStateSink(This,pStateSink) \
( (This)->lpVtbl -> AddClockStateSink(This,pStateSink) )
#define IMFPresentationClock_RemoveClockStateSink(This,pStateSink) \
( (This)->lpVtbl -> RemoveClockStateSink(This,pStateSink) )
#define IMFPresentationClock_Start(This,llClockStartOffset) \
( (This)->lpVtbl -> Start(This,llClockStartOffset) )
#define IMFPresentationClock_Stop(This) \
( (This)->lpVtbl -> Stop(This) )
#define IMFPresentationClock_Pause(This) \
( (This)->lpVtbl -> Pause(This) )
#endif /* COBJMACROS */
#endif /* C style interface */
#endif /* __IMFPresentationClock_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_mfidl_0000_0014 */
/* [local] */
STDAPI MFCreatePresentationClock(
__out IMFPresentationClock** ppPresentationClock
);
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0014_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0014_v0_0_s_ifspec;
#ifndef __IMFPresentationTimeSource_INTERFACE_DEFINED__
#define __IMFPresentationTimeSource_INTERFACE_DEFINED__
/* interface IMFPresentationTimeSource */
/* [uuid][object] */
EXTERN_C const IID IID_IMFPresentationTimeSource;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("7FF12CCE-F76F-41c2-863B-1666C8E5E139")
IMFPresentationTimeSource : public IMFClock
{
public:
virtual HRESULT STDMETHODCALLTYPE GetUnderlyingClock(
/* [out] */ __RPC__deref_out_opt IMFClock **ppClock) = 0;
};
#else /* C style interface */
typedef struct IMFPresentationTimeSourceVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
__RPC__in IMFPresentationTimeSource * This,
/* [in] */ __RPC__in REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
__RPC__in IMFPresentationTimeSource * This);
ULONG ( STDMETHODCALLTYPE *Release )(
__RPC__in IMFPresentationTimeSource * This);
HRESULT ( STDMETHODCALLTYPE *GetClockCharacteristics )(
__RPC__in IMFPresentationTimeSource * This,
/* [out] */ __RPC__out DWORD *pdwCharacteristics);
HRESULT ( STDMETHODCALLTYPE *GetCorrelatedTime )(
__RPC__in IMFPresentationTimeSource * This,
/* [in] */ DWORD dwReserved,
/* [out] */ __RPC__out LONGLONG *pllClockTime,
/* [out] */ __RPC__out MFTIME *phnsSystemTime);
HRESULT ( STDMETHODCALLTYPE *GetContinuityKey )(
__RPC__in IMFPresentationTimeSource * This,
/* [out] */ __RPC__out DWORD *pdwContinuityKey);
HRESULT ( STDMETHODCALLTYPE *GetState )(
__RPC__in IMFPresentationTimeSource * This,
/* [in] */ DWORD dwReserved,
/* [out] */ __RPC__out MFCLOCK_STATE *peClockState);
HRESULT ( STDMETHODCALLTYPE *GetProperties )(
__RPC__in IMFPresentationTimeSource * This,
/* [out] */ __RPC__out MFCLOCK_PROPERTIES *pClockProperties);
HRESULT ( STDMETHODCALLTYPE *GetUnderlyingClock )(
__RPC__in IMFPresentationTimeSource * This,
/* [out] */ __RPC__deref_out_opt IMFClock **ppClock);
END_INTERFACE
} IMFPresentationTimeSourceVtbl;
interface IMFPresentationTimeSource
{
CONST_VTBL struct IMFPresentationTimeSourceVtbl *lpVtbl;
};
#ifdef COBJMACROS
#define IMFPresentationTimeSource_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
#define IMFPresentationTimeSource_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
#define IMFPresentationTimeSource_Release(This) \
( (This)->lpVtbl -> Release(This) )
#define IMFPresentationTimeSource_GetClockCharacteristics(This,pdwCharacteristics) \
( (This)->lpVtbl -> GetClockCharacteristics(This,pdwCharacteristics) )
#define IMFPresentationTimeSource_GetCorrelatedTime(This,dwReserved,pllClockTime,phnsSystemTime) \
( (This)->lpVtbl -> GetCorrelatedTime(This,dwReserved,pllClockTime,phnsSystemTime) )
#define IMFPresentationTimeSource_GetContinuityKey(This,pdwContinuityKey) \
( (This)->lpVtbl -> GetContinuityKey(This,pdwContinuityKey) )
#define IMFPresentationTimeSource_GetState(This,dwReserved,peClockState) \
( (This)->lpVtbl -> GetState(This,dwReserved,peClockState) )
#define IMFPresentationTimeSource_GetProperties(This,pClockProperties) \
( (This)->lpVtbl -> GetProperties(This,pClockProperties) )
#define IMFPresentationTimeSource_GetUnderlyingClock(This,ppClock) \
( (This)->lpVtbl -> GetUnderlyingClock(This,ppClock) )
#endif /* COBJMACROS */
#endif /* C style interface */
#endif /* __IMFPresentationTimeSource_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_mfidl_0000_0015 */
/* [local] */
STDAPI
MFCreateSystemTimeSource(
__out IMFPresentationTimeSource** ppSystemTimeSource
);
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0015_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0015_v0_0_s_ifspec;
#ifndef __IMFClockStateSink_INTERFACE_DEFINED__
#define __IMFClockStateSink_INTERFACE_DEFINED__
/* interface IMFClockStateSink */
/* [uuid][object] */
EXTERN_C const IID IID_IMFClockStateSink;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("F6696E82-74F7-4f3d-A178-8A5E09C3659F")
IMFClockStateSink : public IUnknown
{
public:
virtual HRESULT STDMETHODCALLTYPE OnClockStart(
/* [in] */ MFTIME hnsSystemTime,
/* [in] */ LONGLONG llClockStartOffset) = 0;
virtual HRESULT STDMETHODCALLTYPE OnClockStop(
/* [in] */ MFTIME hnsSystemTime) = 0;
virtual HRESULT STDMETHODCALLTYPE OnClockPause(
/* [in] */ MFTIME hnsSystemTime) = 0;
virtual HRESULT STDMETHODCALLTYPE OnClockRestart(
/* [in] */ MFTIME hnsSystemTime) = 0;
virtual HRESULT STDMETHODCALLTYPE OnClockSetRate(
/* [in] */ MFTIME hnsSystemTime,
/* [in] */ float flRate) = 0;
};
#else /* C style interface */
typedef struct IMFClockStateSinkVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
__RPC__in IMFClockStateSink * This,
/* [in] */ __RPC__in REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
__RPC__in IMFClockStateSink * This);
ULONG ( STDMETHODCALLTYPE *Release )(
__RPC__in IMFClockStateSink * This);
HRESULT ( STDMETHODCALLTYPE *OnClockStart )(
__RPC__in IMFClockStateSink * This,
/* [in] */ MFTIME hnsSystemTime,
/* [in] */ LONGLONG llClockStartOffset);
HRESULT ( STDMETHODCALLTYPE *OnClockStop )(
__RPC__in IMFClockStateSink * This,
/* [in] */ MFTIME hnsSystemTime);
HRESULT ( STDMETHODCALLTYPE *OnClockPause )(
__RPC__in IMFClockStateSink * This,
/* [in] */ MFTIME hnsSystemTime);
HRESULT ( STDMETHODCALLTYPE *OnClockRestart )(
__RPC__in IMFClockStateSink * This,
/* [in] */ MFTIME hnsSystemTime);
HRESULT ( STDMETHODCALLTYPE *OnClockSetRate )(
__RPC__in IMFClockStateSink * This,
/* [in] */ MFTIME hnsSystemTime,
/* [in] */ float flRate);
END_INTERFACE
} IMFClockStateSinkVtbl;
interface IMFClockStateSink
{
CONST_VTBL struct IMFClockStateSinkVtbl *lpVtbl;
};
#ifdef COBJMACROS
#define IMFClockStateSink_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
#define IMFClockStateSink_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
#define IMFClockStateSink_Release(This) \
( (This)->lpVtbl -> Release(This) )
#define IMFClockStateSink_OnClockStart(This,hnsSystemTime,llClockStartOffset) \
( (This)->lpVtbl -> OnClockStart(This,hnsSystemTime,llClockStartOffset) )
#define IMFClockStateSink_OnClockStop(This,hnsSystemTime) \
( (This)->lpVtbl -> OnClockStop(This,hnsSystemTime) )
#define IMFClockStateSink_OnClockPause(This,hnsSystemTime) \
( (This)->lpVtbl -> OnClockPause(This,hnsSystemTime) )
#define IMFClockStateSink_OnClockRestart(This,hnsSystemTime) \
( (This)->lpVtbl -> OnClockRestart(This,hnsSystemTime) )
#define IMFClockStateSink_OnClockSetRate(This,hnsSystemTime,flRate) \
( (This)->lpVtbl -> OnClockSetRate(This,hnsSystemTime,flRate) )
#endif /* COBJMACROS */
#endif /* C style interface */
#endif /* __IMFClockStateSink_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_mfidl_0000_0016 */
/* [local] */
EXTERN_GUID( MF_PD_PMPHOST_CONTEXT, 0x6c990d31, 0xbb8e, 0x477a, 0x85, 0x98, 0xd, 0x5d, 0x96, 0xfc, 0xd8, 0x8a );
EXTERN_GUID( MF_PD_APP_CONTEXT, 0x6c990d32, 0xbb8e, 0x477a, 0x85, 0x98, 0xd, 0x5d, 0x96, 0xfc, 0xd8, 0x8a );
EXTERN_GUID( MF_PD_DURATION, 0x6c990d33, 0xbb8e, 0x477a, 0x85, 0x98, 0xd, 0x5d, 0x96, 0xfc, 0xd8, 0x8a );
EXTERN_GUID( MF_PD_TOTAL_FILE_SIZE, 0x6c990d34, 0xbb8e, 0x477a, 0x85, 0x98, 0xd, 0x5d, 0x96, 0xfc, 0xd8, 0x8a );
EXTERN_GUID( MF_PD_AUDIO_ENCODING_BITRATE, 0x6c990d35, 0xbb8e, 0x477a, 0x85, 0x98, 0xd, 0x5d, 0x96, 0xfc, 0xd8, 0x8a );
EXTERN_GUID( MF_PD_VIDEO_ENCODING_BITRATE, 0x6c990d36, 0xbb8e, 0x477a, 0x85, 0x98, 0xd, 0x5d, 0x96, 0xfc, 0xd8, 0x8a );
EXTERN_GUID( MF_PD_MIME_TYPE, 0x6c990d37, 0xbb8e, 0x477a, 0x85, 0x98, 0xd, 0x5d, 0x96, 0xfc, 0xd8, 0x8a );
EXTERN_GUID(MF_PD_LAST_MODIFIED_TIME, 0x6c990d38, 0xbb8e, 0x477a, 0x85, 0x98, 0xd, 0x5d, 0x96, 0xfc, 0xd8, 0x8a );
#if (WINVER >= _WIN32_WINNT_WIN7)
EXTERN_GUID(MF_PD_PLAYBACK_ELEMENT_ID, 0x6c990d39, 0xbb8e, 0x477a, 0x85, 0x98, 0xd, 0x5d, 0x96, 0xfc, 0xd8, 0x8a );
EXTERN_GUID( MF_PD_PREFERRED_LANGUAGE, 0x6c990d3A, 0xbb8e, 0x477a, 0x85, 0x98, 0xd, 0x5d, 0x96, 0xfc, 0xd8, 0x8a );
EXTERN_GUID(MF_PD_PLAYBACK_BOUNDARY_TIME, 0x6c990d3b, 0xbb8e, 0x477a, 0x85, 0x98, 0xd, 0x5d, 0x96, 0xfc, 0xd8, 0x8a );
EXTERN_GUID( MF_PD_AUDIO_ISVARIABLEBITRATE, 0x33026ee0, 0xe387, 0x4582, 0xae, 0x0a, 0x34, 0xa2, 0xad, 0x3b, 0xaa, 0x18 );
#endif // (WINVER >= _WIN32_WINNT_WIN7)
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0016_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0016_v0_0_s_ifspec;
#ifndef __IMFPresentationDescriptor_INTERFACE_DEFINED__
#define __IMFPresentationDescriptor_INTERFACE_DEFINED__
/* interface IMFPresentationDescriptor */
/* [uuid][object] */
EXTERN_C const IID IID_IMFPresentationDescriptor;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("03cb2711-24d7-4db6-a17f-f3a7a479a536")
IMFPresentationDescriptor : public IMFAttributes
{
public:
virtual HRESULT STDMETHODCALLTYPE GetStreamDescriptorCount(
/* [out] */ __RPC__out DWORD *pdwDescriptorCount) = 0;
virtual HRESULT STDMETHODCALLTYPE GetStreamDescriptorByIndex(
/* [in] */ DWORD dwIndex,
/* [out] */ __RPC__out BOOL *pfSelected,
/* [out] */ __RPC__deref_out_opt IMFStreamDescriptor **ppDescriptor) = 0;
virtual HRESULT STDMETHODCALLTYPE SelectStream(
/* [in] */ DWORD dwDescriptorIndex) = 0;
virtual HRESULT STDMETHODCALLTYPE DeselectStream(
/* [in] */ DWORD dwDescriptorIndex) = 0;
virtual HRESULT STDMETHODCALLTYPE Clone(
/* [out] */ __RPC__deref_out_opt IMFPresentationDescriptor **ppPresentationDescriptor) = 0;
};
#else /* C style interface */
typedef struct IMFPresentationDescriptorVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
__RPC__in IMFPresentationDescriptor * This,
/* [in] */ __RPC__in REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
__RPC__in IMFPresentationDescriptor * This);
ULONG ( STDMETHODCALLTYPE *Release )(
__RPC__in IMFPresentationDescriptor * This);
HRESULT ( STDMETHODCALLTYPE *GetItem )(
__RPC__in IMFPresentationDescriptor * This,
__RPC__in REFGUID guidKey,
/* [full][out][in] */ __RPC__inout_opt PROPVARIANT *pValue);
HRESULT ( STDMETHODCALLTYPE *GetItemType )(
__RPC__in IMFPresentationDescriptor * This,
__RPC__in REFGUID guidKey,
/* [out] */ __RPC__out MF_ATTRIBUTE_TYPE *pType);
HRESULT ( STDMETHODCALLTYPE *CompareItem )(
__RPC__in IMFPresentationDescriptor * This,
__RPC__in REFGUID guidKey,
__RPC__in REFPROPVARIANT Value,
/* [out] */ __RPC__out BOOL *pbResult);
HRESULT ( STDMETHODCALLTYPE *Compare )(
__RPC__in IMFPresentationDescriptor * This,
__RPC__in_opt IMFAttributes *pTheirs,
MF_ATTRIBUTES_MATCH_TYPE MatchType,
/* [out] */ __RPC__out BOOL *pbResult);
HRESULT ( STDMETHODCALLTYPE *GetUINT32 )(
__RPC__in IMFPresentationDescriptor * This,
__RPC__in REFGUID guidKey,
/* [out] */ __RPC__out UINT32 *punValue);
HRESULT ( STDMETHODCALLTYPE *GetUINT64 )(
__RPC__in IMFPresentationDescriptor * This,
__RPC__in REFGUID guidKey,
/* [out] */ __RPC__out UINT64 *punValue);
HRESULT ( STDMETHODCALLTYPE *GetDouble )(
__RPC__in IMFPresentationDescriptor * This,
__RPC__in REFGUID guidKey,
/* [out] */ __RPC__out double *pfValue);
HRESULT ( STDMETHODCALLTYPE *GetGUID )(
__RPC__in IMFPresentationDescriptor * This,
__RPC__in REFGUID guidKey,
/* [out] */ __RPC__out GUID *pguidValue);
HRESULT ( STDMETHODCALLTYPE *GetStringLength )(
__RPC__in IMFPresentationDescriptor * This,
__RPC__in REFGUID guidKey,
/* [out] */ __RPC__out UINT32 *pcchLength);
HRESULT ( STDMETHODCALLTYPE *GetString )(
__RPC__in IMFPresentationDescriptor * This,
__RPC__in REFGUID guidKey,
/* [size_is][out] */ __RPC__out_ecount_full(cchBufSize) LPWSTR pwszValue,
UINT32 cchBufSize,
/* [full][out][in] */ __RPC__inout_opt UINT32 *pcchLength);
HRESULT ( STDMETHODCALLTYPE *GetAllocatedString )(
__RPC__in IMFPresentationDescriptor * This,
__RPC__in REFGUID guidKey,
/* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(( *pcchLength + 1 ) ) LPWSTR *ppwszValue,
/* [out] */ __RPC__out UINT32 *pcchLength);
HRESULT ( STDMETHODCALLTYPE *GetBlobSize )(
__RPC__in IMFPresentationDescriptor * This,
__RPC__in REFGUID guidKey,
/* [out] */ __RPC__out UINT32 *pcbBlobSize);
HRESULT ( STDMETHODCALLTYPE *GetBlob )(
__RPC__in IMFPresentationDescriptor * This,
__RPC__in REFGUID guidKey,
/* [size_is][out] */ __RPC__out_ecount_full(cbBufSize) UINT8 *pBuf,
UINT32 cbBufSize,
/* [full][out][in] */ __RPC__inout_opt UINT32 *pcbBlobSize);
HRESULT ( STDMETHODCALLTYPE *GetAllocatedBlob )(
__RPC__in IMFPresentationDescriptor * This,
__RPC__in REFGUID guidKey,
/* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pcbSize) UINT8 **ppBuf,
/* [out] */ __RPC__out UINT32 *pcbSize);
HRESULT ( STDMETHODCALLTYPE *GetUnknown )(
__RPC__in IMFPresentationDescriptor * This,
__RPC__in REFGUID guidKey,
__RPC__in REFIID riid,
/* [iid_is][out] */ __RPC__deref_out_opt LPVOID *ppv);
HRESULT ( STDMETHODCALLTYPE *SetItem )(
__RPC__in IMFPresentationDescriptor * This,
__RPC__in REFGUID guidKey,
__RPC__in REFPROPVARIANT Value);
HRESULT ( STDMETHODCALLTYPE *DeleteItem )(
__RPC__in IMFPresentationDescriptor * This,
__RPC__in REFGUID guidKey);
HRESULT ( STDMETHODCALLTYPE *DeleteAllItems )(
__RPC__in IMFPresentationDescriptor * This);
HRESULT ( STDMETHODCALLTYPE *SetUINT32 )(
__RPC__in IMFPresentationDescriptor * This,
__RPC__in REFGUID guidKey,
UINT32 unValue);
HRESULT ( STDMETHODCALLTYPE *SetUINT64 )(
__RPC__in IMFPresentationDescriptor * This,
__RPC__in REFGUID guidKey,
UINT64 unValue);
HRESULT ( STDMETHODCALLTYPE *SetDouble )(
__RPC__in IMFPresentationDescriptor * This,
__RPC__in REFGUID guidKey,
double fValue);
HRESULT ( STDMETHODCALLTYPE *SetGUID )(
__RPC__in IMFPresentationDescriptor * This,
__RPC__in REFGUID guidKey,
__RPC__in REFGUID guidValue);
HRESULT ( STDMETHODCALLTYPE *SetString )(
__RPC__in IMFPresentationDescriptor * This,
__RPC__in REFGUID guidKey,
/* [string][in] */ __RPC__in_string LPCWSTR wszValue);
HRESULT ( STDMETHODCALLTYPE *SetBlob )(
__RPC__in IMFPresentationDescriptor * This,
__RPC__in REFGUID guidKey,
/* [size_is][in] */ __RPC__in_ecount_full(cbBufSize) const UINT8 *pBuf,
UINT32 cbBufSize);
HRESULT ( STDMETHODCALLTYPE *SetUnknown )(
__RPC__in IMFPresentationDescriptor * This,
__RPC__in REFGUID guidKey,
/* [in] */ __RPC__in_opt IUnknown *pUnknown);
HRESULT ( STDMETHODCALLTYPE *LockStore )(
__RPC__in IMFPresentationDescriptor * This);
HRESULT ( STDMETHODCALLTYPE *UnlockStore )(
__RPC__in IMFPresentationDescriptor * This);
HRESULT ( STDMETHODCALLTYPE *GetCount )(
__RPC__in IMFPresentationDescriptor * This,
/* [out] */ __RPC__out UINT32 *pcItems);
HRESULT ( STDMETHODCALLTYPE *GetItemByIndex )(
__RPC__in IMFPresentationDescriptor * This,
UINT32 unIndex,
/* [out] */ __RPC__out GUID *pguidKey,
/* [full][out][in] */ __RPC__inout_opt PROPVARIANT *pValue);
HRESULT ( STDMETHODCALLTYPE *CopyAllItems )(
__RPC__in IMFPresentationDescriptor * This,
/* [in] */ __RPC__in_opt IMFAttributes *pDest);
HRESULT ( STDMETHODCALLTYPE *GetStreamDescriptorCount )(
__RPC__in IMFPresentationDescriptor * This,
/* [out] */ __RPC__out DWORD *pdwDescriptorCount);
HRESULT ( STDMETHODCALLTYPE *GetStreamDescriptorByIndex )(
__RPC__in IMFPresentationDescriptor * This,
/* [in] */ DWORD dwIndex,
/* [out] */ __RPC__out BOOL *pfSelected,
/* [out] */ __RPC__deref_out_opt IMFStreamDescriptor **ppDescriptor);
HRESULT ( STDMETHODCALLTYPE *SelectStream )(
__RPC__in IMFPresentationDescriptor * This,
/* [in] */ DWORD dwDescriptorIndex);
HRESULT ( STDMETHODCALLTYPE *DeselectStream )(
__RPC__in IMFPresentationDescriptor * This,
/* [in] */ DWORD dwDescriptorIndex);
HRESULT ( STDMETHODCALLTYPE *Clone )(
__RPC__in IMFPresentationDescriptor * This,
/* [out] */ __RPC__deref_out_opt IMFPresentationDescriptor **ppPresentationDescriptor);
END_INTERFACE
} IMFPresentationDescriptorVtbl;
interface IMFPresentationDescriptor
{
CONST_VTBL struct IMFPresentationDescriptorVtbl *lpVtbl;
};
#ifdef COBJMACROS
#define IMFPresentationDescriptor_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
#define IMFPresentationDescriptor_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
#define IMFPresentationDescriptor_Release(This) \
( (This)->lpVtbl -> Release(This) )
#define IMFPresentationDescriptor_GetItem(This,guidKey,pValue) \
( (This)->lpVtbl -> GetItem(This,guidKey,pValue) )
#define IMFPresentationDescriptor_GetItemType(This,guidKey,pType) \
( (This)->lpVtbl -> GetItemType(This,guidKey,pType) )
#define IMFPresentationDescriptor_CompareItem(This,guidKey,Value,pbResult) \
( (This)->lpVtbl -> CompareItem(This,guidKey,Value,pbResult) )
#define IMFPresentationDescriptor_Compare(This,pTheirs,MatchType,pbResult) \
( (This)->lpVtbl -> Compare(This,pTheirs,MatchType,pbResult) )
#define IMFPresentationDescriptor_GetUINT32(This,guidKey,punValue) \
( (This)->lpVtbl -> GetUINT32(This,guidKey,punValue) )
#define IMFPresentationDescriptor_GetUINT64(This,guidKey,punValue) \
( (This)->lpVtbl -> GetUINT64(This,guidKey,punValue) )
#define IMFPresentationDescriptor_GetDouble(This,guidKey,pfValue) \
( (This)->lpVtbl -> GetDouble(This,guidKey,pfValue) )
#define IMFPresentationDescriptor_GetGUID(This,guidKey,pguidValue) \
( (This)->lpVtbl -> GetGUID(This,guidKey,pguidValue) )
#define IMFPresentationDescriptor_GetStringLength(This,guidKey,pcchLength) \
( (This)->lpVtbl -> GetStringLength(This,guidKey,pcchLength) )
#define IMFPresentationDescriptor_GetString(This,guidKey,pwszValue,cchBufSize,pcchLength) \
( (This)->lpVtbl -> GetString(This,guidKey,pwszValue,cchBufSize,pcchLength) )
#define IMFPresentationDescriptor_GetAllocatedString(This,guidKey,ppwszValue,pcchLength) \
( (This)->lpVtbl -> GetAllocatedString(This,guidKey,ppwszValue,pcchLength) )
#define IMFPresentationDescriptor_GetBlobSize(This,guidKey,pcbBlobSize) \
( (This)->lpVtbl -> GetBlobSize(This,guidKey,pcbBlobSize) )
#define IMFPresentationDescriptor_GetBlob(This,guidKey,pBuf,cbBufSize,pcbBlobSize) \
( (This)->lpVtbl -> GetBlob(This,guidKey,pBuf,cbBufSize,pcbBlobSize) )
#define IMFPresentationDescriptor_GetAllocatedBlob(This,guidKey,ppBuf,pcbSize) \
( (This)->lpVtbl -> GetAllocatedBlob(This,guidKey,ppBuf,pcbSize) )
#define IMFPresentationDescriptor_GetUnknown(This,guidKey,riid,ppv) \
( (This)->lpVtbl -> GetUnknown(This,guidKey,riid,ppv) )
#define IMFPresentationDescriptor_SetItem(This,guidKey,Value) \
( (This)->lpVtbl -> SetItem(This,guidKey,Value) )
#define IMFPresentationDescriptor_DeleteItem(This,guidKey) \
( (This)->lpVtbl -> DeleteItem(This,guidKey) )
#define IMFPresentationDescriptor_DeleteAllItems(This) \
( (This)->lpVtbl -> DeleteAllItems(This) )
#define IMFPresentationDescriptor_SetUINT32(This,guidKey,unValue) \
( (This)->lpVtbl -> SetUINT32(This,guidKey,unValue) )
#define IMFPresentationDescriptor_SetUINT64(This,guidKey,unValue) \
( (This)->lpVtbl -> SetUINT64(This,guidKey,unValue) )
#define IMFPresentationDescriptor_SetDouble(This,guidKey,fValue) \
( (This)->lpVtbl -> SetDouble(This,guidKey,fValue) )
#define IMFPresentationDescriptor_SetGUID(This,guidKey,guidValue) \
( (This)->lpVtbl -> SetGUID(This,guidKey,guidValue) )
#define IMFPresentationDescriptor_SetString(This,guidKey,wszValue) \
( (This)->lpVtbl -> SetString(This,guidKey,wszValue) )
#define IMFPresentationDescriptor_SetBlob(This,guidKey,pBuf,cbBufSize) \
( (This)->lpVtbl -> SetBlob(This,guidKey,pBuf,cbBufSize) )
#define IMFPresentationDescriptor_SetUnknown(This,guidKey,pUnknown) \
( (This)->lpVtbl -> SetUnknown(This,guidKey,pUnknown) )
#define IMFPresentationDescriptor_LockStore(This) \
( (This)->lpVtbl -> LockStore(This) )
#define IMFPresentationDescriptor_UnlockStore(This) \
( (This)->lpVtbl -> UnlockStore(This) )
#define IMFPresentationDescriptor_GetCount(This,pcItems) \
( (This)->lpVtbl -> GetCount(This,pcItems) )
#define IMFPresentationDescriptor_GetItemByIndex(This,unIndex,pguidKey,pValue) \
( (This)->lpVtbl -> GetItemByIndex(This,unIndex,pguidKey,pValue) )
#define IMFPresentationDescriptor_CopyAllItems(This,pDest) \
( (This)->lpVtbl -> CopyAllItems(This,pDest) )
#define IMFPresentationDescriptor_GetStreamDescriptorCount(This,pdwDescriptorCount) \
( (This)->lpVtbl -> GetStreamDescriptorCount(This,pdwDescriptorCount) )
#define IMFPresentationDescriptor_GetStreamDescriptorByIndex(This,dwIndex,pfSelected,ppDescriptor) \
( (This)->lpVtbl -> GetStreamDescriptorByIndex(This,dwIndex,pfSelected,ppDescriptor) )
#define IMFPresentationDescriptor_SelectStream(This,dwDescriptorIndex) \
( (This)->lpVtbl -> SelectStream(This,dwDescriptorIndex) )
#define IMFPresentationDescriptor_DeselectStream(This,dwDescriptorIndex) \
( (This)->lpVtbl -> DeselectStream(This,dwDescriptorIndex) )
#define IMFPresentationDescriptor_Clone(This,ppPresentationDescriptor) \
( (This)->lpVtbl -> Clone(This,ppPresentationDescriptor) )
#endif /* COBJMACROS */
#endif /* C style interface */
#endif /* __IMFPresentationDescriptor_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_mfidl_0000_0017 */
/* [local] */
STDAPI MFCreatePresentationDescriptor(
DWORD cStreamDescriptors,
__in_ecount_opt( cStreamDescriptors ) IMFStreamDescriptor** apStreamDescriptors,
__deref_out IMFPresentationDescriptor** ppPresentationDescriptor
);
STDAPI MFRequireProtectedEnvironment(
__in IMFPresentationDescriptor* pPresentationDescriptor
);
STDAPI MFSerializePresentationDescriptor(
__in IMFPresentationDescriptor * pPD,
__out DWORD * pcbData,
__deref_out_bcount_full(*pcbData) BYTE ** ppbData);
STDAPI MFDeserializePresentationDescriptor(
__in DWORD cbData,
__in_ecount( cbData ) BYTE * pbData,
__deref_out IMFPresentationDescriptor ** ppPD);
EXTERN_GUID(MF_SD_LANGUAGE, 0xaf2180, 0xbdc2, 0x423c, 0xab, 0xca, 0xf5, 0x3, 0x59, 0x3b, 0xc1, 0x21);
EXTERN_GUID(MF_SD_PROTECTED, 0xaf2181, 0xbdc2, 0x423c, 0xab, 0xca, 0xf5, 0x3, 0x59, 0x3b, 0xc1, 0x21);
EXTERN_GUID(MF_SD_STREAM_NAME, 0x4f1b099d, 0xd314, 0x41e5, 0xa7, 0x81, 0x7f, 0xef, 0xaa, 0x4c, 0x50, 0x1f);
EXTERN_GUID(MF_SD_MUTUALLY_EXCLUSIVE, 0x23ef79c, 0x388d, 0x487f, 0xac, 0x17, 0x69, 0x6c, 0xd6, 0xe3, 0xc6, 0xf5);
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0017_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0017_v0_0_s_ifspec;
#ifndef __IMFStreamDescriptor_INTERFACE_DEFINED__
#define __IMFStreamDescriptor_INTERFACE_DEFINED__
/* interface IMFStreamDescriptor */
/* [uuid][object] */
EXTERN_C const IID IID_IMFStreamDescriptor;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("56c03d9c-9dbb-45f5-ab4b-d80f47c05938")
IMFStreamDescriptor : public IMFAttributes
{
public:
virtual HRESULT STDMETHODCALLTYPE GetStreamIdentifier(
/* [out] */ __RPC__out DWORD *pdwStreamIdentifier) = 0;
virtual HRESULT STDMETHODCALLTYPE GetMediaTypeHandler(
/* [out] */ __RPC__deref_out_opt IMFMediaTypeHandler **ppMediaTypeHandler) = 0;
};
#else /* C style interface */
typedef struct IMFStreamDescriptorVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
__RPC__in IMFStreamDescriptor * This,
/* [in] */ __RPC__in REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
__RPC__in IMFStreamDescriptor * This);
ULONG ( STDMETHODCALLTYPE *Release )(
__RPC__in IMFStreamDescriptor * This);
HRESULT ( STDMETHODCALLTYPE *GetItem )(
__RPC__in IMFStreamDescriptor * This,
__RPC__in REFGUID guidKey,
/* [full][out][in] */ __RPC__inout_opt PROPVARIANT *pValue);
HRESULT ( STDMETHODCALLTYPE *GetItemType )(
__RPC__in IMFStreamDescriptor * This,
__RPC__in REFGUID guidKey,
/* [out] */ __RPC__out MF_ATTRIBUTE_TYPE *pType);
HRESULT ( STDMETHODCALLTYPE *CompareItem )(
__RPC__in IMFStreamDescriptor * This,
__RPC__in REFGUID guidKey,
__RPC__in REFPROPVARIANT Value,
/* [out] */ __RPC__out BOOL *pbResult);
HRESULT ( STDMETHODCALLTYPE *Compare )(
__RPC__in IMFStreamDescriptor * This,
__RPC__in_opt IMFAttributes *pTheirs,
MF_ATTRIBUTES_MATCH_TYPE MatchType,
/* [out] */ __RPC__out BOOL *pbResult);
HRESULT ( STDMETHODCALLTYPE *GetUINT32 )(
__RPC__in IMFStreamDescriptor * This,
__RPC__in REFGUID guidKey,
/* [out] */ __RPC__out UINT32 *punValue);
HRESULT ( STDMETHODCALLTYPE *GetUINT64 )(
__RPC__in IMFStreamDescriptor * This,
__RPC__in REFGUID guidKey,
/* [out] */ __RPC__out UINT64 *punValue);
HRESULT ( STDMETHODCALLTYPE *GetDouble )(
__RPC__in IMFStreamDescriptor * This,
__RPC__in REFGUID guidKey,
/* [out] */ __RPC__out double *pfValue);
HRESULT ( STDMETHODCALLTYPE *GetGUID )(
__RPC__in IMFStreamDescriptor * This,
__RPC__in REFGUID guidKey,
/* [out] */ __RPC__out GUID *pguidValue);
HRESULT ( STDMETHODCALLTYPE *GetStringLength )(
__RPC__in IMFStreamDescriptor * This,
__RPC__in REFGUID guidKey,
/* [out] */ __RPC__out UINT32 *pcchLength);
HRESULT ( STDMETHODCALLTYPE *GetString )(
__RPC__in IMFStreamDescriptor * This,
__RPC__in REFGUID guidKey,
/* [size_is][out] */ __RPC__out_ecount_full(cchBufSize) LPWSTR pwszValue,
UINT32 cchBufSize,
/* [full][out][in] */ __RPC__inout_opt UINT32 *pcchLength);
HRESULT ( STDMETHODCALLTYPE *GetAllocatedString )(
__RPC__in IMFStreamDescriptor * This,
__RPC__in REFGUID guidKey,
/* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(( *pcchLength + 1 ) ) LPWSTR *ppwszValue,
/* [out] */ __RPC__out UINT32 *pcchLength);
HRESULT ( STDMETHODCALLTYPE *GetBlobSize )(
__RPC__in IMFStreamDescriptor * This,
__RPC__in REFGUID guidKey,
/* [out] */ __RPC__out UINT32 *pcbBlobSize);
HRESULT ( STDMETHODCALLTYPE *GetBlob )(
__RPC__in IMFStreamDescriptor * This,
__RPC__in REFGUID guidKey,
/* [size_is][out] */ __RPC__out_ecount_full(cbBufSize) UINT8 *pBuf,
UINT32 cbBufSize,
/* [full][out][in] */ __RPC__inout_opt UINT32 *pcbBlobSize);
HRESULT ( STDMETHODCALLTYPE *GetAllocatedBlob )(
__RPC__in IMFStreamDescriptor * This,
__RPC__in REFGUID guidKey,
/* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pcbSize) UINT8 **ppBuf,
/* [out] */ __RPC__out UINT32 *pcbSize);
HRESULT ( STDMETHODCALLTYPE *GetUnknown )(
__RPC__in IMFStreamDescriptor * This,
__RPC__in REFGUID guidKey,
__RPC__in REFIID riid,
/* [iid_is][out] */ __RPC__deref_out_opt LPVOID *ppv);
HRESULT ( STDMETHODCALLTYPE *SetItem )(
__RPC__in IMFStreamDescriptor * This,
__RPC__in REFGUID guidKey,
__RPC__in REFPROPVARIANT Value);
HRESULT ( STDMETHODCALLTYPE *DeleteItem )(
__RPC__in IMFStreamDescriptor * This,
__RPC__in REFGUID guidKey);
HRESULT ( STDMETHODCALLTYPE *DeleteAllItems )(
__RPC__in IMFStreamDescriptor * This);
HRESULT ( STDMETHODCALLTYPE *SetUINT32 )(
__RPC__in IMFStreamDescriptor * This,
__RPC__in REFGUID guidKey,
UINT32 unValue);
HRESULT ( STDMETHODCALLTYPE *SetUINT64 )(
__RPC__in IMFStreamDescriptor * This,
__RPC__in REFGUID guidKey,
UINT64 unValue);
HRESULT ( STDMETHODCALLTYPE *SetDouble )(
__RPC__in IMFStreamDescriptor * This,
__RPC__in REFGUID guidKey,
double fValue);
HRESULT ( STDMETHODCALLTYPE *SetGUID )(
__RPC__in IMFStreamDescriptor * This,
__RPC__in REFGUID guidKey,
__RPC__in REFGUID guidValue);
HRESULT ( STDMETHODCALLTYPE *SetString )(
__RPC__in IMFStreamDescriptor * This,
__RPC__in REFGUID guidKey,
/* [string][in] */ __RPC__in_string LPCWSTR wszValue);
HRESULT ( STDMETHODCALLTYPE *SetBlob )(
__RPC__in IMFStreamDescriptor * This,
__RPC__in REFGUID guidKey,
/* [size_is][in] */ __RPC__in_ecount_full(cbBufSize) const UINT8 *pBuf,
UINT32 cbBufSize);
HRESULT ( STDMETHODCALLTYPE *SetUnknown )(
__RPC__in IMFStreamDescriptor * This,
__RPC__in REFGUID guidKey,
/* [in] */ __RPC__in_opt IUnknown *pUnknown);
HRESULT ( STDMETHODCALLTYPE *LockStore )(
__RPC__in IMFStreamDescriptor * This);
HRESULT ( STDMETHODCALLTYPE *UnlockStore )(
__RPC__in IMFStreamDescriptor * This);
HRESULT ( STDMETHODCALLTYPE *GetCount )(
__RPC__in IMFStreamDescriptor * This,
/* [out] */ __RPC__out UINT32 *pcItems);
HRESULT ( STDMETHODCALLTYPE *GetItemByIndex )(
__RPC__in IMFStreamDescriptor * This,
UINT32 unIndex,
/* [out] */ __RPC__out GUID *pguidKey,
/* [full][out][in] */ __RPC__inout_opt PROPVARIANT *pValue);
HRESULT ( STDMETHODCALLTYPE *CopyAllItems )(
__RPC__in IMFStreamDescriptor * This,
/* [in] */ __RPC__in_opt IMFAttributes *pDest);
HRESULT ( STDMETHODCALLTYPE *GetStreamIdentifier )(
__RPC__in IMFStreamDescriptor * This,
/* [out] */ __RPC__out DWORD *pdwStreamIdentifier);
HRESULT ( STDMETHODCALLTYPE *GetMediaTypeHandler )(
__RPC__in IMFStreamDescriptor * This,
/* [out] */ __RPC__deref_out_opt IMFMediaTypeHandler **ppMediaTypeHandler);
END_INTERFACE
} IMFStreamDescriptorVtbl;
interface IMFStreamDescriptor
{
CONST_VTBL struct IMFStreamDescriptorVtbl *lpVtbl;
};
#ifdef COBJMACROS
#define IMFStreamDescriptor_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
#define IMFStreamDescriptor_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
#define IMFStreamDescriptor_Release(This) \
( (This)->lpVtbl -> Release(This) )
#define IMFStreamDescriptor_GetItem(This,guidKey,pValue) \
( (This)->lpVtbl -> GetItem(This,guidKey,pValue) )
#define IMFStreamDescriptor_GetItemType(This,guidKey,pType) \
( (This)->lpVtbl -> GetItemType(This,guidKey,pType) )
#define IMFStreamDescriptor_CompareItem(This,guidKey,Value,pbResult) \
( (This)->lpVtbl -> CompareItem(This,guidKey,Value,pbResult) )
#define IMFStreamDescriptor_Compare(This,pTheirs,MatchType,pbResult) \
( (This)->lpVtbl -> Compare(This,pTheirs,MatchType,pbResult) )
#define IMFStreamDescriptor_GetUINT32(This,guidKey,punValue) \
( (This)->lpVtbl -> GetUINT32(This,guidKey,punValue) )
#define IMFStreamDescriptor_GetUINT64(This,guidKey,punValue) \
( (This)->lpVtbl -> GetUINT64(This,guidKey,punValue) )
#define IMFStreamDescriptor_GetDouble(This,guidKey,pfValue) \
( (This)->lpVtbl -> GetDouble(This,guidKey,pfValue) )
#define IMFStreamDescriptor_GetGUID(This,guidKey,pguidValue) \
( (This)->lpVtbl -> GetGUID(This,guidKey,pguidValue) )
#define IMFStreamDescriptor_GetStringLength(This,guidKey,pcchLength) \
( (This)->lpVtbl -> GetStringLength(This,guidKey,pcchLength) )
#define IMFStreamDescriptor_GetString(This,guidKey,pwszValue,cchBufSize,pcchLength) \
( (This)->lpVtbl -> GetString(This,guidKey,pwszValue,cchBufSize,pcchLength) )
#define IMFStreamDescriptor_GetAllocatedString(This,guidKey,ppwszValue,pcchLength) \
( (This)->lpVtbl -> GetAllocatedString(This,guidKey,ppwszValue,pcchLength) )
#define IMFStreamDescriptor_GetBlobSize(This,guidKey,pcbBlobSize) \
( (This)->lpVtbl -> GetBlobSize(This,guidKey,pcbBlobSize) )
#define IMFStreamDescriptor_GetBlob(This,guidKey,pBuf,cbBufSize,pcbBlobSize) \
( (This)->lpVtbl -> GetBlob(This,guidKey,pBuf,cbBufSize,pcbBlobSize) )
#define IMFStreamDescriptor_GetAllocatedBlob(This,guidKey,ppBuf,pcbSize) \
( (This)->lpVtbl -> GetAllocatedBlob(This,guidKey,ppBuf,pcbSize) )
#define IMFStreamDescriptor_GetUnknown(This,guidKey,riid,ppv) \
( (This)->lpVtbl -> GetUnknown(This,guidKey,riid,ppv) )
#define IMFStreamDescriptor_SetItem(This,guidKey,Value) \
( (This)->lpVtbl -> SetItem(This,guidKey,Value) )
#define IMFStreamDescriptor_DeleteItem(This,guidKey) \
( (This)->lpVtbl -> DeleteItem(This,guidKey) )
#define IMFStreamDescriptor_DeleteAllItems(This) \
( (This)->lpVtbl -> DeleteAllItems(This) )
#define IMFStreamDescriptor_SetUINT32(This,guidKey,unValue) \
( (This)->lpVtbl -> SetUINT32(This,guidKey,unValue) )
#define IMFStreamDescriptor_SetUINT64(This,guidKey,unValue) \
( (This)->lpVtbl -> SetUINT64(This,guidKey,unValue) )
#define IMFStreamDescriptor_SetDouble(This,guidKey,fValue) \
( (This)->lpVtbl -> SetDouble(This,guidKey,fValue) )
#define IMFStreamDescriptor_SetGUID(This,guidKey,guidValue) \
( (This)->lpVtbl -> SetGUID(This,guidKey,guidValue) )
#define IMFStreamDescriptor_SetString(This,guidKey,wszValue) \
( (This)->lpVtbl -> SetString(This,guidKey,wszValue) )
#define IMFStreamDescriptor_SetBlob(This,guidKey,pBuf,cbBufSize) \
( (This)->lpVtbl -> SetBlob(This,guidKey,pBuf,cbBufSize) )
#define IMFStreamDescriptor_SetUnknown(This,guidKey,pUnknown) \
( (This)->lpVtbl -> SetUnknown(This,guidKey,pUnknown) )
#define IMFStreamDescriptor_LockStore(This) \
( (This)->lpVtbl -> LockStore(This) )
#define IMFStreamDescriptor_UnlockStore(This) \
( (This)->lpVtbl -> UnlockStore(This) )
#define IMFStreamDescriptor_GetCount(This,pcItems) \
( (This)->lpVtbl -> GetCount(This,pcItems) )
#define IMFStreamDescriptor_GetItemByIndex(This,unIndex,pguidKey,pValue) \
( (This)->lpVtbl -> GetItemByIndex(This,unIndex,pguidKey,pValue) )
#define IMFStreamDescriptor_CopyAllItems(This,pDest) \
( (This)->lpVtbl -> CopyAllItems(This,pDest) )
#define IMFStreamDescriptor_GetStreamIdentifier(This,pdwStreamIdentifier) \
( (This)->lpVtbl -> GetStreamIdentifier(This,pdwStreamIdentifier) )
#define IMFStreamDescriptor_GetMediaTypeHandler(This,ppMediaTypeHandler) \
( (This)->lpVtbl -> GetMediaTypeHandler(This,ppMediaTypeHandler) )
#endif /* COBJMACROS */
#endif /* C style interface */
#endif /* __IMFStreamDescriptor_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_mfidl_0000_0018 */
/* [local] */
STDAPI MFCreateStreamDescriptor(
DWORD dwStreamIdentifier,
DWORD cMediaTypes,
__in_ecount(cMediaTypes) IMFMediaType** apMediaTypes,
__out IMFStreamDescriptor** ppDescriptor
);
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0018_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0018_v0_0_s_ifspec;
#ifndef __IMFMediaTypeHandler_INTERFACE_DEFINED__
#define __IMFMediaTypeHandler_INTERFACE_DEFINED__
/* interface IMFMediaTypeHandler */
/* [uuid][object] */
EXTERN_C const IID IID_IMFMediaTypeHandler;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("e93dcf6c-4b07-4e1e-8123-aa16ed6eadf5")
IMFMediaTypeHandler : public IUnknown
{
public:
virtual /* [local] */ HRESULT STDMETHODCALLTYPE IsMediaTypeSupported(
/* [in] */ IMFMediaType *pMediaType,
/* [annotation][out] */
__out IMFMediaType **ppMediaType) = 0;
virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetMediaTypeCount(
/* [annotation][out] */
__out DWORD *pdwTypeCount) = 0;
virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetMediaTypeByIndex(
/* [in] */ DWORD dwIndex,
/* [annotation][out] */
__out IMFMediaType **ppType) = 0;
virtual /* [local] */ HRESULT STDMETHODCALLTYPE SetCurrentMediaType(
/* [in] */ IMFMediaType *pMediaType) = 0;
virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetCurrentMediaType(
/* [annotation][out] */
__out IMFMediaType **ppMediaType) = 0;
virtual HRESULT STDMETHODCALLTYPE GetMajorType(
/* [annotation][out] */
__out GUID *pguidMajorType) = 0;
};
#else /* C style interface */
typedef struct IMFMediaTypeHandlerVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
__RPC__in IMFMediaTypeHandler * This,
/* [in] */ __RPC__in REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
__RPC__in IMFMediaTypeHandler * This);
ULONG ( STDMETHODCALLTYPE *Release )(
__RPC__in IMFMediaTypeHandler * This);
/* [local] */ HRESULT ( STDMETHODCALLTYPE *IsMediaTypeSupported )(
IMFMediaTypeHandler * This,
/* [in] */ IMFMediaType *pMediaType,
/* [annotation][out] */
__out IMFMediaType **ppMediaType);
/* [local] */ HRESULT ( STDMETHODCALLTYPE *GetMediaTypeCount )(
IMFMediaTypeHandler * This,
/* [annotation][out] */
__out DWORD *pdwTypeCount);
/* [local] */ HRESULT ( STDMETHODCALLTYPE *GetMediaTypeByIndex )(
IMFMediaTypeHandler * This,
/* [in] */ DWORD dwIndex,
/* [annotation][out] */
__out IMFMediaType **ppType);
/* [local] */ HRESULT ( STDMETHODCALLTYPE *SetCurrentMediaType )(
IMFMediaTypeHandler * This,
/* [in] */ IMFMediaType *pMediaType);
/* [local] */ HRESULT ( STDMETHODCALLTYPE *GetCurrentMediaType )(
IMFMediaTypeHandler * This,
/* [annotation][out] */
__out IMFMediaType **ppMediaType);
HRESULT ( STDMETHODCALLTYPE *GetMajorType )(
__RPC__in IMFMediaTypeHandler * This,
/* [annotation][out] */
__out GUID *pguidMajorType);
END_INTERFACE
} IMFMediaTypeHandlerVtbl;
interface IMFMediaTypeHandler
{
CONST_VTBL struct IMFMediaTypeHandlerVtbl *lpVtbl;
};
#ifdef COBJMACROS
#define IMFMediaTypeHandler_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
#define IMFMediaTypeHandler_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
#define IMFMediaTypeHandler_Release(This) \
( (This)->lpVtbl -> Release(This) )
#define IMFMediaTypeHandler_IsMediaTypeSupported(This,pMediaType,ppMediaType) \
( (This)->lpVtbl -> IsMediaTypeSupported(This,pMediaType,ppMediaType) )
#define IMFMediaTypeHandler_GetMediaTypeCount(This,pdwTypeCount) \
( (This)->lpVtbl -> GetMediaTypeCount(This,pdwTypeCount) )
#define IMFMediaTypeHandler_GetMediaTypeByIndex(This,dwIndex,ppType) \
( (This)->lpVtbl -> GetMediaTypeByIndex(This,dwIndex,ppType) )
#define IMFMediaTypeHandler_SetCurrentMediaType(This,pMediaType) \
( (This)->lpVtbl -> SetCurrentMediaType(This,pMediaType) )
#define IMFMediaTypeHandler_GetCurrentMediaType(This,ppMediaType) \
( (This)->lpVtbl -> GetCurrentMediaType(This,ppMediaType) )
#define IMFMediaTypeHandler_GetMajorType(This,pguidMajorType) \
( (This)->lpVtbl -> GetMajorType(This,pguidMajorType) )
#endif /* COBJMACROS */
#endif /* C style interface */
/* [call_as] */ HRESULT STDMETHODCALLTYPE IMFMediaTypeHandler_RemoteGetCurrentMediaType_Proxy(
__RPC__in IMFMediaTypeHandler * This,
/* [size_is][size_is][annotation][out] */
__out BYTE **ppbData,
/* [out] */ __RPC__out DWORD *pcbData);
void __RPC_STUB IMFMediaTypeHandler_RemoteGetCurrentMediaType_Stub(
IRpcStubBuffer *This,
IRpcChannelBuffer *_pRpcChannelBuffer,
PRPC_MESSAGE _pRpcMessage,
DWORD *_pdwStubPhase);
#endif /* __IMFMediaTypeHandler_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_mfidl_0000_0019 */
/* [local] */
STDAPI MFCreateSimpleTypeHandler(
__out IMFMediaTypeHandler ** ppHandler );
typedef
enum MFTIMER_FLAGS
{ MFTIMER_RELATIVE = 0x1
} MFTIMER_FLAGS;
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0019_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0019_v0_0_s_ifspec;
#ifndef __IMFTimer_INTERFACE_DEFINED__
#define __IMFTimer_INTERFACE_DEFINED__
/* interface IMFTimer */
/* [local][uuid][object] */
EXTERN_C const IID IID_IMFTimer;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("e56e4cbd-8f70-49d8-a0f8-edb3d6ab9bf2")
IMFTimer : public IUnknown
{
public:
virtual HRESULT STDMETHODCALLTYPE SetTimer(
/* [in] */ DWORD dwFlags,
/* [in] */ LONGLONG llClockTime,
/* [in] */ IMFAsyncCallback *pCallback,
/* [in] */ IUnknown *punkState,
/* [out] */ IUnknown **ppunkKey) = 0;
virtual HRESULT STDMETHODCALLTYPE CancelTimer(
/* [in] */ IUnknown *punkKey) = 0;
};
#else /* C style interface */
typedef struct IMFTimerVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IMFTimer * This,
/* [in] */ REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
IMFTimer * This);
ULONG ( STDMETHODCALLTYPE *Release )(
IMFTimer * This);
HRESULT ( STDMETHODCALLTYPE *SetTimer )(
IMFTimer * This,
/* [in] */ DWORD dwFlags,
/* [in] */ LONGLONG llClockTime,
/* [in] */ IMFAsyncCallback *pCallback,
/* [in] */ IUnknown *punkState,
/* [out] */ IUnknown **ppunkKey);
HRESULT ( STDMETHODCALLTYPE *CancelTimer )(
IMFTimer * This,
/* [in] */ IUnknown *punkKey);
END_INTERFACE
} IMFTimerVtbl;
interface IMFTimer
{
CONST_VTBL struct IMFTimerVtbl *lpVtbl;
};
#ifdef COBJMACROS
#define IMFTimer_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
#define IMFTimer_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
#define IMFTimer_Release(This) \
( (This)->lpVtbl -> Release(This) )
#define IMFTimer_SetTimer(This,dwFlags,llClockTime,pCallback,punkState,ppunkKey) \
( (This)->lpVtbl -> SetTimer(This,dwFlags,llClockTime,pCallback,punkState,ppunkKey) )
#define IMFTimer_CancelTimer(This,punkKey) \
( (This)->lpVtbl -> CancelTimer(This,punkKey) )
#endif /* COBJMACROS */
#endif /* C style interface */
#endif /* __IMFTimer_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_mfidl_0000_0020 */
/* [local] */
EXTERN_GUID( MF_ACTIVATE_CUSTOM_VIDEO_MIXER_CLSID, 0xba491360, 0xbe50, 0x451e, 0x95, 0xab, 0x6d, 0x4a, 0xcc, 0xc7, 0xda, 0xd8 );
EXTERN_GUID( MF_ACTIVATE_CUSTOM_VIDEO_MIXER_ACTIVATE, 0xba491361, 0xbe50, 0x451e, 0x95, 0xab, 0x6d, 0x4a, 0xcc, 0xc7, 0xda, 0xd8 );
EXTERN_GUID( MF_ACTIVATE_CUSTOM_VIDEO_MIXER_FLAGS, 0xba491362, 0xbe50, 0x451e, 0x95, 0xab, 0x6d, 0x4a, 0xcc, 0xc7, 0xda, 0xd8 );
EXTERN_GUID( MF_ACTIVATE_CUSTOM_VIDEO_PRESENTER_CLSID, 0xba491364, 0xbe50, 0x451e, 0x95, 0xab, 0x6d, 0x4a, 0xcc, 0xc7, 0xda, 0xd8 );
EXTERN_GUID( MF_ACTIVATE_CUSTOM_VIDEO_PRESENTER_ACTIVATE, 0xba491365, 0xbe50, 0x451e, 0x95, 0xab, 0x6d, 0x4a, 0xcc, 0xc7, 0xda, 0xd8 );
EXTERN_GUID( MF_ACTIVATE_CUSTOM_VIDEO_PRESENTER_FLAGS, 0xba491366, 0xbe50, 0x451e, 0x95, 0xab, 0x6d, 0x4a, 0xcc, 0xc7, 0xda, 0xd8 );
enum __MIDL___MIDL_itf_mfidl_0000_0020_0001
{ MF_ACTIVATE_CUSTOM_MIXER_ALLOWFAIL = 0x1
} ;
enum __MIDL___MIDL_itf_mfidl_0000_0020_0002
{ MF_ACTIVATE_CUSTOM_PRESENTER_ALLOWFAIL = 0x1
} ;
EXTERN_GUID( MF_ACTIVATE_MFT_LOCKED, 0xc1f6093c, 0x7f65, 0x4fbd, 0x9e, 0x39, 0x5f, 0xae, 0xc3, 0xc4, 0xfb, 0xd7 );
EXTERN_GUID( MF_ACTIVATE_VIDEO_WINDOW, 0x9a2dbbdd, 0xf57e, 0x4162, 0x82, 0xb9, 0x68, 0x31, 0x37, 0x76, 0x82, 0xd3 );
typedef
enum _MFSHUTDOWN_STATUS
{ MFSHUTDOWN_INITIATED = 0,
MFSHUTDOWN_COMPLETED = ( MFSHUTDOWN_INITIATED + 1 )
} MFSHUTDOWN_STATUS;
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0020_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0020_v0_0_s_ifspec;
#ifndef __IMFShutdown_INTERFACE_DEFINED__
#define __IMFShutdown_INTERFACE_DEFINED__
/* interface IMFShutdown */
/* [uuid][object] */
EXTERN_C const IID IID_IMFShutdown;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("97ec2ea4-0e42-4937-97ac-9d6d328824e1")
IMFShutdown : public IUnknown
{
public:
virtual HRESULT STDMETHODCALLTYPE Shutdown( void) = 0;
virtual HRESULT STDMETHODCALLTYPE GetShutdownStatus(
/* [out] */ __RPC__out MFSHUTDOWN_STATUS *pStatus) = 0;
};
#else /* C style interface */
typedef struct IMFShutdownVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
__RPC__in IMFShutdown * This,
/* [in] */ __RPC__in REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
__RPC__in IMFShutdown * This);
ULONG ( STDMETHODCALLTYPE *Release )(
__RPC__in IMFShutdown * This);
HRESULT ( STDMETHODCALLTYPE *Shutdown )(
__RPC__in IMFShutdown * This);
HRESULT ( STDMETHODCALLTYPE *GetShutdownStatus )(
__RPC__in IMFShutdown * This,
/* [out] */ __RPC__out MFSHUTDOWN_STATUS *pStatus);
END_INTERFACE
} IMFShutdownVtbl;
interface IMFShutdown
{
CONST_VTBL struct IMFShutdownVtbl *lpVtbl;
};
#ifdef COBJMACROS
#define IMFShutdown_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
#define IMFShutdown_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
#define IMFShutdown_Release(This) \
( (This)->lpVtbl -> Release(This) )
#define IMFShutdown_Shutdown(This) \
( (This)->lpVtbl -> Shutdown(This) )
#define IMFShutdown_GetShutdownStatus(This,pStatus) \
( (This)->lpVtbl -> GetShutdownStatus(This,pStatus) )
#endif /* COBJMACROS */
#endif /* C style interface */
#endif /* __IMFShutdown_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_mfidl_0000_0021 */
/* [local] */
STDAPI
MFShutdownObject(
IUnknown * pUnk );
STDAPI
MFCreateAudioRenderer(
IMFAttributes* pAudioAttributes,
__out IMFMediaSink** ppSink
);
STDAPI
MFCreateAudioRendererActivate(
__out IMFActivate ** ppActivate
);
EXTERN_GUID( MF_AUDIO_RENDERER_ATTRIBUTE_FLAGS, 0xede4b5e0, 0xf805, 0x4d6c, 0x99, 0xb3, 0xdb, 0x01, 0xbf, 0x95, 0xdf, 0xab);
#define MF_AUDIO_RENDERER_ATTRIBUTE_FLAGS_CROSSPROCESS 0x00000001
#define MF_AUDIO_RENDERER_ATTRIBUTE_FLAGS_NOPERSIST 0x00000002
#if (WINVER >= _WIN32_WINNT_WIN7)
#define MF_AUDIO_RENDERER_ATTRIBUTE_FLAGS_DONT_ALLOW_FORMAT_CHANGES 0x00000004
#endif // (WINVER >= _WIN32_WINNT_WIN7)
EXTERN_GUID( MF_AUDIO_RENDERER_ATTRIBUTE_SESSION_ID, 0xede4b5e3, 0xf805, 0x4d6c, 0x99, 0xb3, 0xdb, 0x01, 0xbf, 0x95, 0xdf, 0xab);
EXTERN_GUID( MF_AUDIO_RENDERER_ATTRIBUTE_ENDPOINT_ID, 0xb10aaec3, 0xef71, 0x4cc3, 0xb8, 0x73, 0x5, 0xa9, 0xa0, 0x8b, 0x9f, 0x8e);
EXTERN_GUID( MF_AUDIO_RENDERER_ATTRIBUTE_ENDPOINT_ROLE, 0x6ba644ff, 0x27c5, 0x4d02, 0x98, 0x87, 0xc2, 0x86, 0x19, 0xfd, 0xb9, 0x1b);
STDAPI
MFCreateVideoRendererActivate(
__in HWND hwndVideo,
__out IMFActivate ** ppActivate
);
#if (WINVER >= _WIN32_WINNT_WIN7)
STDAPI
MFCreateMPEG4MediaSink(
__in IMFByteStream* pIByteStream,
__in_opt IMFMediaType* pVideoMediaType,
__in_opt IMFMediaType* pAudioMediaType,
__out IMFMediaSink** ppIMediaSink
);
STDAPI
MFCreate3GPMediaSink(
__in IMFByteStream* pIByteStream,
__in_opt IMFMediaType* pVideoMediaType,
__in_opt IMFMediaType* pAudioMediaType,
__out IMFMediaSink** ppIMediaSink
);
STDAPI
MFCreateMP3MediaSink(
__in IMFByteStream* pTargetByteStream,
__deref_out IMFMediaSink** ppMediaSink
);
#endif // (WINVER >= _WIN32_WINNT_WIN7)
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0021_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0021_v0_0_s_ifspec;
#ifndef __IMFTopoLoader_INTERFACE_DEFINED__
#define __IMFTopoLoader_INTERFACE_DEFINED__
/* interface IMFTopoLoader */
/* [local][uuid][object] */
EXTERN_C const IID IID_IMFTopoLoader;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("DE9A6157-F660-4643-B56A-DF9F7998C7CD")
IMFTopoLoader : public IUnknown
{
public:
virtual HRESULT STDMETHODCALLTYPE Load(
/* [in] */ IMFTopology *pInputTopo,
/* [annotation][out] */
__out IMFTopology **ppOutputTopo,
/* [in] */ IMFTopology *pCurrentTopo) = 0;
};
#else /* C style interface */
typedef struct IMFTopoLoaderVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IMFTopoLoader * This,
/* [in] */ REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
IMFTopoLoader * This);
ULONG ( STDMETHODCALLTYPE *Release )(
IMFTopoLoader * This);
HRESULT ( STDMETHODCALLTYPE *Load )(
IMFTopoLoader * This,
/* [in] */ IMFTopology *pInputTopo,
/* [annotation][out] */
__out IMFTopology **ppOutputTopo,
/* [in] */ IMFTopology *pCurrentTopo);
END_INTERFACE
} IMFTopoLoaderVtbl;
interface IMFTopoLoader
{
CONST_VTBL struct IMFTopoLoaderVtbl *lpVtbl;
};
#ifdef COBJMACROS
#define IMFTopoLoader_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
#define IMFTopoLoader_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
#define IMFTopoLoader_Release(This) \
( (This)->lpVtbl -> Release(This) )
#define IMFTopoLoader_Load(This,pInputTopo,ppOutputTopo,pCurrentTopo) \
( (This)->lpVtbl -> Load(This,pInputTopo,ppOutputTopo,pCurrentTopo) )
#endif /* COBJMACROS */
#endif /* C style interface */
#endif /* __IMFTopoLoader_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_mfidl_0000_0022 */
/* [local] */
STDAPI MFCreateTopoLoader(
__out IMFTopoLoader ** ppObj );
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0022_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0022_v0_0_s_ifspec;
#ifndef __IMFContentProtectionManager_INTERFACE_DEFINED__
#define __IMFContentProtectionManager_INTERFACE_DEFINED__
/* interface IMFContentProtectionManager */
/* [unique][helpstring][uuid][object] */
EXTERN_C const IID IID_IMFContentProtectionManager;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("ACF92459-6A61-42bd-B57C-B43E51203CB0")
IMFContentProtectionManager : public IUnknown
{
public:
virtual /* [local] */ HRESULT STDMETHODCALLTYPE BeginEnableContent(
/* [in] */ IMFActivate *pEnablerActivate,
/* [in] */ IMFTopology *pTopo,
/* [in] */ IMFAsyncCallback *pCallback,
/* [in] */ IUnknown *punkState) = 0;
virtual /* [local] */ HRESULT STDMETHODCALLTYPE EndEnableContent(
/* [in] */ IMFAsyncResult *pResult) = 0;
};
#else /* C style interface */
typedef struct IMFContentProtectionManagerVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
__RPC__in IMFContentProtectionManager * This,
/* [in] */ __RPC__in REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
__RPC__in IMFContentProtectionManager * This);
ULONG ( STDMETHODCALLTYPE *Release )(
__RPC__in IMFContentProtectionManager * This);
/* [local] */ HRESULT ( STDMETHODCALLTYPE *BeginEnableContent )(
IMFContentProtectionManager * This,
/* [in] */ IMFActivate *pEnablerActivate,
/* [in] */ IMFTopology *pTopo,
/* [in] */ IMFAsyncCallback *pCallback,
/* [in] */ IUnknown *punkState);
/* [local] */ HRESULT ( STDMETHODCALLTYPE *EndEnableContent )(
IMFContentProtectionManager * This,
/* [in] */ IMFAsyncResult *pResult);
END_INTERFACE
} IMFContentProtectionManagerVtbl;
interface IMFContentProtectionManager
{
CONST_VTBL struct IMFContentProtectionManagerVtbl *lpVtbl;
};
#ifdef COBJMACROS
#define IMFContentProtectionManager_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
#define IMFContentProtectionManager_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
#define IMFContentProtectionManager_Release(This) \
( (This)->lpVtbl -> Release(This) )
#define IMFContentProtectionManager_BeginEnableContent(This,pEnablerActivate,pTopo,pCallback,punkState) \
( (This)->lpVtbl -> BeginEnableContent(This,pEnablerActivate,pTopo,pCallback,punkState) )
#define IMFContentProtectionManager_EndEnableContent(This,pResult) \
( (This)->lpVtbl -> EndEnableContent(This,pResult) )
#endif /* COBJMACROS */
#endif /* C style interface */
/* [call_as] */ HRESULT STDMETHODCALLTYPE IMFContentProtectionManager_RemoteBeginEnableContent_Proxy(
__RPC__in IMFContentProtectionManager * This,
/* [in] */ __RPC__in REFCLSID clsidType,
/* [size_is][in] */ __RPC__in_ecount_full(cbData) BYTE *pbData,
/* [in] */ DWORD cbData,
/* [in] */ __RPC__in_opt IMFRemoteAsyncCallback *pCallback);
void __RPC_STUB IMFContentProtectionManager_RemoteBeginEnableContent_Stub(
IRpcStubBuffer *This,
IRpcChannelBuffer *_pRpcChannelBuffer,
PRPC_MESSAGE _pRpcMessage,
DWORD *_pdwStubPhase);
/* [call_as] */ HRESULT STDMETHODCALLTYPE IMFContentProtectionManager_RemoteEndEnableContent_Proxy(
__RPC__in IMFContentProtectionManager * This,
/* [in] */ __RPC__in_opt IUnknown *pResult);
void __RPC_STUB IMFContentProtectionManager_RemoteEndEnableContent_Stub(
IRpcStubBuffer *This,
IRpcChannelBuffer *_pRpcChannelBuffer,
PRPC_MESSAGE _pRpcMessage,
DWORD *_pdwStubPhase);
#endif /* __IMFContentProtectionManager_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_mfidl_0000_0023 */
/* [local] */
typedef /* [public][public] */
enum __MIDL___MIDL_itf_mfidl_0000_0023_0001
{ MF_LICENSE_URL_UNTRUSTED = 0,
MF_LICENSE_URL_TRUSTED = ( MF_LICENSE_URL_UNTRUSTED + 1 ) ,
MF_LICENSE_URL_TAMPERED = ( MF_LICENSE_URL_TRUSTED + 1 )
} MF_URL_TRUST_STATUS;
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0023_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0023_v0_0_s_ifspec;
#ifndef __IMFContentEnabler_INTERFACE_DEFINED__
#define __IMFContentEnabler_INTERFACE_DEFINED__
/* interface IMFContentEnabler */
/* [unique][helpstring][uuid][object] */
EXTERN_C const IID IID_IMFContentEnabler;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("D3C4EF59-49CE-4381-9071-D5BCD044C770")
IMFContentEnabler : public IUnknown
{
public:
virtual HRESULT STDMETHODCALLTYPE GetEnableType(
/* [out] */ __RPC__out GUID *pType) = 0;
virtual HRESULT STDMETHODCALLTYPE GetEnableURL(
/* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pcchURL) LPWSTR *ppwszURL,
/* [out] */ __RPC__out DWORD *pcchURL,
/* [unique][out][in] */ __RPC__inout_opt MF_URL_TRUST_STATUS *pTrustStatus) = 0;
virtual HRESULT STDMETHODCALLTYPE GetEnableData(
/* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pcbData) BYTE **ppbData,
/* [out] */ __RPC__out DWORD *pcbData) = 0;
virtual HRESULT STDMETHODCALLTYPE IsAutomaticSupported(
/* [out] */ __RPC__out BOOL *pfAutomatic) = 0;
virtual HRESULT STDMETHODCALLTYPE AutomaticEnable( void) = 0;
virtual HRESULT STDMETHODCALLTYPE MonitorEnable( void) = 0;
virtual HRESULT STDMETHODCALLTYPE Cancel( void) = 0;
};
#else /* C style interface */
typedef struct IMFContentEnablerVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
__RPC__in IMFContentEnabler * This,
/* [in] */ __RPC__in REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
__RPC__in IMFContentEnabler * This);
ULONG ( STDMETHODCALLTYPE *Release )(
__RPC__in IMFContentEnabler * This);
HRESULT ( STDMETHODCALLTYPE *GetEnableType )(
__RPC__in IMFContentEnabler * This,
/* [out] */ __RPC__out GUID *pType);
HRESULT ( STDMETHODCALLTYPE *GetEnableURL )(
__RPC__in IMFContentEnabler * This,
/* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pcchURL) LPWSTR *ppwszURL,
/* [out] */ __RPC__out DWORD *pcchURL,
/* [unique][out][in] */ __RPC__inout_opt MF_URL_TRUST_STATUS *pTrustStatus);
HRESULT ( STDMETHODCALLTYPE *GetEnableData )(
__RPC__in IMFContentEnabler * This,
/* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pcbData) BYTE **ppbData,
/* [out] */ __RPC__out DWORD *pcbData);
HRESULT ( STDMETHODCALLTYPE *IsAutomaticSupported )(
__RPC__in IMFContentEnabler * This,
/* [out] */ __RPC__out BOOL *pfAutomatic);
HRESULT ( STDMETHODCALLTYPE *AutomaticEnable )(
__RPC__in IMFContentEnabler * This);
HRESULT ( STDMETHODCALLTYPE *MonitorEnable )(
__RPC__in IMFContentEnabler * This);
HRESULT ( STDMETHODCALLTYPE *Cancel )(
__RPC__in IMFContentEnabler * This);
END_INTERFACE
} IMFContentEnablerVtbl;
interface IMFContentEnabler
{
CONST_VTBL struct IMFContentEnablerVtbl *lpVtbl;
};
#ifdef COBJMACROS
#define IMFContentEnabler_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
#define IMFContentEnabler_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
#define IMFContentEnabler_Release(This) \
( (This)->lpVtbl -> Release(This) )
#define IMFContentEnabler_GetEnableType(This,pType) \
( (This)->lpVtbl -> GetEnableType(This,pType) )
#define IMFContentEnabler_GetEnableURL(This,ppwszURL,pcchURL,pTrustStatus) \
( (This)->lpVtbl -> GetEnableURL(This,ppwszURL,pcchURL,pTrustStatus) )
#define IMFContentEnabler_GetEnableData(This,ppbData,pcbData) \
( (This)->lpVtbl -> GetEnableData(This,ppbData,pcbData) )
#define IMFContentEnabler_IsAutomaticSupported(This,pfAutomatic) \
( (This)->lpVtbl -> IsAutomaticSupported(This,pfAutomatic) )
#define IMFContentEnabler_AutomaticEnable(This) \
( (This)->lpVtbl -> AutomaticEnable(This) )
#define IMFContentEnabler_MonitorEnable(This) \
( (This)->lpVtbl -> MonitorEnable(This) )
#define IMFContentEnabler_Cancel(This) \
( (This)->lpVtbl -> Cancel(This) )
#endif /* COBJMACROS */
#endif /* C style interface */
#endif /* __IMFContentEnabler_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_mfidl_0000_0024 */
/* [local] */
EXTERN_GUID( MFENABLETYPE_WMDRMV1_LicenseAcquisition, 0x4ff6eeaf, 0xb43, 0x4797, 0x9b, 0x85, 0xab, 0xf3, 0x18, 0x15, 0xe7, 0xb0);
EXTERN_GUID( MFENABLETYPE_WMDRMV7_LicenseAcquisition, 0x3306df, 0x4a06, 0x4884,0xa0, 0x97, 0xef, 0x6d, 0x22, 0xec, 0x84, 0xa3);
EXTERN_GUID( MFENABLETYPE_WMDRMV7_Individualization, 0xacd2c84a, 0xb303, 0x4f65, 0xbc, 0x2c, 0x2c, 0x84, 0x8d, 0x1, 0xa9, 0x89);
EXTERN_GUID( MFENABLETYPE_MF_UpdateRevocationInformation, 0xe558b0b5, 0xb3c4, 0x44a0, 0x92, 0x4c, 0x50, 0xd1, 0x78, 0x93, 0x23, 0x85);
EXTERN_GUID( MFENABLETYPE_MF_UpdateUntrustedComponent, 0x9879f3d6, 0xcee2, 0x48e6, 0xb5, 0x73, 0x97, 0x67, 0xab, 0x17, 0x2f, 0x16);
EXTERN_GUID( MFENABLETYPE_MF_RebootRequired, 0x6d4d3d4b, 0x0ece, 0x4652, 0x8b, 0x3a, 0xf2, 0xd2, 0x42, 0x60, 0xd8, 0x87);
//
// Structs that contain information about revoked or unsigned binaries,
// returned by the IMFContentEnabler::GetEnableData() method of
// the Revocation content enabler
//
#ifndef MFRR_INFO_VERSION
#define MFRR_INFO_VERSION 0
#endif
//
// The values for MFRR_COMPONENT_HASH_INFO.ulReason
//
#define MF_USER_MODE_COMPONENT_LOAD 0x00000001
#define MF_KERNEL_MODE_COMPONENT_LOAD 0x00000002
#define MF_GRL_LOAD_FAILED 0x00000010
#define MF_INVALID_GRL_SIGNATURE 0x00000020
#define MF_GRL_ABSENT 0x00001000
#define MF_COMPONENT_REVOKED 0x00002000
#define MF_COMPONENT_INVALID_EKU 0x00004000
#define MF_COMPONENT_CERT_REVOKED 0x00008000
#define MF_COMPONENT_INVALID_ROOT 0x00010000
#define MF_COMPONENT_HS_CERT_REVOKED 0x00020000
#define MF_COMPONENT_LS_CERT_REVOKED 0x00040000
#define MF_BOOT_DRIVER_VERIFICATION_FAILED 0x00100000
#define MF_TEST_SIGNED_COMPONENT_LOADING 0x01000000
#define MF_MINCRYPT_FAILURE 0x10000000
//
// STR_HASH_LEN: Number of characters required to represent a SHA-1 hash
// (RTL_MAX_HASH_LEN_V1) as a string of the form "0x5a3b53463b672a4f..."
// Each byte of a SHA-1 hash takes two characters to represent, and
// we add in two leading characters "0x" as well as the NULL terminator
//
#define SHA_HASH_LEN 20
#define STR_HASH_LEN (SHA_HASH_LEN*2 + 3)
typedef struct _MFRR_COMPONENT_HASH_INFO
{
// Reason for failure (revoked or unsigned or badly signed).
DWORD ulReason;
// Header hash of the component
WCHAR rgHeaderHash[STR_HASH_LEN];
// Hash of public key if one of the certificates
// in the signing certificate chain is revoked
WCHAR rgPublicKeyHash[STR_HASH_LEN];
// Component name (full path name)
WCHAR wszName[MAX_PATH];
} MFRR_COMPONENT_HASH_INFO, *PMFRR_COMPONENT_HASH_INFO;
typedef struct _MFRR_COMPONENTS
{
// Version number
DWORD dwRRInfoVersion;
// Number of components in list
DWORD dwRRComponents;
// points to the end of this structure that has
// allocated memory for the array of component info structures
PMFRR_COMPONENT_HASH_INFO pRRComponents;
} MFRR_COMPONENTS, *PMFRR_COMPONENTS;
#pragma pack ( push )
#pragma pack ( 1 )
typedef struct _ASFFlatPicture
{
//
// Direct mapped fields
//
BYTE bPictureType;
DWORD dwDataLen;
} ASF_FLAT_PICTURE;
#pragma pack ( pop )
#pragma pack ( push )
#pragma pack ( 1 )
typedef struct _ASFFlatSynchronisedLyrics
{
//
// Direct mapped fields
//
BYTE bTimeStampFormat;
BYTE bContentType;
DWORD dwLyricsLen;
} ASF_FLAT_SYNCHRONISED_LYRICS;
#pragma pack ( pop )
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0024_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0024_v0_0_s_ifspec;
#ifndef __IMFMetadata_INTERFACE_DEFINED__
#define __IMFMetadata_INTERFACE_DEFINED__
/* interface IMFMetadata */
/* [uuid][object] */
EXTERN_C const IID IID_IMFMetadata;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("F88CFB8C-EF16-4991-B450-CB8C69E51704")
IMFMetadata : public IUnknown
{
public:
virtual HRESULT STDMETHODCALLTYPE SetLanguage(
/* [in] */ __RPC__in LPCWSTR pwszRFC1766) = 0;
virtual HRESULT STDMETHODCALLTYPE GetLanguage(
/* [out] */ __RPC__deref_out_opt LPWSTR *ppwszRFC1766) = 0;
virtual HRESULT STDMETHODCALLTYPE GetAllLanguages(
/* [out] */ __RPC__out PROPVARIANT *ppvLanguages) = 0;
virtual HRESULT STDMETHODCALLTYPE SetProperty(
/* [in] */ __RPC__in LPCWSTR pwszName,
/* [in] */ __RPC__in const PROPVARIANT *ppvValue) = 0;
virtual HRESULT STDMETHODCALLTYPE GetProperty(
/* [in] */ __RPC__in LPCWSTR pwszName,
/* [out] */ __RPC__out PROPVARIANT *ppvValue) = 0;
virtual HRESULT STDMETHODCALLTYPE DeleteProperty(
/* [in] */ __RPC__in LPCWSTR pwszName) = 0;
virtual HRESULT STDMETHODCALLTYPE GetAllPropertyNames(
/* [out] */ __RPC__out PROPVARIANT *ppvNames) = 0;
};
#else /* C style interface */
typedef struct IMFMetadataVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
__RPC__in IMFMetadata * This,
/* [in] */ __RPC__in REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
__RPC__in IMFMetadata * This);
ULONG ( STDMETHODCALLTYPE *Release )(
__RPC__in IMFMetadata * This);
HRESULT ( STDMETHODCALLTYPE *SetLanguage )(
__RPC__in IMFMetadata * This,
/* [in] */ __RPC__in LPCWSTR pwszRFC1766);
HRESULT ( STDMETHODCALLTYPE *GetLanguage )(
__RPC__in IMFMetadata * This,
/* [out] */ __RPC__deref_out_opt LPWSTR *ppwszRFC1766);
HRESULT ( STDMETHODCALLTYPE *GetAllLanguages )(
__RPC__in IMFMetadata * This,
/* [out] */ __RPC__out PROPVARIANT *ppvLanguages);
HRESULT ( STDMETHODCALLTYPE *SetProperty )(
__RPC__in IMFMetadata * This,
/* [in] */ __RPC__in LPCWSTR pwszName,
/* [in] */ __RPC__in const PROPVARIANT *ppvValue);
HRESULT ( STDMETHODCALLTYPE *GetProperty )(
__RPC__in IMFMetadata * This,
/* [in] */ __RPC__in LPCWSTR pwszName,
/* [out] */ __RPC__out PROPVARIANT *ppvValue);
HRESULT ( STDMETHODCALLTYPE *DeleteProperty )(
__RPC__in IMFMetadata * This,
/* [in] */ __RPC__in LPCWSTR pwszName);
HRESULT ( STDMETHODCALLTYPE *GetAllPropertyNames )(
__RPC__in IMFMetadata * This,
/* [out] */ __RPC__out PROPVARIANT *ppvNames);
END_INTERFACE
} IMFMetadataVtbl;
interface IMFMetadata
{
CONST_VTBL struct IMFMetadataVtbl *lpVtbl;
};
#ifdef COBJMACROS
#define IMFMetadata_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
#define IMFMetadata_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
#define IMFMetadata_Release(This) \
( (This)->lpVtbl -> Release(This) )
#define IMFMetadata_SetLanguage(This,pwszRFC1766) \
( (This)->lpVtbl -> SetLanguage(This,pwszRFC1766) )
#define IMFMetadata_GetLanguage(This,ppwszRFC1766) \
( (This)->lpVtbl -> GetLanguage(This,ppwszRFC1766) )
#define IMFMetadata_GetAllLanguages(This,ppvLanguages) \
( (This)->lpVtbl -> GetAllLanguages(This,ppvLanguages) )
#define IMFMetadata_SetProperty(This,pwszName,ppvValue) \
( (This)->lpVtbl -> SetProperty(This,pwszName,ppvValue) )
#define IMFMetadata_GetProperty(This,pwszName,ppvValue) \
( (This)->lpVtbl -> GetProperty(This,pwszName,ppvValue) )
#define IMFMetadata_DeleteProperty(This,pwszName) \
( (This)->lpVtbl -> DeleteProperty(This,pwszName) )
#define IMFMetadata_GetAllPropertyNames(This,ppvNames) \
( (This)->lpVtbl -> GetAllPropertyNames(This,ppvNames) )
#endif /* COBJMACROS */
#endif /* C style interface */
#endif /* __IMFMetadata_INTERFACE_DEFINED__ */
#ifndef __IMFMetadataProvider_INTERFACE_DEFINED__
#define __IMFMetadataProvider_INTERFACE_DEFINED__
/* interface IMFMetadataProvider */
/* [uuid][object] */
EXTERN_C const IID IID_IMFMetadataProvider;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("56181D2D-E221-4adb-B1C8-3CEE6A53F76F")
IMFMetadataProvider : public IUnknown
{
public:
virtual HRESULT STDMETHODCALLTYPE GetMFMetadata(
/* [in] */ __RPC__in_opt IMFPresentationDescriptor *pPresentationDescriptor,
/* [in] */ DWORD dwStreamIdentifier,
/* [in] */ DWORD dwFlags,
/* [out] */ __RPC__deref_out_opt IMFMetadata **ppMFMetadata) = 0;
};
#else /* C style interface */
typedef struct IMFMetadataProviderVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
__RPC__in IMFMetadataProvider * This,
/* [in] */ __RPC__in REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
__RPC__in IMFMetadataProvider * This);
ULONG ( STDMETHODCALLTYPE *Release )(
__RPC__in IMFMetadataProvider * This);
HRESULT ( STDMETHODCALLTYPE *GetMFMetadata )(
__RPC__in IMFMetadataProvider * This,
/* [in] */ __RPC__in_opt IMFPresentationDescriptor *pPresentationDescriptor,
/* [in] */ DWORD dwStreamIdentifier,
/* [in] */ DWORD dwFlags,
/* [out] */ __RPC__deref_out_opt IMFMetadata **ppMFMetadata);
END_INTERFACE
} IMFMetadataProviderVtbl;
interface IMFMetadataProvider
{
CONST_VTBL struct IMFMetadataProviderVtbl *lpVtbl;
};
#ifdef COBJMACROS
#define IMFMetadataProvider_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
#define IMFMetadataProvider_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
#define IMFMetadataProvider_Release(This) \
( (This)->lpVtbl -> Release(This) )
#define IMFMetadataProvider_GetMFMetadata(This,pPresentationDescriptor,dwStreamIdentifier,dwFlags,ppMFMetadata) \
( (This)->lpVtbl -> GetMFMetadata(This,pPresentationDescriptor,dwStreamIdentifier,dwFlags,ppMFMetadata) )
#endif /* COBJMACROS */
#endif /* C style interface */
#endif /* __IMFMetadataProvider_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_mfidl_0000_0026 */
/* [local] */
EXTERN_GUID( MF_METADATA_PROVIDER_SERVICE, 0xdb214084, 0x58a4, 0x4d2e, 0xb8, 0x4f, 0x6f, 0x75, 0x5b, 0x2f, 0x7a, 0xd);
#if (WINVER >= _WIN32_WINNT_WIN7)
EXTERN_GUID( MF_PROPERTY_HANDLER_SERVICE, 0xa3face02, 0x32b8, 0x41dd, 0x90, 0xe7, 0x5f, 0xef, 0x7c, 0x89, 0x91, 0xb5);
#endif // (WINVER >= _WIN32_WINNT_WIN7)
typedef
enum _MFRATE_DIRECTION
{ MFRATE_FORWARD = 0,
MFRATE_REVERSE = ( MFRATE_FORWARD + 1 )
} MFRATE_DIRECTION;
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0026_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0026_v0_0_s_ifspec;
#ifndef __IMFRateSupport_INTERFACE_DEFINED__
#define __IMFRateSupport_INTERFACE_DEFINED__
/* interface IMFRateSupport */
/* [unique][uuid][object] */
EXTERN_C const IID IID_IMFRateSupport;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("0a9ccdbc-d797-4563-9667-94ec5d79292d")
IMFRateSupport : public IUnknown
{
public:
virtual HRESULT STDMETHODCALLTYPE GetSlowestRate(
/* [in] */ MFRATE_DIRECTION eDirection,
/* [in] */ BOOL fThin,
/* [out] */ __RPC__out float *pflRate) = 0;
virtual HRESULT STDMETHODCALLTYPE GetFastestRate(
/* [in] */ MFRATE_DIRECTION eDirection,
/* [in] */ BOOL fThin,
/* [out] */ __RPC__out float *pflRate) = 0;
virtual HRESULT STDMETHODCALLTYPE IsRateSupported(
/* [in] */ BOOL fThin,
/* [in] */ float flRate,
/* [unique][out][in] */ __RPC__inout_opt float *pflNearestSupportedRate) = 0;
};
#else /* C style interface */
typedef struct IMFRateSupportVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
__RPC__in IMFRateSupport * This,
/* [in] */ __RPC__in REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
__RPC__in IMFRateSupport * This);
ULONG ( STDMETHODCALLTYPE *Release )(
__RPC__in IMFRateSupport * This);
HRESULT ( STDMETHODCALLTYPE *GetSlowestRate )(
__RPC__in IMFRateSupport * This,
/* [in] */ MFRATE_DIRECTION eDirection,
/* [in] */ BOOL fThin,
/* [out] */ __RPC__out float *pflRate);
HRESULT ( STDMETHODCALLTYPE *GetFastestRate )(
__RPC__in IMFRateSupport * This,
/* [in] */ MFRATE_DIRECTION eDirection,
/* [in] */ BOOL fThin,
/* [out] */ __RPC__out float *pflRate);
HRESULT ( STDMETHODCALLTYPE *IsRateSupported )(
__RPC__in IMFRateSupport * This,
/* [in] */ BOOL fThin,
/* [in] */ float flRate,
/* [unique][out][in] */ __RPC__inout_opt float *pflNearestSupportedRate);
END_INTERFACE
} IMFRateSupportVtbl;
interface IMFRateSupport
{
CONST_VTBL struct IMFRateSupportVtbl *lpVtbl;
};
#ifdef COBJMACROS
#define IMFRateSupport_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
#define IMFRateSupport_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
#define IMFRateSupport_Release(This) \
( (This)->lpVtbl -> Release(This) )
#define IMFRateSupport_GetSlowestRate(This,eDirection,fThin,pflRate) \
( (This)->lpVtbl -> GetSlowestRate(This,eDirection,fThin,pflRate) )
#define IMFRateSupport_GetFastestRate(This,eDirection,fThin,pflRate) \
( (This)->lpVtbl -> GetFastestRate(This,eDirection,fThin,pflRate) )
#define IMFRateSupport_IsRateSupported(This,fThin,flRate,pflNearestSupportedRate) \
( (This)->lpVtbl -> IsRateSupported(This,fThin,flRate,pflNearestSupportedRate) )
#endif /* COBJMACROS */
#endif /* C style interface */
#endif /* __IMFRateSupport_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_mfidl_0000_0027 */
/* [local] */
EXTERN_GUID( MF_RATE_CONTROL_SERVICE, 0x866fa297, 0xb802, 0x4bf8, 0x9d, 0xc9, 0x5e, 0x3b, 0x6a, 0x9f, 0x53, 0xc9);
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0027_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0027_v0_0_s_ifspec;
#ifndef __IMFRateControl_INTERFACE_DEFINED__
#define __IMFRateControl_INTERFACE_DEFINED__
/* interface IMFRateControl */
/* [unique][uuid][object] */
EXTERN_C const IID IID_IMFRateControl;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("88ddcd21-03c3-4275-91ed-55ee3929328f")
IMFRateControl : public IUnknown
{
public:
virtual HRESULT STDMETHODCALLTYPE SetRate(
/* [in] */ BOOL fThin,
/* [in] */ float flRate) = 0;
virtual HRESULT STDMETHODCALLTYPE GetRate(
/* [unique][out][in] */ __RPC__inout_opt BOOL *pfThin,
/* [unique][out][in] */ __RPC__inout_opt float *pflRate) = 0;
};
#else /* C style interface */
typedef struct IMFRateControlVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
__RPC__in IMFRateControl * This,
/* [in] */ __RPC__in REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
__RPC__in IMFRateControl * This);
ULONG ( STDMETHODCALLTYPE *Release )(
__RPC__in IMFRateControl * This);
HRESULT ( STDMETHODCALLTYPE *SetRate )(
__RPC__in IMFRateControl * This,
/* [in] */ BOOL fThin,
/* [in] */ float flRate);
HRESULT ( STDMETHODCALLTYPE *GetRate )(
__RPC__in IMFRateControl * This,
/* [unique][out][in] */ __RPC__inout_opt BOOL *pfThin,
/* [unique][out][in] */ __RPC__inout_opt float *pflRate);
END_INTERFACE
} IMFRateControlVtbl;
interface IMFRateControl
{
CONST_VTBL struct IMFRateControlVtbl *lpVtbl;
};
#ifdef COBJMACROS
#define IMFRateControl_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
#define IMFRateControl_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
#define IMFRateControl_Release(This) \
( (This)->lpVtbl -> Release(This) )
#define IMFRateControl_SetRate(This,fThin,flRate) \
( (This)->lpVtbl -> SetRate(This,fThin,flRate) )
#define IMFRateControl_GetRate(This,pfThin,pflRate) \
( (This)->lpVtbl -> GetRate(This,pfThin,pflRate) )
#endif /* COBJMACROS */
#endif /* C style interface */
#endif /* __IMFRateControl_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_mfidl_0000_0028 */
/* [local] */
#if (WINVER >= _WIN32_WINNT_WIN7)
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0028_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0028_v0_0_s_ifspec;
#ifndef __IMFTimecodeTranslate_INTERFACE_DEFINED__
#define __IMFTimecodeTranslate_INTERFACE_DEFINED__
/* interface IMFTimecodeTranslate */
/* [local][uuid][object] */
EXTERN_C const IID IID_IMFTimecodeTranslate;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("ab9d8661-f7e8-4ef4-9861-89f334f94e74")
IMFTimecodeTranslate : public IUnknown
{
public:
virtual HRESULT STDMETHODCALLTYPE BeginConvertTimecodeToHNS(
/* [in] */ const PROPVARIANT *pPropVarTimecode,
/* [in] */ IMFAsyncCallback *pCallback,
/* [in] */ IUnknown *punkState) = 0;
virtual HRESULT STDMETHODCALLTYPE EndConvertTimecodeToHNS(
/* [in] */ IMFAsyncResult *pResult,
/* [out] */ MFTIME *phnsTime) = 0;
virtual HRESULT STDMETHODCALLTYPE BeginConvertHNSToTimecode(
/* [in] */ MFTIME hnsTime,
/* [in] */ IMFAsyncCallback *pCallback,
/* [in] */ IUnknown *punkState) = 0;
virtual HRESULT STDMETHODCALLTYPE EndConvertHNSToTimecode(
/* [in] */ IMFAsyncResult *pResult,
/* [out] */ PROPVARIANT *pPropVarTimecode) = 0;
};
#else /* C style interface */
typedef struct IMFTimecodeTranslateVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IMFTimecodeTranslate * This,
/* [in] */ REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
IMFTimecodeTranslate * This);
ULONG ( STDMETHODCALLTYPE *Release )(
IMFTimecodeTranslate * This);
HRESULT ( STDMETHODCALLTYPE *BeginConvertTimecodeToHNS )(
IMFTimecodeTranslate * This,
/* [in] */ const PROPVARIANT *pPropVarTimecode,
/* [in] */ IMFAsyncCallback *pCallback,
/* [in] */ IUnknown *punkState);
HRESULT ( STDMETHODCALLTYPE *EndConvertTimecodeToHNS )(
IMFTimecodeTranslate * This,
/* [in] */ IMFAsyncResult *pResult,
/* [out] */ MFTIME *phnsTime);
HRESULT ( STDMETHODCALLTYPE *BeginConvertHNSToTimecode )(
IMFTimecodeTranslate * This,
/* [in] */ MFTIME hnsTime,
/* [in] */ IMFAsyncCallback *pCallback,
/* [in] */ IUnknown *punkState);
HRESULT ( STDMETHODCALLTYPE *EndConvertHNSToTimecode )(
IMFTimecodeTranslate * This,
/* [in] */ IMFAsyncResult *pResult,
/* [out] */ PROPVARIANT *pPropVarTimecode);
END_INTERFACE
} IMFTimecodeTranslateVtbl;
interface IMFTimecodeTranslate
{
CONST_VTBL struct IMFTimecodeTranslateVtbl *lpVtbl;
};
#ifdef COBJMACROS
#define IMFTimecodeTranslate_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
#define IMFTimecodeTranslate_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
#define IMFTimecodeTranslate_Release(This) \
( (This)->lpVtbl -> Release(This) )
#define IMFTimecodeTranslate_BeginConvertTimecodeToHNS(This,pPropVarTimecode,pCallback,punkState) \
( (This)->lpVtbl -> BeginConvertTimecodeToHNS(This,pPropVarTimecode,pCallback,punkState) )
#define IMFTimecodeTranslate_EndConvertTimecodeToHNS(This,pResult,phnsTime) \
( (This)->lpVtbl -> EndConvertTimecodeToHNS(This,pResult,phnsTime) )
#define IMFTimecodeTranslate_BeginConvertHNSToTimecode(This,hnsTime,pCallback,punkState) \
( (This)->lpVtbl -> BeginConvertHNSToTimecode(This,hnsTime,pCallback,punkState) )
#define IMFTimecodeTranslate_EndConvertHNSToTimecode(This,pResult,pPropVarTimecode) \
( (This)->lpVtbl -> EndConvertHNSToTimecode(This,pResult,pPropVarTimecode) )
#endif /* COBJMACROS */
#endif /* C style interface */
#endif /* __IMFTimecodeTranslate_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_mfidl_0000_0029 */
/* [local] */
EXTERN_GUID( MF_TIMECODE_SERVICE, 0xa0d502a7, 0x0eb3, 0x4885, 0xb1, 0xb9, 0x9f, 0xeb, 0x0d, 0x08, 0x34, 0x54 );
#endif // (WINVER >= _WIN32_WINNT_WIN7)
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0029_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0029_v0_0_s_ifspec;
#ifndef __IMFSimpleAudioVolume_INTERFACE_DEFINED__
#define __IMFSimpleAudioVolume_INTERFACE_DEFINED__
/* interface IMFSimpleAudioVolume */
/* [uuid][object] */
EXTERN_C const IID IID_IMFSimpleAudioVolume;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("089EDF13-CF71-4338-8D13-9E569DBDC319")
IMFSimpleAudioVolume : public IUnknown
{
public:
virtual HRESULT STDMETHODCALLTYPE SetMasterVolume(
/* [in] */ float fLevel) = 0;
virtual HRESULT STDMETHODCALLTYPE GetMasterVolume(
/* [out] */ __RPC__out float *pfLevel) = 0;
virtual HRESULT STDMETHODCALLTYPE SetMute(
/* [in] */ const BOOL bMute) = 0;
virtual HRESULT STDMETHODCALLTYPE GetMute(
/* [out] */ __RPC__out BOOL *pbMute) = 0;
};
#else /* C style interface */
typedef struct IMFSimpleAudioVolumeVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
__RPC__in IMFSimpleAudioVolume * This,
/* [in] */ __RPC__in REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
__RPC__in IMFSimpleAudioVolume * This);
ULONG ( STDMETHODCALLTYPE *Release )(
__RPC__in IMFSimpleAudioVolume * This);
HRESULT ( STDMETHODCALLTYPE *SetMasterVolume )(
__RPC__in IMFSimpleAudioVolume * This,
/* [in] */ float fLevel);
HRESULT ( STDMETHODCALLTYPE *GetMasterVolume )(
__RPC__in IMFSimpleAudioVolume * This,
/* [out] */ __RPC__out float *pfLevel);
HRESULT ( STDMETHODCALLTYPE *SetMute )(
__RPC__in IMFSimpleAudioVolume * This,
/* [in] */ const BOOL bMute);
HRESULT ( STDMETHODCALLTYPE *GetMute )(
__RPC__in IMFSimpleAudioVolume * This,
/* [out] */ __RPC__out BOOL *pbMute);
END_INTERFACE
} IMFSimpleAudioVolumeVtbl;
interface IMFSimpleAudioVolume
{
CONST_VTBL struct IMFSimpleAudioVolumeVtbl *lpVtbl;
};
#ifdef COBJMACROS
#define IMFSimpleAudioVolume_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
#define IMFSimpleAudioVolume_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
#define IMFSimpleAudioVolume_Release(This) \
( (This)->lpVtbl -> Release(This) )
#define IMFSimpleAudioVolume_SetMasterVolume(This,fLevel) \
( (This)->lpVtbl -> SetMasterVolume(This,fLevel) )
#define IMFSimpleAudioVolume_GetMasterVolume(This,pfLevel) \
( (This)->lpVtbl -> GetMasterVolume(This,pfLevel) )
#define IMFSimpleAudioVolume_SetMute(This,bMute) \
( (This)->lpVtbl -> SetMute(This,bMute) )
#define IMFSimpleAudioVolume_GetMute(This,pbMute) \
( (This)->lpVtbl -> GetMute(This,pbMute) )
#endif /* COBJMACROS */
#endif /* C style interface */
#endif /* __IMFSimpleAudioVolume_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_mfidl_0000_0030 */
/* [local] */
EXTERN_GUID( MR_POLICY_VOLUME_SERVICE, 0x1abaa2ac, 0x9d3b, 0x47c6, 0xab, 0x48, 0xc5, 0x95, 0x6, 0xde, 0x78, 0x4d);
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0030_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0030_v0_0_s_ifspec;
#ifndef __IMFAudioStreamVolume_INTERFACE_DEFINED__
#define __IMFAudioStreamVolume_INTERFACE_DEFINED__
/* interface IMFAudioStreamVolume */
/* [uuid][object] */
EXTERN_C const IID IID_IMFAudioStreamVolume;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("76B1BBDB-4EC8-4f36-B106-70A9316DF593")
IMFAudioStreamVolume : public IUnknown
{
public:
virtual HRESULT STDMETHODCALLTYPE GetChannelCount(
/* [out] */ __RPC__out UINT32 *pdwCount) = 0;
virtual HRESULT STDMETHODCALLTYPE SetChannelVolume(
/* [in] */ UINT32 dwIndex,
/* [in] */ const float fLevel) = 0;
virtual HRESULT STDMETHODCALLTYPE GetChannelVolume(
/* [in] */ UINT32 dwIndex,
/* [out] */ __RPC__out float *pfLevel) = 0;
virtual HRESULT STDMETHODCALLTYPE SetAllVolumes(
/* [in] */ UINT32 dwCount,
/* [size_is][in] */ __RPC__in_ecount_full(dwCount) const float *pfVolumes) = 0;
virtual HRESULT STDMETHODCALLTYPE GetAllVolumes(
/* [in] */ UINT32 dwCount,
/* [size_is][out] */ __RPC__out_ecount_full(dwCount) float *pfVolumes) = 0;
};
#else /* C style interface */
typedef struct IMFAudioStreamVolumeVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
__RPC__in IMFAudioStreamVolume * This,
/* [in] */ __RPC__in REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
__RPC__in IMFAudioStreamVolume * This);
ULONG ( STDMETHODCALLTYPE *Release )(
__RPC__in IMFAudioStreamVolume * This);
HRESULT ( STDMETHODCALLTYPE *GetChannelCount )(
__RPC__in IMFAudioStreamVolume * This,
/* [out] */ __RPC__out UINT32 *pdwCount);
HRESULT ( STDMETHODCALLTYPE *SetChannelVolume )(
__RPC__in IMFAudioStreamVolume * This,
/* [in] */ UINT32 dwIndex,
/* [in] */ const float fLevel);
HRESULT ( STDMETHODCALLTYPE *GetChannelVolume )(
__RPC__in IMFAudioStreamVolume * This,
/* [in] */ UINT32 dwIndex,
/* [out] */ __RPC__out float *pfLevel);
HRESULT ( STDMETHODCALLTYPE *SetAllVolumes )(
__RPC__in IMFAudioStreamVolume * This,
/* [in] */ UINT32 dwCount,
/* [size_is][in] */ __RPC__in_ecount_full(dwCount) const float *pfVolumes);
HRESULT ( STDMETHODCALLTYPE *GetAllVolumes )(
__RPC__in IMFAudioStreamVolume * This,
/* [in] */ UINT32 dwCount,
/* [size_is][out] */ __RPC__out_ecount_full(dwCount) float *pfVolumes);
END_INTERFACE
} IMFAudioStreamVolumeVtbl;
interface IMFAudioStreamVolume
{
CONST_VTBL struct IMFAudioStreamVolumeVtbl *lpVtbl;
};
#ifdef COBJMACROS
#define IMFAudioStreamVolume_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
#define IMFAudioStreamVolume_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
#define IMFAudioStreamVolume_Release(This) \
( (This)->lpVtbl -> Release(This) )
#define IMFAudioStreamVolume_GetChannelCount(This,pdwCount) \
( (This)->lpVtbl -> GetChannelCount(This,pdwCount) )
#define IMFAudioStreamVolume_SetChannelVolume(This,dwIndex,fLevel) \
( (This)->lpVtbl -> SetChannelVolume(This,dwIndex,fLevel) )
#define IMFAudioStreamVolume_GetChannelVolume(This,dwIndex,pfLevel) \
( (This)->lpVtbl -> GetChannelVolume(This,dwIndex,pfLevel) )
#define IMFAudioStreamVolume_SetAllVolumes(This,dwCount,pfVolumes) \
( (This)->lpVtbl -> SetAllVolumes(This,dwCount,pfVolumes) )
#define IMFAudioStreamVolume_GetAllVolumes(This,dwCount,pfVolumes) \
( (This)->lpVtbl -> GetAllVolumes(This,dwCount,pfVolumes) )
#endif /* COBJMACROS */
#endif /* C style interface */
#endif /* __IMFAudioStreamVolume_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_mfidl_0000_0031 */
/* [local] */
EXTERN_GUID( MR_STREAM_VOLUME_SERVICE, 0xf8b5fa2f, 0x32ef, 0x46f5, 0xb1, 0x72, 0x13, 0x21, 0x21, 0x2f, 0xb2, 0xc4);
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0031_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0031_v0_0_s_ifspec;
#ifndef __IMFAudioPolicy_INTERFACE_DEFINED__
#define __IMFAudioPolicy_INTERFACE_DEFINED__
/* interface IMFAudioPolicy */
/* [local][uuid][object] */
EXTERN_C const IID IID_IMFAudioPolicy;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("a0638c2b-6465-4395-9ae7-a321a9fd2856")
IMFAudioPolicy : public IUnknown
{
public:
virtual HRESULT STDMETHODCALLTYPE SetGroupingParam(
/* [in] */ REFGUID rguidClass) = 0;
virtual HRESULT STDMETHODCALLTYPE GetGroupingParam(
/* [annotation][out] */
__out GUID *pguidClass) = 0;
virtual HRESULT STDMETHODCALLTYPE SetDisplayName(
/* [in] */ LPCWSTR pszName) = 0;
virtual HRESULT STDMETHODCALLTYPE GetDisplayName(
/* [annotation][out] */
__deref_out LPWSTR *pszName) = 0;
virtual HRESULT STDMETHODCALLTYPE SetIconPath(
/* [in] */ LPCWSTR pszPath) = 0;
virtual HRESULT STDMETHODCALLTYPE GetIconPath(
/* [annotation][out] */
__deref_out LPWSTR *pszPath) = 0;
};
#else /* C style interface */
typedef struct IMFAudioPolicyVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IMFAudioPolicy * This,
/* [in] */ REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
IMFAudioPolicy * This);
ULONG ( STDMETHODCALLTYPE *Release )(
IMFAudioPolicy * This);
HRESULT ( STDMETHODCALLTYPE *SetGroupingParam )(
IMFAudioPolicy * This,
/* [in] */ REFGUID rguidClass);
HRESULT ( STDMETHODCALLTYPE *GetGroupingParam )(
IMFAudioPolicy * This,
/* [annotation][out] */
__out GUID *pguidClass);
HRESULT ( STDMETHODCALLTYPE *SetDisplayName )(
IMFAudioPolicy * This,
/* [in] */ LPCWSTR pszName);
HRESULT ( STDMETHODCALLTYPE *GetDisplayName )(
IMFAudioPolicy * This,
/* [annotation][out] */
__deref_out LPWSTR *pszName);
HRESULT ( STDMETHODCALLTYPE *SetIconPath )(
IMFAudioPolicy * This,
/* [in] */ LPCWSTR pszPath);
HRESULT ( STDMETHODCALLTYPE *GetIconPath )(
IMFAudioPolicy * This,
/* [annotation][out] */
__deref_out LPWSTR *pszPath);
END_INTERFACE
} IMFAudioPolicyVtbl;
interface IMFAudioPolicy
{
CONST_VTBL struct IMFAudioPolicyVtbl *lpVtbl;
};
#ifdef COBJMACROS
#define IMFAudioPolicy_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
#define IMFAudioPolicy_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
#define IMFAudioPolicy_Release(This) \
( (This)->lpVtbl -> Release(This) )
#define IMFAudioPolicy_SetGroupingParam(This,rguidClass) \
( (This)->lpVtbl -> SetGroupingParam(This,rguidClass) )
#define IMFAudioPolicy_GetGroupingParam(This,pguidClass) \
( (This)->lpVtbl -> GetGroupingParam(This,pguidClass) )
#define IMFAudioPolicy_SetDisplayName(This,pszName) \
( (This)->lpVtbl -> SetDisplayName(This,pszName) )
#define IMFAudioPolicy_GetDisplayName(This,pszName) \
( (This)->lpVtbl -> GetDisplayName(This,pszName) )
#define IMFAudioPolicy_SetIconPath(This,pszPath) \
( (This)->lpVtbl -> SetIconPath(This,pszPath) )
#define IMFAudioPolicy_GetIconPath(This,pszPath) \
( (This)->lpVtbl -> GetIconPath(This,pszPath) )
#endif /* COBJMACROS */
#endif /* C style interface */
#endif /* __IMFAudioPolicy_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_mfidl_0000_0032 */
/* [local] */
EXTERN_GUID( MR_AUDIO_POLICY_SERVICE, 0x911fd737, 0x6775, 0x4ab0, 0xa6, 0x14, 0x29, 0x78, 0x62, 0xfd, 0xac, 0x88);
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0032_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0032_v0_0_s_ifspec;
#ifndef __IMFSampleGrabberSinkCallback_INTERFACE_DEFINED__
#define __IMFSampleGrabberSinkCallback_INTERFACE_DEFINED__
/* interface IMFSampleGrabberSinkCallback */
/* [local][uuid][object] */
EXTERN_C const IID IID_IMFSampleGrabberSinkCallback;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("8C7B80BF-EE42-4b59-B1DF-55668E1BDCA8")
IMFSampleGrabberSinkCallback : public IMFClockStateSink
{
public:
virtual HRESULT STDMETHODCALLTYPE OnSetPresentationClock(
/* [in] */ IMFPresentationClock *pPresentationClock) = 0;
virtual HRESULT STDMETHODCALLTYPE OnProcessSample(
/* [in] */ REFGUID guidMajorMediaType,
/* [in] */ DWORD dwSampleFlags,
/* [in] */ LONGLONG llSampleTime,
/* [in] */ LONGLONG llSampleDuration,
/* [annotation][in] */
__in_bcount(dwSampleSize) const BYTE *pSampleBuffer,
/* [in] */ DWORD dwSampleSize) = 0;
virtual HRESULT STDMETHODCALLTYPE OnShutdown( void) = 0;
};
#else /* C style interface */
typedef struct IMFSampleGrabberSinkCallbackVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IMFSampleGrabberSinkCallback * This,
/* [in] */ REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
IMFSampleGrabberSinkCallback * This);
ULONG ( STDMETHODCALLTYPE *Release )(
IMFSampleGrabberSinkCallback * This);
HRESULT ( STDMETHODCALLTYPE *OnClockStart )(
IMFSampleGrabberSinkCallback * This,
/* [in] */ MFTIME hnsSystemTime,
/* [in] */ LONGLONG llClockStartOffset);
HRESULT ( STDMETHODCALLTYPE *OnClockStop )(
IMFSampleGrabberSinkCallback * This,
/* [in] */ MFTIME hnsSystemTime);
HRESULT ( STDMETHODCALLTYPE *OnClockPause )(
IMFSampleGrabberSinkCallback * This,
/* [in] */ MFTIME hnsSystemTime);
HRESULT ( STDMETHODCALLTYPE *OnClockRestart )(
IMFSampleGrabberSinkCallback * This,
/* [in] */ MFTIME hnsSystemTime);
HRESULT ( STDMETHODCALLTYPE *OnClockSetRate )(
IMFSampleGrabberSinkCallback * This,
/* [in] */ MFTIME hnsSystemTime,
/* [in] */ float flRate);
HRESULT ( STDMETHODCALLTYPE *OnSetPresentationClock )(
IMFSampleGrabberSinkCallback * This,
/* [in] */ IMFPresentationClock *pPresentationClock);
HRESULT ( STDMETHODCALLTYPE *OnProcessSample )(
IMFSampleGrabberSinkCallback * This,
/* [in] */ REFGUID guidMajorMediaType,
/* [in] */ DWORD dwSampleFlags,
/* [in] */ LONGLONG llSampleTime,
/* [in] */ LONGLONG llSampleDuration,
/* [annotation][in] */
__in_bcount(dwSampleSize) const BYTE *pSampleBuffer,
/* [in] */ DWORD dwSampleSize);
HRESULT ( STDMETHODCALLTYPE *OnShutdown )(
IMFSampleGrabberSinkCallback * This);
END_INTERFACE
} IMFSampleGrabberSinkCallbackVtbl;
interface IMFSampleGrabberSinkCallback
{
CONST_VTBL struct IMFSampleGrabberSinkCallbackVtbl *lpVtbl;
};
#ifdef COBJMACROS
#define IMFSampleGrabberSinkCallback_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
#define IMFSampleGrabberSinkCallback_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
#define IMFSampleGrabberSinkCallback_Release(This) \
( (This)->lpVtbl -> Release(This) )
#define IMFSampleGrabberSinkCallback_OnClockStart(This,hnsSystemTime,llClockStartOffset) \
( (This)->lpVtbl -> OnClockStart(This,hnsSystemTime,llClockStartOffset) )
#define IMFSampleGrabberSinkCallback_OnClockStop(This,hnsSystemTime) \
( (This)->lpVtbl -> OnClockStop(This,hnsSystemTime) )
#define IMFSampleGrabberSinkCallback_OnClockPause(This,hnsSystemTime) \
( (This)->lpVtbl -> OnClockPause(This,hnsSystemTime) )
#define IMFSampleGrabberSinkCallback_OnClockRestart(This,hnsSystemTime) \
( (This)->lpVtbl -> OnClockRestart(This,hnsSystemTime) )
#define IMFSampleGrabberSinkCallback_OnClockSetRate(This,hnsSystemTime,flRate) \
( (This)->lpVtbl -> OnClockSetRate(This,hnsSystemTime,flRate) )
#define IMFSampleGrabberSinkCallback_OnSetPresentationClock(This,pPresentationClock) \
( (This)->lpVtbl -> OnSetPresentationClock(This,pPresentationClock) )
#define IMFSampleGrabberSinkCallback_OnProcessSample(This,guidMajorMediaType,dwSampleFlags,llSampleTime,llSampleDuration,pSampleBuffer,dwSampleSize) \
( (This)->lpVtbl -> OnProcessSample(This,guidMajorMediaType,dwSampleFlags,llSampleTime,llSampleDuration,pSampleBuffer,dwSampleSize) )
#define IMFSampleGrabberSinkCallback_OnShutdown(This) \
( (This)->lpVtbl -> OnShutdown(This) )
#endif /* COBJMACROS */
#endif /* C style interface */
#endif /* __IMFSampleGrabberSinkCallback_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_mfidl_0000_0033 */
/* [local] */
STDAPI
MFCreateSampleGrabberSinkActivate(
IMFMediaType *pIMFMediaType,
IMFSampleGrabberSinkCallback* pIMFSampleGrabberSinkCallback,
__out IMFActivate** ppIActivate
);
EXTERN_GUID( MF_SAMPLEGRABBERSINK_SAMPLE_TIME_OFFSET, 0x62e3d776, 0x8100, 0x4e03, 0xa6, 0xe8, 0xbd, 0x38, 0x57, 0xac, 0x9c, 0x47);
#if (WINVER >= _WIN32_WINNT_WIN7)
EXTERN_GUID( MF_SAMPLEGRABBERSINK_IGNORE_CLOCK, 0x0efda2c0, 0x2b69, 0x4e2e, 0xab, 0x8d, 0x46, 0xdc, 0xbf, 0xf7, 0xd2, 0x5d);
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0033_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0033_v0_0_s_ifspec;
#ifndef __IMFSampleGrabberSinkCallback2_INTERFACE_DEFINED__
#define __IMFSampleGrabberSinkCallback2_INTERFACE_DEFINED__
/* interface IMFSampleGrabberSinkCallback2 */
/* [local][uuid][object] */
EXTERN_C const IID IID_IMFSampleGrabberSinkCallback2;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("ca86aa50-c46e-429e-ab27-16d6ac6844cb")
IMFSampleGrabberSinkCallback2 : public IMFSampleGrabberSinkCallback
{
public:
virtual HRESULT STDMETHODCALLTYPE OnProcessSampleEx(
/* [in] */ REFGUID guidMajorMediaType,
/* [in] */ DWORD dwSampleFlags,
/* [in] */ LONGLONG llSampleTime,
/* [in] */ LONGLONG llSampleDuration,
/* [annotation][in] */
__in_bcount(dwSampleSize) const BYTE *pSampleBuffer,
/* [in] */ DWORD dwSampleSize,
/* [annotation][in] */
__in IMFAttributes *pAttributes) = 0;
};
#else /* C style interface */
typedef struct IMFSampleGrabberSinkCallback2Vtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IMFSampleGrabberSinkCallback2 * This,
/* [in] */ REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
IMFSampleGrabberSinkCallback2 * This);
ULONG ( STDMETHODCALLTYPE *Release )(
IMFSampleGrabberSinkCallback2 * This);
HRESULT ( STDMETHODCALLTYPE *OnClockStart )(
IMFSampleGrabberSinkCallback2 * This,
/* [in] */ MFTIME hnsSystemTime,
/* [in] */ LONGLONG llClockStartOffset);
HRESULT ( STDMETHODCALLTYPE *OnClockStop )(
IMFSampleGrabberSinkCallback2 * This,
/* [in] */ MFTIME hnsSystemTime);
HRESULT ( STDMETHODCALLTYPE *OnClockPause )(
IMFSampleGrabberSinkCallback2 * This,
/* [in] */ MFTIME hnsSystemTime);
HRESULT ( STDMETHODCALLTYPE *OnClockRestart )(
IMFSampleGrabberSinkCallback2 * This,
/* [in] */ MFTIME hnsSystemTime);
HRESULT ( STDMETHODCALLTYPE *OnClockSetRate )(
IMFSampleGrabberSinkCallback2 * This,
/* [in] */ MFTIME hnsSystemTime,
/* [in] */ float flRate);
HRESULT ( STDMETHODCALLTYPE *OnSetPresentationClock )(
IMFSampleGrabberSinkCallback2 * This,
/* [in] */ IMFPresentationClock *pPresentationClock);
HRESULT ( STDMETHODCALLTYPE *OnProcessSample )(
IMFSampleGrabberSinkCallback2 * This,
/* [in] */ REFGUID guidMajorMediaType,
/* [in] */ DWORD dwSampleFlags,
/* [in] */ LONGLONG llSampleTime,
/* [in] */ LONGLONG llSampleDuration,
/* [annotation][in] */
__in_bcount(dwSampleSize) const BYTE *pSampleBuffer,
/* [in] */ DWORD dwSampleSize);
HRESULT ( STDMETHODCALLTYPE *OnShutdown )(
IMFSampleGrabberSinkCallback2 * This);
HRESULT ( STDMETHODCALLTYPE *OnProcessSampleEx )(
IMFSampleGrabberSinkCallback2 * This,
/* [in] */ REFGUID guidMajorMediaType,
/* [in] */ DWORD dwSampleFlags,
/* [in] */ LONGLONG llSampleTime,
/* [in] */ LONGLONG llSampleDuration,
/* [annotation][in] */
__in_bcount(dwSampleSize) const BYTE *pSampleBuffer,
/* [in] */ DWORD dwSampleSize,
/* [annotation][in] */
__in IMFAttributes *pAttributes);
END_INTERFACE
} IMFSampleGrabberSinkCallback2Vtbl;
interface IMFSampleGrabberSinkCallback2
{
CONST_VTBL struct IMFSampleGrabberSinkCallback2Vtbl *lpVtbl;
};
#ifdef COBJMACROS
#define IMFSampleGrabberSinkCallback2_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
#define IMFSampleGrabberSinkCallback2_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
#define IMFSampleGrabberSinkCallback2_Release(This) \
( (This)->lpVtbl -> Release(This) )
#define IMFSampleGrabberSinkCallback2_OnClockStart(This,hnsSystemTime,llClockStartOffset) \
( (This)->lpVtbl -> OnClockStart(This,hnsSystemTime,llClockStartOffset) )
#define IMFSampleGrabberSinkCallback2_OnClockStop(This,hnsSystemTime) \
( (This)->lpVtbl -> OnClockStop(This,hnsSystemTime) )
#define IMFSampleGrabberSinkCallback2_OnClockPause(This,hnsSystemTime) \
( (This)->lpVtbl -> OnClockPause(This,hnsSystemTime) )
#define IMFSampleGrabberSinkCallback2_OnClockRestart(This,hnsSystemTime) \
( (This)->lpVtbl -> OnClockRestart(This,hnsSystemTime) )
#define IMFSampleGrabberSinkCallback2_OnClockSetRate(This,hnsSystemTime,flRate) \
( (This)->lpVtbl -> OnClockSetRate(This,hnsSystemTime,flRate) )
#define IMFSampleGrabberSinkCallback2_OnSetPresentationClock(This,pPresentationClock) \
( (This)->lpVtbl -> OnSetPresentationClock(This,pPresentationClock) )
#define IMFSampleGrabberSinkCallback2_OnProcessSample(This,guidMajorMediaType,dwSampleFlags,llSampleTime,llSampleDuration,pSampleBuffer,dwSampleSize) \
( (This)->lpVtbl -> OnProcessSample(This,guidMajorMediaType,dwSampleFlags,llSampleTime,llSampleDuration,pSampleBuffer,dwSampleSize) )
#define IMFSampleGrabberSinkCallback2_OnShutdown(This) \
( (This)->lpVtbl -> OnShutdown(This) )
#define IMFSampleGrabberSinkCallback2_OnProcessSampleEx(This,guidMajorMediaType,dwSampleFlags,llSampleTime,llSampleDuration,pSampleBuffer,dwSampleSize,pAttributes) \
( (This)->lpVtbl -> OnProcessSampleEx(This,guidMajorMediaType,dwSampleFlags,llSampleTime,llSampleDuration,pSampleBuffer,dwSampleSize,pAttributes) )
#endif /* COBJMACROS */
#endif /* C style interface */
#endif /* __IMFSampleGrabberSinkCallback2_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_mfidl_0000_0034 */
/* [local] */
#endif // (WINVER >= _WIN32_WINNT_WIN7)
EXTERN_GUID( MF_QUALITY_SERVICES, 0xb7e2be11, 0x2f96, 0x4640, 0xb5, 0x2c, 0x28, 0x23, 0x65, 0xbd, 0xf1, 0x6c);
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0034_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0034_v0_0_s_ifspec;
#ifndef __IMFWorkQueueServices_INTERFACE_DEFINED__
#define __IMFWorkQueueServices_INTERFACE_DEFINED__
/* interface IMFWorkQueueServices */
/* [uuid][object] */
EXTERN_C const IID IID_IMFWorkQueueServices;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("35FE1BB8-A3A9-40fe-BBEC-EB569C9CCCA3")
IMFWorkQueueServices : public IUnknown
{
public:
virtual /* [local] */ HRESULT STDMETHODCALLTYPE BeginRegisterTopologyWorkQueuesWithMMCSS(
/* [in] */ IMFAsyncCallback *pCallback,
/* [in] */ IUnknown *pState) = 0;
virtual /* [local] */ HRESULT STDMETHODCALLTYPE EndRegisterTopologyWorkQueuesWithMMCSS(
/* [in] */ IMFAsyncResult *pResult) = 0;
virtual /* [local] */ HRESULT STDMETHODCALLTYPE BeginUnregisterTopologyWorkQueuesWithMMCSS(
/* [in] */ IMFAsyncCallback *pCallback,
/* [in] */ IUnknown *pState) = 0;
virtual /* [local] */ HRESULT STDMETHODCALLTYPE EndUnregisterTopologyWorkQueuesWithMMCSS(
/* [in] */ IMFAsyncResult *pResult) = 0;
virtual HRESULT STDMETHODCALLTYPE GetTopologyWorkQueueMMCSSClass(
/* [in] */ DWORD dwTopologyWorkQueueId,
/* [size_is][out] */ __RPC__out_ecount_full(*pcchClass) LPWSTR pwszClass,
/* [out][in] */ __RPC__inout DWORD *pcchClass) = 0;
virtual HRESULT STDMETHODCALLTYPE GetTopologyWorkQueueMMCSSTaskId(
/* [in] */ DWORD dwTopologyWorkQueueId,
/* [out] */ __RPC__out DWORD *pdwTaskId) = 0;
virtual /* [local] */ HRESULT STDMETHODCALLTYPE BeginRegisterPlatformWorkQueueWithMMCSS(
/* [in] */ DWORD dwPlatformWorkQueue,
/* [in] */ LPCWSTR wszClass,
/* [in] */ DWORD dwTaskId,
/* [in] */ IMFAsyncCallback *pCallback,
/* [in] */ IUnknown *pState) = 0;
virtual /* [local] */ HRESULT STDMETHODCALLTYPE EndRegisterPlatformWorkQueueWithMMCSS(
/* [in] */ IMFAsyncResult *pResult,
/* [annotation][out] */
__out DWORD *pdwTaskId) = 0;
virtual /* [local] */ HRESULT STDMETHODCALLTYPE BeginUnregisterPlatformWorkQueueWithMMCSS(
/* [in] */ DWORD dwPlatformWorkQueue,
/* [in] */ IMFAsyncCallback *pCallback,
/* [in] */ IUnknown *pState) = 0;
virtual /* [local] */ HRESULT STDMETHODCALLTYPE EndUnregisterPlatformWorkQueueWithMMCSS(
/* [in] */ IMFAsyncResult *pResult) = 0;
virtual HRESULT STDMETHODCALLTYPE GetPlaftormWorkQueueMMCSSClass(
/* [in] */ DWORD dwPlatformWorkQueueId,
/* [size_is][out] */ __RPC__out_ecount_full(*pcchClass) LPWSTR pwszClass,
/* [out][in] */ __RPC__inout DWORD *pcchClass) = 0;
virtual HRESULT STDMETHODCALLTYPE GetPlatformWorkQueueMMCSSTaskId(
/* [in] */ DWORD dwPlatformWorkQueueId,
/* [out] */ __RPC__out DWORD *pdwTaskId) = 0;
};
#else /* C style interface */
typedef struct IMFWorkQueueServicesVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
__RPC__in IMFWorkQueueServices * This,
/* [in] */ __RPC__in REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
__RPC__in IMFWorkQueueServices * This);
ULONG ( STDMETHODCALLTYPE *Release )(
__RPC__in IMFWorkQueueServices * This);
/* [local] */ HRESULT ( STDMETHODCALLTYPE *BeginRegisterTopologyWorkQueuesWithMMCSS )(
IMFWorkQueueServices * This,
/* [in] */ IMFAsyncCallback *pCallback,
/* [in] */ IUnknown *pState);
/* [local] */ HRESULT ( STDMETHODCALLTYPE *EndRegisterTopologyWorkQueuesWithMMCSS )(
IMFWorkQueueServices * This,
/* [in] */ IMFAsyncResult *pResult);
/* [local] */ HRESULT ( STDMETHODCALLTYPE *BeginUnregisterTopologyWorkQueuesWithMMCSS )(
IMFWorkQueueServices * This,
/* [in] */ IMFAsyncCallback *pCallback,
/* [in] */ IUnknown *pState);
/* [local] */ HRESULT ( STDMETHODCALLTYPE *EndUnregisterTopologyWorkQueuesWithMMCSS )(
IMFWorkQueueServices * This,
/* [in] */ IMFAsyncResult *pResult);
HRESULT ( STDMETHODCALLTYPE *GetTopologyWorkQueueMMCSSClass )(
__RPC__in IMFWorkQueueServices * This,
/* [in] */ DWORD dwTopologyWorkQueueId,
/* [size_is][out] */ __RPC__out_ecount_full(*pcchClass) LPWSTR pwszClass,
/* [out][in] */ __RPC__inout DWORD *pcchClass);
HRESULT ( STDMETHODCALLTYPE *GetTopologyWorkQueueMMCSSTaskId )(
__RPC__in IMFWorkQueueServices * This,
/* [in] */ DWORD dwTopologyWorkQueueId,
/* [out] */ __RPC__out DWORD *pdwTaskId);
/* [local] */ HRESULT ( STDMETHODCALLTYPE *BeginRegisterPlatformWorkQueueWithMMCSS )(
IMFWorkQueueServices * This,
/* [in] */ DWORD dwPlatformWorkQueue,
/* [in] */ LPCWSTR wszClass,
/* [in] */ DWORD dwTaskId,
/* [in] */ IMFAsyncCallback *pCallback,
/* [in] */ IUnknown *pState);
/* [local] */ HRESULT ( STDMETHODCALLTYPE *EndRegisterPlatformWorkQueueWithMMCSS )(
IMFWorkQueueServices * This,
/* [in] */ IMFAsyncResult *pResult,
/* [annotation][out] */
__out DWORD *pdwTaskId);
/* [local] */ HRESULT ( STDMETHODCALLTYPE *BeginUnregisterPlatformWorkQueueWithMMCSS )(
IMFWorkQueueServices * This,
/* [in] */ DWORD dwPlatformWorkQueue,
/* [in] */ IMFAsyncCallback *pCallback,
/* [in] */ IUnknown *pState);
/* [local] */ HRESULT ( STDMETHODCALLTYPE *EndUnregisterPlatformWorkQueueWithMMCSS )(
IMFWorkQueueServices * This,
/* [in] */ IMFAsyncResult *pResult);
HRESULT ( STDMETHODCALLTYPE *GetPlaftormWorkQueueMMCSSClass )(
__RPC__in IMFWorkQueueServices * This,
/* [in] */ DWORD dwPlatformWorkQueueId,
/* [size_is][out] */ __RPC__out_ecount_full(*pcchClass) LPWSTR pwszClass,
/* [out][in] */ __RPC__inout DWORD *pcchClass);
HRESULT ( STDMETHODCALLTYPE *GetPlatformWorkQueueMMCSSTaskId )(
__RPC__in IMFWorkQueueServices * This,
/* [in] */ DWORD dwPlatformWorkQueueId,
/* [out] */ __RPC__out DWORD *pdwTaskId);
END_INTERFACE
} IMFWorkQueueServicesVtbl;
interface IMFWorkQueueServices
{
CONST_VTBL struct IMFWorkQueueServicesVtbl *lpVtbl;
};
#ifdef COBJMACROS
#define IMFWorkQueueServices_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
#define IMFWorkQueueServices_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
#define IMFWorkQueueServices_Release(This) \
( (This)->lpVtbl -> Release(This) )
#define IMFWorkQueueServices_BeginRegisterTopologyWorkQueuesWithMMCSS(This,pCallback,pState) \
( (This)->lpVtbl -> BeginRegisterTopologyWorkQueuesWithMMCSS(This,pCallback,pState) )
#define IMFWorkQueueServices_EndRegisterTopologyWorkQueuesWithMMCSS(This,pResult) \
( (This)->lpVtbl -> EndRegisterTopologyWorkQueuesWithMMCSS(This,pResult) )
#define IMFWorkQueueServices_BeginUnregisterTopologyWorkQueuesWithMMCSS(This,pCallback,pState) \
( (This)->lpVtbl -> BeginUnregisterTopologyWorkQueuesWithMMCSS(This,pCallback,pState) )
#define IMFWorkQueueServices_EndUnregisterTopologyWorkQueuesWithMMCSS(This,pResult) \
( (This)->lpVtbl -> EndUnregisterTopologyWorkQueuesWithMMCSS(This,pResult) )
#define IMFWorkQueueServices_GetTopologyWorkQueueMMCSSClass(This,dwTopologyWorkQueueId,pwszClass,pcchClass) \
( (This)->lpVtbl -> GetTopologyWorkQueueMMCSSClass(This,dwTopologyWorkQueueId,pwszClass,pcchClass) )
#define IMFWorkQueueServices_GetTopologyWorkQueueMMCSSTaskId(This,dwTopologyWorkQueueId,pdwTaskId) \
( (This)->lpVtbl -> GetTopologyWorkQueueMMCSSTaskId(This,dwTopologyWorkQueueId,pdwTaskId) )
#define IMFWorkQueueServices_BeginRegisterPlatformWorkQueueWithMMCSS(This,dwPlatformWorkQueue,wszClass,dwTaskId,pCallback,pState) \
( (This)->lpVtbl -> BeginRegisterPlatformWorkQueueWithMMCSS(This,dwPlatformWorkQueue,wszClass,dwTaskId,pCallback,pState) )
#define IMFWorkQueueServices_EndRegisterPlatformWorkQueueWithMMCSS(This,pResult,pdwTaskId) \
( (This)->lpVtbl -> EndRegisterPlatformWorkQueueWithMMCSS(This,pResult,pdwTaskId) )
#define IMFWorkQueueServices_BeginUnregisterPlatformWorkQueueWithMMCSS(This,dwPlatformWorkQueue,pCallback,pState) \
( (This)->lpVtbl -> BeginUnregisterPlatformWorkQueueWithMMCSS(This,dwPlatformWorkQueue,pCallback,pState) )
#define IMFWorkQueueServices_EndUnregisterPlatformWorkQueueWithMMCSS(This,pResult) \
( (This)->lpVtbl -> EndUnregisterPlatformWorkQueueWithMMCSS(This,pResult) )
#define IMFWorkQueueServices_GetPlaftormWorkQueueMMCSSClass(This,dwPlatformWorkQueueId,pwszClass,pcchClass) \
( (This)->lpVtbl -> GetPlaftormWorkQueueMMCSSClass(This,dwPlatformWorkQueueId,pwszClass,pcchClass) )
#define IMFWorkQueueServices_GetPlatformWorkQueueMMCSSTaskId(This,dwPlatformWorkQueueId,pdwTaskId) \
( (This)->lpVtbl -> GetPlatformWorkQueueMMCSSTaskId(This,dwPlatformWorkQueueId,pdwTaskId) )
#endif /* COBJMACROS */
#endif /* C style interface */
/* [call_as] */ HRESULT STDMETHODCALLTYPE IMFWorkQueueServices_RemoteBeginRegisterTopologyWorkQueuesWithMMCSS_Proxy(
__RPC__in IMFWorkQueueServices * This,
/* [in] */ __RPC__in_opt IMFRemoteAsyncCallback *pCallback);
void __RPC_STUB IMFWorkQueueServices_RemoteBeginRegisterTopologyWorkQueuesWithMMCSS_Stub(
IRpcStubBuffer *This,
IRpcChannelBuffer *_pRpcChannelBuffer,
PRPC_MESSAGE _pRpcMessage,
DWORD *_pdwStubPhase);
/* [call_as] */ HRESULT STDMETHODCALLTYPE IMFWorkQueueServices_RemoteEndRegisterTopologyWorkQueuesWithMMCSS_Proxy(
__RPC__in IMFWorkQueueServices * This,
/* [in] */ __RPC__in_opt IUnknown *pResult);
void __RPC_STUB IMFWorkQueueServices_RemoteEndRegisterTopologyWorkQueuesWithMMCSS_Stub(
IRpcStubBuffer *This,
IRpcChannelBuffer *_pRpcChannelBuffer,
PRPC_MESSAGE _pRpcMessage,
DWORD *_pdwStubPhase);
/* [call_as] */ HRESULT STDMETHODCALLTYPE IMFWorkQueueServices_RemoteBeginUnregisterTopologyWorkQueuesWithMMCSS_Proxy(
__RPC__in IMFWorkQueueServices * This,
/* [in] */ __RPC__in_opt IMFRemoteAsyncCallback *pCallback);
void __RPC_STUB IMFWorkQueueServices_RemoteBeginUnregisterTopologyWorkQueuesWithMMCSS_Stub(
IRpcStubBuffer *This,
IRpcChannelBuffer *_pRpcChannelBuffer,
PRPC_MESSAGE _pRpcMessage,
DWORD *_pdwStubPhase);
/* [call_as] */ HRESULT STDMETHODCALLTYPE IMFWorkQueueServices_RemoteEndUnregisterTopologyWorkQueuesWithMMCSS_Proxy(
__RPC__in IMFWorkQueueServices * This,
/* [in] */ __RPC__in_opt IUnknown *pResult);
void __RPC_STUB IMFWorkQueueServices_RemoteEndUnregisterTopologyWorkQueuesWithMMCSS_Stub(
IRpcStubBuffer *This,
IRpcChannelBuffer *_pRpcChannelBuffer,
PRPC_MESSAGE _pRpcMessage,
DWORD *_pdwStubPhase);
/* [call_as] */ HRESULT STDMETHODCALLTYPE IMFWorkQueueServices_RemoteBeginRegisterPlatformWorkQueueWithMMCSS_Proxy(
__RPC__in IMFWorkQueueServices * This,
/* [in] */ DWORD dwPlatformWorkQueue,
/* [in] */ __RPC__in LPCWSTR wszClass,
/* [in] */ DWORD dwTaskId,
/* [in] */ __RPC__in_opt IMFRemoteAsyncCallback *pCallback);
void __RPC_STUB IMFWorkQueueServices_RemoteBeginRegisterPlatformWorkQueueWithMMCSS_Stub(
IRpcStubBuffer *This,
IRpcChannelBuffer *_pRpcChannelBuffer,
PRPC_MESSAGE _pRpcMessage,
DWORD *_pdwStubPhase);
/* [call_as] */ HRESULT STDMETHODCALLTYPE IMFWorkQueueServices_RemoteEndRegisterPlatformWorkQueueWithMMCSS_Proxy(
__RPC__in IMFWorkQueueServices * This,
/* [in] */ __RPC__in_opt IUnknown *pResult,
/* [out] */ __RPC__out DWORD *pdwTaskId);
void __RPC_STUB IMFWorkQueueServices_RemoteEndRegisterPlatformWorkQueueWithMMCSS_Stub(
IRpcStubBuffer *This,
IRpcChannelBuffer *_pRpcChannelBuffer,
PRPC_MESSAGE _pRpcMessage,
DWORD *_pdwStubPhase);
/* [call_as] */ HRESULT STDMETHODCALLTYPE IMFWorkQueueServices_RemoteBeginUnregisterPlatformWorkQueueWithMMCSS_Proxy(
__RPC__in IMFWorkQueueServices * This,
/* [in] */ DWORD dwPlatformWorkQueue,
/* [in] */ __RPC__in_opt IMFRemoteAsyncCallback *pCallback);
void __RPC_STUB IMFWorkQueueServices_RemoteBeginUnregisterPlatformWorkQueueWithMMCSS_Stub(
IRpcStubBuffer *This,
IRpcChannelBuffer *_pRpcChannelBuffer,
PRPC_MESSAGE _pRpcMessage,
DWORD *_pdwStubPhase);
/* [call_as] */ HRESULT STDMETHODCALLTYPE IMFWorkQueueServices_RemoteEndUnregisterPlatformWorkQueueWithMMCSS_Proxy(
__RPC__in IMFWorkQueueServices * This,
/* [in] */ __RPC__in_opt IUnknown *pResult);
void __RPC_STUB IMFWorkQueueServices_RemoteEndUnregisterPlatformWorkQueueWithMMCSS_Stub(
IRpcStubBuffer *This,
IRpcChannelBuffer *_pRpcChannelBuffer,
PRPC_MESSAGE _pRpcMessage,
DWORD *_pdwStubPhase);
#endif /* __IMFWorkQueueServices_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_mfidl_0000_0035 */
/* [local] */
EXTERN_GUID( MF_WORKQUEUE_SERVICES, 0x8e37d489, 0x41e0, 0x413a, 0x90, 0x68, 0x28, 0x7c, 0x88, 0x6d, 0x8d, 0xda);
typedef
enum _MF_QUALITY_DROP_MODE
{ MF_DROP_MODE_NONE = 0,
MF_DROP_MODE_1 = 0x1,
MF_DROP_MODE_2 = 0x2,
MF_DROP_MODE_3 = 0x3,
MF_DROP_MODE_4 = 0x4,
MF_DROP_MODE_5 = 0x5,
MF_NUM_DROP_MODES = 0x6
} MF_QUALITY_DROP_MODE;
typedef
enum _MF_QUALITY_LEVEL
{ MF_QUALITY_NORMAL = 0,
MF_QUALITY_NORMAL_MINUS_1 = 0x1,
MF_QUALITY_NORMAL_MINUS_2 = 0x2,
MF_QUALITY_NORMAL_MINUS_3 = 0x3,
MF_QUALITY_NORMAL_MINUS_4 = 0x4,
MF_QUALITY_NORMAL_MINUS_5 = 0x5,
MF_NUM_QUALITY_LEVELS = 0x6
} MF_QUALITY_LEVEL;
#if (WINVER >= _WIN32_WINNT_WIN7)
typedef
enum _MF_QUALITY_ADVISE_FLAGS
{ MF_QUALITY_CANNOT_KEEP_UP = 0x1
} MF_QUALITY_ADVISE_FLAGS;
#endif // (WINVER >= _WIN32_WINNT_WIN7)
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0035_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0035_v0_0_s_ifspec;
#ifndef __IMFQualityManager_INTERFACE_DEFINED__
#define __IMFQualityManager_INTERFACE_DEFINED__
/* interface IMFQualityManager */
/* [local][uuid][object] */
EXTERN_C const IID IID_IMFQualityManager;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("8D009D86-5B9F-4115-B1FC-9F80D52AB8AB")
IMFQualityManager : public IUnknown
{
public:
virtual HRESULT STDMETHODCALLTYPE NotifyTopology(
/* [in] */ IMFTopology *pTopology) = 0;
virtual HRESULT STDMETHODCALLTYPE NotifyPresentationClock(
/* [in] */ IMFPresentationClock *pClock) = 0;
virtual HRESULT STDMETHODCALLTYPE NotifyProcessInput(
/* [in] */ IMFTopologyNode *pNode,
/* [in] */ long lInputIndex,
/* [in] */ IMFSample *pSample) = 0;
virtual HRESULT STDMETHODCALLTYPE NotifyProcessOutput(
/* [in] */ IMFTopologyNode *pNode,
/* [in] */ long lOutputIndex,
/* [in] */ IMFSample *pSample) = 0;
virtual HRESULT STDMETHODCALLTYPE NotifyQualityEvent(
/* [in] */ IUnknown *pObject,
/* [in] */ IMFMediaEvent *pEvent) = 0;
virtual HRESULT STDMETHODCALLTYPE Shutdown( void) = 0;
};
#else /* C style interface */
typedef struct IMFQualityManagerVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IMFQualityManager * This,
/* [in] */ REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
IMFQualityManager * This);
ULONG ( STDMETHODCALLTYPE *Release )(
IMFQualityManager * This);
HRESULT ( STDMETHODCALLTYPE *NotifyTopology )(
IMFQualityManager * This,
/* [in] */ IMFTopology *pTopology);
HRESULT ( STDMETHODCALLTYPE *NotifyPresentationClock )(
IMFQualityManager * This,
/* [in] */ IMFPresentationClock *pClock);
HRESULT ( STDMETHODCALLTYPE *NotifyProcessInput )(
IMFQualityManager * This,
/* [in] */ IMFTopologyNode *pNode,
/* [in] */ long lInputIndex,
/* [in] */ IMFSample *pSample);
HRESULT ( STDMETHODCALLTYPE *NotifyProcessOutput )(
IMFQualityManager * This,
/* [in] */ IMFTopologyNode *pNode,
/* [in] */ long lOutputIndex,
/* [in] */ IMFSample *pSample);
HRESULT ( STDMETHODCALLTYPE *NotifyQualityEvent )(
IMFQualityManager * This,
/* [in] */ IUnknown *pObject,
/* [in] */ IMFMediaEvent *pEvent);
HRESULT ( STDMETHODCALLTYPE *Shutdown )(
IMFQualityManager * This);
END_INTERFACE
} IMFQualityManagerVtbl;
interface IMFQualityManager
{
CONST_VTBL struct IMFQualityManagerVtbl *lpVtbl;
};
#ifdef COBJMACROS
#define IMFQualityManager_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
#define IMFQualityManager_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
#define IMFQualityManager_Release(This) \
( (This)->lpVtbl -> Release(This) )
#define IMFQualityManager_NotifyTopology(This,pTopology) \
( (This)->lpVtbl -> NotifyTopology(This,pTopology) )
#define IMFQualityManager_NotifyPresentationClock(This,pClock) \
( (This)->lpVtbl -> NotifyPresentationClock(This,pClock) )
#define IMFQualityManager_NotifyProcessInput(This,pNode,lInputIndex,pSample) \
( (This)->lpVtbl -> NotifyProcessInput(This,pNode,lInputIndex,pSample) )
#define IMFQualityManager_NotifyProcessOutput(This,pNode,lOutputIndex,pSample) \
( (This)->lpVtbl -> NotifyProcessOutput(This,pNode,lOutputIndex,pSample) )
#define IMFQualityManager_NotifyQualityEvent(This,pObject,pEvent) \
( (This)->lpVtbl -> NotifyQualityEvent(This,pObject,pEvent) )
#define IMFQualityManager_Shutdown(This) \
( (This)->lpVtbl -> Shutdown(This) )
#endif /* COBJMACROS */
#endif /* C style interface */
#endif /* __IMFQualityManager_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_mfidl_0000_0036 */
/* [local] */
STDAPI MFCreateStandardQualityManager(
__out IMFQualityManager **ppQualityManager );
EXTERN_GUID( MF_QUALITY_NOTIFY_PROCESSING_LATENCY, 0xf6b44af8, 0x604d, 0x46fe, 0xa9, 0x5d, 0x45, 0x47, 0x9b, 0x10, 0xc9, 0xbc );
EXTERN_GUID( MF_QUALITY_NOTIFY_SAMPLE_LAG, 0x30d15206, 0xed2a, 0x4760, 0xbe, 0x17, 0xeb, 0x4a, 0x9f, 0x12, 0x29, 0x5c );
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0036_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0036_v0_0_s_ifspec;
#ifndef __IMFQualityAdvise_INTERFACE_DEFINED__
#define __IMFQualityAdvise_INTERFACE_DEFINED__
/* interface IMFQualityAdvise */
/* [uuid][object] */
EXTERN_C const IID IID_IMFQualityAdvise;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("EC15E2E9-E36B-4f7c-8758-77D452EF4CE7")
IMFQualityAdvise : public IUnknown
{
public:
virtual HRESULT STDMETHODCALLTYPE SetDropMode(
/* [in] */ MF_QUALITY_DROP_MODE eDropMode) = 0;
virtual HRESULT STDMETHODCALLTYPE SetQualityLevel(
/* [in] */ MF_QUALITY_LEVEL eQualityLevel) = 0;
virtual HRESULT STDMETHODCALLTYPE GetDropMode(
/* [annotation][out] */
__out MF_QUALITY_DROP_MODE *peDropMode) = 0;
virtual HRESULT STDMETHODCALLTYPE GetQualityLevel(
/* [annotation][out] */
__out MF_QUALITY_LEVEL *peQualityLevel) = 0;
virtual HRESULT STDMETHODCALLTYPE DropTime(
/* [in] */ LONGLONG hnsAmountToDrop) = 0;
};
#else /* C style interface */
typedef struct IMFQualityAdviseVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
__RPC__in IMFQualityAdvise * This,
/* [in] */ __RPC__in REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
__RPC__in IMFQualityAdvise * This);
ULONG ( STDMETHODCALLTYPE *Release )(
__RPC__in IMFQualityAdvise * This);
HRESULT ( STDMETHODCALLTYPE *SetDropMode )(
__RPC__in IMFQualityAdvise * This,
/* [in] */ MF_QUALITY_DROP_MODE eDropMode);
HRESULT ( STDMETHODCALLTYPE *SetQualityLevel )(
__RPC__in IMFQualityAdvise * This,
/* [in] */ MF_QUALITY_LEVEL eQualityLevel);
HRESULT ( STDMETHODCALLTYPE *GetDropMode )(
__RPC__in IMFQualityAdvise * This,
/* [annotation][out] */
__out MF_QUALITY_DROP_MODE *peDropMode);
HRESULT ( STDMETHODCALLTYPE *GetQualityLevel )(
__RPC__in IMFQualityAdvise * This,
/* [annotation][out] */
__out MF_QUALITY_LEVEL *peQualityLevel);
HRESULT ( STDMETHODCALLTYPE *DropTime )(
__RPC__in IMFQualityAdvise * This,
/* [in] */ LONGLONG hnsAmountToDrop);
END_INTERFACE
} IMFQualityAdviseVtbl;
interface IMFQualityAdvise
{
CONST_VTBL struct IMFQualityAdviseVtbl *lpVtbl;
};
#ifdef COBJMACROS
#define IMFQualityAdvise_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
#define IMFQualityAdvise_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
#define IMFQualityAdvise_Release(This) \
( (This)->lpVtbl -> Release(This) )
#define IMFQualityAdvise_SetDropMode(This,eDropMode) \
( (This)->lpVtbl -> SetDropMode(This,eDropMode) )
#define IMFQualityAdvise_SetQualityLevel(This,eQualityLevel) \
( (This)->lpVtbl -> SetQualityLevel(This,eQualityLevel) )
#define IMFQualityAdvise_GetDropMode(This,peDropMode) \
( (This)->lpVtbl -> GetDropMode(This,peDropMode) )
#define IMFQualityAdvise_GetQualityLevel(This,peQualityLevel) \
( (This)->lpVtbl -> GetQualityLevel(This,peQualityLevel) )
#define IMFQualityAdvise_DropTime(This,hnsAmountToDrop) \
( (This)->lpVtbl -> DropTime(This,hnsAmountToDrop) )
#endif /* COBJMACROS */
#endif /* C style interface */
#endif /* __IMFQualityAdvise_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_mfidl_0000_0037 */
/* [local] */
#if (WINVER >= _WIN32_WINNT_WIN7)
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0037_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0037_v0_0_s_ifspec;
#ifndef __IMFQualityAdvise2_INTERFACE_DEFINED__
#define __IMFQualityAdvise2_INTERFACE_DEFINED__
/* interface IMFQualityAdvise2 */
/* [uuid][object] */
EXTERN_C const IID IID_IMFQualityAdvise2;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("F3706F0D-8EA2-4886-8000-7155E9EC2EAE")
IMFQualityAdvise2 : public IMFQualityAdvise
{
public:
virtual HRESULT STDMETHODCALLTYPE NotifyQualityEvent(
/* [in] */ __RPC__in_opt IMFMediaEvent *pEvent,
/* [out] */ __RPC__out DWORD *pdwFlags) = 0;
};
#else /* C style interface */
typedef struct IMFQualityAdvise2Vtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
__RPC__in IMFQualityAdvise2 * This,
/* [in] */ __RPC__in REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
__RPC__in IMFQualityAdvise2 * This);
ULONG ( STDMETHODCALLTYPE *Release )(
__RPC__in IMFQualityAdvise2 * This);
HRESULT ( STDMETHODCALLTYPE *SetDropMode )(
__RPC__in IMFQualityAdvise2 * This,
/* [in] */ MF_QUALITY_DROP_MODE eDropMode);
HRESULT ( STDMETHODCALLTYPE *SetQualityLevel )(
__RPC__in IMFQualityAdvise2 * This,
/* [in] */ MF_QUALITY_LEVEL eQualityLevel);
HRESULT ( STDMETHODCALLTYPE *GetDropMode )(
__RPC__in IMFQualityAdvise2 * This,
/* [annotation][out] */
__out MF_QUALITY_DROP_MODE *peDropMode);
HRESULT ( STDMETHODCALLTYPE *GetQualityLevel )(
__RPC__in IMFQualityAdvise2 * This,
/* [annotation][out] */
__out MF_QUALITY_LEVEL *peQualityLevel);
HRESULT ( STDMETHODCALLTYPE *DropTime )(
__RPC__in IMFQualityAdvise2 * This,
/* [in] */ LONGLONG hnsAmountToDrop);
HRESULT ( STDMETHODCALLTYPE *NotifyQualityEvent )(
__RPC__in IMFQualityAdvise2 * This,
/* [in] */ __RPC__in_opt IMFMediaEvent *pEvent,
/* [out] */ __RPC__out DWORD *pdwFlags);
END_INTERFACE
} IMFQualityAdvise2Vtbl;
interface IMFQualityAdvise2
{
CONST_VTBL struct IMFQualityAdvise2Vtbl *lpVtbl;
};
#ifdef COBJMACROS
#define IMFQualityAdvise2_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
#define IMFQualityAdvise2_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
#define IMFQualityAdvise2_Release(This) \
( (This)->lpVtbl -> Release(This) )
#define IMFQualityAdvise2_SetDropMode(This,eDropMode) \
( (This)->lpVtbl -> SetDropMode(This,eDropMode) )
#define IMFQualityAdvise2_SetQualityLevel(This,eQualityLevel) \
( (This)->lpVtbl -> SetQualityLevel(This,eQualityLevel) )
#define IMFQualityAdvise2_GetDropMode(This,peDropMode) \
( (This)->lpVtbl -> GetDropMode(This,peDropMode) )
#define IMFQualityAdvise2_GetQualityLevel(This,peQualityLevel) \
( (This)->lpVtbl -> GetQualityLevel(This,peQualityLevel) )
#define IMFQualityAdvise2_DropTime(This,hnsAmountToDrop) \
( (This)->lpVtbl -> DropTime(This,hnsAmountToDrop) )
#define IMFQualityAdvise2_NotifyQualityEvent(This,pEvent,pdwFlags) \
( (This)->lpVtbl -> NotifyQualityEvent(This,pEvent,pdwFlags) )
#endif /* COBJMACROS */
#endif /* C style interface */
#endif /* __IMFQualityAdvise2_INTERFACE_DEFINED__ */
#ifndef __IMFQualityAdviseLimits_INTERFACE_DEFINED__
#define __IMFQualityAdviseLimits_INTERFACE_DEFINED__
/* interface IMFQualityAdviseLimits */
/* [uuid][object] */
EXTERN_C const IID IID_IMFQualityAdviseLimits;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("dfcd8e4d-30b5-4567-acaa-8eb5b7853dc9")
IMFQualityAdviseLimits : public IUnknown
{
public:
virtual HRESULT STDMETHODCALLTYPE GetMaximumDropMode(
/* [annotation][out] */
__out MF_QUALITY_DROP_MODE *peDropMode) = 0;
virtual HRESULT STDMETHODCALLTYPE GetMinimumQualityLevel(
/* [annotation][out] */
__out MF_QUALITY_LEVEL *peQualityLevel) = 0;
};
#else /* C style interface */
typedef struct IMFQualityAdviseLimitsVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
__RPC__in IMFQualityAdviseLimits * This,
/* [in] */ __RPC__in REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
__RPC__in IMFQualityAdviseLimits * This);
ULONG ( STDMETHODCALLTYPE *Release )(
__RPC__in IMFQualityAdviseLimits * This);
HRESULT ( STDMETHODCALLTYPE *GetMaximumDropMode )(
__RPC__in IMFQualityAdviseLimits * This,
/* [annotation][out] */
__out MF_QUALITY_DROP_MODE *peDropMode);
HRESULT ( STDMETHODCALLTYPE *GetMinimumQualityLevel )(
__RPC__in IMFQualityAdviseLimits * This,
/* [annotation][out] */
__out MF_QUALITY_LEVEL *peQualityLevel);
END_INTERFACE
} IMFQualityAdviseLimitsVtbl;
interface IMFQualityAdviseLimits
{
CONST_VTBL struct IMFQualityAdviseLimitsVtbl *lpVtbl;
};
#ifdef COBJMACROS
#define IMFQualityAdviseLimits_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
#define IMFQualityAdviseLimits_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
#define IMFQualityAdviseLimits_Release(This) \
( (This)->lpVtbl -> Release(This) )
#define IMFQualityAdviseLimits_GetMaximumDropMode(This,peDropMode) \
( (This)->lpVtbl -> GetMaximumDropMode(This,peDropMode) )
#define IMFQualityAdviseLimits_GetMinimumQualityLevel(This,peQualityLevel) \
( (This)->lpVtbl -> GetMinimumQualityLevel(This,peQualityLevel) )
#endif /* COBJMACROS */
#endif /* C style interface */
#endif /* __IMFQualityAdviseLimits_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_mfidl_0000_0039 */
/* [local] */
#endif // (WINVER >= _WIN32_WINNT_WIN7)
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0039_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0039_v0_0_s_ifspec;
#ifndef __IMFRealTimeClient_INTERFACE_DEFINED__
#define __IMFRealTimeClient_INTERFACE_DEFINED__
/* interface IMFRealTimeClient */
/* [local][uuid][object] */
EXTERN_C const IID IID_IMFRealTimeClient;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("2347D60B-3FB5-480c-8803-8DF3ADCD3EF0")
IMFRealTimeClient : public IUnknown
{
public:
virtual HRESULT STDMETHODCALLTYPE RegisterThreads(
/* [in] */ DWORD dwTaskIndex,
/* [in] */ LPCWSTR wszClass) = 0;
virtual HRESULT STDMETHODCALLTYPE UnregisterThreads( void) = 0;
virtual HRESULT STDMETHODCALLTYPE SetWorkQueue(
/* [in] */ DWORD dwWorkQueueId) = 0;
};
#else /* C style interface */
typedef struct IMFRealTimeClientVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IMFRealTimeClient * This,
/* [in] */ REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
IMFRealTimeClient * This);
ULONG ( STDMETHODCALLTYPE *Release )(
IMFRealTimeClient * This);
HRESULT ( STDMETHODCALLTYPE *RegisterThreads )(
IMFRealTimeClient * This,
/* [in] */ DWORD dwTaskIndex,
/* [in] */ LPCWSTR wszClass);
HRESULT ( STDMETHODCALLTYPE *UnregisterThreads )(
IMFRealTimeClient * This);
HRESULT ( STDMETHODCALLTYPE *SetWorkQueue )(
IMFRealTimeClient * This,
/* [in] */ DWORD dwWorkQueueId);
END_INTERFACE
} IMFRealTimeClientVtbl;
interface IMFRealTimeClient
{
CONST_VTBL struct IMFRealTimeClientVtbl *lpVtbl;
};
#ifdef COBJMACROS
#define IMFRealTimeClient_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
#define IMFRealTimeClient_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
#define IMFRealTimeClient_Release(This) \
( (This)->lpVtbl -> Release(This) )
#define IMFRealTimeClient_RegisterThreads(This,dwTaskIndex,wszClass) \
( (This)->lpVtbl -> RegisterThreads(This,dwTaskIndex,wszClass) )
#define IMFRealTimeClient_UnregisterThreads(This) \
( (This)->lpVtbl -> UnregisterThreads(This) )
#define IMFRealTimeClient_SetWorkQueue(This,dwWorkQueueId) \
( (This)->lpVtbl -> SetWorkQueue(This,dwWorkQueueId) )
#endif /* COBJMACROS */
#endif /* C style interface */
#endif /* __IMFRealTimeClient_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_mfidl_0000_0040 */
/* [local] */
typedef DWORD MFSequencerElementId;
#define MFSEQUENCER_INVALID_ELEMENT_ID ( 0xffffffff )
typedef
enum _MFSequencerTopologyFlags
{ SequencerTopologyFlags_Last = 0x1
} MFSequencerTopologyFlags;
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0040_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0040_v0_0_s_ifspec;
#ifndef __IMFSequencerSource_INTERFACE_DEFINED__
#define __IMFSequencerSource_INTERFACE_DEFINED__
/* interface IMFSequencerSource */
/* [local][uuid][object] */
EXTERN_C const IID IID_IMFSequencerSource;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("197CD219-19CB-4de1-A64C-ACF2EDCBE59E")
IMFSequencerSource : public IUnknown
{
public:
virtual HRESULT STDMETHODCALLTYPE AppendTopology(
/* [in] */ IMFTopology *pTopology,
/* [in] */ DWORD dwFlags,
/* [annotation][out] */
__out MFSequencerElementId *pdwId) = 0;
virtual HRESULT STDMETHODCALLTYPE DeleteTopology(
/* [in] */ MFSequencerElementId dwId) = 0;
virtual HRESULT STDMETHODCALLTYPE GetPresentationContext(
/* [in] */ IMFPresentationDescriptor *pPD,
/* [annotation][optional][out] */
__out_opt MFSequencerElementId *pId,
/* [annotation][optional][out] */
__out_opt IMFTopology **ppTopology) = 0;
virtual HRESULT STDMETHODCALLTYPE UpdateTopology(
/* [in] */ MFSequencerElementId dwId,
/* [in] */ IMFTopology *pTopology) = 0;
virtual HRESULT STDMETHODCALLTYPE UpdateTopologyFlags(
/* [in] */ MFSequencerElementId dwId,
/* [in] */ DWORD dwFlags) = 0;
};
#else /* C style interface */
typedef struct IMFSequencerSourceVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IMFSequencerSource * This,
/* [in] */ REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
IMFSequencerSource * This);
ULONG ( STDMETHODCALLTYPE *Release )(
IMFSequencerSource * This);
HRESULT ( STDMETHODCALLTYPE *AppendTopology )(
IMFSequencerSource * This,
/* [in] */ IMFTopology *pTopology,
/* [in] */ DWORD dwFlags,
/* [annotation][out] */
__out MFSequencerElementId *pdwId);
HRESULT ( STDMETHODCALLTYPE *DeleteTopology )(
IMFSequencerSource * This,
/* [in] */ MFSequencerElementId dwId);
HRESULT ( STDMETHODCALLTYPE *GetPresentationContext )(
IMFSequencerSource * This,
/* [in] */ IMFPresentationDescriptor *pPD,
/* [annotation][optional][out] */
__out_opt MFSequencerElementId *pId,
/* [annotation][optional][out] */
__out_opt IMFTopology **ppTopology);
HRESULT ( STDMETHODCALLTYPE *UpdateTopology )(
IMFSequencerSource * This,
/* [in] */ MFSequencerElementId dwId,
/* [in] */ IMFTopology *pTopology);
HRESULT ( STDMETHODCALLTYPE *UpdateTopologyFlags )(
IMFSequencerSource * This,
/* [in] */ MFSequencerElementId dwId,
/* [in] */ DWORD dwFlags);
END_INTERFACE
} IMFSequencerSourceVtbl;
interface IMFSequencerSource
{
CONST_VTBL struct IMFSequencerSourceVtbl *lpVtbl;
};
#ifdef COBJMACROS
#define IMFSequencerSource_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
#define IMFSequencerSource_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
#define IMFSequencerSource_Release(This) \
( (This)->lpVtbl -> Release(This) )
#define IMFSequencerSource_AppendTopology(This,pTopology,dwFlags,pdwId) \
( (This)->lpVtbl -> AppendTopology(This,pTopology,dwFlags,pdwId) )
#define IMFSequencerSource_DeleteTopology(This,dwId) \
( (This)->lpVtbl -> DeleteTopology(This,dwId) )
#define IMFSequencerSource_GetPresentationContext(This,pPD,pId,ppTopology) \
( (This)->lpVtbl -> GetPresentationContext(This,pPD,pId,ppTopology) )
#define IMFSequencerSource_UpdateTopology(This,dwId,pTopology) \
( (This)->lpVtbl -> UpdateTopology(This,dwId,pTopology) )
#define IMFSequencerSource_UpdateTopologyFlags(This,dwId,dwFlags) \
( (This)->lpVtbl -> UpdateTopologyFlags(This,dwId,dwFlags) )
#endif /* COBJMACROS */
#endif /* C style interface */
#endif /* __IMFSequencerSource_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_mfidl_0000_0041 */
/* [local] */
EXTERN_GUID( MF_TIME_FORMAT_SEGMENT_OFFSET, 0xc8b8be77, 0x869c, 0x431d, 0x81, 0x2e, 0x16, 0x96, 0x93, 0xf6, 0x5a, 0x39 );
STDAPI MFCreateSequencerSource(
IUnknown *pReserved,
__out IMFSequencerSource **ppSequencerSource
);
STDAPI MFCreateSequencerSegmentOffset(
MFSequencerElementId dwId,
MFTIME hnsOffset,
__out PROPVARIANT *pvarSegmentOffset
);
#if (WINVER >= _WIN32_WINNT_WIN7)
STDAPI MFCreateAggregateSource(
__in IMFCollection *pSourceCollection,
__deref_out IMFMediaSource **ppAggSource
);
#endif // (WINVER >= _WIN32_WINNT_WIN7)
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0041_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0041_v0_0_s_ifspec;
#ifndef __IMFMediaSourceTopologyProvider_INTERFACE_DEFINED__
#define __IMFMediaSourceTopologyProvider_INTERFACE_DEFINED__
/* interface IMFMediaSourceTopologyProvider */
/* [uuid][object] */
EXTERN_C const IID IID_IMFMediaSourceTopologyProvider;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("0E1D6009-C9F3-442d-8C51-A42D2D49452F")
IMFMediaSourceTopologyProvider : public IUnknown
{
public:
virtual HRESULT STDMETHODCALLTYPE GetMediaSourceTopology(
/* [in] */ __RPC__in_opt IMFPresentationDescriptor *pPresentationDescriptor,
/* [out] */ __RPC__deref_out_opt IMFTopology **ppTopology) = 0;
};
#else /* C style interface */
typedef struct IMFMediaSourceTopologyProviderVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
__RPC__in IMFMediaSourceTopologyProvider * This,
/* [in] */ __RPC__in REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
__RPC__in IMFMediaSourceTopologyProvider * This);
ULONG ( STDMETHODCALLTYPE *Release )(
__RPC__in IMFMediaSourceTopologyProvider * This);
HRESULT ( STDMETHODCALLTYPE *GetMediaSourceTopology )(
__RPC__in IMFMediaSourceTopologyProvider * This,
/* [in] */ __RPC__in_opt IMFPresentationDescriptor *pPresentationDescriptor,
/* [out] */ __RPC__deref_out_opt IMFTopology **ppTopology);
END_INTERFACE
} IMFMediaSourceTopologyProviderVtbl;
interface IMFMediaSourceTopologyProvider
{
CONST_VTBL struct IMFMediaSourceTopologyProviderVtbl *lpVtbl;
};
#ifdef COBJMACROS
#define IMFMediaSourceTopologyProvider_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
#define IMFMediaSourceTopologyProvider_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
#define IMFMediaSourceTopologyProvider_Release(This) \
( (This)->lpVtbl -> Release(This) )
#define IMFMediaSourceTopologyProvider_GetMediaSourceTopology(This,pPresentationDescriptor,ppTopology) \
( (This)->lpVtbl -> GetMediaSourceTopology(This,pPresentationDescriptor,ppTopology) )
#endif /* COBJMACROS */
#endif /* C style interface */
#endif /* __IMFMediaSourceTopologyProvider_INTERFACE_DEFINED__ */
#ifndef __IMFMediaSourcePresentationProvider_INTERFACE_DEFINED__
#define __IMFMediaSourcePresentationProvider_INTERFACE_DEFINED__
/* interface IMFMediaSourcePresentationProvider */
/* [uuid][object] */
EXTERN_C const IID IID_IMFMediaSourcePresentationProvider;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("0E1D600a-C9F3-442d-8C51-A42D2D49452F")
IMFMediaSourcePresentationProvider : public IUnknown
{
public:
virtual HRESULT STDMETHODCALLTYPE ForceEndOfPresentation(
/* [in] */ __RPC__in_opt IMFPresentationDescriptor *pPresentationDescriptor) = 0;
};
#else /* C style interface */
typedef struct IMFMediaSourcePresentationProviderVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
__RPC__in IMFMediaSourcePresentationProvider * This,
/* [in] */ __RPC__in REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
__RPC__in IMFMediaSourcePresentationProvider * This);
ULONG ( STDMETHODCALLTYPE *Release )(
__RPC__in IMFMediaSourcePresentationProvider * This);
HRESULT ( STDMETHODCALLTYPE *ForceEndOfPresentation )(
__RPC__in IMFMediaSourcePresentationProvider * This,
/* [in] */ __RPC__in_opt IMFPresentationDescriptor *pPresentationDescriptor);
END_INTERFACE
} IMFMediaSourcePresentationProviderVtbl;
interface IMFMediaSourcePresentationProvider
{
CONST_VTBL struct IMFMediaSourcePresentationProviderVtbl *lpVtbl;
};
#ifdef COBJMACROS
#define IMFMediaSourcePresentationProvider_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
#define IMFMediaSourcePresentationProvider_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
#define IMFMediaSourcePresentationProvider_Release(This) \
( (This)->lpVtbl -> Release(This) )
#define IMFMediaSourcePresentationProvider_ForceEndOfPresentation(This,pPresentationDescriptor) \
( (This)->lpVtbl -> ForceEndOfPresentation(This,pPresentationDescriptor) )
#endif /* COBJMACROS */
#endif /* C style interface */
#endif /* __IMFMediaSourcePresentationProvider_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_mfidl_0000_0043 */
/* [local] */
EXTERN_GUID( MF_SOURCE_PRESENTATION_PROVIDER_SERVICE, 0xe002aadc, 0xf4af, 0x4ee5, 0x98, 0x47, 0x05, 0x3e, 0xdf, 0x84, 0x04, 0x26 );
typedef struct _MFTOPONODE_ATTRIBUTE_UPDATE
{
TOPOID NodeId;
GUID guidAttributeKey;
MF_ATTRIBUTE_TYPE attrType;
union
{
UINT32 u32;
UINT64 u64;
double d;
/* Empty union arm */
} ;
} MFTOPONODE_ATTRIBUTE_UPDATE;
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0043_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0043_v0_0_s_ifspec;
#ifndef __IMFTopologyNodeAttributeEditor_INTERFACE_DEFINED__
#define __IMFTopologyNodeAttributeEditor_INTERFACE_DEFINED__
/* interface IMFTopologyNodeAttributeEditor */
/* [uuid][object] */
EXTERN_C const IID IID_IMFTopologyNodeAttributeEditor;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("676aa6dd-238a-410d-bb99-65668d01605a")
IMFTopologyNodeAttributeEditor : public IUnknown
{
public:
virtual HRESULT STDMETHODCALLTYPE UpdateNodeAttributes(
/* [in] */ TOPOID TopoId,
/* [in] */ DWORD cUpdates,
/* [size_is][in] */ __RPC__in_ecount_full(cUpdates) MFTOPONODE_ATTRIBUTE_UPDATE *pUpdates) = 0;
};
#else /* C style interface */
typedef struct IMFTopologyNodeAttributeEditorVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
__RPC__in IMFTopologyNodeAttributeEditor * This,
/* [in] */ __RPC__in REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
__RPC__in IMFTopologyNodeAttributeEditor * This);
ULONG ( STDMETHODCALLTYPE *Release )(
__RPC__in IMFTopologyNodeAttributeEditor * This);
HRESULT ( STDMETHODCALLTYPE *UpdateNodeAttributes )(
__RPC__in IMFTopologyNodeAttributeEditor * This,
/* [in] */ TOPOID TopoId,
/* [in] */ DWORD cUpdates,
/* [size_is][in] */ __RPC__in_ecount_full(cUpdates) MFTOPONODE_ATTRIBUTE_UPDATE *pUpdates);
END_INTERFACE
} IMFTopologyNodeAttributeEditorVtbl;
interface IMFTopologyNodeAttributeEditor
{
CONST_VTBL struct IMFTopologyNodeAttributeEditorVtbl *lpVtbl;
};
#ifdef COBJMACROS
#define IMFTopologyNodeAttributeEditor_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
#define IMFTopologyNodeAttributeEditor_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
#define IMFTopologyNodeAttributeEditor_Release(This) \
( (This)->lpVtbl -> Release(This) )
#define IMFTopologyNodeAttributeEditor_UpdateNodeAttributes(This,TopoId,cUpdates,pUpdates) \
( (This)->lpVtbl -> UpdateNodeAttributes(This,TopoId,cUpdates,pUpdates) )
#endif /* COBJMACROS */
#endif /* C style interface */
#endif /* __IMFTopologyNodeAttributeEditor_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_mfidl_0000_0044 */
/* [local] */
EXTERN_GUID( MF_TOPONODE_ATTRIBUTE_EDITOR_SERVICE, 0x65656e1a, 0x077f, 0x4472, 0x83, 0xef, 0x31, 0x6f, 0x11, 0xd5, 0x08, 0x7a );
typedef /* [public] */ struct _MF_LEAKY_BUCKET_PAIR
{
DWORD dwBitrate;
DWORD msBufferWindow;
} MF_LEAKY_BUCKET_PAIR;
typedef /* [public] */ struct _MFBYTESTREAM_BUFFERING_PARAMS
{
QWORD cbTotalFileSize;
QWORD cbPlayableDataSize;
MF_LEAKY_BUCKET_PAIR *prgBuckets;
DWORD cBuckets;
QWORD qwNetBufferingTime;
QWORD qwExtraBufferingTimeDuringSeek;
QWORD qwPlayDuration;
float dRate;
} MFBYTESTREAM_BUFFERING_PARAMS;
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0044_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0044_v0_0_s_ifspec;
#ifndef __IMFByteStreamBuffering_INTERFACE_DEFINED__
#define __IMFByteStreamBuffering_INTERFACE_DEFINED__
/* interface IMFByteStreamBuffering */
/* [local][uuid][object] */
EXTERN_C const IID IID_IMFByteStreamBuffering;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("6d66d782-1d4f-4db7-8c63-cb8c77f1ef5e")
IMFByteStreamBuffering : public IUnknown
{
public:
virtual HRESULT STDMETHODCALLTYPE SetBufferingParams(
/* [annotation][in] */
__in MFBYTESTREAM_BUFFERING_PARAMS *pParams) = 0;
virtual HRESULT STDMETHODCALLTYPE EnableBuffering(
/* [in] */ BOOL fEnable) = 0;
virtual HRESULT STDMETHODCALLTYPE StopBuffering( void) = 0;
};
#else /* C style interface */
typedef struct IMFByteStreamBufferingVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IMFByteStreamBuffering * This,
/* [in] */ REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
IMFByteStreamBuffering * This);
ULONG ( STDMETHODCALLTYPE *Release )(
IMFByteStreamBuffering * This);
HRESULT ( STDMETHODCALLTYPE *SetBufferingParams )(
IMFByteStreamBuffering * This,
/* [annotation][in] */
__in MFBYTESTREAM_BUFFERING_PARAMS *pParams);
HRESULT ( STDMETHODCALLTYPE *EnableBuffering )(
IMFByteStreamBuffering * This,
/* [in] */ BOOL fEnable);
HRESULT ( STDMETHODCALLTYPE *StopBuffering )(
IMFByteStreamBuffering * This);
END_INTERFACE
} IMFByteStreamBufferingVtbl;
interface IMFByteStreamBuffering
{
CONST_VTBL struct IMFByteStreamBufferingVtbl *lpVtbl;
};
#ifdef COBJMACROS
#define IMFByteStreamBuffering_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
#define IMFByteStreamBuffering_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
#define IMFByteStreamBuffering_Release(This) \
( (This)->lpVtbl -> Release(This) )
#define IMFByteStreamBuffering_SetBufferingParams(This,pParams) \
( (This)->lpVtbl -> SetBufferingParams(This,pParams) )
#define IMFByteStreamBuffering_EnableBuffering(This,fEnable) \
( (This)->lpVtbl -> EnableBuffering(This,fEnable) )
#define IMFByteStreamBuffering_StopBuffering(This) \
( (This)->lpVtbl -> StopBuffering(This) )
#endif /* COBJMACROS */
#endif /* C style interface */
#endif /* __IMFByteStreamBuffering_INTERFACE_DEFINED__ */
#ifndef __IMFByteStreamCacheControl_INTERFACE_DEFINED__
#define __IMFByteStreamCacheControl_INTERFACE_DEFINED__
/* interface IMFByteStreamCacheControl */
/* [local][uuid][object] */
EXTERN_C const IID IID_IMFByteStreamCacheControl;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("F5042EA4-7A96-4a75-AA7B-2BE1EF7F88D5")
IMFByteStreamCacheControl : public IUnknown
{
public:
virtual HRESULT STDMETHODCALLTYPE StopBackgroundTransfer( void) = 0;
};
#else /* C style interface */
typedef struct IMFByteStreamCacheControlVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IMFByteStreamCacheControl * This,
/* [in] */ REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
IMFByteStreamCacheControl * This);
ULONG ( STDMETHODCALLTYPE *Release )(
IMFByteStreamCacheControl * This);
HRESULT ( STDMETHODCALLTYPE *StopBackgroundTransfer )(
IMFByteStreamCacheControl * This);
END_INTERFACE
} IMFByteStreamCacheControlVtbl;
interface IMFByteStreamCacheControl
{
CONST_VTBL struct IMFByteStreamCacheControlVtbl *lpVtbl;
};
#ifdef COBJMACROS
#define IMFByteStreamCacheControl_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
#define IMFByteStreamCacheControl_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
#define IMFByteStreamCacheControl_Release(This) \
( (This)->lpVtbl -> Release(This) )
#define IMFByteStreamCacheControl_StopBackgroundTransfer(This) \
( (This)->lpVtbl -> StopBackgroundTransfer(This) )
#endif /* COBJMACROS */
#endif /* C style interface */
#endif /* __IMFByteStreamCacheControl_INTERFACE_DEFINED__ */
#ifndef __IMFNetCredential_INTERFACE_DEFINED__
#define __IMFNetCredential_INTERFACE_DEFINED__
/* interface IMFNetCredential */
/* [local][uuid][object] */
EXTERN_C const IID IID_IMFNetCredential;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("5b87ef6a-7ed8-434f-ba0e-184fac1628d1")
IMFNetCredential : public IUnknown
{
public:
virtual HRESULT STDMETHODCALLTYPE SetUser(
/* [annotation][size_is][in] */
__in_bcount(cbData) BYTE *pbData,
/* [in] */ DWORD cbData,
/* [in] */ BOOL fDataIsEncrypted) = 0;
virtual HRESULT STDMETHODCALLTYPE SetPassword(
/* [annotation][size_is][in] */
__in_bcount(cbData) BYTE *pbData,
/* [in] */ DWORD cbData,
/* [in] */ BOOL fDataIsEncrypted) = 0;
virtual HRESULT STDMETHODCALLTYPE GetUser(
/* [annotation][size_is][out] */
__out_ecount_part_opt(*pcbData,*pcbData) BYTE *pbData,
/* [annotation][out][in] */
__inout DWORD *pcbData,
/* [in] */ BOOL fEncryptData) = 0;
virtual HRESULT STDMETHODCALLTYPE GetPassword(
/* [annotation][size_is][out] */
__out_ecount_part_opt(*pcbData,*pcbData) BYTE *pbData,
/* [annotation][out][in] */
__inout DWORD *pcbData,
/* [in] */ BOOL fEncryptData) = 0;
virtual HRESULT STDMETHODCALLTYPE LoggedOnUser(
/* [annotation][out] */
__out BOOL *pfLoggedOnUser) = 0;
};
#else /* C style interface */
typedef struct IMFNetCredentialVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IMFNetCredential * This,
/* [in] */ REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
IMFNetCredential * This);
ULONG ( STDMETHODCALLTYPE *Release )(
IMFNetCredential * This);
HRESULT ( STDMETHODCALLTYPE *SetUser )(
IMFNetCredential * This,
/* [annotation][size_is][in] */
__in_bcount(cbData) BYTE *pbData,
/* [in] */ DWORD cbData,
/* [in] */ BOOL fDataIsEncrypted);
HRESULT ( STDMETHODCALLTYPE *SetPassword )(
IMFNetCredential * This,
/* [annotation][size_is][in] */
__in_bcount(cbData) BYTE *pbData,
/* [in] */ DWORD cbData,
/* [in] */ BOOL fDataIsEncrypted);
HRESULT ( STDMETHODCALLTYPE *GetUser )(
IMFNetCredential * This,
/* [annotation][size_is][out] */
__out_ecount_part_opt(*pcbData,*pcbData) BYTE *pbData,
/* [annotation][out][in] */
__inout DWORD *pcbData,
/* [in] */ BOOL fEncryptData);
HRESULT ( STDMETHODCALLTYPE *GetPassword )(
IMFNetCredential * This,
/* [annotation][size_is][out] */
__out_ecount_part_opt(*pcbData,*pcbData) BYTE *pbData,
/* [annotation][out][in] */
__inout DWORD *pcbData,
/* [in] */ BOOL fEncryptData);
HRESULT ( STDMETHODCALLTYPE *LoggedOnUser )(
IMFNetCredential * This,
/* [annotation][out] */
__out BOOL *pfLoggedOnUser);
END_INTERFACE
} IMFNetCredentialVtbl;
interface IMFNetCredential
{
CONST_VTBL struct IMFNetCredentialVtbl *lpVtbl;
};
#ifdef COBJMACROS
#define IMFNetCredential_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
#define IMFNetCredential_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
#define IMFNetCredential_Release(This) \
( (This)->lpVtbl -> Release(This) )
#define IMFNetCredential_SetUser(This,pbData,cbData,fDataIsEncrypted) \
( (This)->lpVtbl -> SetUser(This,pbData,cbData,fDataIsEncrypted) )
#define IMFNetCredential_SetPassword(This,pbData,cbData,fDataIsEncrypted) \
( (This)->lpVtbl -> SetPassword(This,pbData,cbData,fDataIsEncrypted) )
#define IMFNetCredential_GetUser(This,pbData,pcbData,fEncryptData) \
( (This)->lpVtbl -> GetUser(This,pbData,pcbData,fEncryptData) )
#define IMFNetCredential_GetPassword(This,pbData,pcbData,fEncryptData) \
( (This)->lpVtbl -> GetPassword(This,pbData,pcbData,fEncryptData) )
#define IMFNetCredential_LoggedOnUser(This,pfLoggedOnUser) \
( (This)->lpVtbl -> LoggedOnUser(This,pfLoggedOnUser) )
#endif /* COBJMACROS */
#endif /* C style interface */
#endif /* __IMFNetCredential_INTERFACE_DEFINED__ */
#ifndef __IMFNetCredentialManager_INTERFACE_DEFINED__
#define __IMFNetCredentialManager_INTERFACE_DEFINED__
/* interface IMFNetCredentialManager */
/* [local][uuid][object] */
typedef struct _MFNetCredentialManagerGetParam
{
HRESULT hrOp;
BOOL fAllowLoggedOnUser;
BOOL fClearTextPackage;
LPCWSTR pszUrl;
LPCWSTR pszSite;
LPCWSTR pszRealm;
LPCWSTR pszPackage;
LONG nRetries;
} MFNetCredentialManagerGetParam;
EXTERN_C const IID IID_IMFNetCredentialManager;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("5b87ef6b-7ed8-434f-ba0e-184fac1628d1")
IMFNetCredentialManager : public IUnknown
{
public:
virtual HRESULT STDMETHODCALLTYPE BeginGetCredentials(
/* [in] */ MFNetCredentialManagerGetParam *pParam,
/* [in] */ IMFAsyncCallback *pCallback,
/* [in] */ IUnknown *pState) = 0;
virtual HRESULT STDMETHODCALLTYPE EndGetCredentials(
/* [in] */ IMFAsyncResult *pResult,
/* [annotation][out] */
__out IMFNetCredential **ppCred) = 0;
virtual HRESULT STDMETHODCALLTYPE SetGood(
/* [in] */ IMFNetCredential *pCred,
/* [in] */ BOOL fGood) = 0;
};
#else /* C style interface */
typedef struct IMFNetCredentialManagerVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IMFNetCredentialManager * This,
/* [in] */ REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
IMFNetCredentialManager * This);
ULONG ( STDMETHODCALLTYPE *Release )(
IMFNetCredentialManager * This);
HRESULT ( STDMETHODCALLTYPE *BeginGetCredentials )(
IMFNetCredentialManager * This,
/* [in] */ MFNetCredentialManagerGetParam *pParam,
/* [in] */ IMFAsyncCallback *pCallback,
/* [in] */ IUnknown *pState);
HRESULT ( STDMETHODCALLTYPE *EndGetCredentials )(
IMFNetCredentialManager * This,
/* [in] */ IMFAsyncResult *pResult,
/* [annotation][out] */
__out IMFNetCredential **ppCred);
HRESULT ( STDMETHODCALLTYPE *SetGood )(
IMFNetCredentialManager * This,
/* [in] */ IMFNetCredential *pCred,
/* [in] */ BOOL fGood);
END_INTERFACE
} IMFNetCredentialManagerVtbl;
interface IMFNetCredentialManager
{
CONST_VTBL struct IMFNetCredentialManagerVtbl *lpVtbl;
};
#ifdef COBJMACROS
#define IMFNetCredentialManager_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
#define IMFNetCredentialManager_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
#define IMFNetCredentialManager_Release(This) \
( (This)->lpVtbl -> Release(This) )
#define IMFNetCredentialManager_BeginGetCredentials(This,pParam,pCallback,pState) \
( (This)->lpVtbl -> BeginGetCredentials(This,pParam,pCallback,pState) )
#define IMFNetCredentialManager_EndGetCredentials(This,pResult,ppCred) \
( (This)->lpVtbl -> EndGetCredentials(This,pResult,ppCred) )
#define IMFNetCredentialManager_SetGood(This,pCred,fGood) \
( (This)->lpVtbl -> SetGood(This,pCred,fGood) )
#endif /* COBJMACROS */
#endif /* C style interface */
#endif /* __IMFNetCredentialManager_INTERFACE_DEFINED__ */
#ifndef __IMFNetCredentialCache_INTERFACE_DEFINED__
#define __IMFNetCredentialCache_INTERFACE_DEFINED__
/* interface IMFNetCredentialCache */
/* [local][uuid][object] */
typedef
enum _MFNetCredentialRequirements
{ REQUIRE_PROMPT = 0x1,
REQUIRE_SAVE_SELECTED = 0x2
} MFNetCredentialRequirements;
typedef
enum _MFNetCredentialOptions
{ MFNET_CREDENTIAL_SAVE = 0x1,
MFNET_CREDENTIAL_DONT_CACHE = 0x2,
MFNET_CREDENTIAL_ALLOW_CLEAR_TEXT = 0x4
} MFNetCredentialOptions;
typedef
enum _MFNetAuthenticationFlags
{ MFNET_AUTHENTICATION_PROXY = 0x1,
MFNET_AUTHENTICATION_CLEAR_TEXT = 0x2,
MFNET_AUTHENTICATION_LOGGED_ON_USER = 0x4
} MFNetAuthenticationFlags;
EXTERN_C const IID IID_IMFNetCredentialCache;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("5b87ef6c-7ed8-434f-ba0e-184fac1628d1")
IMFNetCredentialCache : public IUnknown
{
public:
virtual HRESULT STDMETHODCALLTYPE GetCredential(
/* [in] */ LPCWSTR pszUrl,
/* [in] */ LPCWSTR pszRealm,
/* [in] */ DWORD dwAuthenticationFlags,
/* [annotation][out] */
__out IMFNetCredential **ppCred,
/* [annotation][out] */
__out DWORD *pdwRequirementsFlags) = 0;
virtual HRESULT STDMETHODCALLTYPE SetGood(
/* [in] */ IMFNetCredential *pCred,
/* [in] */ BOOL fGood) = 0;
virtual HRESULT STDMETHODCALLTYPE SetUserOptions(
/* [in] */ IMFNetCredential *pCred,
/* [in] */ DWORD dwOptionsFlags) = 0;
};
#else /* C style interface */
typedef struct IMFNetCredentialCacheVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IMFNetCredentialCache * This,
/* [in] */ REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
IMFNetCredentialCache * This);
ULONG ( STDMETHODCALLTYPE *Release )(
IMFNetCredentialCache * This);
HRESULT ( STDMETHODCALLTYPE *GetCredential )(
IMFNetCredentialCache * This,
/* [in] */ LPCWSTR pszUrl,
/* [in] */ LPCWSTR pszRealm,
/* [in] */ DWORD dwAuthenticationFlags,
/* [annotation][out] */
__out IMFNetCredential **ppCred,
/* [annotation][out] */
__out DWORD *pdwRequirementsFlags);
HRESULT ( STDMETHODCALLTYPE *SetGood )(
IMFNetCredentialCache * This,
/* [in] */ IMFNetCredential *pCred,
/* [in] */ BOOL fGood);
HRESULT ( STDMETHODCALLTYPE *SetUserOptions )(
IMFNetCredentialCache * This,
/* [in] */ IMFNetCredential *pCred,
/* [in] */ DWORD dwOptionsFlags);
END_INTERFACE
} IMFNetCredentialCacheVtbl;
interface IMFNetCredentialCache
{
CONST_VTBL struct IMFNetCredentialCacheVtbl *lpVtbl;
};
#ifdef COBJMACROS
#define IMFNetCredentialCache_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
#define IMFNetCredentialCache_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
#define IMFNetCredentialCache_Release(This) \
( (This)->lpVtbl -> Release(This) )
#define IMFNetCredentialCache_GetCredential(This,pszUrl,pszRealm,dwAuthenticationFlags,ppCred,pdwRequirementsFlags) \
( (This)->lpVtbl -> GetCredential(This,pszUrl,pszRealm,dwAuthenticationFlags,ppCred,pdwRequirementsFlags) )
#define IMFNetCredentialCache_SetGood(This,pCred,fGood) \
( (This)->lpVtbl -> SetGood(This,pCred,fGood) )
#define IMFNetCredentialCache_SetUserOptions(This,pCred,dwOptionsFlags) \
( (This)->lpVtbl -> SetUserOptions(This,pCred,dwOptionsFlags) )
#endif /* COBJMACROS */
#endif /* C style interface */
#endif /* __IMFNetCredentialCache_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_mfidl_0000_0049 */
/* [local] */
STDAPI
MFCreateCredentialCache(
__out IMFNetCredentialCache ** ppCache);
#if (WINVER >= _WIN32_WINNT_WIN7)
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0049_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0049_v0_0_s_ifspec;
#ifndef __IMFSSLCertificateManager_INTERFACE_DEFINED__
#define __IMFSSLCertificateManager_INTERFACE_DEFINED__
/* interface IMFSSLCertificateManager */
/* [local][uuid][object] */
EXTERN_C const IID IID_IMFSSLCertificateManager;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("61f7d887-1230-4a8b-aeba-8ad434d1a64d")
IMFSSLCertificateManager : public IUnknown
{
public:
virtual HRESULT STDMETHODCALLTYPE GetClientCertificate(
/* [in] */ LPCWSTR pszURL,
/* [annotation][size_is][size_is][out] */
__deref_out_bcount(*pcbData) BYTE **ppbData,
/* [annotation][out] */
__out DWORD *pcbData) = 0;
virtual HRESULT STDMETHODCALLTYPE BeginGetClientCertificate(
/* [in] */ LPCWSTR pszURL,
/* [in] */ IMFAsyncCallback *pCallback,
/* [in] */ IUnknown *pState) = 0;
virtual HRESULT STDMETHODCALLTYPE EndGetClientCertificate(
/* [in] */ IMFAsyncResult *pResult,
/* [annotation][size_is][size_is][out] */
__deref_out_bcount(*pcbData) BYTE **ppbData,
/* [annotation][out] */
__out DWORD *pcbData) = 0;
virtual HRESULT STDMETHODCALLTYPE GetCertificatePolicy(
/* [in] */ LPCWSTR pszURL,
/* [out] */ BOOL *pfOverrideAutomaticCheck,
/* [out] */ BOOL *pfClientCertificateAvailable) = 0;
virtual HRESULT STDMETHODCALLTYPE OnServerCertificate(
/* [in] */ LPCWSTR pszURL,
/* [annotation][size_is][in] */
__in_bcount(cbData) BYTE *pbData,
/* [in] */ DWORD cbData,
/* [out] */ BOOL *pfIsGood) = 0;
};
#else /* C style interface */
typedef struct IMFSSLCertificateManagerVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IMFSSLCertificateManager * This,
/* [in] */ REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
IMFSSLCertificateManager * This);
ULONG ( STDMETHODCALLTYPE *Release )(
IMFSSLCertificateManager * This);
HRESULT ( STDMETHODCALLTYPE *GetClientCertificate )(
IMFSSLCertificateManager * This,
/* [in] */ LPCWSTR pszURL,
/* [annotation][size_is][size_is][out] */
__deref_out_bcount(*pcbData) BYTE **ppbData,
/* [annotation][out] */
__out DWORD *pcbData);
HRESULT ( STDMETHODCALLTYPE *BeginGetClientCertificate )(
IMFSSLCertificateManager * This,
/* [in] */ LPCWSTR pszURL,
/* [in] */ IMFAsyncCallback *pCallback,
/* [in] */ IUnknown *pState);
HRESULT ( STDMETHODCALLTYPE *EndGetClientCertificate )(
IMFSSLCertificateManager * This,
/* [in] */ IMFAsyncResult *pResult,
/* [annotation][size_is][size_is][out] */
__deref_out_bcount(*pcbData) BYTE **ppbData,
/* [annotation][out] */
__out DWORD *pcbData);
HRESULT ( STDMETHODCALLTYPE *GetCertificatePolicy )(
IMFSSLCertificateManager * This,
/* [in] */ LPCWSTR pszURL,
/* [out] */ BOOL *pfOverrideAutomaticCheck,
/* [out] */ BOOL *pfClientCertificateAvailable);
HRESULT ( STDMETHODCALLTYPE *OnServerCertificate )(
IMFSSLCertificateManager * This,
/* [in] */ LPCWSTR pszURL,
/* [annotation][size_is][in] */
__in_bcount(cbData) BYTE *pbData,
/* [in] */ DWORD cbData,
/* [out] */ BOOL *pfIsGood);
END_INTERFACE
} IMFSSLCertificateManagerVtbl;
interface IMFSSLCertificateManager
{
CONST_VTBL struct IMFSSLCertificateManagerVtbl *lpVtbl;
};
#ifdef COBJMACROS
#define IMFSSLCertificateManager_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
#define IMFSSLCertificateManager_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
#define IMFSSLCertificateManager_Release(This) \
( (This)->lpVtbl -> Release(This) )
#define IMFSSLCertificateManager_GetClientCertificate(This,pszURL,ppbData,pcbData) \
( (This)->lpVtbl -> GetClientCertificate(This,pszURL,ppbData,pcbData) )
#define IMFSSLCertificateManager_BeginGetClientCertificate(This,pszURL,pCallback,pState) \
( (This)->lpVtbl -> BeginGetClientCertificate(This,pszURL,pCallback,pState) )
#define IMFSSLCertificateManager_EndGetClientCertificate(This,pResult,ppbData,pcbData) \
( (This)->lpVtbl -> EndGetClientCertificate(This,pResult,ppbData,pcbData) )
#define IMFSSLCertificateManager_GetCertificatePolicy(This,pszURL,pfOverrideAutomaticCheck,pfClientCertificateAvailable) \
( (This)->lpVtbl -> GetCertificatePolicy(This,pszURL,pfOverrideAutomaticCheck,pfClientCertificateAvailable) )
#define IMFSSLCertificateManager_OnServerCertificate(This,pszURL,pbData,cbData,pfIsGood) \
( (This)->lpVtbl -> OnServerCertificate(This,pszURL,pbData,cbData,pfIsGood) )
#endif /* COBJMACROS */
#endif /* C style interface */
#endif /* __IMFSSLCertificateManager_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_mfidl_0000_0050 */
/* [local] */
EXTERN_GUID( MFNETSOURCE_SSLCERTIFICATE_MANAGER, 0x55e6cb27, 0xe69b, 0x4267, 0x94, 0x0c, 0x2d, 0x7e, 0xc5, 0xbb, 0x8a, 0x0f );
#endif // (WINVER >= _WIN32_WINNT_WIN7)
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0050_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0050_v0_0_s_ifspec;
#ifndef __IMFSourceOpenMonitor_INTERFACE_DEFINED__
#define __IMFSourceOpenMonitor_INTERFACE_DEFINED__
/* interface IMFSourceOpenMonitor */
/* [uuid][object] */
EXTERN_C const IID IID_IMFSourceOpenMonitor;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("059054B3-027C-494C-A27D-9113291CF87F")
IMFSourceOpenMonitor : public IUnknown
{
public:
virtual HRESULT STDMETHODCALLTYPE OnSourceEvent(
/* [in] */ __RPC__in_opt IMFMediaEvent *pEvent) = 0;
};
#else /* C style interface */
typedef struct IMFSourceOpenMonitorVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
__RPC__in IMFSourceOpenMonitor * This,
/* [in] */ __RPC__in REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
__RPC__in IMFSourceOpenMonitor * This);
ULONG ( STDMETHODCALLTYPE *Release )(
__RPC__in IMFSourceOpenMonitor * This);
HRESULT ( STDMETHODCALLTYPE *OnSourceEvent )(
__RPC__in IMFSourceOpenMonitor * This,
/* [in] */ __RPC__in_opt IMFMediaEvent *pEvent);
END_INTERFACE
} IMFSourceOpenMonitorVtbl;
interface IMFSourceOpenMonitor
{
CONST_VTBL struct IMFSourceOpenMonitorVtbl *lpVtbl;
};
#ifdef COBJMACROS
#define IMFSourceOpenMonitor_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
#define IMFSourceOpenMonitor_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
#define IMFSourceOpenMonitor_Release(This) \
( (This)->lpVtbl -> Release(This) )
#define IMFSourceOpenMonitor_OnSourceEvent(This,pEvent) \
( (This)->lpVtbl -> OnSourceEvent(This,pEvent) )
#endif /* COBJMACROS */
#endif /* C style interface */
#endif /* __IMFSourceOpenMonitor_INTERFACE_DEFINED__ */
#ifndef __IMFNetProxyLocator_INTERFACE_DEFINED__
#define __IMFNetProxyLocator_INTERFACE_DEFINED__
/* interface IMFNetProxyLocator */
/* [local][uuid][object] */
EXTERN_C const IID IID_IMFNetProxyLocator;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("e9cd0383-a268-4bb4-82de-658d53574d41")
IMFNetProxyLocator : public IUnknown
{
public:
virtual HRESULT STDMETHODCALLTYPE FindFirstProxy(
/* [in] */ LPCWSTR pszHost,
/* [in] */ LPCWSTR pszUrl,
/* [in] */ BOOL fReserved) = 0;
virtual HRESULT STDMETHODCALLTYPE FindNextProxy( void) = 0;
virtual HRESULT STDMETHODCALLTYPE RegisterProxyResult(
/* [in] */ HRESULT hrOp) = 0;
virtual HRESULT STDMETHODCALLTYPE GetCurrentProxy(
/* [annotation][size_is][out] */
__out_ecount_opt(*pcchStr) LPWSTR pszStr,
/* [out][in] */ DWORD *pcchStr) = 0;
virtual HRESULT STDMETHODCALLTYPE Clone(
/* [out] */ IMFNetProxyLocator **ppProxyLocator) = 0;
};
#else /* C style interface */
typedef struct IMFNetProxyLocatorVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IMFNetProxyLocator * This,
/* [in] */ REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
IMFNetProxyLocator * This);
ULONG ( STDMETHODCALLTYPE *Release )(
IMFNetProxyLocator * This);
HRESULT ( STDMETHODCALLTYPE *FindFirstProxy )(
IMFNetProxyLocator * This,
/* [in] */ LPCWSTR pszHost,
/* [in] */ LPCWSTR pszUrl,
/* [in] */ BOOL fReserved);
HRESULT ( STDMETHODCALLTYPE *FindNextProxy )(
IMFNetProxyLocator * This);
HRESULT ( STDMETHODCALLTYPE *RegisterProxyResult )(
IMFNetProxyLocator * This,
/* [in] */ HRESULT hrOp);
HRESULT ( STDMETHODCALLTYPE *GetCurrentProxy )(
IMFNetProxyLocator * This,
/* [annotation][size_is][out] */
__out_ecount_opt(*pcchStr) LPWSTR pszStr,
/* [out][in] */ DWORD *pcchStr);
HRESULT ( STDMETHODCALLTYPE *Clone )(
IMFNetProxyLocator * This,
/* [out] */ IMFNetProxyLocator **ppProxyLocator);
END_INTERFACE
} IMFNetProxyLocatorVtbl;
interface IMFNetProxyLocator
{
CONST_VTBL struct IMFNetProxyLocatorVtbl *lpVtbl;
};
#ifdef COBJMACROS
#define IMFNetProxyLocator_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
#define IMFNetProxyLocator_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
#define IMFNetProxyLocator_Release(This) \
( (This)->lpVtbl -> Release(This) )
#define IMFNetProxyLocator_FindFirstProxy(This,pszHost,pszUrl,fReserved) \
( (This)->lpVtbl -> FindFirstProxy(This,pszHost,pszUrl,fReserved) )
#define IMFNetProxyLocator_FindNextProxy(This) \
( (This)->lpVtbl -> FindNextProxy(This) )
#define IMFNetProxyLocator_RegisterProxyResult(This,hrOp) \
( (This)->lpVtbl -> RegisterProxyResult(This,hrOp) )
#define IMFNetProxyLocator_GetCurrentProxy(This,pszStr,pcchStr) \
( (This)->lpVtbl -> GetCurrentProxy(This,pszStr,pcchStr) )
#define IMFNetProxyLocator_Clone(This,ppProxyLocator) \
( (This)->lpVtbl -> Clone(This,ppProxyLocator) )
#endif /* COBJMACROS */
#endif /* C style interface */
#endif /* __IMFNetProxyLocator_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_mfidl_0000_0052 */
/* [local] */
STDAPI MFCreateProxyLocator(
LPCWSTR pszProtocol,
IPropertyStore* pProxyConfig,
__out IMFNetProxyLocator** ppProxyLocator );
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0052_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0052_v0_0_s_ifspec;
#ifndef __IMFNetProxyLocatorFactory_INTERFACE_DEFINED__
#define __IMFNetProxyLocatorFactory_INTERFACE_DEFINED__
/* interface IMFNetProxyLocatorFactory */
/* [local][uuid][object] */
EXTERN_C const IID IID_IMFNetProxyLocatorFactory;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("e9cd0384-a268-4bb4-82de-658d53574d41")
IMFNetProxyLocatorFactory : public IUnknown
{
public:
virtual HRESULT STDMETHODCALLTYPE CreateProxyLocator(
/* [in] */ LPCWSTR pszProtocol,
/* [annotation][out] */
__out IMFNetProxyLocator **ppProxyLocator) = 0;
};
#else /* C style interface */
typedef struct IMFNetProxyLocatorFactoryVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IMFNetProxyLocatorFactory * This,
/* [in] */ REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
IMFNetProxyLocatorFactory * This);
ULONG ( STDMETHODCALLTYPE *Release )(
IMFNetProxyLocatorFactory * This);
HRESULT ( STDMETHODCALLTYPE *CreateProxyLocator )(
IMFNetProxyLocatorFactory * This,
/* [in] */ LPCWSTR pszProtocol,
/* [annotation][out] */
__out IMFNetProxyLocator **ppProxyLocator);
END_INTERFACE
} IMFNetProxyLocatorFactoryVtbl;
interface IMFNetProxyLocatorFactory
{
CONST_VTBL struct IMFNetProxyLocatorFactoryVtbl *lpVtbl;
};
#ifdef COBJMACROS
#define IMFNetProxyLocatorFactory_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
#define IMFNetProxyLocatorFactory_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
#define IMFNetProxyLocatorFactory_Release(This) \
( (This)->lpVtbl -> Release(This) )
#define IMFNetProxyLocatorFactory_CreateProxyLocator(This,pszProtocol,ppProxyLocator) \
( (This)->lpVtbl -> CreateProxyLocator(This,pszProtocol,ppProxyLocator) )
#endif /* COBJMACROS */
#endif /* C style interface */
#endif /* __IMFNetProxyLocatorFactory_INTERFACE_DEFINED__ */
#ifndef __IMFSaveJob_INTERFACE_DEFINED__
#define __IMFSaveJob_INTERFACE_DEFINED__
/* interface IMFSaveJob */
/* [local][uuid][object] */
EXTERN_C const IID IID_IMFSaveJob;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("e9931663-80bf-4c6e-98af-5dcf58747d1f")
IMFSaveJob : public IUnknown
{
public:
virtual HRESULT STDMETHODCALLTYPE BeginSave(
/* [in] */ IMFByteStream *pStream,
/* [in] */ IMFAsyncCallback *pCallback,
/* [in] */ IUnknown *pState) = 0;
virtual HRESULT STDMETHODCALLTYPE EndSave(
/* [in] */ IMFAsyncResult *pResult) = 0;
virtual HRESULT STDMETHODCALLTYPE CancelSave( void) = 0;
virtual HRESULT STDMETHODCALLTYPE GetProgress(
/* [annotation][out] */
__out DWORD *pdwPercentComplete) = 0;
};
#else /* C style interface */
typedef struct IMFSaveJobVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IMFSaveJob * This,
/* [in] */ REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
IMFSaveJob * This);
ULONG ( STDMETHODCALLTYPE *Release )(
IMFSaveJob * This);
HRESULT ( STDMETHODCALLTYPE *BeginSave )(
IMFSaveJob * This,
/* [in] */ IMFByteStream *pStream,
/* [in] */ IMFAsyncCallback *pCallback,
/* [in] */ IUnknown *pState);
HRESULT ( STDMETHODCALLTYPE *EndSave )(
IMFSaveJob * This,
/* [in] */ IMFAsyncResult *pResult);
HRESULT ( STDMETHODCALLTYPE *CancelSave )(
IMFSaveJob * This);
HRESULT ( STDMETHODCALLTYPE *GetProgress )(
IMFSaveJob * This,
/* [annotation][out] */
__out DWORD *pdwPercentComplete);
END_INTERFACE
} IMFSaveJobVtbl;
interface IMFSaveJob
{
CONST_VTBL struct IMFSaveJobVtbl *lpVtbl;
};
#ifdef COBJMACROS
#define IMFSaveJob_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
#define IMFSaveJob_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
#define IMFSaveJob_Release(This) \
( (This)->lpVtbl -> Release(This) )
#define IMFSaveJob_BeginSave(This,pStream,pCallback,pState) \
( (This)->lpVtbl -> BeginSave(This,pStream,pCallback,pState) )
#define IMFSaveJob_EndSave(This,pResult) \
( (This)->lpVtbl -> EndSave(This,pResult) )
#define IMFSaveJob_CancelSave(This) \
( (This)->lpVtbl -> CancelSave(This) )
#define IMFSaveJob_GetProgress(This,pdwPercentComplete) \
( (This)->lpVtbl -> GetProgress(This,pdwPercentComplete) )
#endif /* COBJMACROS */
#endif /* C style interface */
#endif /* __IMFSaveJob_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_mfidl_0000_0054 */
/* [local] */
EXTERN_GUID( MFNET_SAVEJOB_SERVICE, 0xb85a587f, 0x3d02, 0x4e52, 0x95, 0x65, 0x55, 0xd3, 0xec, 0x1e, 0x7f, 0xf7 );
typedef
enum _MFNETSOURCE_PROTOCOL_TYPE
{ MFNETSOURCE_UNDEFINED = 0,
MFNETSOURCE_HTTP = 0x1,
MFNETSOURCE_RTSP = 0x2,
MFNETSOURCE_FILE = 0x3,
MFNETSOURCE_MULTICAST = 0x4
} MFNETSOURCE_PROTOCOL_TYPE;
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0054_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0054_v0_0_s_ifspec;
#ifndef __IMFNetSchemeHandlerConfig_INTERFACE_DEFINED__
#define __IMFNetSchemeHandlerConfig_INTERFACE_DEFINED__
/* interface IMFNetSchemeHandlerConfig */
/* [local][uuid][object] */
EXTERN_C const IID IID_IMFNetSchemeHandlerConfig;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("7BE19E73-C9BF-468a-AC5A-A5E8653BEC87")
IMFNetSchemeHandlerConfig : public IUnknown
{
public:
virtual HRESULT STDMETHODCALLTYPE GetNumberOfSupportedProtocols(
/* [annotation][out] */
__out ULONG *pcProtocols) = 0;
virtual HRESULT STDMETHODCALLTYPE GetSupportedProtocolType(
/* [in] */ ULONG nProtocolIndex,
/* [annotation][out] */
__out MFNETSOURCE_PROTOCOL_TYPE *pnProtocolType) = 0;
virtual HRESULT STDMETHODCALLTYPE ResetProtocolRolloverSettings( void) = 0;
};
#else /* C style interface */
typedef struct IMFNetSchemeHandlerConfigVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IMFNetSchemeHandlerConfig * This,
/* [in] */ REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
IMFNetSchemeHandlerConfig * This);
ULONG ( STDMETHODCALLTYPE *Release )(
IMFNetSchemeHandlerConfig * This);
HRESULT ( STDMETHODCALLTYPE *GetNumberOfSupportedProtocols )(
IMFNetSchemeHandlerConfig * This,
/* [annotation][out] */
__out ULONG *pcProtocols);
HRESULT ( STDMETHODCALLTYPE *GetSupportedProtocolType )(
IMFNetSchemeHandlerConfig * This,
/* [in] */ ULONG nProtocolIndex,
/* [annotation][out] */
__out MFNETSOURCE_PROTOCOL_TYPE *pnProtocolType);
HRESULT ( STDMETHODCALLTYPE *ResetProtocolRolloverSettings )(
IMFNetSchemeHandlerConfig * This);
END_INTERFACE
} IMFNetSchemeHandlerConfigVtbl;
interface IMFNetSchemeHandlerConfig
{
CONST_VTBL struct IMFNetSchemeHandlerConfigVtbl *lpVtbl;
};
#ifdef COBJMACROS
#define IMFNetSchemeHandlerConfig_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
#define IMFNetSchemeHandlerConfig_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
#define IMFNetSchemeHandlerConfig_Release(This) \
( (This)->lpVtbl -> Release(This) )
#define IMFNetSchemeHandlerConfig_GetNumberOfSupportedProtocols(This,pcProtocols) \
( (This)->lpVtbl -> GetNumberOfSupportedProtocols(This,pcProtocols) )
#define IMFNetSchemeHandlerConfig_GetSupportedProtocolType(This,nProtocolIndex,pnProtocolType) \
( (This)->lpVtbl -> GetSupportedProtocolType(This,nProtocolIndex,pnProtocolType) )
#define IMFNetSchemeHandlerConfig_ResetProtocolRolloverSettings(This) \
( (This)->lpVtbl -> ResetProtocolRolloverSettings(This) )
#endif /* COBJMACROS */
#endif /* C style interface */
#endif /* __IMFNetSchemeHandlerConfig_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_mfidl_0000_0055 */
/* [local] */
STDAPI MFCreateNetSchemePlugin(
REFIID riid,
LPVOID *ppvHandler );
typedef
enum _MFNETSOURCE_TRANSPORT_TYPE
{ MFNETSOURCE_UDP = 0,
MFNETSOURCE_TCP = ( MFNETSOURCE_UDP + 1 )
} MFNETSOURCE_TRANSPORT_TYPE;
typedef
enum _MFNETSOURCE_CACHE_STATE
{ MFNETSOURCE_CACHE_UNAVAILABLE = 0,
MFNETSOURCE_CACHE_ACTIVE_WRITING = ( MFNETSOURCE_CACHE_UNAVAILABLE + 1 ) ,
MFNETSOURCE_CACHE_ACTIVE_COMPLETE = ( MFNETSOURCE_CACHE_ACTIVE_WRITING + 1 )
} MFNETSOURCE_CACHE_STATE;
typedef
enum _MFNETSOURCE_STATISTICS_IDS
{ MFNETSOURCE_RECVPACKETS_ID = 0,
MFNETSOURCE_LOSTPACKETS_ID = ( MFNETSOURCE_RECVPACKETS_ID + 1 ) ,
MFNETSOURCE_RESENDSREQUESTED_ID = ( MFNETSOURCE_LOSTPACKETS_ID + 1 ) ,
MFNETSOURCE_RESENDSRECEIVED_ID = ( MFNETSOURCE_RESENDSREQUESTED_ID + 1 ) ,
MFNETSOURCE_RECOVEREDBYECCPACKETS_ID = ( MFNETSOURCE_RESENDSRECEIVED_ID + 1 ) ,
MFNETSOURCE_RECOVEREDBYRTXPACKETS_ID = ( MFNETSOURCE_RECOVEREDBYECCPACKETS_ID + 1 ) ,
MFNETSOURCE_OUTPACKETS_ID = ( MFNETSOURCE_RECOVEREDBYRTXPACKETS_ID + 1 ) ,
MFNETSOURCE_RECVRATE_ID = ( MFNETSOURCE_OUTPACKETS_ID + 1 ) ,
MFNETSOURCE_AVGBANDWIDTHBPS_ID = ( MFNETSOURCE_RECVRATE_ID + 1 ) ,
MFNETSOURCE_BYTESRECEIVED_ID = ( MFNETSOURCE_AVGBANDWIDTHBPS_ID + 1 ) ,
MFNETSOURCE_PROTOCOL_ID = ( MFNETSOURCE_BYTESRECEIVED_ID + 1 ) ,
MFNETSOURCE_TRANSPORT_ID = ( MFNETSOURCE_PROTOCOL_ID + 1 ) ,
MFNETSOURCE_CACHE_STATE_ID = ( MFNETSOURCE_TRANSPORT_ID + 1 ) ,
MFNETSOURCE_LINKBANDWIDTH_ID = ( MFNETSOURCE_CACHE_STATE_ID + 1 ) ,
MFNETSOURCE_CONTENTBITRATE_ID = ( MFNETSOURCE_LINKBANDWIDTH_ID + 1 ) ,
MFNETSOURCE_SPEEDFACTOR_ID = ( MFNETSOURCE_CONTENTBITRATE_ID + 1 ) ,
MFNETSOURCE_BUFFERSIZE_ID = ( MFNETSOURCE_SPEEDFACTOR_ID + 1 ) ,
MFNETSOURCE_BUFFERPROGRESS_ID = ( MFNETSOURCE_BUFFERSIZE_ID + 1 ) ,
MFNETSOURCE_LASTBWSWITCHTS_ID = ( MFNETSOURCE_BUFFERPROGRESS_ID + 1 ) ,
MFNETSOURCE_SEEKRANGESTART_ID = ( MFNETSOURCE_LASTBWSWITCHTS_ID + 1 ) ,
MFNETSOURCE_SEEKRANGEEND_ID = ( MFNETSOURCE_SEEKRANGESTART_ID + 1 ) ,
MFNETSOURCE_BUFFERINGCOUNT_ID = ( MFNETSOURCE_SEEKRANGEEND_ID + 1 ) ,
MFNETSOURCE_INCORRECTLYSIGNEDPACKETS_ID = ( MFNETSOURCE_BUFFERINGCOUNT_ID + 1 ) ,
MFNETSOURCE_SIGNEDSESSION_ID = ( MFNETSOURCE_INCORRECTLYSIGNEDPACKETS_ID + 1 ) ,
MFNETSOURCE_MAXBITRATE_ID = ( MFNETSOURCE_SIGNEDSESSION_ID + 1 ) ,
MFNETSOURCE_RECEPTION_QUALITY_ID = ( MFNETSOURCE_MAXBITRATE_ID + 1 ) ,
MFNETSOURCE_RECOVEREDPACKETS_ID = ( MFNETSOURCE_RECEPTION_QUALITY_ID + 1 ) ,
MFNETSOURCE_VBR_ID = ( MFNETSOURCE_RECOVEREDPACKETS_ID + 1 ) ,
MFNETSOURCE_DOWNLOADPROGRESS_ID = ( MFNETSOURCE_VBR_ID + 1 ) ,
MFNETSOURCE_UNPREDEFINEDPROTOCOLNAME_ID = ( MFNETSOURCE_DOWNLOADPROGRESS_ID + 1 )
} MFNETSOURCE_STATISTICS_IDS;
EXTERN_GUID( MFNETSOURCE_STATISTICS_SERVICE, 0x3cb1f275, 0x0505, 0x4c5d, 0xae, 0x71, 0x0a, 0x55, 0x63, 0x44, 0xef, 0xa1 );
EXTERN_GUID( MFNETSOURCE_STATISTICS, 0x3cb1f274, 0x0505, 0x4c5d, 0xae, 0x71, 0x0a, 0x55, 0x63, 0x44, 0xef, 0xa1 );
EXTERN_GUID( MFNETSOURCE_BUFFERINGTIME, 0x3cb1f276, 0x0505, 0x4c5d, 0xae, 0x71, 0x0a, 0x55, 0x63, 0x44, 0xef, 0xa1 );
EXTERN_GUID( MFNETSOURCE_ACCELERATEDSTREAMINGDURATION, 0x3cb1f277, 0x0505, 0x4c5d, 0xae, 0x71, 0x0a, 0x55, 0x63, 0x44, 0xef, 0xa1 );
EXTERN_GUID( MFNETSOURCE_MAXUDPACCELERATEDSTREAMINGDURATION, 0x4aab2879, 0xbbe1, 0x4994, 0x9f, 0xf0, 0x54, 0x95, 0xbd, 0x25, 0x1, 0x29 );
EXTERN_GUID( MFNETSOURCE_MAXBUFFERTIMEMS, 0x408b24e6, 0x4038, 0x4401, 0xb5, 0xb2, 0xfe, 0x70, 0x1a, 0x9e, 0xbf, 0x10 );
EXTERN_GUID( MFNETSOURCE_CONNECTIONBANDWIDTH, 0x3cb1f278, 0x0505, 0x4c5d, 0xae, 0x71, 0x0a, 0x55, 0x63, 0x44, 0xef, 0xa1 );
EXTERN_GUID( MFNETSOURCE_CACHEENABLED, 0x3cb1f279, 0x0505, 0x4c5d, 0xae, 0x71, 0x0a, 0x55, 0x63, 0x44, 0xef, 0xa1 );
EXTERN_GUID( MFNETSOURCE_AUTORECONNECTLIMIT, 0x3cb1f27a, 0x0505, 0x4c5d, 0xae, 0x71, 0x0a, 0x55, 0x63, 0x44, 0xef, 0xa1 );
EXTERN_GUID( MFNETSOURCE_RESENDSENABLED, 0x3cb1f27b, 0x0505, 0x4c5d, 0xae, 0x71, 0x0a, 0x55, 0x63, 0x44, 0xef, 0xa1 );
EXTERN_GUID( MFNETSOURCE_THINNINGENABLED, 0x3cb1f27c, 0x0505, 0x4c5d, 0xae, 0x71, 0x0a, 0x55, 0x63, 0x44, 0xef, 0xa1 );
EXTERN_GUID( MFNETSOURCE_PROTOCOL, 0x3cb1f27d, 0x0505, 0x4c5d, 0xae, 0x71, 0x0a, 0x55, 0x63, 0x44, 0xef, 0xa1 );
EXTERN_GUID( MFNETSOURCE_TRANSPORT, 0x3cb1f27e, 0x0505, 0x4c5d, 0xae, 0x71, 0x0a, 0x55, 0x63, 0x44, 0xef, 0xa1 );
#if (WINVER >= _WIN32_WINNT_WIN7)
EXTERN_GUID( MFNETSOURCE_PREVIEWMODEENABLED, 0x3cb1f27f, 0x0505, 0x4c5d, 0xae, 0x71, 0x0a, 0x55, 0x63, 0x44, 0xef, 0xa1 );
#endif // (WINVER >= _WIN32_WINNT_WIN7)
EXTERN_GUID( MFNETSOURCE_CREDENTIAL_MANAGER, 0x3cb1f280, 0x0505, 0x4c5d, 0xae, 0x71, 0x0a, 0x55, 0x63, 0x44, 0xef, 0xa1 );
EXTERN_GUID( MFNETSOURCE_PPBANDWIDTH, 0x3cb1f281, 0x0505, 0x4c5d, 0xae, 0x71, 0x0a, 0x55, 0x63, 0x44, 0xef, 0xa1 );
EXTERN_GUID( MFNETSOURCE_AUTORECONNECTPROGRESS, 0x3cb1f282, 0x0505, 0x4c5d, 0xae, 0x71, 0x0a, 0x55, 0x63, 0x44, 0xef, 0xa1 );
EXTERN_GUID( MFNETSOURCE_PROXYLOCATORFACTORY, 0x3cb1f283, 0x0505, 0x4c5d, 0xae, 0x71, 0x0a, 0x55, 0x63, 0x44, 0xef, 0xa1 );
EXTERN_GUID( MFNETSOURCE_BROWSERUSERAGENT, 0x3cb1f28b, 0x0505, 0x4c5d, 0xae, 0x71, 0x0a, 0x55, 0x63, 0x44, 0xef, 0xa1 );
EXTERN_GUID( MFNETSOURCE_BROWSERWEBPAGE, 0x3cb1f28c, 0x0505, 0x4c5d, 0xae, 0x71, 0x0a, 0x55, 0x63, 0x44, 0xef, 0xa1 );
EXTERN_GUID( MFNETSOURCE_PLAYERVERSION, 0x3cb1f28d, 0x0505, 0x4c5d, 0xae, 0x71, 0x0a, 0x55, 0x63, 0x44, 0xef, 0xa1 );
EXTERN_GUID( MFNETSOURCE_PLAYERID, 0x3cb1f28e, 0x0505, 0x4c5d, 0xae, 0x71, 0x0a, 0x55, 0x63, 0x44, 0xef, 0xa1 );
EXTERN_GUID( MFNETSOURCE_HOSTEXE, 0x3cb1f28f, 0x0505, 0x4c5d, 0xae, 0x71, 0x0a, 0x55, 0x63, 0x44, 0xef, 0xa1 );
EXTERN_GUID( MFNETSOURCE_HOSTVERSION, 0x3cb1f291, 0x0505, 0x4c5d, 0xae, 0x71, 0x0a, 0x55, 0x63, 0x44, 0xef, 0xa1 );
EXTERN_GUID( MFNETSOURCE_PLAYERUSERAGENT, 0x3cb1f292, 0x0505, 0x4c5d, 0xae, 0x71, 0x0a, 0x55, 0x63, 0x44, 0xef, 0xa1 );
#if (WINVER >= _WIN32_WINNT_WIN7)
EXTERN_GUID( MFNETSOURCE_CLIENTGUID, 0x60a2c4a6, 0xf197, 0x4c14, 0xa5, 0xbf, 0x88, 0x83, 0xd, 0x24, 0x58, 0xaf );
#endif // (WINVER >= _WIN32_WINNT_WIN7)
EXTERN_GUID( MFNETSOURCE_LOGURL, 0x3cb1f293, 0x0505, 0x4c5d, 0xae, 0x71, 0x0a, 0x55, 0x63, 0x44, 0xef, 0xa1 );
EXTERN_GUID( MFNETSOURCE_ENABLE_UDP, 0x3cb1f294, 0x0505, 0x4c5d, 0xae, 0x71, 0x0a, 0x55, 0x63, 0x44, 0xef, 0xa1 );
EXTERN_GUID( MFNETSOURCE_ENABLE_TCP, 0x3cb1f295, 0x0505, 0x4c5d, 0xae, 0x71, 0x0a, 0x55, 0x63, 0x44, 0xef, 0xa1 );
EXTERN_GUID( MFNETSOURCE_ENABLE_MSB, 0x3cb1f296, 0x0505, 0x4c5d, 0xae, 0x71, 0x0a, 0x55, 0x63, 0x44, 0xef, 0xa1 );
EXTERN_GUID( MFNETSOURCE_ENABLE_RTSP, 0x3cb1f298, 0x0505, 0x4c5d, 0xae, 0x71, 0x0a, 0x55, 0x63, 0x44, 0xef, 0xa1 );
EXTERN_GUID( MFNETSOURCE_ENABLE_HTTP, 0x3cb1f299, 0x0505, 0x4c5d, 0xae, 0x71, 0x0a, 0x55, 0x63, 0x44, 0xef, 0xa1 );
EXTERN_GUID( MFNETSOURCE_ENABLE_STREAMING, 0x3cb1f29c, 0x0505, 0x4c5d, 0xae, 0x71, 0x0a, 0x55, 0x63, 0x44, 0xef, 0xa1 );
EXTERN_GUID( MFNETSOURCE_ENABLE_DOWNLOAD, 0x3cb1f29d, 0x0505, 0x4c5d, 0xae, 0x71, 0x0a, 0x55, 0x63, 0x44, 0xef, 0xa1 );
EXTERN_GUID( MFNETSOURCE_UDP_PORT_RANGE, 0x3cb1f29a, 0x0505, 0x4c5d, 0xae, 0x71, 0x0a, 0x55, 0x63, 0x44, 0xef, 0xa1 );
EXTERN_GUID( MFNETSOURCE_PROXYINFO, 0x3cb1f29b, 0x0505, 0x4c5d, 0xae, 0x71, 0x0a, 0x55, 0x63, 0x44, 0xef, 0xa1 );
EXTERN_GUID( MFNETSOURCE_DRMNET_LICENSE_REPRESENTATION, 0x47eae1bd, 0xbdfe, 0x42e2, 0x82, 0xf3, 0x54, 0xa4, 0x8c, 0x17, 0x96, 0x2d );
EXTERN_GUID( MFNETSOURCE_PROXYSETTINGS, 0x3cb1f287, 0x0505, 0x4c5d, 0xae, 0x71, 0x0a, 0x55, 0x63, 0x44, 0xef, 0xa1 );
EXTERN_GUID( MFNETSOURCE_PROXYHOSTNAME, 0x3cb1f284, 0x0505, 0x4c5d, 0xae, 0x71, 0x0a, 0x55, 0x63, 0x44, 0xef, 0xa1 );
EXTERN_GUID( MFNETSOURCE_PROXYPORT, 0x3cb1f288, 0x0505, 0x4c5d, 0xae, 0x71, 0x0a, 0x55, 0x63, 0x44, 0xef, 0xa1 );
EXTERN_GUID( MFNETSOURCE_PROXYEXCEPTIONLIST, 0x3cb1f285, 0x0505, 0x4c5d, 0xae, 0x71, 0x0a, 0x55, 0x63, 0x44, 0xef, 0xa1 );
EXTERN_GUID( MFNETSOURCE_PROXYBYPASSFORLOCAL, 0x3cb1f286, 0x0505, 0x4c5d, 0xae, 0x71, 0x0a, 0x55, 0x63, 0x44, 0xef, 0xa1 );
EXTERN_GUID( MFNETSOURCE_PROXYRERUNAUTODETECTION, 0x3cb1f289, 0x0505, 0x4c5d, 0xae, 0x71, 0x0a, 0x55, 0x63, 0x44, 0xef, 0xa1 );
#if (WINVER >= _WIN32_WINNT_WIN7)
EXTERN_GUID( MFNETSOURCE_STREAM_LANGUAGE, 0x9ab44318, 0xf7cd, 0x4f2d, 0x8d, 0x6d, 0xfa, 0x35, 0xb4, 0x92, 0xce, 0xcb );
EXTERN_GUID( MFNETSOURCE_LOGPARAMS, 0x64936ae8, 0x9418, 0x453a, 0x8c, 0xda, 0x3e, 0xa, 0x66, 0x8b, 0x35, 0x3b );
#endif // (WINVER >= _WIN32_WINNT_WIN7)
typedef
enum _MFNET_PROXYSETTINGS
{ MFNET_PROXYSETTING_NONE = 0,
MFNET_PROXYSETTING_MANUAL = 1,
MFNET_PROXYSETTING_AUTO = 2,
MFNET_PROXYSETTING_BROWSER = 3
} MFNET_PROXYSETTINGS;
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0055_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0055_v0_0_s_ifspec;
#ifndef __IMFSchemeHandler_INTERFACE_DEFINED__
#define __IMFSchemeHandler_INTERFACE_DEFINED__
/* interface IMFSchemeHandler */
/* [local][uuid][object] */
EXTERN_C const IID IID_IMFSchemeHandler;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("6D4C7B74-52A0-4bb7-B0DB-55F29F47A668")
IMFSchemeHandler : public IUnknown
{
public:
virtual HRESULT STDMETHODCALLTYPE BeginCreateObject(
/* [in] */ LPCWSTR pwszURL,
/* [in] */ DWORD dwFlags,
/* [in] */ IPropertyStore *pProps,
/* [annotation][out] */
__out_opt IUnknown **ppIUnknownCancelCookie,
/* [in] */ IMFAsyncCallback *pCallback,
/* [in] */ IUnknown *punkState) = 0;
virtual HRESULT STDMETHODCALLTYPE EndCreateObject(
/* [in] */ IMFAsyncResult *pResult,
/* [annotation][out] */
__out MF_OBJECT_TYPE *pObjectType,
/* [annotation][out] */
__out IUnknown **ppObject) = 0;
virtual HRESULT STDMETHODCALLTYPE CancelObjectCreation(
/* [in] */ IUnknown *pIUnknownCancelCookie) = 0;
};
#else /* C style interface */
typedef struct IMFSchemeHandlerVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IMFSchemeHandler * This,
/* [in] */ REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
IMFSchemeHandler * This);
ULONG ( STDMETHODCALLTYPE *Release )(
IMFSchemeHandler * This);
HRESULT ( STDMETHODCALLTYPE *BeginCreateObject )(
IMFSchemeHandler * This,
/* [in] */ LPCWSTR pwszURL,
/* [in] */ DWORD dwFlags,
/* [in] */ IPropertyStore *pProps,
/* [annotation][out] */
__out_opt IUnknown **ppIUnknownCancelCookie,
/* [in] */ IMFAsyncCallback *pCallback,
/* [in] */ IUnknown *punkState);
HRESULT ( STDMETHODCALLTYPE *EndCreateObject )(
IMFSchemeHandler * This,
/* [in] */ IMFAsyncResult *pResult,
/* [annotation][out] */
__out MF_OBJECT_TYPE *pObjectType,
/* [annotation][out] */
__out IUnknown **ppObject);
HRESULT ( STDMETHODCALLTYPE *CancelObjectCreation )(
IMFSchemeHandler * This,
/* [in] */ IUnknown *pIUnknownCancelCookie);
END_INTERFACE
} IMFSchemeHandlerVtbl;
interface IMFSchemeHandler
{
CONST_VTBL struct IMFSchemeHandlerVtbl *lpVtbl;
};
#ifdef COBJMACROS
#define IMFSchemeHandler_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
#define IMFSchemeHandler_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
#define IMFSchemeHandler_Release(This) \
( (This)->lpVtbl -> Release(This) )
#define IMFSchemeHandler_BeginCreateObject(This,pwszURL,dwFlags,pProps,ppIUnknownCancelCookie,pCallback,punkState) \
( (This)->lpVtbl -> BeginCreateObject(This,pwszURL,dwFlags,pProps,ppIUnknownCancelCookie,pCallback,punkState) )
#define IMFSchemeHandler_EndCreateObject(This,pResult,pObjectType,ppObject) \
( (This)->lpVtbl -> EndCreateObject(This,pResult,pObjectType,ppObject) )
#define IMFSchemeHandler_CancelObjectCreation(This,pIUnknownCancelCookie) \
( (This)->lpVtbl -> CancelObjectCreation(This,pIUnknownCancelCookie) )
#endif /* COBJMACROS */
#endif /* C style interface */
#endif /* __IMFSchemeHandler_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_mfidl_0000_0056 */
/* [local] */
#if (WINVER >= _WIN32_WINNT_WIN7)
EXTERN_GUID(MF_BYTESTREAMHANDLER_ACCEPTS_SHARE_WRITE, 0xa6e1f733, 0x3001, 0x4915, 0x81, 0x50, 0x15, 0x58, 0xa2, 0x18, 0xe, 0xc8);
#endif // (WINVER >= _WIN32_WINNT_WIN7)
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0056_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0056_v0_0_s_ifspec;
#ifndef __IMFByteStreamHandler_INTERFACE_DEFINED__
#define __IMFByteStreamHandler_INTERFACE_DEFINED__
/* interface IMFByteStreamHandler */
/* [local][uuid][object] */
EXTERN_C const IID IID_IMFByteStreamHandler;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("BB420AA4-765B-4a1f-91FE-D6A8A143924C")
IMFByteStreamHandler : public IUnknown
{
public:
virtual HRESULT STDMETHODCALLTYPE BeginCreateObject(
/* [in] */ IMFByteStream *pByteStream,
/* [in] */ LPCWSTR pwszURL,
/* [in] */ DWORD dwFlags,
/* [in] */ IPropertyStore *pProps,
/* [annotation][out] */
__out_opt IUnknown **ppIUnknownCancelCookie,
/* [in] */ IMFAsyncCallback *pCallback,
/* [in] */ IUnknown *punkState) = 0;
virtual HRESULT STDMETHODCALLTYPE EndCreateObject(
/* [in] */ IMFAsyncResult *pResult,
/* [annotation][out] */
__out MF_OBJECT_TYPE *pObjectType,
/* [annotation][out] */
__out IUnknown **ppObject) = 0;
virtual HRESULT STDMETHODCALLTYPE CancelObjectCreation(
/* [in] */ IUnknown *pIUnknownCancelCookie) = 0;
virtual HRESULT STDMETHODCALLTYPE GetMaxNumberOfBytesRequiredForResolution(
/* [annotation][out] */
__out QWORD *pqwBytes) = 0;
};
#else /* C style interface */
typedef struct IMFByteStreamHandlerVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IMFByteStreamHandler * This,
/* [in] */ REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
IMFByteStreamHandler * This);
ULONG ( STDMETHODCALLTYPE *Release )(
IMFByteStreamHandler * This);
HRESULT ( STDMETHODCALLTYPE *BeginCreateObject )(
IMFByteStreamHandler * This,
/* [in] */ IMFByteStream *pByteStream,
/* [in] */ LPCWSTR pwszURL,
/* [in] */ DWORD dwFlags,
/* [in] */ IPropertyStore *pProps,
/* [annotation][out] */
__out_opt IUnknown **ppIUnknownCancelCookie,
/* [in] */ IMFAsyncCallback *pCallback,
/* [in] */ IUnknown *punkState);
HRESULT ( STDMETHODCALLTYPE *EndCreateObject )(
IMFByteStreamHandler * This,
/* [in] */ IMFAsyncResult *pResult,
/* [annotation][out] */
__out MF_OBJECT_TYPE *pObjectType,
/* [annotation][out] */
__out IUnknown **ppObject);
HRESULT ( STDMETHODCALLTYPE *CancelObjectCreation )(
IMFByteStreamHandler * This,
/* [in] */ IUnknown *pIUnknownCancelCookie);
HRESULT ( STDMETHODCALLTYPE *GetMaxNumberOfBytesRequiredForResolution )(
IMFByteStreamHandler * This,
/* [annotation][out] */
__out QWORD *pqwBytes);
END_INTERFACE
} IMFByteStreamHandlerVtbl;
interface IMFByteStreamHandler
{
CONST_VTBL struct IMFByteStreamHandlerVtbl *lpVtbl;
};
#ifdef COBJMACROS
#define IMFByteStreamHandler_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
#define IMFByteStreamHandler_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
#define IMFByteStreamHandler_Release(This) \
( (This)->lpVtbl -> Release(This) )
#define IMFByteStreamHandler_BeginCreateObject(This,pByteStream,pwszURL,dwFlags,pProps,ppIUnknownCancelCookie,pCallback,punkState) \
( (This)->lpVtbl -> BeginCreateObject(This,pByteStream,pwszURL,dwFlags,pProps,ppIUnknownCancelCookie,pCallback,punkState) )
#define IMFByteStreamHandler_EndCreateObject(This,pResult,pObjectType,ppObject) \
( (This)->lpVtbl -> EndCreateObject(This,pResult,pObjectType,ppObject) )
#define IMFByteStreamHandler_CancelObjectCreation(This,pIUnknownCancelCookie) \
( (This)->lpVtbl -> CancelObjectCreation(This,pIUnknownCancelCookie) )
#define IMFByteStreamHandler_GetMaxNumberOfBytesRequiredForResolution(This,pqwBytes) \
( (This)->lpVtbl -> GetMaxNumberOfBytesRequiredForResolution(This,pqwBytes) )
#endif /* COBJMACROS */
#endif /* C style interface */
#endif /* __IMFByteStreamHandler_INTERFACE_DEFINED__ */
#ifndef __IMFTrustedInput_INTERFACE_DEFINED__
#define __IMFTrustedInput_INTERFACE_DEFINED__
/* interface IMFTrustedInput */
/* [helpstring][uuid][object] */
EXTERN_C const IID IID_IMFTrustedInput;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("542612C4-A1B8-4632-B521-DE11EA64A0B0")
IMFTrustedInput : public IUnknown
{
public:
virtual HRESULT STDMETHODCALLTYPE GetInputTrustAuthority(
/* [in] */ DWORD dwStreamID,
/* [in] */ __RPC__in REFIID riid,
/* [iid_is][out] */ __RPC__deref_out_opt IUnknown **ppunkObject) = 0;
};
#else /* C style interface */
typedef struct IMFTrustedInputVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
__RPC__in IMFTrustedInput * This,
/* [in] */ __RPC__in REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
__RPC__in IMFTrustedInput * This);
ULONG ( STDMETHODCALLTYPE *Release )(
__RPC__in IMFTrustedInput * This);
HRESULT ( STDMETHODCALLTYPE *GetInputTrustAuthority )(
__RPC__in IMFTrustedInput * This,
/* [in] */ DWORD dwStreamID,
/* [in] */ __RPC__in REFIID riid,
/* [iid_is][out] */ __RPC__deref_out_opt IUnknown **ppunkObject);
END_INTERFACE
} IMFTrustedInputVtbl;
interface IMFTrustedInput
{
CONST_VTBL struct IMFTrustedInputVtbl *lpVtbl;
};
#ifdef COBJMACROS
#define IMFTrustedInput_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
#define IMFTrustedInput_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
#define IMFTrustedInput_Release(This) \
( (This)->lpVtbl -> Release(This) )
#define IMFTrustedInput_GetInputTrustAuthority(This,dwStreamID,riid,ppunkObject) \
( (This)->lpVtbl -> GetInputTrustAuthority(This,dwStreamID,riid,ppunkObject) )
#endif /* COBJMACROS */
#endif /* C style interface */
#endif /* __IMFTrustedInput_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_mfidl_0000_0058 */
/* [local] */
typedef
enum _MFPOLICYMANAGER_ACTION
{ PEACTION_NO = 0,
PEACTION_PLAY = 1,
PEACTION_COPY = 2,
PEACTION_EXPORT = 3,
PEACTION_EXTRACT = 4,
PEACTION_RESERVED1 = 5,
PEACTION_RESERVED2 = 6,
PEACTION_RESERVED3 = 7,
PEACTION_LAST = 7
} MFPOLICYMANAGER_ACTION;
typedef struct _MFINPUTTRUSTAUTHORITY_ACTION
{
MFPOLICYMANAGER_ACTION Action;
BYTE *pbTicket;
DWORD cbTicket;
} MFINPUTTRUSTAUTHORITY_ACCESS_ACTION;
typedef struct _MFINPUTTRUSTAUTHORITY_ACCESS_PARAMS
{
DWORD dwSize;
DWORD dwVer;
DWORD cbSignatureOffset;
DWORD cbSignatureSize;
DWORD cbExtensionOffset;
DWORD cbExtensionSize;
DWORD cActions;
MFINPUTTRUSTAUTHORITY_ACCESS_ACTION rgOutputActions[ 1 ];
} MFINPUTTRUSTAUTHORITY_ACCESS_PARAMS;
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0058_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0058_v0_0_s_ifspec;
#ifndef __IMFInputTrustAuthority_INTERFACE_DEFINED__
#define __IMFInputTrustAuthority_INTERFACE_DEFINED__
/* interface IMFInputTrustAuthority */
/* [helpstring][uuid][object] */
EXTERN_C const IID IID_IMFInputTrustAuthority;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("D19F8E98-B126-4446-890C-5DCB7AD71453")
IMFInputTrustAuthority : public IUnknown
{
public:
virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetDecrypter(
/* [in] */ REFIID riid,
/* [annotation][iid_is][out] */
__out void **ppv) = 0;
virtual /* [local] */ HRESULT STDMETHODCALLTYPE RequestAccess(
/* [in] */ MFPOLICYMANAGER_ACTION Action,
/* [annotation][out] */
__out IMFActivate **ppContentEnablerActivate) = 0;
virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetPolicy(
/* [in] */ MFPOLICYMANAGER_ACTION Action,
/* [annotation][out] */
__out IMFOutputPolicy **ppPolicy) = 0;
virtual /* [local] */ HRESULT STDMETHODCALLTYPE BindAccess(
/* [annotation][in] */
__in MFINPUTTRUSTAUTHORITY_ACCESS_PARAMS *pParam) = 0;
virtual /* [local] */ HRESULT STDMETHODCALLTYPE UpdateAccess(
/* [annotation][in] */
__in MFINPUTTRUSTAUTHORITY_ACCESS_PARAMS *pParam) = 0;
virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
};
#else /* C style interface */
typedef struct IMFInputTrustAuthorityVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
__RPC__in IMFInputTrustAuthority * This,
/* [in] */ __RPC__in REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
__RPC__in IMFInputTrustAuthority * This);
ULONG ( STDMETHODCALLTYPE *Release )(
__RPC__in IMFInputTrustAuthority * This);
/* [local] */ HRESULT ( STDMETHODCALLTYPE *GetDecrypter )(
IMFInputTrustAuthority * This,
/* [in] */ REFIID riid,
/* [annotation][iid_is][out] */
__out void **ppv);
/* [local] */ HRESULT ( STDMETHODCALLTYPE *RequestAccess )(
IMFInputTrustAuthority * This,
/* [in] */ MFPOLICYMANAGER_ACTION Action,
/* [annotation][out] */
__out IMFActivate **ppContentEnablerActivate);
/* [local] */ HRESULT ( STDMETHODCALLTYPE *GetPolicy )(
IMFInputTrustAuthority * This,
/* [in] */ MFPOLICYMANAGER_ACTION Action,
/* [annotation][out] */
__out IMFOutputPolicy **ppPolicy);
/* [local] */ HRESULT ( STDMETHODCALLTYPE *BindAccess )(
IMFInputTrustAuthority * This,
/* [annotation][in] */
__in MFINPUTTRUSTAUTHORITY_ACCESS_PARAMS *pParam);
/* [local] */ HRESULT ( STDMETHODCALLTYPE *UpdateAccess )(
IMFInputTrustAuthority * This,
/* [annotation][in] */
__in MFINPUTTRUSTAUTHORITY_ACCESS_PARAMS *pParam);
HRESULT ( STDMETHODCALLTYPE *Reset )(
__RPC__in IMFInputTrustAuthority * This);
END_INTERFACE
} IMFInputTrustAuthorityVtbl;
interface IMFInputTrustAuthority
{
CONST_VTBL struct IMFInputTrustAuthorityVtbl *lpVtbl;
};
#ifdef COBJMACROS
#define IMFInputTrustAuthority_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
#define IMFInputTrustAuthority_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
#define IMFInputTrustAuthority_Release(This) \
( (This)->lpVtbl -> Release(This) )
#define IMFInputTrustAuthority_GetDecrypter(This,riid,ppv) \
( (This)->lpVtbl -> GetDecrypter(This,riid,ppv) )
#define IMFInputTrustAuthority_RequestAccess(This,Action,ppContentEnablerActivate) \
( (This)->lpVtbl -> RequestAccess(This,Action,ppContentEnablerActivate) )
#define IMFInputTrustAuthority_GetPolicy(This,Action,ppPolicy) \
( (This)->lpVtbl -> GetPolicy(This,Action,ppPolicy) )
#define IMFInputTrustAuthority_BindAccess(This,pParam) \
( (This)->lpVtbl -> BindAccess(This,pParam) )
#define IMFInputTrustAuthority_UpdateAccess(This,pParam) \
( (This)->lpVtbl -> UpdateAccess(This,pParam) )
#define IMFInputTrustAuthority_Reset(This) \
( (This)->lpVtbl -> Reset(This) )
#endif /* COBJMACROS */
#endif /* C style interface */
#endif /* __IMFInputTrustAuthority_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_mfidl_0000_0059 */
/* [local] */
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0059_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0059_v0_0_s_ifspec;
#ifndef __IMFTrustedOutput_INTERFACE_DEFINED__
#define __IMFTrustedOutput_INTERFACE_DEFINED__
/* interface IMFTrustedOutput */
/* [local][unique][helpstring][uuid][object] */
EXTERN_C const IID IID_IMFTrustedOutput;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("D19F8E95-B126-4446-890C-5DCB7AD71453")
IMFTrustedOutput : public IUnknown
{
public:
virtual HRESULT STDMETHODCALLTYPE GetOutputTrustAuthorityCount(
/* [annotation][out] */
__out DWORD *pcOutputTrustAuthorities) = 0;
virtual HRESULT STDMETHODCALLTYPE GetOutputTrustAuthorityByIndex(
/* [in] */ DWORD dwIndex,
/* [annotation][out] */
__out IMFOutputTrustAuthority **ppauthority) = 0;
virtual HRESULT STDMETHODCALLTYPE IsFinal(
/* [annotation][out] */
__out BOOL *pfIsFinal) = 0;
};
#else /* C style interface */
typedef struct IMFTrustedOutputVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IMFTrustedOutput * This,
/* [in] */ REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
IMFTrustedOutput * This);
ULONG ( STDMETHODCALLTYPE *Release )(
IMFTrustedOutput * This);
HRESULT ( STDMETHODCALLTYPE *GetOutputTrustAuthorityCount )(
IMFTrustedOutput * This,
/* [annotation][out] */
__out DWORD *pcOutputTrustAuthorities);
HRESULT ( STDMETHODCALLTYPE *GetOutputTrustAuthorityByIndex )(
IMFTrustedOutput * This,
/* [in] */ DWORD dwIndex,
/* [annotation][out] */
__out IMFOutputTrustAuthority **ppauthority);
HRESULT ( STDMETHODCALLTYPE *IsFinal )(
IMFTrustedOutput * This,
/* [annotation][out] */
__out BOOL *pfIsFinal);
END_INTERFACE
} IMFTrustedOutputVtbl;
interface IMFTrustedOutput
{
CONST_VTBL struct IMFTrustedOutputVtbl *lpVtbl;
};
#ifdef COBJMACROS
#define IMFTrustedOutput_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
#define IMFTrustedOutput_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
#define IMFTrustedOutput_Release(This) \
( (This)->lpVtbl -> Release(This) )
#define IMFTrustedOutput_GetOutputTrustAuthorityCount(This,pcOutputTrustAuthorities) \
( (This)->lpVtbl -> GetOutputTrustAuthorityCount(This,pcOutputTrustAuthorities) )
#define IMFTrustedOutput_GetOutputTrustAuthorityByIndex(This,dwIndex,ppauthority) \
( (This)->lpVtbl -> GetOutputTrustAuthorityByIndex(This,dwIndex,ppauthority) )
#define IMFTrustedOutput_IsFinal(This,pfIsFinal) \
( (This)->lpVtbl -> IsFinal(This,pfIsFinal) )
#endif /* COBJMACROS */
#endif /* C style interface */
#endif /* __IMFTrustedOutput_INTERFACE_DEFINED__ */
#ifndef __IMFOutputTrustAuthority_INTERFACE_DEFINED__
#define __IMFOutputTrustAuthority_INTERFACE_DEFINED__
/* interface IMFOutputTrustAuthority */
/* [local][unique][helpstring][uuid][object] */
EXTERN_C const IID IID_IMFOutputTrustAuthority;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("D19F8E94-B126-4446-890C-5DCB7AD71453")
IMFOutputTrustAuthority : public IUnknown
{
public:
virtual HRESULT STDMETHODCALLTYPE GetAction(
/* [annotation][out] */
__out MFPOLICYMANAGER_ACTION *pAction) = 0;
virtual HRESULT STDMETHODCALLTYPE SetPolicy(
/* [annotation][in] */
__in_ecount_opt(nPolicy) IMFOutputPolicy **ppPolicy,
/* [in] */ DWORD nPolicy,
/* [annotation][size_is][size_is][unique][out] */
__deref_opt_out_bcount(*pcbTicket) BYTE **ppbTicket,
/* [annotation][out] */
__out_opt DWORD *pcbTicket) = 0;
};
#else /* C style interface */
typedef struct IMFOutputTrustAuthorityVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IMFOutputTrustAuthority * This,
/* [in] */ REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
IMFOutputTrustAuthority * This);
ULONG ( STDMETHODCALLTYPE *Release )(
IMFOutputTrustAuthority * This);
HRESULT ( STDMETHODCALLTYPE *GetAction )(
IMFOutputTrustAuthority * This,
/* [annotation][out] */
__out MFPOLICYMANAGER_ACTION *pAction);
HRESULT ( STDMETHODCALLTYPE *SetPolicy )(
IMFOutputTrustAuthority * This,
/* [annotation][in] */
__in_ecount_opt(nPolicy) IMFOutputPolicy **ppPolicy,
/* [in] */ DWORD nPolicy,
/* [annotation][size_is][size_is][unique][out] */
__deref_opt_out_bcount(*pcbTicket) BYTE **ppbTicket,
/* [annotation][out] */
__out_opt DWORD *pcbTicket);
END_INTERFACE
} IMFOutputTrustAuthorityVtbl;
interface IMFOutputTrustAuthority
{
CONST_VTBL struct IMFOutputTrustAuthorityVtbl *lpVtbl;
};
#ifdef COBJMACROS
#define IMFOutputTrustAuthority_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
#define IMFOutputTrustAuthority_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
#define IMFOutputTrustAuthority_Release(This) \
( (This)->lpVtbl -> Release(This) )
#define IMFOutputTrustAuthority_GetAction(This,pAction) \
( (This)->lpVtbl -> GetAction(This,pAction) )
#define IMFOutputTrustAuthority_SetPolicy(This,ppPolicy,nPolicy,ppbTicket,pcbTicket) \
( (This)->lpVtbl -> SetPolicy(This,ppPolicy,nPolicy,ppbTicket,pcbTicket) )
#endif /* COBJMACROS */
#endif /* C style interface */
#endif /* __IMFOutputTrustAuthority_INTERFACE_DEFINED__ */
#ifndef __IMFOutputPolicy_INTERFACE_DEFINED__
#define __IMFOutputPolicy_INTERFACE_DEFINED__
/* interface IMFOutputPolicy */
/* [local][unique][helpstring][uuid][object] */
EXTERN_C const IID IID_IMFOutputPolicy;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("7F00F10A-DAED-41AF-AB26-5FDFA4DFBA3C")
IMFOutputPolicy : public IMFAttributes
{
public:
virtual HRESULT STDMETHODCALLTYPE GenerateRequiredSchemas(
/* [in] */ DWORD dwAttributes,
/* [in] */ GUID guidOutputSubType,
/* [in] */ GUID *rgGuidProtectionSchemasSupported,
/* [in] */ DWORD cProtectionSchemasSupported,
/* [annotation][out] */
__out IMFCollection **ppRequiredProtectionSchemas) = 0;
virtual HRESULT STDMETHODCALLTYPE GetOriginatorID(
/* [annotation][out] */
__out GUID *pguidOriginatorID) = 0;
virtual HRESULT STDMETHODCALLTYPE GetMinimumGRLVersion(
/* [annotation][out] */
__out DWORD *pdwMinimumGRLVersion) = 0;
};
#else /* C style interface */
typedef struct IMFOutputPolicyVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IMFOutputPolicy * This,
/* [in] */ REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
IMFOutputPolicy * This);
ULONG ( STDMETHODCALLTYPE *Release )(
IMFOutputPolicy * This);
HRESULT ( STDMETHODCALLTYPE *GetItem )(
IMFOutputPolicy * This,
REFGUID guidKey,
/* [full][out][in] */ PROPVARIANT *pValue);
HRESULT ( STDMETHODCALLTYPE *GetItemType )(
IMFOutputPolicy * This,
REFGUID guidKey,
/* [out] */ MF_ATTRIBUTE_TYPE *pType);
HRESULT ( STDMETHODCALLTYPE *CompareItem )(
IMFOutputPolicy * This,
REFGUID guidKey,
REFPROPVARIANT Value,
/* [out] */ BOOL *pbResult);
HRESULT ( STDMETHODCALLTYPE *Compare )(
IMFOutputPolicy * This,
IMFAttributes *pTheirs,
MF_ATTRIBUTES_MATCH_TYPE MatchType,
/* [out] */ BOOL *pbResult);
HRESULT ( STDMETHODCALLTYPE *GetUINT32 )(
IMFOutputPolicy * This,
REFGUID guidKey,
/* [out] */ UINT32 *punValue);
HRESULT ( STDMETHODCALLTYPE *GetUINT64 )(
IMFOutputPolicy * This,
REFGUID guidKey,
/* [out] */ UINT64 *punValue);
HRESULT ( STDMETHODCALLTYPE *GetDouble )(
IMFOutputPolicy * This,
REFGUID guidKey,
/* [out] */ double *pfValue);
HRESULT ( STDMETHODCALLTYPE *GetGUID )(
IMFOutputPolicy * This,
REFGUID guidKey,
/* [out] */ GUID *pguidValue);
HRESULT ( STDMETHODCALLTYPE *GetStringLength )(
IMFOutputPolicy * This,
REFGUID guidKey,
/* [out] */ UINT32 *pcchLength);
HRESULT ( STDMETHODCALLTYPE *GetString )(
IMFOutputPolicy * This,
REFGUID guidKey,
/* [size_is][out] */ LPWSTR pwszValue,
UINT32 cchBufSize,
/* [full][out][in] */ UINT32 *pcchLength);
HRESULT ( STDMETHODCALLTYPE *GetAllocatedString )(
IMFOutputPolicy * This,
REFGUID guidKey,
/* [size_is][size_is][out] */ LPWSTR *ppwszValue,
/* [out] */ UINT32 *pcchLength);
HRESULT ( STDMETHODCALLTYPE *GetBlobSize )(
IMFOutputPolicy * This,
REFGUID guidKey,
/* [out] */ UINT32 *pcbBlobSize);
HRESULT ( STDMETHODCALLTYPE *GetBlob )(
IMFOutputPolicy * This,
REFGUID guidKey,
/* [size_is][out] */ UINT8 *pBuf,
UINT32 cbBufSize,
/* [full][out][in] */ UINT32 *pcbBlobSize);
HRESULT ( STDMETHODCALLTYPE *GetAllocatedBlob )(
IMFOutputPolicy * This,
REFGUID guidKey,
/* [size_is][size_is][out] */ UINT8 **ppBuf,
/* [out] */ UINT32 *pcbSize);
HRESULT ( STDMETHODCALLTYPE *GetUnknown )(
IMFOutputPolicy * This,
REFGUID guidKey,
REFIID riid,
/* [iid_is][out] */ LPVOID *ppv);
HRESULT ( STDMETHODCALLTYPE *SetItem )(
IMFOutputPolicy * This,
REFGUID guidKey,
REFPROPVARIANT Value);
HRESULT ( STDMETHODCALLTYPE *DeleteItem )(
IMFOutputPolicy * This,
REFGUID guidKey);
HRESULT ( STDMETHODCALLTYPE *DeleteAllItems )(
IMFOutputPolicy * This);
HRESULT ( STDMETHODCALLTYPE *SetUINT32 )(
IMFOutputPolicy * This,
REFGUID guidKey,
UINT32 unValue);
HRESULT ( STDMETHODCALLTYPE *SetUINT64 )(
IMFOutputPolicy * This,
REFGUID guidKey,
UINT64 unValue);
HRESULT ( STDMETHODCALLTYPE *SetDouble )(
IMFOutputPolicy * This,
REFGUID guidKey,
double fValue);
HRESULT ( STDMETHODCALLTYPE *SetGUID )(
IMFOutputPolicy * This,
REFGUID guidKey,
REFGUID guidValue);
HRESULT ( STDMETHODCALLTYPE *SetString )(
IMFOutputPolicy * This,
REFGUID guidKey,
/* [string][in] */ LPCWSTR wszValue);
HRESULT ( STDMETHODCALLTYPE *SetBlob )(
IMFOutputPolicy * This,
REFGUID guidKey,
/* [size_is][in] */ const UINT8 *pBuf,
UINT32 cbBufSize);
HRESULT ( STDMETHODCALLTYPE *SetUnknown )(
IMFOutputPolicy * This,
REFGUID guidKey,
/* [in] */ IUnknown *pUnknown);
HRESULT ( STDMETHODCALLTYPE *LockStore )(
IMFOutputPolicy * This);
HRESULT ( STDMETHODCALLTYPE *UnlockStore )(
IMFOutputPolicy * This);
HRESULT ( STDMETHODCALLTYPE *GetCount )(
IMFOutputPolicy * This,
/* [out] */ UINT32 *pcItems);
HRESULT ( STDMETHODCALLTYPE *GetItemByIndex )(
IMFOutputPolicy * This,
UINT32 unIndex,
/* [out] */ GUID *pguidKey,
/* [full][out][in] */ PROPVARIANT *pValue);
HRESULT ( STDMETHODCALLTYPE *CopyAllItems )(
IMFOutputPolicy * This,
/* [in] */ IMFAttributes *pDest);
HRESULT ( STDMETHODCALLTYPE *GenerateRequiredSchemas )(
IMFOutputPolicy * This,
/* [in] */ DWORD dwAttributes,
/* [in] */ GUID guidOutputSubType,
/* [in] */ GUID *rgGuidProtectionSchemasSupported,
/* [in] */ DWORD cProtectionSchemasSupported,
/* [annotation][out] */
__out IMFCollection **ppRequiredProtectionSchemas);
HRESULT ( STDMETHODCALLTYPE *GetOriginatorID )(
IMFOutputPolicy * This,
/* [annotation][out] */
__out GUID *pguidOriginatorID);
HRESULT ( STDMETHODCALLTYPE *GetMinimumGRLVersion )(
IMFOutputPolicy * This,
/* [annotation][out] */
__out DWORD *pdwMinimumGRLVersion);
END_INTERFACE
} IMFOutputPolicyVtbl;
interface IMFOutputPolicy
{
CONST_VTBL struct IMFOutputPolicyVtbl *lpVtbl;
};
#ifdef COBJMACROS
#define IMFOutputPolicy_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
#define IMFOutputPolicy_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
#define IMFOutputPolicy_Release(This) \
( (This)->lpVtbl -> Release(This) )
#define IMFOutputPolicy_GetItem(This,guidKey,pValue) \
( (This)->lpVtbl -> GetItem(This,guidKey,pValue) )
#define IMFOutputPolicy_GetItemType(This,guidKey,pType) \
( (This)->lpVtbl -> GetItemType(This,guidKey,pType) )
#define IMFOutputPolicy_CompareItem(This,guidKey,Value,pbResult) \
( (This)->lpVtbl -> CompareItem(This,guidKey,Value,pbResult) )
#define IMFOutputPolicy_Compare(This,pTheirs,MatchType,pbResult) \
( (This)->lpVtbl -> Compare(This,pTheirs,MatchType,pbResult) )
#define IMFOutputPolicy_GetUINT32(This,guidKey,punValue) \
( (This)->lpVtbl -> GetUINT32(This,guidKey,punValue) )
#define IMFOutputPolicy_GetUINT64(This,guidKey,punValue) \
( (This)->lpVtbl -> GetUINT64(This,guidKey,punValue) )
#define IMFOutputPolicy_GetDouble(This,guidKey,pfValue) \
( (This)->lpVtbl -> GetDouble(This,guidKey,pfValue) )
#define IMFOutputPolicy_GetGUID(This,guidKey,pguidValue) \
( (This)->lpVtbl -> GetGUID(This,guidKey,pguidValue) )
#define IMFOutputPolicy_GetStringLength(This,guidKey,pcchLength) \
( (This)->lpVtbl -> GetStringLength(This,guidKey,pcchLength) )
#define IMFOutputPolicy_GetString(This,guidKey,pwszValue,cchBufSize,pcchLength) \
( (This)->lpVtbl -> GetString(This,guidKey,pwszValue,cchBufSize,pcchLength) )
#define IMFOutputPolicy_GetAllocatedString(This,guidKey,ppwszValue,pcchLength) \
( (This)->lpVtbl -> GetAllocatedString(This,guidKey,ppwszValue,pcchLength) )
#define IMFOutputPolicy_GetBlobSize(This,guidKey,pcbBlobSize) \
( (This)->lpVtbl -> GetBlobSize(This,guidKey,pcbBlobSize) )
#define IMFOutputPolicy_GetBlob(This,guidKey,pBuf,cbBufSize,pcbBlobSize) \
( (This)->lpVtbl -> GetBlob(This,guidKey,pBuf,cbBufSize,pcbBlobSize) )
#define IMFOutputPolicy_GetAllocatedBlob(This,guidKey,ppBuf,pcbSize) \
( (This)->lpVtbl -> GetAllocatedBlob(This,guidKey,ppBuf,pcbSize) )
#define IMFOutputPolicy_GetUnknown(This,guidKey,riid,ppv) \
( (This)->lpVtbl -> GetUnknown(This,guidKey,riid,ppv) )
#define IMFOutputPolicy_SetItem(This,guidKey,Value) \
( (This)->lpVtbl -> SetItem(This,guidKey,Value) )
#define IMFOutputPolicy_DeleteItem(This,guidKey) \
( (This)->lpVtbl -> DeleteItem(This,guidKey) )
#define IMFOutputPolicy_DeleteAllItems(This) \
( (This)->lpVtbl -> DeleteAllItems(This) )
#define IMFOutputPolicy_SetUINT32(This,guidKey,unValue) \
( (This)->lpVtbl -> SetUINT32(This,guidKey,unValue) )
#define IMFOutputPolicy_SetUINT64(This,guidKey,unValue) \
( (This)->lpVtbl -> SetUINT64(This,guidKey,unValue) )
#define IMFOutputPolicy_SetDouble(This,guidKey,fValue) \
( (This)->lpVtbl -> SetDouble(This,guidKey,fValue) )
#define IMFOutputPolicy_SetGUID(This,guidKey,guidValue) \
( (This)->lpVtbl -> SetGUID(This,guidKey,guidValue) )
#define IMFOutputPolicy_SetString(This,guidKey,wszValue) \
( (This)->lpVtbl -> SetString(This,guidKey,wszValue) )
#define IMFOutputPolicy_SetBlob(This,guidKey,pBuf,cbBufSize) \
( (This)->lpVtbl -> SetBlob(This,guidKey,pBuf,cbBufSize) )
#define IMFOutputPolicy_SetUnknown(This,guidKey,pUnknown) \
( (This)->lpVtbl -> SetUnknown(This,guidKey,pUnknown) )
#define IMFOutputPolicy_LockStore(This) \
( (This)->lpVtbl -> LockStore(This) )
#define IMFOutputPolicy_UnlockStore(This) \
( (This)->lpVtbl -> UnlockStore(This) )
#define IMFOutputPolicy_GetCount(This,pcItems) \
( (This)->lpVtbl -> GetCount(This,pcItems) )
#define IMFOutputPolicy_GetItemByIndex(This,unIndex,pguidKey,pValue) \
( (This)->lpVtbl -> GetItemByIndex(This,unIndex,pguidKey,pValue) )
#define IMFOutputPolicy_CopyAllItems(This,pDest) \
( (This)->lpVtbl -> CopyAllItems(This,pDest) )
#define IMFOutputPolicy_GenerateRequiredSchemas(This,dwAttributes,guidOutputSubType,rgGuidProtectionSchemasSupported,cProtectionSchemasSupported,ppRequiredProtectionSchemas) \
( (This)->lpVtbl -> GenerateRequiredSchemas(This,dwAttributes,guidOutputSubType,rgGuidProtectionSchemasSupported,cProtectionSchemasSupported,ppRequiredProtectionSchemas) )
#define IMFOutputPolicy_GetOriginatorID(This,pguidOriginatorID) \
( (This)->lpVtbl -> GetOriginatorID(This,pguidOriginatorID) )
#define IMFOutputPolicy_GetMinimumGRLVersion(This,pdwMinimumGRLVersion) \
( (This)->lpVtbl -> GetMinimumGRLVersion(This,pdwMinimumGRLVersion) )
#endif /* COBJMACROS */
#endif /* C style interface */
#endif /* __IMFOutputPolicy_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_mfidl_0000_0062 */
/* [local] */
#define MFOUTPUTATTRIBUTE_DIGITAL ((DWORD) 0x00000001)
#define MFOUTPUTATTRIBUTE_NONSTANDARDIMPLEMENTATION ((DWORD) 0x00000002)
#define MFOUTPUTATTRIBUTE_VIDEO ((DWORD) 0x00000004)
#define MFOUTPUTATTRIBUTE_COMPRESSED ((DWORD) 0x00000008)
#define MFOUTPUTATTRIBUTE_SOFTWARE ((DWORD) 0x00000010)
#define MFOUTPUTATTRIBUTE_BUS ((DWORD) 0x00000020)
#define MFOUTPUTATTRIBUTE_BUSIMPLEMENTATION ((DWORD) 0x0000FF00)
EXTERN_GUID( MFCONNECTOR_SPDIF, 0xb94a712, 0xad3e, 0x4cee, 0x83, 0xce, 0xce, 0x32, 0xe3, 0xdb, 0x65, 0x22);
EXTERN_GUID( MFCONNECTOR_UNKNOWN, 0xac3aef5c, 0xce43, 0x11d9, 0x92, 0xdb, 0x00, 0x0b, 0xdb, 0x28, 0xff, 0x98);
EXTERN_GUID( MFCONNECTOR_PCI, 0xac3aef5d, 0xce43, 0x11d9, 0x92, 0xdb, 0x00, 0x0b, 0xdb, 0x28, 0xff, 0x98);
EXTERN_GUID( MFCONNECTOR_PCIX, 0xac3aef5e, 0xce43, 0x11d9, 0x92, 0xdb, 0x00, 0x0b, 0xdb, 0x28, 0xff, 0x98);
EXTERN_GUID( MFCONNECTOR_PCI_Express, 0xac3aef5f, 0xce43, 0x11d9, 0x92, 0xdb, 0x00, 0x0b, 0xdb, 0x28, 0xff, 0x98);
EXTERN_GUID( MFCONNECTOR_AGP, 0xac3aef60, 0xce43, 0x11d9, 0x92, 0xdb, 0x00, 0x0b, 0xdb, 0x28, 0xff, 0x98);
EXTERN_GUID( MFCONNECTOR_VGA, 0x57cd5968, 0xce47, 0x11d9, 0x92, 0xdb, 0x00, 0x0b, 0xdb, 0x28, 0xff, 0x98);
EXTERN_GUID( MFCONNECTOR_SVIDEO, 0x57cd5969, 0xce47, 0x11d9, 0x92, 0xdb, 0x00, 0x0b, 0xdb, 0x28, 0xff, 0x98);
EXTERN_GUID( MFCONNECTOR_COMPOSITE, 0x57cd596a, 0xce47, 0x11d9, 0x92, 0xdb, 0x00, 0x0b, 0xdb, 0x28, 0xff, 0x98);
EXTERN_GUID( MFCONNECTOR_COMPONENT, 0x57cd596b, 0xce47, 0x11d9, 0x92, 0xdb, 0x00, 0x0b, 0xdb, 0x28, 0xff, 0x98);
EXTERN_GUID( MFCONNECTOR_DVI, 0x57cd596c, 0xce47, 0x11d9, 0x92, 0xdb, 0x00, 0x0b, 0xdb, 0x28, 0xff, 0x98);
EXTERN_GUID( MFCONNECTOR_HDMI, 0x57cd596d, 0xce47, 0x11d9, 0x92, 0xdb, 0x00, 0x0b, 0xdb, 0x28, 0xff, 0x98);
EXTERN_GUID( MFCONNECTOR_LVDS, 0x57cd596e, 0xce47, 0x11d9, 0x92, 0xdb, 0x00, 0x0b, 0xdb, 0x28, 0xff, 0x98);
EXTERN_GUID( MFCONNECTOR_D_JPN, 0x57cd5970, 0xce47, 0x11d9, 0x92, 0xdb, 0x00, 0x0b, 0xdb, 0x28, 0xff, 0x98);
EXTERN_GUID( MFCONNECTOR_SDI, 0x57cd5971, 0xce47, 0x11d9, 0x92, 0xdb, 0x00, 0x0b, 0xdb, 0x28, 0xff, 0x98);
EXTERN_GUID( MFCONNECTOR_DISPLAYPORT_EXTERNAL, 0x57cd5972, 0xce47, 0x11d9, 0x92, 0xdb, 0x00, 0x0b, 0xdb, 0x28, 0xff, 0x98);
EXTERN_GUID( MFCONNECTOR_DISPLAYPORT_EMBEDDED, 0x57cd5973, 0xce47, 0x11d9, 0x92, 0xdb, 0x00, 0x0b, 0xdb, 0x28, 0xff, 0x98);
EXTERN_GUID( MFCONNECTOR_UDI_EXTERNAL, 0x57cd5974, 0xce47, 0x11d9, 0x92, 0xdb, 0x00, 0x0b, 0xdb, 0x28, 0xff, 0x98);
EXTERN_GUID( MFCONNECTOR_UDI_EMBEDDED, 0x57cd5975, 0xce47, 0x11d9, 0x92, 0xdb, 0x00, 0x0b, 0xdb, 0x28, 0xff, 0x98);
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0062_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0062_v0_0_s_ifspec;
#ifndef __IMFOutputSchema_INTERFACE_DEFINED__
#define __IMFOutputSchema_INTERFACE_DEFINED__
/* interface IMFOutputSchema */
/* [local][unique][helpstring][uuid][object] */
EXTERN_C const IID IID_IMFOutputSchema;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("7BE0FC5B-ABD9-44FB-A5C8-F50136E71599")
IMFOutputSchema : public IMFAttributes
{
public:
virtual HRESULT STDMETHODCALLTYPE GetSchemaType(
/* [annotation][out] */
__out GUID *pguidSchemaType) = 0;
virtual HRESULT STDMETHODCALLTYPE GetConfigurationData(
/* [annotation][out] */
__out DWORD *pdwVal) = 0;
virtual HRESULT STDMETHODCALLTYPE GetOriginatorID(
/* [annotation][out] */
__out GUID *pguidOriginatorID) = 0;
};
#else /* C style interface */
typedef struct IMFOutputSchemaVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IMFOutputSchema * This,
/* [in] */ REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
IMFOutputSchema * This);
ULONG ( STDMETHODCALLTYPE *Release )(
IMFOutputSchema * This);
HRESULT ( STDMETHODCALLTYPE *GetItem )(
IMFOutputSchema * This,
REFGUID guidKey,
/* [full][out][in] */ PROPVARIANT *pValue);
HRESULT ( STDMETHODCALLTYPE *GetItemType )(
IMFOutputSchema * This,
REFGUID guidKey,
/* [out] */ MF_ATTRIBUTE_TYPE *pType);
HRESULT ( STDMETHODCALLTYPE *CompareItem )(
IMFOutputSchema * This,
REFGUID guidKey,
REFPROPVARIANT Value,
/* [out] */ BOOL *pbResult);
HRESULT ( STDMETHODCALLTYPE *Compare )(
IMFOutputSchema * This,
IMFAttributes *pTheirs,
MF_ATTRIBUTES_MATCH_TYPE MatchType,
/* [out] */ BOOL *pbResult);
HRESULT ( STDMETHODCALLTYPE *GetUINT32 )(
IMFOutputSchema * This,
REFGUID guidKey,
/* [out] */ UINT32 *punValue);
HRESULT ( STDMETHODCALLTYPE *GetUINT64 )(
IMFOutputSchema * This,
REFGUID guidKey,
/* [out] */ UINT64 *punValue);
HRESULT ( STDMETHODCALLTYPE *GetDouble )(
IMFOutputSchema * This,
REFGUID guidKey,
/* [out] */ double *pfValue);
HRESULT ( STDMETHODCALLTYPE *GetGUID )(
IMFOutputSchema * This,
REFGUID guidKey,
/* [out] */ GUID *pguidValue);
HRESULT ( STDMETHODCALLTYPE *GetStringLength )(
IMFOutputSchema * This,
REFGUID guidKey,
/* [out] */ UINT32 *pcchLength);
HRESULT ( STDMETHODCALLTYPE *GetString )(
IMFOutputSchema * This,
REFGUID guidKey,
/* [size_is][out] */ LPWSTR pwszValue,
UINT32 cchBufSize,
/* [full][out][in] */ UINT32 *pcchLength);
HRESULT ( STDMETHODCALLTYPE *GetAllocatedString )(
IMFOutputSchema * This,
REFGUID guidKey,
/* [size_is][size_is][out] */ LPWSTR *ppwszValue,
/* [out] */ UINT32 *pcchLength);
HRESULT ( STDMETHODCALLTYPE *GetBlobSize )(
IMFOutputSchema * This,
REFGUID guidKey,
/* [out] */ UINT32 *pcbBlobSize);
HRESULT ( STDMETHODCALLTYPE *GetBlob )(
IMFOutputSchema * This,
REFGUID guidKey,
/* [size_is][out] */ UINT8 *pBuf,
UINT32 cbBufSize,
/* [full][out][in] */ UINT32 *pcbBlobSize);
HRESULT ( STDMETHODCALLTYPE *GetAllocatedBlob )(
IMFOutputSchema * This,
REFGUID guidKey,
/* [size_is][size_is][out] */ UINT8 **ppBuf,
/* [out] */ UINT32 *pcbSize);
HRESULT ( STDMETHODCALLTYPE *GetUnknown )(
IMFOutputSchema * This,
REFGUID guidKey,
REFIID riid,
/* [iid_is][out] */ LPVOID *ppv);
HRESULT ( STDMETHODCALLTYPE *SetItem )(
IMFOutputSchema * This,
REFGUID guidKey,
REFPROPVARIANT Value);
HRESULT ( STDMETHODCALLTYPE *DeleteItem )(
IMFOutputSchema * This,
REFGUID guidKey);
HRESULT ( STDMETHODCALLTYPE *DeleteAllItems )(
IMFOutputSchema * This);
HRESULT ( STDMETHODCALLTYPE *SetUINT32 )(
IMFOutputSchema * This,
REFGUID guidKey,
UINT32 unValue);
HRESULT ( STDMETHODCALLTYPE *SetUINT64 )(
IMFOutputSchema * This,
REFGUID guidKey,
UINT64 unValue);
HRESULT ( STDMETHODCALLTYPE *SetDouble )(
IMFOutputSchema * This,
REFGUID guidKey,
double fValue);
HRESULT ( STDMETHODCALLTYPE *SetGUID )(
IMFOutputSchema * This,
REFGUID guidKey,
REFGUID guidValue);
HRESULT ( STDMETHODCALLTYPE *SetString )(
IMFOutputSchema * This,
REFGUID guidKey,
/* [string][in] */ LPCWSTR wszValue);
HRESULT ( STDMETHODCALLTYPE *SetBlob )(
IMFOutputSchema * This,
REFGUID guidKey,
/* [size_is][in] */ const UINT8 *pBuf,
UINT32 cbBufSize);
HRESULT ( STDMETHODCALLTYPE *SetUnknown )(
IMFOutputSchema * This,
REFGUID guidKey,
/* [in] */ IUnknown *pUnknown);
HRESULT ( STDMETHODCALLTYPE *LockStore )(
IMFOutputSchema * This);
HRESULT ( STDMETHODCALLTYPE *UnlockStore )(
IMFOutputSchema * This);
HRESULT ( STDMETHODCALLTYPE *GetCount )(
IMFOutputSchema * This,
/* [out] */ UINT32 *pcItems);
HRESULT ( STDMETHODCALLTYPE *GetItemByIndex )(
IMFOutputSchema * This,
UINT32 unIndex,
/* [out] */ GUID *pguidKey,
/* [full][out][in] */ PROPVARIANT *pValue);
HRESULT ( STDMETHODCALLTYPE *CopyAllItems )(
IMFOutputSchema * This,
/* [in] */ IMFAttributes *pDest);
HRESULT ( STDMETHODCALLTYPE *GetSchemaType )(
IMFOutputSchema * This,
/* [annotation][out] */
__out GUID *pguidSchemaType);
HRESULT ( STDMETHODCALLTYPE *GetConfigurationData )(
IMFOutputSchema * This,
/* [annotation][out] */
__out DWORD *pdwVal);
HRESULT ( STDMETHODCALLTYPE *GetOriginatorID )(
IMFOutputSchema * This,
/* [annotation][out] */
__out GUID *pguidOriginatorID);
END_INTERFACE
} IMFOutputSchemaVtbl;
interface IMFOutputSchema
{
CONST_VTBL struct IMFOutputSchemaVtbl *lpVtbl;
};
#ifdef COBJMACROS
#define IMFOutputSchema_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
#define IMFOutputSchema_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
#define IMFOutputSchema_Release(This) \
( (This)->lpVtbl -> Release(This) )
#define IMFOutputSchema_GetItem(This,guidKey,pValue) \
( (This)->lpVtbl -> GetItem(This,guidKey,pValue) )
#define IMFOutputSchema_GetItemType(This,guidKey,pType) \
( (This)->lpVtbl -> GetItemType(This,guidKey,pType) )
#define IMFOutputSchema_CompareItem(This,guidKey,Value,pbResult) \
( (This)->lpVtbl -> CompareItem(This,guidKey,Value,pbResult) )
#define IMFOutputSchema_Compare(This,pTheirs,MatchType,pbResult) \
( (This)->lpVtbl -> Compare(This,pTheirs,MatchType,pbResult) )
#define IMFOutputSchema_GetUINT32(This,guidKey,punValue) \
( (This)->lpVtbl -> GetUINT32(This,guidKey,punValue) )
#define IMFOutputSchema_GetUINT64(This,guidKey,punValue) \
( (This)->lpVtbl -> GetUINT64(This,guidKey,punValue) )
#define IMFOutputSchema_GetDouble(This,guidKey,pfValue) \
( (This)->lpVtbl -> GetDouble(This,guidKey,pfValue) )
#define IMFOutputSchema_GetGUID(This,guidKey,pguidValue) \
( (This)->lpVtbl -> GetGUID(This,guidKey,pguidValue) )
#define IMFOutputSchema_GetStringLength(This,guidKey,pcchLength) \
( (This)->lpVtbl -> GetStringLength(This,guidKey,pcchLength) )
#define IMFOutputSchema_GetString(This,guidKey,pwszValue,cchBufSize,pcchLength) \
( (This)->lpVtbl -> GetString(This,guidKey,pwszValue,cchBufSize,pcchLength) )
#define IMFOutputSchema_GetAllocatedString(This,guidKey,ppwszValue,pcchLength) \
( (This)->lpVtbl -> GetAllocatedString(This,guidKey,ppwszValue,pcchLength) )
#define IMFOutputSchema_GetBlobSize(This,guidKey,pcbBlobSize) \
( (This)->lpVtbl -> GetBlobSize(This,guidKey,pcbBlobSize) )
#define IMFOutputSchema_GetBlob(This,guidKey,pBuf,cbBufSize,pcbBlobSize) \
( (This)->lpVtbl -> GetBlob(This,guidKey,pBuf,cbBufSize,pcbBlobSize) )
#define IMFOutputSchema_GetAllocatedBlob(This,guidKey,ppBuf,pcbSize) \
( (This)->lpVtbl -> GetAllocatedBlob(This,guidKey,ppBuf,pcbSize) )
#define IMFOutputSchema_GetUnknown(This,guidKey,riid,ppv) \
( (This)->lpVtbl -> GetUnknown(This,guidKey,riid,ppv) )
#define IMFOutputSchema_SetItem(This,guidKey,Value) \
( (This)->lpVtbl -> SetItem(This,guidKey,Value) )
#define IMFOutputSchema_DeleteItem(This,guidKey) \
( (This)->lpVtbl -> DeleteItem(This,guidKey) )
#define IMFOutputSchema_DeleteAllItems(This) \
( (This)->lpVtbl -> DeleteAllItems(This) )
#define IMFOutputSchema_SetUINT32(This,guidKey,unValue) \
( (This)->lpVtbl -> SetUINT32(This,guidKey,unValue) )
#define IMFOutputSchema_SetUINT64(This,guidKey,unValue) \
( (This)->lpVtbl -> SetUINT64(This,guidKey,unValue) )
#define IMFOutputSchema_SetDouble(This,guidKey,fValue) \
( (This)->lpVtbl -> SetDouble(This,guidKey,fValue) )
#define IMFOutputSchema_SetGUID(This,guidKey,guidValue) \
( (This)->lpVtbl -> SetGUID(This,guidKey,guidValue) )
#define IMFOutputSchema_SetString(This,guidKey,wszValue) \
( (This)->lpVtbl -> SetString(This,guidKey,wszValue) )
#define IMFOutputSchema_SetBlob(This,guidKey,pBuf,cbBufSize) \
( (This)->lpVtbl -> SetBlob(This,guidKey,pBuf,cbBufSize) )
#define IMFOutputSchema_SetUnknown(This,guidKey,pUnknown) \
( (This)->lpVtbl -> SetUnknown(This,guidKey,pUnknown) )
#define IMFOutputSchema_LockStore(This) \
( (This)->lpVtbl -> LockStore(This) )
#define IMFOutputSchema_UnlockStore(This) \
( (This)->lpVtbl -> UnlockStore(This) )
#define IMFOutputSchema_GetCount(This,pcItems) \
( (This)->lpVtbl -> GetCount(This,pcItems) )
#define IMFOutputSchema_GetItemByIndex(This,unIndex,pguidKey,pValue) \
( (This)->lpVtbl -> GetItemByIndex(This,unIndex,pguidKey,pValue) )
#define IMFOutputSchema_CopyAllItems(This,pDest) \
( (This)->lpVtbl -> CopyAllItems(This,pDest) )
#define IMFOutputSchema_GetSchemaType(This,pguidSchemaType) \
( (This)->lpVtbl -> GetSchemaType(This,pguidSchemaType) )
#define IMFOutputSchema_GetConfigurationData(This,pdwVal) \
( (This)->lpVtbl -> GetConfigurationData(This,pdwVal) )
#define IMFOutputSchema_GetOriginatorID(This,pguidOriginatorID) \
( (This)->lpVtbl -> GetOriginatorID(This,pguidOriginatorID) )
#endif /* COBJMACROS */
#endif /* C style interface */
#endif /* __IMFOutputSchema_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_mfidl_0000_0063 */
/* [local] */
EXTERN_GUID( MFPROTECTION_DISABLE, 0x8cc6d81b, 0xfec6, 0x4d8f, 0x96, 0x4b, 0xcf, 0xba, 0x0b, 0x0d, 0xad, 0x0d);
EXTERN_GUID( MFPROTECTION_CONSTRICTVIDEO, 0x193370ce, 0xc5e4, 0x4c3a, 0x8a, 0x66, 0x69, 0x59, 0xb4, 0xda, 0x44, 0x42);
EXTERN_GUID( MFPROTECTION_CONSTRICTAUDIO, 0xffc99b44, 0xdf48, 0x4e16, 0x8e, 0x66, 0x09, 0x68, 0x92, 0xc1, 0x57, 0x8a);
EXTERN_GUID( MFPROTECTION_TRUSTEDAUDIODRIVERS, 0x65bdf3d2, 0x0168, 0x4816, 0xa5, 0x33, 0x55, 0xd4, 0x7b, 0x02, 0x71, 0x01);
EXTERN_GUID( MFPROTECTION_HDCP, 0xAE7CC03D, 0xC828, 0x4021, 0xac, 0xb7, 0xd5, 0x78, 0xd2, 0x7a, 0xaf, 0x13);
EXTERN_GUID( MFPROTECTION_CGMSA, 0xE57E69E9, 0x226B, 0x4d31, 0xB4, 0xE3, 0xD3, 0xDB, 0x00, 0x87, 0x36, 0xDD);
EXTERN_GUID( MFPROTECTION_ACP, 0xc3fd11c6, 0xf8b7, 0x4d20, 0xb0, 0x08, 0x1d, 0xb1, 0x7d, 0x61, 0xf2, 0xda);
EXTERN_GUID( MFPROTECTION_WMDRMOTA, 0xa267a6a1, 0x362e, 0x47d0, 0x88, 0x05, 0x46, 0x28, 0x59, 0x8a, 0x23, 0xe4);
EXTERN_GUID( MFPROTECTION_FFT, 0x462a56b2, 0x2866, 0x4bb6, 0x98, 0x0d, 0x6d, 0x8d, 0x9e, 0xdb, 0x1a, 0x8c);
EXTERN_GUID( MFPROTECTIONATTRIBUTE_CONSTRICTVIDEO_IMAGESIZE, 0x8476fc, 0x4b58, 0x4d80, 0xa7, 0x90, 0xe7, 0x29, 0x76, 0x73, 0x16, 0x1d);
EXTERN_GUID( MFPROTECTIONATTRIBUTE_HDCP_SRM, 0x6f302107, 0x3477, 0x4468, 0x8a, 0x8, 0xee, 0xf9, 0xdb, 0x10, 0xe2, 0xf);
#define MAKE_MFPROTECTIONDATA_DISABLE(Disable) \
((DWORD)(Disable ? 0x00000001 : 0))
#define EXTRACT_MFPROTECTIONDATA_DISABLE_ON(Data) \
(0 != ((Data) & 0x00000001))
#define EXTRACT_MFPROTECTIONDATA_DISABLE_RESERVED(Data) \
(((DWORD)((Data) & 0xFFFFFFFE)) >> 1)
#define MAKE_MFPROTECTIONDATA_CONSTRICTAUDIO(Level) \
((DWORD)(Level))
#define EXTRACT_MFPROTECTIONDATA_CONSTRICTAUDIO_LEVEL(Data) \
((DWORD)((Data) & 0x000000FF))
#define EXTRACT_MFPROTECTIONDATA_CONSTRICTAUDIO_RESERVED(Data) \
(((DWORD)((Data) & 0xFFFFFF00)) >> 8)
#define MAKE_MFPROTECTIONDATA_TRUSTEDAUDIODRIVERS(TestCertificateEnable, DigitalOutputDisable, DrmLevel) \
(((DWORD)((TestCertificateEnable) ? 0x00020000 : 0)) | \
((DWORD)((DigitalOutputDisable) ? 0x00010000 : 0)) | \
((DWORD)(DrmLevel)))
#if (WINVER >= _WIN32_WINNT_WIN7)
#define MAKE_MFPROTECTIONDATA_TRUSTEDAUDIODRIVERS2(TestCertificateEnable, DigitalOutputDisable, CopyOK, DrmLevel) \
(((DWORD)((TestCertificateEnable) ? 0x00020000 : 0)) | \
((DWORD)((DigitalOutputDisable) ? 0x00010000 : 0)) | \
((DWORD)((CopyOK) ? 0x00040000 : 0)) | \
((DWORD)(DrmLevel)))
#endif // (WINVER >= _WIN32_WINNT_WIN7)
#define EXTRACT_MFPROTECTIONDATA_TRUSTEDAUDIODRIVERS_DRMLEVEL(Data) \
((DWORD)((Data) & 0x0000FFFF))
#define EXTRACT_MFPROTECTIONDATA_TRUSTEDAUDIODRIVERS_DIGITALOUTPUTDISABLE(Data) \
(0 != ((Data) & 0x00010000))
#define EXTRACT_MFPROTECTIONDATA_TRUSTEDAUDIODRIVERS_TESTCERTIFICATEENABLE(Data) \
(0 != ((Data) & 0x00020000))
#if (WINVER >= _WIN32_WINNT_WIN7)
#define EXTRACT_MFPROTECTIONDATA_TRUSTEDAUDIODRIVERS_COPYOK(Data) \
(0 != ((Data) & 0x00040000))
#define EXTRACT_MFPROTECTIONDATA_TRUSTEDAUDIODRIVERS_RESERVED(Data) \
(((DWORD)((Data) & 0xFFF80000)) >> 19)
#else
#define EXTRACT_MFPROTECTIONDATA_TRUSTEDAUDIODRIVERS_RESERVED(Data) \
(((DWORD)((Data) & 0xFFF80000)) >> 18)
#endif // (WINVER >= _WIN32_WINNT_WIN7)
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0063_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0063_v0_0_s_ifspec;
#ifndef __IMFSecureChannel_INTERFACE_DEFINED__
#define __IMFSecureChannel_INTERFACE_DEFINED__
/* interface IMFSecureChannel */
/* [local][uuid][object] */
EXTERN_C const IID IID_IMFSecureChannel;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("d0ae555d-3b12-4d97-b060-0990bc5aeb67")
IMFSecureChannel : public IUnknown
{
public:
virtual HRESULT STDMETHODCALLTYPE GetCertificate(
/* [annotation][out] */
__deref_out_bcount(*pcbCert) BYTE **ppCert,
/* [annotation][out] */
__out DWORD *pcbCert) = 0;
virtual HRESULT STDMETHODCALLTYPE SetupSession(
/* [annotation][in] */
__in_bcount(cbSessionKey) BYTE *pbEncryptedSessionKey,
/* [in] */ DWORD cbSessionKey) = 0;
};
#else /* C style interface */
typedef struct IMFSecureChannelVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IMFSecureChannel * This,
/* [in] */ REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
IMFSecureChannel * This);
ULONG ( STDMETHODCALLTYPE *Release )(
IMFSecureChannel * This);
HRESULT ( STDMETHODCALLTYPE *GetCertificate )(
IMFSecureChannel * This,
/* [annotation][out] */
__deref_out_bcount(*pcbCert) BYTE **ppCert,
/* [annotation][out] */
__out DWORD *pcbCert);
HRESULT ( STDMETHODCALLTYPE *SetupSession )(
IMFSecureChannel * This,
/* [annotation][in] */
__in_bcount(cbSessionKey) BYTE *pbEncryptedSessionKey,
/* [in] */ DWORD cbSessionKey);
END_INTERFACE
} IMFSecureChannelVtbl;
interface IMFSecureChannel
{
CONST_VTBL struct IMFSecureChannelVtbl *lpVtbl;
};
#ifdef COBJMACROS
#define IMFSecureChannel_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
#define IMFSecureChannel_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
#define IMFSecureChannel_Release(This) \
( (This)->lpVtbl -> Release(This) )
#define IMFSecureChannel_GetCertificate(This,ppCert,pcbCert) \
( (This)->lpVtbl -> GetCertificate(This,ppCert,pcbCert) )
#define IMFSecureChannel_SetupSession(This,pbEncryptedSessionKey,cbSessionKey) \
( (This)->lpVtbl -> SetupSession(This,pbEncryptedSessionKey,cbSessionKey) )
#endif /* COBJMACROS */
#endif /* C style interface */
#endif /* __IMFSecureChannel_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_mfidl_0000_0064 */
/* [local] */
typedef
enum SAMPLE_PROTECTION_VERSION
{ SAMPLE_PROTECTION_VERSION_NO = 0,
SAMPLE_PROTECTION_VERSION_BASIC_LOKI = 1,
SAMPLE_PROTECTION_VERSION_SCATTER = 2,
SAMPLE_PROTECTION_VERSION_RC4 = 3
} SAMPLE_PROTECTION_VERSION;
EXTERN_GUID( MF_SampleProtectionSalt, 0x5403deee, 0xb9ee, 0x438f, 0xaa, 0x83, 0x38, 0x4, 0x99, 0x7e, 0x56, 0x9d);
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0064_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0064_v0_0_s_ifspec;
#ifndef __IMFSampleProtection_INTERFACE_DEFINED__
#define __IMFSampleProtection_INTERFACE_DEFINED__
/* interface IMFSampleProtection */
/* [local][uuid][object] */
EXTERN_C const IID IID_IMFSampleProtection;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("8e36395f-c7b9-43c4-a54d-512b4af63c95")
IMFSampleProtection : public IUnknown
{
public:
virtual HRESULT STDMETHODCALLTYPE GetInputProtectionVersion(
/* [annotation][out] */
__out DWORD *pdwVersion) = 0;
virtual HRESULT STDMETHODCALLTYPE GetOutputProtectionVersion(
/* [annotation][out] */
__out DWORD *pdwVersion) = 0;
virtual HRESULT STDMETHODCALLTYPE GetProtectionCertificate(
/* [in] */ DWORD dwVersion,
/* [annotation][out] */
__deref_out_bcount(*pcbCert) BYTE **ppCert,
/* [annotation][out] */
__out DWORD *pcbCert) = 0;
virtual HRESULT STDMETHODCALLTYPE InitOutputProtection(
/* [in] */ DWORD dwVersion,
/* [in] */ DWORD dwOutputId,
/* [in] */ BYTE *pbCert,
/* [in] */ DWORD cbCert,
/* [out] */ BYTE **ppbSeed,
/* [out] */ DWORD *pcbSeed) = 0;
virtual HRESULT STDMETHODCALLTYPE InitInputProtection(
/* [in] */ DWORD dwVersion,
/* [in] */ DWORD dwInputId,
/* [in] */ BYTE *pbSeed,
/* [in] */ DWORD cbSeed) = 0;
};
#else /* C style interface */
typedef struct IMFSampleProtectionVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IMFSampleProtection * This,
/* [in] */ REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
IMFSampleProtection * This);
ULONG ( STDMETHODCALLTYPE *Release )(
IMFSampleProtection * This);
HRESULT ( STDMETHODCALLTYPE *GetInputProtectionVersion )(
IMFSampleProtection * This,
/* [annotation][out] */
__out DWORD *pdwVersion);
HRESULT ( STDMETHODCALLTYPE *GetOutputProtectionVersion )(
IMFSampleProtection * This,
/* [annotation][out] */
__out DWORD *pdwVersion);
HRESULT ( STDMETHODCALLTYPE *GetProtectionCertificate )(
IMFSampleProtection * This,
/* [in] */ DWORD dwVersion,
/* [annotation][out] */
__deref_out_bcount(*pcbCert) BYTE **ppCert,
/* [annotation][out] */
__out DWORD *pcbCert);
HRESULT ( STDMETHODCALLTYPE *InitOutputProtection )(
IMFSampleProtection * This,
/* [in] */ DWORD dwVersion,
/* [in] */ DWORD dwOutputId,
/* [in] */ BYTE *pbCert,
/* [in] */ DWORD cbCert,
/* [out] */ BYTE **ppbSeed,
/* [out] */ DWORD *pcbSeed);
HRESULT ( STDMETHODCALLTYPE *InitInputProtection )(
IMFSampleProtection * This,
/* [in] */ DWORD dwVersion,
/* [in] */ DWORD dwInputId,
/* [in] */ BYTE *pbSeed,
/* [in] */ DWORD cbSeed);
END_INTERFACE
} IMFSampleProtectionVtbl;
interface IMFSampleProtection
{
CONST_VTBL struct IMFSampleProtectionVtbl *lpVtbl;
};
#ifdef COBJMACROS
#define IMFSampleProtection_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
#define IMFSampleProtection_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
#define IMFSampleProtection_Release(This) \
( (This)->lpVtbl -> Release(This) )
#define IMFSampleProtection_GetInputProtectionVersion(This,pdwVersion) \
( (This)->lpVtbl -> GetInputProtectionVersion(This,pdwVersion) )
#define IMFSampleProtection_GetOutputProtectionVersion(This,pdwVersion) \
( (This)->lpVtbl -> GetOutputProtectionVersion(This,pdwVersion) )
#define IMFSampleProtection_GetProtectionCertificate(This,dwVersion,ppCert,pcbCert) \
( (This)->lpVtbl -> GetProtectionCertificate(This,dwVersion,ppCert,pcbCert) )
#define IMFSampleProtection_InitOutputProtection(This,dwVersion,dwOutputId,pbCert,cbCert,ppbSeed,pcbSeed) \
( (This)->lpVtbl -> InitOutputProtection(This,dwVersion,dwOutputId,pbCert,cbCert,ppbSeed,pcbSeed) )
#define IMFSampleProtection_InitInputProtection(This,dwVersion,dwInputId,pbSeed,cbSeed) \
( (This)->lpVtbl -> InitInputProtection(This,dwVersion,dwInputId,pbSeed,cbSeed) )
#endif /* COBJMACROS */
#endif /* C style interface */
#endif /* __IMFSampleProtection_INTERFACE_DEFINED__ */
#ifndef __IMFMediaSinkPreroll_INTERFACE_DEFINED__
#define __IMFMediaSinkPreroll_INTERFACE_DEFINED__
/* interface IMFMediaSinkPreroll */
/* [uuid][object] */
EXTERN_C const IID IID_IMFMediaSinkPreroll;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("5dfd4b2a-7674-4110-a4e6-8a68fd5f3688")
IMFMediaSinkPreroll : public IUnknown
{
public:
virtual HRESULT STDMETHODCALLTYPE NotifyPreroll(
/* [in] */ MFTIME hnsUpcomingStartTime) = 0;
};
#else /* C style interface */
typedef struct IMFMediaSinkPrerollVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
__RPC__in IMFMediaSinkPreroll * This,
/* [in] */ __RPC__in REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
__RPC__in IMFMediaSinkPreroll * This);
ULONG ( STDMETHODCALLTYPE *Release )(
__RPC__in IMFMediaSinkPreroll * This);
HRESULT ( STDMETHODCALLTYPE *NotifyPreroll )(
__RPC__in IMFMediaSinkPreroll * This,
/* [in] */ MFTIME hnsUpcomingStartTime);
END_INTERFACE
} IMFMediaSinkPrerollVtbl;
interface IMFMediaSinkPreroll
{
CONST_VTBL struct IMFMediaSinkPrerollVtbl *lpVtbl;
};
#ifdef COBJMACROS
#define IMFMediaSinkPreroll_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
#define IMFMediaSinkPreroll_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
#define IMFMediaSinkPreroll_Release(This) \
( (This)->lpVtbl -> Release(This) )
#define IMFMediaSinkPreroll_NotifyPreroll(This,hnsUpcomingStartTime) \
( (This)->lpVtbl -> NotifyPreroll(This,hnsUpcomingStartTime) )
#endif /* COBJMACROS */
#endif /* C style interface */
#endif /* __IMFMediaSinkPreroll_INTERFACE_DEFINED__ */
#ifndef __IMFFinalizableMediaSink_INTERFACE_DEFINED__
#define __IMFFinalizableMediaSink_INTERFACE_DEFINED__
/* interface IMFFinalizableMediaSink */
/* [local][uuid][object] */
EXTERN_C const IID IID_IMFFinalizableMediaSink;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("EAECB74A-9A50-42ce-9541-6A7F57AA4AD7")
IMFFinalizableMediaSink : public IMFMediaSink
{
public:
virtual HRESULT STDMETHODCALLTYPE BeginFinalize(
/* [in] */ IMFAsyncCallback *pCallback,
/* [in] */ IUnknown *punkState) = 0;
virtual HRESULT STDMETHODCALLTYPE EndFinalize(
/* [in] */ IMFAsyncResult *pResult) = 0;
};
#else /* C style interface */
typedef struct IMFFinalizableMediaSinkVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IMFFinalizableMediaSink * This,
/* [in] */ REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
IMFFinalizableMediaSink * This);
ULONG ( STDMETHODCALLTYPE *Release )(
IMFFinalizableMediaSink * This);
HRESULT ( STDMETHODCALLTYPE *GetCharacteristics )(
IMFFinalizableMediaSink * This,
/* [out] */ DWORD *pdwCharacteristics);
HRESULT ( STDMETHODCALLTYPE *AddStreamSink )(
IMFFinalizableMediaSink * This,
/* [in] */ DWORD dwStreamSinkIdentifier,
/* [in] */ IMFMediaType *pMediaType,
/* [out] */ IMFStreamSink **ppStreamSink);
HRESULT ( STDMETHODCALLTYPE *RemoveStreamSink )(
IMFFinalizableMediaSink * This,
/* [in] */ DWORD dwStreamSinkIdentifier);
HRESULT ( STDMETHODCALLTYPE *GetStreamSinkCount )(
IMFFinalizableMediaSink * This,
/* [out] */ DWORD *pcStreamSinkCount);
HRESULT ( STDMETHODCALLTYPE *GetStreamSinkByIndex )(
IMFFinalizableMediaSink * This,
/* [in] */ DWORD dwIndex,
/* [out] */ IMFStreamSink **ppStreamSink);
HRESULT ( STDMETHODCALLTYPE *GetStreamSinkById )(
IMFFinalizableMediaSink * This,
/* [in] */ DWORD dwStreamSinkIdentifier,
/* [out] */ IMFStreamSink **ppStreamSink);
HRESULT ( STDMETHODCALLTYPE *SetPresentationClock )(
IMFFinalizableMediaSink * This,
/* [in] */ IMFPresentationClock *pPresentationClock);
HRESULT ( STDMETHODCALLTYPE *GetPresentationClock )(
IMFFinalizableMediaSink * This,
/* [out] */ IMFPresentationClock **ppPresentationClock);
HRESULT ( STDMETHODCALLTYPE *Shutdown )(
IMFFinalizableMediaSink * This);
HRESULT ( STDMETHODCALLTYPE *BeginFinalize )(
IMFFinalizableMediaSink * This,
/* [in] */ IMFAsyncCallback *pCallback,
/* [in] */ IUnknown *punkState);
HRESULT ( STDMETHODCALLTYPE *EndFinalize )(
IMFFinalizableMediaSink * This,
/* [in] */ IMFAsyncResult *pResult);
END_INTERFACE
} IMFFinalizableMediaSinkVtbl;
interface IMFFinalizableMediaSink
{
CONST_VTBL struct IMFFinalizableMediaSinkVtbl *lpVtbl;
};
#ifdef COBJMACROS
#define IMFFinalizableMediaSink_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
#define IMFFinalizableMediaSink_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
#define IMFFinalizableMediaSink_Release(This) \
( (This)->lpVtbl -> Release(This) )
#define IMFFinalizableMediaSink_GetCharacteristics(This,pdwCharacteristics) \
( (This)->lpVtbl -> GetCharacteristics(This,pdwCharacteristics) )
#define IMFFinalizableMediaSink_AddStreamSink(This,dwStreamSinkIdentifier,pMediaType,ppStreamSink) \
( (This)->lpVtbl -> AddStreamSink(This,dwStreamSinkIdentifier,pMediaType,ppStreamSink) )
#define IMFFinalizableMediaSink_RemoveStreamSink(This,dwStreamSinkIdentifier) \
( (This)->lpVtbl -> RemoveStreamSink(This,dwStreamSinkIdentifier) )
#define IMFFinalizableMediaSink_GetStreamSinkCount(This,pcStreamSinkCount) \
( (This)->lpVtbl -> GetStreamSinkCount(This,pcStreamSinkCount) )
#define IMFFinalizableMediaSink_GetStreamSinkByIndex(This,dwIndex,ppStreamSink) \
( (This)->lpVtbl -> GetStreamSinkByIndex(This,dwIndex,ppStreamSink) )
#define IMFFinalizableMediaSink_GetStreamSinkById(This,dwStreamSinkIdentifier,ppStreamSink) \
( (This)->lpVtbl -> GetStreamSinkById(This,dwStreamSinkIdentifier,ppStreamSink) )
#define IMFFinalizableMediaSink_SetPresentationClock(This,pPresentationClock) \
( (This)->lpVtbl -> SetPresentationClock(This,pPresentationClock) )
#define IMFFinalizableMediaSink_GetPresentationClock(This,ppPresentationClock) \
( (This)->lpVtbl -> GetPresentationClock(This,ppPresentationClock) )
#define IMFFinalizableMediaSink_Shutdown(This) \
( (This)->lpVtbl -> Shutdown(This) )
#define IMFFinalizableMediaSink_BeginFinalize(This,pCallback,punkState) \
( (This)->lpVtbl -> BeginFinalize(This,pCallback,punkState) )
#define IMFFinalizableMediaSink_EndFinalize(This,pResult) \
( (This)->lpVtbl -> EndFinalize(This,pResult) )
#endif /* COBJMACROS */
#endif /* C style interface */
#endif /* __IMFFinalizableMediaSink_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_mfidl_0000_0067 */
/* [local] */
#if (WINVER >= _WIN32_WINNT_WIN7)
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0067_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0067_v0_0_s_ifspec;
#ifndef __IMFStreamingSinkConfig_INTERFACE_DEFINED__
#define __IMFStreamingSinkConfig_INTERFACE_DEFINED__
/* interface IMFStreamingSinkConfig */
/* [uuid][object] */
EXTERN_C const IID IID_IMFStreamingSinkConfig;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("9db7aa41-3cc5-40d4-8509-555804ad34cc")
IMFStreamingSinkConfig : public IUnknown
{
public:
virtual HRESULT STDMETHODCALLTYPE StartStreaming(
/* [in] */ BOOL fSeekOffsetIsByteOffset,
/* [in] */ QWORD qwSeekOffset) = 0;
};
#else /* C style interface */
typedef struct IMFStreamingSinkConfigVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
__RPC__in IMFStreamingSinkConfig * This,
/* [in] */ __RPC__in REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
__RPC__in IMFStreamingSinkConfig * This);
ULONG ( STDMETHODCALLTYPE *Release )(
__RPC__in IMFStreamingSinkConfig * This);
HRESULT ( STDMETHODCALLTYPE *StartStreaming )(
__RPC__in IMFStreamingSinkConfig * This,
/* [in] */ BOOL fSeekOffsetIsByteOffset,
/* [in] */ QWORD qwSeekOffset);
END_INTERFACE
} IMFStreamingSinkConfigVtbl;
interface IMFStreamingSinkConfig
{
CONST_VTBL struct IMFStreamingSinkConfigVtbl *lpVtbl;
};
#ifdef COBJMACROS
#define IMFStreamingSinkConfig_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
#define IMFStreamingSinkConfig_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
#define IMFStreamingSinkConfig_Release(This) \
( (This)->lpVtbl -> Release(This) )
#define IMFStreamingSinkConfig_StartStreaming(This,fSeekOffsetIsByteOffset,qwSeekOffset) \
( (This)->lpVtbl -> StartStreaming(This,fSeekOffsetIsByteOffset,qwSeekOffset) )
#endif /* COBJMACROS */
#endif /* C style interface */
#endif /* __IMFStreamingSinkConfig_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_mfidl_0000_0068 */
/* [local] */
#endif // (WINVER >= _WIN32_WINNT_WIN7)
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0068_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0068_v0_0_s_ifspec;
#ifndef __IMFRemoteProxy_INTERFACE_DEFINED__
#define __IMFRemoteProxy_INTERFACE_DEFINED__
/* interface IMFRemoteProxy */
/* [local][uuid][object] */
EXTERN_C const IID IID_IMFRemoteProxy;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("994e23ad-1cc2-493c-b9fa-46f1cb040fa4")
IMFRemoteProxy : public IUnknown
{
public:
virtual HRESULT STDMETHODCALLTYPE GetRemoteObject(
/* [in] */ REFIID riid,
/* [annotation][iid_is][out] */
__out void **ppv) = 0;
virtual HRESULT STDMETHODCALLTYPE GetRemoteHost(
/* [in] */ REFIID riid,
/* [annotation][iid_is][out] */
__out void **ppv) = 0;
};
#else /* C style interface */
typedef struct IMFRemoteProxyVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IMFRemoteProxy * This,
/* [in] */ REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
IMFRemoteProxy * This);
ULONG ( STDMETHODCALLTYPE *Release )(
IMFRemoteProxy * This);
HRESULT ( STDMETHODCALLTYPE *GetRemoteObject )(
IMFRemoteProxy * This,
/* [in] */ REFIID riid,
/* [annotation][iid_is][out] */
__out void **ppv);
HRESULT ( STDMETHODCALLTYPE *GetRemoteHost )(
IMFRemoteProxy * This,
/* [in] */ REFIID riid,
/* [annotation][iid_is][out] */
__out void **ppv);
END_INTERFACE
} IMFRemoteProxyVtbl;
interface IMFRemoteProxy
{
CONST_VTBL struct IMFRemoteProxyVtbl *lpVtbl;
};
#ifdef COBJMACROS
#define IMFRemoteProxy_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
#define IMFRemoteProxy_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
#define IMFRemoteProxy_Release(This) \
( (This)->lpVtbl -> Release(This) )
#define IMFRemoteProxy_GetRemoteObject(This,riid,ppv) \
( (This)->lpVtbl -> GetRemoteObject(This,riid,ppv) )
#define IMFRemoteProxy_GetRemoteHost(This,riid,ppv) \
( (This)->lpVtbl -> GetRemoteHost(This,riid,ppv) )
#endif /* COBJMACROS */
#endif /* C style interface */
#endif /* __IMFRemoteProxy_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_mfidl_0000_0069 */
/* [local] */
EXTERN_GUID( MF_REMOTE_PROXY, 0x2f00c90e, 0xd2cf, 0x4278, 0x8b, 0x6a, 0xd0, 0x77, 0xfa, 0xc3, 0xa2, 0x5f);
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0069_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0069_v0_0_s_ifspec;
#ifndef __IMFObjectReferenceStream_INTERFACE_DEFINED__
#define __IMFObjectReferenceStream_INTERFACE_DEFINED__
/* interface IMFObjectReferenceStream */
/* [local][uuid][object] */
EXTERN_C const IID IID_IMFObjectReferenceStream;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("09EF5BE3-C8A7-469e-8B70-73BF25BB193F")
IMFObjectReferenceStream : public IUnknown
{
public:
virtual HRESULT STDMETHODCALLTYPE SaveReference(
/* [in] */ REFIID riid,
/* [in] */ IUnknown *pUnk) = 0;
virtual HRESULT STDMETHODCALLTYPE LoadReference(
/* [in] */ REFIID riid,
/* [out] */ void **ppv) = 0;
};
#else /* C style interface */
typedef struct IMFObjectReferenceStreamVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IMFObjectReferenceStream * This,
/* [in] */ REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
IMFObjectReferenceStream * This);
ULONG ( STDMETHODCALLTYPE *Release )(
IMFObjectReferenceStream * This);
HRESULT ( STDMETHODCALLTYPE *SaveReference )(
IMFObjectReferenceStream * This,
/* [in] */ REFIID riid,
/* [in] */ IUnknown *pUnk);
HRESULT ( STDMETHODCALLTYPE *LoadReference )(
IMFObjectReferenceStream * This,
/* [in] */ REFIID riid,
/* [out] */ void **ppv);
END_INTERFACE
} IMFObjectReferenceStreamVtbl;
interface IMFObjectReferenceStream
{
CONST_VTBL struct IMFObjectReferenceStreamVtbl *lpVtbl;
};
#ifdef COBJMACROS
#define IMFObjectReferenceStream_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
#define IMFObjectReferenceStream_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
#define IMFObjectReferenceStream_Release(This) \
( (This)->lpVtbl -> Release(This) )
#define IMFObjectReferenceStream_SaveReference(This,riid,pUnk) \
( (This)->lpVtbl -> SaveReference(This,riid,pUnk) )
#define IMFObjectReferenceStream_LoadReference(This,riid,ppv) \
( (This)->lpVtbl -> LoadReference(This,riid,ppv) )
#endif /* COBJMACROS */
#endif /* C style interface */
#endif /* __IMFObjectReferenceStream_INTERFACE_DEFINED__ */
#ifndef __IMFPMPHost_INTERFACE_DEFINED__
#define __IMFPMPHost_INTERFACE_DEFINED__
/* interface IMFPMPHost */
/* [uuid][object] */
EXTERN_C const IID IID_IMFPMPHost;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("F70CA1A9-FDC7-4782-B994-ADFFB1C98606")
IMFPMPHost : public IUnknown
{
public:
virtual HRESULT STDMETHODCALLTYPE LockProcess( void) = 0;
virtual HRESULT STDMETHODCALLTYPE UnlockProcess( void) = 0;
virtual /* [local] */ HRESULT STDMETHODCALLTYPE CreateObjectByCLSID(
/* [in] */ REFCLSID clsid,
/* [unique][in] */ IStream *pStream,
/* [in] */ REFIID riid,
/* [iid_is][out] */ void **ppv) = 0;
};
#else /* C style interface */
typedef struct IMFPMPHostVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
__RPC__in IMFPMPHost * This,
/* [in] */ __RPC__in REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
__RPC__in IMFPMPHost * This);
ULONG ( STDMETHODCALLTYPE *Release )(
__RPC__in IMFPMPHost * This);
HRESULT ( STDMETHODCALLTYPE *LockProcess )(
__RPC__in IMFPMPHost * This);
HRESULT ( STDMETHODCALLTYPE *UnlockProcess )(
__RPC__in IMFPMPHost * This);
/* [local] */ HRESULT ( STDMETHODCALLTYPE *CreateObjectByCLSID )(
IMFPMPHost * This,
/* [in] */ REFCLSID clsid,
/* [unique][in] */ IStream *pStream,
/* [in] */ REFIID riid,
/* [iid_is][out] */ void **ppv);
END_INTERFACE
} IMFPMPHostVtbl;
interface IMFPMPHost
{
CONST_VTBL struct IMFPMPHostVtbl *lpVtbl;
};
#ifdef COBJMACROS
#define IMFPMPHost_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
#define IMFPMPHost_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
#define IMFPMPHost_Release(This) \
( (This)->lpVtbl -> Release(This) )
#define IMFPMPHost_LockProcess(This) \
( (This)->lpVtbl -> LockProcess(This) )
#define IMFPMPHost_UnlockProcess(This) \
( (This)->lpVtbl -> UnlockProcess(This) )
#define IMFPMPHost_CreateObjectByCLSID(This,clsid,pStream,riid,ppv) \
( (This)->lpVtbl -> CreateObjectByCLSID(This,clsid,pStream,riid,ppv) )
#endif /* COBJMACROS */
#endif /* C style interface */
/* [call_as] */ HRESULT STDMETHODCALLTYPE IMFPMPHost_RemoteCreateObjectByCLSID_Proxy(
__RPC__in IMFPMPHost * This,
/* [in] */ __RPC__in REFCLSID clsid,
/* [size_is][unique][in] */ __RPC__in_ecount_full_opt(cbData) BYTE *pbData,
/* [in] */ DWORD cbData,
/* [in] */ __RPC__in REFIID riid,
/* [iid_is][out] */ __RPC__deref_out_opt void **ppv);
void __RPC_STUB IMFPMPHost_RemoteCreateObjectByCLSID_Stub(
IRpcStubBuffer *This,
IRpcChannelBuffer *_pRpcChannelBuffer,
PRPC_MESSAGE _pRpcMessage,
DWORD *_pdwStubPhase);
#endif /* __IMFPMPHost_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_mfidl_0000_0071 */
/* [local] */
#if (WINVER >= _WIN32_WINNT_WIN7)
EXTERN_C const GUID MF_PMP_SERVICE;
#endif // (WINVER >= _WIN32_WINNT_WIN7)
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0071_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0071_v0_0_s_ifspec;
#ifndef __IMFPMPClient_INTERFACE_DEFINED__
#define __IMFPMPClient_INTERFACE_DEFINED__
/* interface IMFPMPClient */
/* [local][uuid][object] */
EXTERN_C const IID IID_IMFPMPClient;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("6C4E655D-EAD8-4421-B6B9-54DCDBBDF820")
IMFPMPClient : public IUnknown
{
public:
virtual HRESULT STDMETHODCALLTYPE SetPMPHost(
/* [in] */ IMFPMPHost *pPMPHost) = 0;
};
#else /* C style interface */
typedef struct IMFPMPClientVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IMFPMPClient * This,
/* [in] */ REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
IMFPMPClient * This);
ULONG ( STDMETHODCALLTYPE *Release )(
IMFPMPClient * This);
HRESULT ( STDMETHODCALLTYPE *SetPMPHost )(
IMFPMPClient * This,
/* [in] */ IMFPMPHost *pPMPHost);
END_INTERFACE
} IMFPMPClientVtbl;
interface IMFPMPClient
{
CONST_VTBL struct IMFPMPClientVtbl *lpVtbl;
};
#ifdef COBJMACROS
#define IMFPMPClient_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
#define IMFPMPClient_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
#define IMFPMPClient_Release(This) \
( (This)->lpVtbl -> Release(This) )
#define IMFPMPClient_SetPMPHost(This,pPMPHost) \
( (This)->lpVtbl -> SetPMPHost(This,pPMPHost) )
#endif /* COBJMACROS */
#endif /* C style interface */
#endif /* __IMFPMPClient_INTERFACE_DEFINED__ */
#ifndef __IMFPMPServer_INTERFACE_DEFINED__
#define __IMFPMPServer_INTERFACE_DEFINED__
/* interface IMFPMPServer */
/* [uuid][object] */
EXTERN_C const IID IID_IMFPMPServer;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("994e23af-1cc2-493c-b9fa-46f1cb040fa4")
IMFPMPServer : public IUnknown
{
public:
virtual HRESULT STDMETHODCALLTYPE LockProcess( void) = 0;
virtual HRESULT STDMETHODCALLTYPE UnlockProcess( void) = 0;
virtual HRESULT STDMETHODCALLTYPE CreateObjectByCLSID(
/* [in] */ __RPC__in REFCLSID clsid,
/* [in] */ __RPC__in REFIID riid,
/* [iid_is][out] */ __RPC__deref_out_opt void **ppObject) = 0;
};
#else /* C style interface */
typedef struct IMFPMPServerVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
__RPC__in IMFPMPServer * This,
/* [in] */ __RPC__in REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
__RPC__in IMFPMPServer * This);
ULONG ( STDMETHODCALLTYPE *Release )(
__RPC__in IMFPMPServer * This);
HRESULT ( STDMETHODCALLTYPE *LockProcess )(
__RPC__in IMFPMPServer * This);
HRESULT ( STDMETHODCALLTYPE *UnlockProcess )(
__RPC__in IMFPMPServer * This);
HRESULT ( STDMETHODCALLTYPE *CreateObjectByCLSID )(
__RPC__in IMFPMPServer * This,
/* [in] */ __RPC__in REFCLSID clsid,
/* [in] */ __RPC__in REFIID riid,
/* [iid_is][out] */ __RPC__deref_out_opt void **ppObject);
END_INTERFACE
} IMFPMPServerVtbl;
interface IMFPMPServer
{
CONST_VTBL struct IMFPMPServerVtbl *lpVtbl;
};
#ifdef COBJMACROS
#define IMFPMPServer_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
#define IMFPMPServer_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
#define IMFPMPServer_Release(This) \
( (This)->lpVtbl -> Release(This) )
#define IMFPMPServer_LockProcess(This) \
( (This)->lpVtbl -> LockProcess(This) )
#define IMFPMPServer_UnlockProcess(This) \
( (This)->lpVtbl -> UnlockProcess(This) )
#define IMFPMPServer_CreateObjectByCLSID(This,clsid,riid,ppObject) \
( (This)->lpVtbl -> CreateObjectByCLSID(This,clsid,riid,ppObject) )
#endif /* COBJMACROS */
#endif /* C style interface */
#endif /* __IMFPMPServer_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_mfidl_0000_0073 */
/* [local] */
STDAPI MFCreatePMPServer(
DWORD dwCreationFlags,
__out IMFPMPServer** ppPMPServer
);
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0073_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0073_v0_0_s_ifspec;
#ifndef __IMFRemoteDesktopPlugin_INTERFACE_DEFINED__
#define __IMFRemoteDesktopPlugin_INTERFACE_DEFINED__
/* interface IMFRemoteDesktopPlugin */
/* [local][uuid][object] */
EXTERN_C const IID IID_IMFRemoteDesktopPlugin;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("1cde6309-cae0-4940-907e-c1ec9c3d1d4a")
IMFRemoteDesktopPlugin : public IUnknown
{
public:
virtual HRESULT STDMETHODCALLTYPE UpdateTopology(
/* [out][in] */ IMFTopology *pTopology) = 0;
};
#else /* C style interface */
typedef struct IMFRemoteDesktopPluginVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IMFRemoteDesktopPlugin * This,
/* [in] */ REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
IMFRemoteDesktopPlugin * This);
ULONG ( STDMETHODCALLTYPE *Release )(
IMFRemoteDesktopPlugin * This);
HRESULT ( STDMETHODCALLTYPE *UpdateTopology )(
IMFRemoteDesktopPlugin * This,
/* [out][in] */ IMFTopology *pTopology);
END_INTERFACE
} IMFRemoteDesktopPluginVtbl;
interface IMFRemoteDesktopPlugin
{
CONST_VTBL struct IMFRemoteDesktopPluginVtbl *lpVtbl;
};
#ifdef COBJMACROS
#define IMFRemoteDesktopPlugin_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
#define IMFRemoteDesktopPlugin_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
#define IMFRemoteDesktopPlugin_Release(This) \
( (This)->lpVtbl -> Release(This) )
#define IMFRemoteDesktopPlugin_UpdateTopology(This,pTopology) \
( (This)->lpVtbl -> UpdateTopology(This,pTopology) )
#endif /* COBJMACROS */
#endif /* C style interface */
#endif /* __IMFRemoteDesktopPlugin_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_mfidl_0000_0074 */
/* [local] */
STDAPI MFCreateRemoteDesktopPlugin(
__out IMFRemoteDesktopPlugin** ppPlugin );
EXTERN_C HRESULT STDAPICALLTYPE CreateNamedPropertyStore(
__out INamedPropertyStore **ppStore
);
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0074_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0074_v0_0_s_ifspec;
#ifndef __IMFSAMIStyle_INTERFACE_DEFINED__
#define __IMFSAMIStyle_INTERFACE_DEFINED__
/* interface IMFSAMIStyle */
/* [local][uuid][object] */
EXTERN_C const IID IID_IMFSAMIStyle;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("A7E025DD-5303-4a62-89D6-E747E1EFAC73")
IMFSAMIStyle : public IUnknown
{
public:
virtual HRESULT STDMETHODCALLTYPE GetStyleCount(
/* [annotation][out] */
__out DWORD *pdwCount) = 0;
virtual HRESULT STDMETHODCALLTYPE GetStyles(
/* [annotation][out] */
__out PROPVARIANT *pPropVarStyleArray) = 0;
virtual HRESULT STDMETHODCALLTYPE SetSelectedStyle(
/* [annotation][in] */
__in LPCWSTR pwszStyle) = 0;
virtual HRESULT STDMETHODCALLTYPE GetSelectedStyle(
/* [annotation][out] */
__deref_out LPWSTR *ppwszStyle) = 0;
};
#else /* C style interface */
typedef struct IMFSAMIStyleVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IMFSAMIStyle * This,
/* [in] */ REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
IMFSAMIStyle * This);
ULONG ( STDMETHODCALLTYPE *Release )(
IMFSAMIStyle * This);
HRESULT ( STDMETHODCALLTYPE *GetStyleCount )(
IMFSAMIStyle * This,
/* [annotation][out] */
__out DWORD *pdwCount);
HRESULT ( STDMETHODCALLTYPE *GetStyles )(
IMFSAMIStyle * This,
/* [annotation][out] */
__out PROPVARIANT *pPropVarStyleArray);
HRESULT ( STDMETHODCALLTYPE *SetSelectedStyle )(
IMFSAMIStyle * This,
/* [annotation][in] */
__in LPCWSTR pwszStyle);
HRESULT ( STDMETHODCALLTYPE *GetSelectedStyle )(
IMFSAMIStyle * This,
/* [annotation][out] */
__deref_out LPWSTR *ppwszStyle);
END_INTERFACE
} IMFSAMIStyleVtbl;
interface IMFSAMIStyle
{
CONST_VTBL struct IMFSAMIStyleVtbl *lpVtbl;
};
#ifdef COBJMACROS
#define IMFSAMIStyle_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
#define IMFSAMIStyle_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
#define IMFSAMIStyle_Release(This) \
( (This)->lpVtbl -> Release(This) )
#define IMFSAMIStyle_GetStyleCount(This,pdwCount) \
( (This)->lpVtbl -> GetStyleCount(This,pdwCount) )
#define IMFSAMIStyle_GetStyles(This,pPropVarStyleArray) \
( (This)->lpVtbl -> GetStyles(This,pPropVarStyleArray) )
#define IMFSAMIStyle_SetSelectedStyle(This,pwszStyle) \
( (This)->lpVtbl -> SetSelectedStyle(This,pwszStyle) )
#define IMFSAMIStyle_GetSelectedStyle(This,ppwszStyle) \
( (This)->lpVtbl -> GetSelectedStyle(This,ppwszStyle) )
#endif /* COBJMACROS */
#endif /* C style interface */
#endif /* __IMFSAMIStyle_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_mfidl_0000_0075 */
/* [local] */
EXTERN_GUID( MF_SAMI_SERVICE, 0x49a89ae7, 0xb4d9, 0x4ef2, 0xaa, 0x5c, 0xf6, 0x5a, 0x3e, 0x5, 0xae, 0x4e );
EXTERN_GUID( MF_PD_SAMI_STYLELIST, 0xe0b73c7f, 0x486d, 0x484e, 0x98, 0x72, 0x4d, 0xe5, 0x19, 0x2a, 0x7b, 0xf8 );
EXTERN_GUID( MF_SD_SAMI_LANGUAGE, 0x36fcb98a, 0x6cd0, 0x44cb, 0xac, 0xb9, 0xa8, 0xf5, 0x60, 0xd, 0xd0, 0xbb );
#if (WINVER >= _WIN32_WINNT_WIN7)
STDAPI MFCreateSampleCopierMFT(__deref_out IMFTransform** ppCopierMFT);
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0075_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0075_v0_0_s_ifspec;
#ifndef __IMFTranscodeProfile_INTERFACE_DEFINED__
#define __IMFTranscodeProfile_INTERFACE_DEFINED__
/* interface IMFTranscodeProfile */
/* [local][uuid][object] */
EXTERN_C const IID IID_IMFTranscodeProfile;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("4ADFDBA3-7AB0-4953-A62B-461E7FF3DA1E")
IMFTranscodeProfile : public IUnknown
{
public:
virtual HRESULT STDMETHODCALLTYPE SetAudioAttributes(
/* [annotation][in] */
__in_opt IMFAttributes *pAttrs) = 0;
virtual HRESULT STDMETHODCALLTYPE GetAudioAttributes(
/* [annotation][out] */
__deref_out_opt IMFAttributes **ppAttrs) = 0;
virtual HRESULT STDMETHODCALLTYPE SetVideoAttributes(
/* [annotation][in] */
__in_opt IMFAttributes *pAttrs) = 0;
virtual HRESULT STDMETHODCALLTYPE GetVideoAttributes(
/* [annotation][out] */
__deref_out_opt IMFAttributes **ppAttrs) = 0;
virtual HRESULT STDMETHODCALLTYPE SetContainerAttributes(
/* [annotation][in] */
__in_opt IMFAttributes *pAttrs) = 0;
virtual HRESULT STDMETHODCALLTYPE GetContainerAttributes(
/* [annotation][out] */
__deref_out_opt IMFAttributes **ppAttrs) = 0;
};
#else /* C style interface */
typedef struct IMFTranscodeProfileVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IMFTranscodeProfile * This,
/* [in] */ REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
IMFTranscodeProfile * This);
ULONG ( STDMETHODCALLTYPE *Release )(
IMFTranscodeProfile * This);
HRESULT ( STDMETHODCALLTYPE *SetAudioAttributes )(
IMFTranscodeProfile * This,
/* [annotation][in] */
__in_opt IMFAttributes *pAttrs);
HRESULT ( STDMETHODCALLTYPE *GetAudioAttributes )(
IMFTranscodeProfile * This,
/* [annotation][out] */
__deref_out_opt IMFAttributes **ppAttrs);
HRESULT ( STDMETHODCALLTYPE *SetVideoAttributes )(
IMFTranscodeProfile * This,
/* [annotation][in] */
__in_opt IMFAttributes *pAttrs);
HRESULT ( STDMETHODCALLTYPE *GetVideoAttributes )(
IMFTranscodeProfile * This,
/* [annotation][out] */
__deref_out_opt IMFAttributes **ppAttrs);
HRESULT ( STDMETHODCALLTYPE *SetContainerAttributes )(
IMFTranscodeProfile * This,
/* [annotation][in] */
__in_opt IMFAttributes *pAttrs);
HRESULT ( STDMETHODCALLTYPE *GetContainerAttributes )(
IMFTranscodeProfile * This,
/* [annotation][out] */
__deref_out_opt IMFAttributes **ppAttrs);
END_INTERFACE
} IMFTranscodeProfileVtbl;
interface IMFTranscodeProfile
{
CONST_VTBL struct IMFTranscodeProfileVtbl *lpVtbl;
};
#ifdef COBJMACROS
#define IMFTranscodeProfile_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
#define IMFTranscodeProfile_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
#define IMFTranscodeProfile_Release(This) \
( (This)->lpVtbl -> Release(This) )
#define IMFTranscodeProfile_SetAudioAttributes(This,pAttrs) \
( (This)->lpVtbl -> SetAudioAttributes(This,pAttrs) )
#define IMFTranscodeProfile_GetAudioAttributes(This,ppAttrs) \
( (This)->lpVtbl -> GetAudioAttributes(This,ppAttrs) )
#define IMFTranscodeProfile_SetVideoAttributes(This,pAttrs) \
( (This)->lpVtbl -> SetVideoAttributes(This,pAttrs) )
#define IMFTranscodeProfile_GetVideoAttributes(This,ppAttrs) \
( (This)->lpVtbl -> GetVideoAttributes(This,ppAttrs) )
#define IMFTranscodeProfile_SetContainerAttributes(This,pAttrs) \
( (This)->lpVtbl -> SetContainerAttributes(This,pAttrs) )
#define IMFTranscodeProfile_GetContainerAttributes(This,ppAttrs) \
( (This)->lpVtbl -> GetContainerAttributes(This,ppAttrs) )
#endif /* COBJMACROS */
#endif /* C style interface */
#endif /* __IMFTranscodeProfile_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_mfidl_0000_0076 */
/* [local] */
EXTERN_GUID( MF_TRANSCODE_CONTAINERTYPE, 0x150ff23f, 0x4abc, 0x478b, 0xac, 0x4f, 0xe1, 0x91, 0x6f, 0xba, 0x1c, 0xca );
EXTERN_GUID( MFTranscodeContainerType_ASF, 0x430f6f6e, 0xb6bf, 0x4fc1, 0xa0, 0xbd, 0x9e, 0xe4, 0x6e, 0xee, 0x2a, 0xfb );
EXTERN_GUID( MFTranscodeContainerType_MPEG4, 0xdc6cd05d, 0xb9d0, 0x40ef, 0xbd, 0x35, 0xfa, 0x62, 0x2c, 0x1a, 0xb2, 0x8a );
EXTERN_GUID( MFTranscodeContainerType_MP3, 0xe438b912, 0x83f1, 0x4de6, 0x9e, 0x3a, 0x9f, 0xfb, 0xc6, 0xdd, 0x24, 0xd1 );
EXTERN_GUID( MFTranscodeContainerType_3GP, 0x34c50167, 0x4472, 0x4f34, 0x9e, 0xa0, 0xc4, 0x9f, 0xba, 0xcf, 0x03, 0x7d );
EXTERN_GUID( MF_TRANSCODE_SKIP_METADATA_TRANSFER, 0x4e4469ef, 0xb571, 0x4959, 0x8f, 0x83, 0x3d, 0xcf, 0xba, 0x33, 0xa3, 0x93 );
EXTERN_GUID( MF_TRANSCODE_TOPOLOGYMODE, 0x3e3df610, 0x394a, 0x40b2, 0x9d, 0xea, 0x3b, 0xab, 0x65, 0xb, 0xeb, 0xf2 );
typedef
enum _MF_TRANSCODE_TOPOLOGYMODE_FLAGS
{ MF_TRANSCODE_TOPOLOGYMODE_SOFTWARE_ONLY = 0,
MF_TRANSCODE_TOPOLOGYMODE_HARDWARE_ALLOWED = 1
} MF_TRANSCODE_TOPOLOGYMODE_FLAGS;
EXTERN_GUID( MF_TRANSCODE_ADJUST_PROFILE, 0x9c37c21b, 0x60f, 0x487c, 0xa6, 0x90, 0x80, 0xd7, 0xf5, 0xd, 0x1c, 0x72 );
typedef
enum _MF_TRANSCODE_ADJUST_PROFILE_FLAGS
{ MF_TRANSCODE_ADJUST_PROFILE_DEFAULT = 0,
MF_TRANSCODE_ADJUST_PROFILE_USE_SOURCE_ATTRIBUTES = 1
} MF_TRANSCODE_ADJUST_PROFILE_FLAGS;
EXTERN_GUID( MF_TRANSCODE_ENCODINGPROFILE, 0x6947787c, 0xf508, 0x4ea9, 0xb1, 0xe9, 0xa1, 0xfe, 0x3a, 0x49, 0xfb, 0xc9 );
EXTERN_GUID( MF_TRANSCODE_QUALITYVSSPEED, 0x98332df8, 0x03cd, 0x476b, 0x89, 0xfa, 0x3f, 0x9e, 0x44, 0x2d, 0xec, 0x9f );
EXTERN_GUID( MF_TRANSCODE_DONOT_INSERT_ENCODER, 0xf45aa7ce, 0xab24, 0x4012, 0xa1, 0x1b, 0xdc, 0x82, 0x20, 0x20, 0x14, 0x10 );
STDAPI MFCreateTranscodeProfile(
__out IMFTranscodeProfile** ppTranscodeProfile
);
STDAPI MFCreateTranscodeTopology(
__in IMFMediaSource* pSrc,
__in LPCWSTR pwszOutputFilePath,
__in IMFTranscodeProfile* pProfile,
__out IMFTopology** ppTranscodeTopo
);
STDAPI MFTranscodeGetAudioOutputAvailableTypes(
__in REFGUID guidSubType,
__in DWORD dwMFTFlags,
__in_opt IMFAttributes* pCodecConfig,
__out IMFCollection** ppAvailableTypes );
typedef struct _MF_TRANSCODE_SINK_INFO
{
DWORD dwVideoStreamID;
IMFMediaType *pVideoMediaType;
DWORD dwAudioStreamID;
IMFMediaType *pAudioMediaType;
} MF_TRANSCODE_SINK_INFO;
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0076_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0076_v0_0_s_ifspec;
#ifndef __IMFTranscodeSinkInfoProvider_INTERFACE_DEFINED__
#define __IMFTranscodeSinkInfoProvider_INTERFACE_DEFINED__
/* interface IMFTranscodeSinkInfoProvider */
/* [local][uuid][object] */
EXTERN_C const IID IID_IMFTranscodeSinkInfoProvider;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("8CFFCD2E-5A03-4a3a-AFF7-EDCD107C620E")
IMFTranscodeSinkInfoProvider : public IUnknown
{
public:
virtual HRESULT STDMETHODCALLTYPE SetOutputFile(
/* [annotation][in] */
__in LPCWSTR pwszFileName) = 0;
virtual HRESULT STDMETHODCALLTYPE SetOutputByteStream(
/* [annotation][in] */
__in IMFActivate *pByteStreamActivate) = 0;
virtual HRESULT STDMETHODCALLTYPE SetProfile(
/* [annotation][in] */
__in IMFTranscodeProfile *pProfile) = 0;
virtual HRESULT STDMETHODCALLTYPE GetSinkInfo(
/* [annotation][out] */
__out MF_TRANSCODE_SINK_INFO *pSinkInfo) = 0;
};
#else /* C style interface */
typedef struct IMFTranscodeSinkInfoProviderVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IMFTranscodeSinkInfoProvider * This,
/* [in] */ REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
IMFTranscodeSinkInfoProvider * This);
ULONG ( STDMETHODCALLTYPE *Release )(
IMFTranscodeSinkInfoProvider * This);
HRESULT ( STDMETHODCALLTYPE *SetOutputFile )(
IMFTranscodeSinkInfoProvider * This,
/* [annotation][in] */
__in LPCWSTR pwszFileName);
HRESULT ( STDMETHODCALLTYPE *SetOutputByteStream )(
IMFTranscodeSinkInfoProvider * This,
/* [annotation][in] */
__in IMFActivate *pByteStreamActivate);
HRESULT ( STDMETHODCALLTYPE *SetProfile )(
IMFTranscodeSinkInfoProvider * This,
/* [annotation][in] */
__in IMFTranscodeProfile *pProfile);
HRESULT ( STDMETHODCALLTYPE *GetSinkInfo )(
IMFTranscodeSinkInfoProvider * This,
/* [annotation][out] */
__out MF_TRANSCODE_SINK_INFO *pSinkInfo);
END_INTERFACE
} IMFTranscodeSinkInfoProviderVtbl;
interface IMFTranscodeSinkInfoProvider
{
CONST_VTBL struct IMFTranscodeSinkInfoProviderVtbl *lpVtbl;
};
#ifdef COBJMACROS
#define IMFTranscodeSinkInfoProvider_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
#define IMFTranscodeSinkInfoProvider_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
#define IMFTranscodeSinkInfoProvider_Release(This) \
( (This)->lpVtbl -> Release(This) )
#define IMFTranscodeSinkInfoProvider_SetOutputFile(This,pwszFileName) \
( (This)->lpVtbl -> SetOutputFile(This,pwszFileName) )
#define IMFTranscodeSinkInfoProvider_SetOutputByteStream(This,pByteStreamActivate) \
( (This)->lpVtbl -> SetOutputByteStream(This,pByteStreamActivate) )
#define IMFTranscodeSinkInfoProvider_SetProfile(This,pProfile) \
( (This)->lpVtbl -> SetProfile(This,pProfile) )
#define IMFTranscodeSinkInfoProvider_GetSinkInfo(This,pSinkInfo) \
( (This)->lpVtbl -> GetSinkInfo(This,pSinkInfo) )
#endif /* COBJMACROS */
#endif /* C style interface */
#endif /* __IMFTranscodeSinkInfoProvider_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_mfidl_0000_0077 */
/* [local] */
STDAPI MFCreateTranscodeSinkActivate(
__out IMFActivate** ppActivate );
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0077_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0077_v0_0_s_ifspec;
#ifndef __IMFFieldOfUseMFTUnlock_INTERFACE_DEFINED__
#define __IMFFieldOfUseMFTUnlock_INTERFACE_DEFINED__
/* interface IMFFieldOfUseMFTUnlock */
/* [uuid][object] */
EXTERN_C const IID IID_IMFFieldOfUseMFTUnlock;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("508E71D3-EC66-4fc3-8775-B4B9ED6BA847")
IMFFieldOfUseMFTUnlock : public IUnknown
{
public:
virtual HRESULT STDMETHODCALLTYPE Unlock(
/* [in] */ __RPC__in_opt IUnknown *pUnkMFT) = 0;
};
#else /* C style interface */
typedef struct IMFFieldOfUseMFTUnlockVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
__RPC__in IMFFieldOfUseMFTUnlock * This,
/* [in] */ __RPC__in REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
__RPC__in IMFFieldOfUseMFTUnlock * This);
ULONG ( STDMETHODCALLTYPE *Release )(
__RPC__in IMFFieldOfUseMFTUnlock * This);
HRESULT ( STDMETHODCALLTYPE *Unlock )(
__RPC__in IMFFieldOfUseMFTUnlock * This,
/* [in] */ __RPC__in_opt IUnknown *pUnkMFT);
END_INTERFACE
} IMFFieldOfUseMFTUnlockVtbl;
interface IMFFieldOfUseMFTUnlock
{
CONST_VTBL struct IMFFieldOfUseMFTUnlockVtbl *lpVtbl;
};
#ifdef COBJMACROS
#define IMFFieldOfUseMFTUnlock_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
#define IMFFieldOfUseMFTUnlock_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
#define IMFFieldOfUseMFTUnlock_Release(This) \
( (This)->lpVtbl -> Release(This) )
#define IMFFieldOfUseMFTUnlock_Unlock(This,pUnkMFT) \
( (This)->lpVtbl -> Unlock(This,pUnkMFT) )
#endif /* COBJMACROS */
#endif /* C style interface */
#endif /* __IMFFieldOfUseMFTUnlock_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_mfidl_0000_0078 */
/* [local] */
typedef struct _MFT_REGISTRATION_INFO
{
CLSID clsid;
GUID guidCategory;
UINT32 uiFlags;
LPCWSTR pszName;
DWORD cInTypes;
MFT_REGISTER_TYPE_INFO *pInTypes;
DWORD cOutTypes;
MFT_REGISTER_TYPE_INFO *pOutTypes;
} MFT_REGISTRATION_INFO;
EXTERN_GUID(MF_LOCAL_MFT_REGISTRATION_SERVICE, 0xddf5cf9c, 0x4506, 0x45aa, 0xab, 0xf0, 0x6d, 0x5d, 0x94, 0xdd, 0x1b, 0x4a);
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0078_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0078_v0_0_s_ifspec;
#ifndef __IMFLocalMFTRegistration_INTERFACE_DEFINED__
#define __IMFLocalMFTRegistration_INTERFACE_DEFINED__
/* interface IMFLocalMFTRegistration */
/* [uuid][object] */
EXTERN_C const IID IID_IMFLocalMFTRegistration;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("149c4d73-b4be-4f8d-8b87-079e926b6add")
IMFLocalMFTRegistration : public IUnknown
{
public:
virtual HRESULT STDMETHODCALLTYPE RegisterMFTs(
/* [size_is][in] */ __RPC__in_ecount_full(cMFTs) MFT_REGISTRATION_INFO *pMFTs,
DWORD cMFTs) = 0;
};
#else /* C style interface */
typedef struct IMFLocalMFTRegistrationVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
__RPC__in IMFLocalMFTRegistration * This,
/* [in] */ __RPC__in REFIID riid,
/* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
__RPC__in IMFLocalMFTRegistration * This);
ULONG ( STDMETHODCALLTYPE *Release )(
__RPC__in IMFLocalMFTRegistration * This);
HRESULT ( STDMETHODCALLTYPE *RegisterMFTs )(
__RPC__in IMFLocalMFTRegistration * This,
/* [size_is][in] */ __RPC__in_ecount_full(cMFTs) MFT_REGISTRATION_INFO *pMFTs,
DWORD cMFTs);
END_INTERFACE
} IMFLocalMFTRegistrationVtbl;
interface IMFLocalMFTRegistration
{
CONST_VTBL struct IMFLocalMFTRegistrationVtbl *lpVtbl;
};
#ifdef COBJMACROS
#define IMFLocalMFTRegistration_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
#define IMFLocalMFTRegistration_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
#define IMFLocalMFTRegistration_Release(This) \
( (This)->lpVtbl -> Release(This) )
#define IMFLocalMFTRegistration_RegisterMFTs(This,pMFTs,cMFTs) \
( (This)->lpVtbl -> RegisterMFTs(This,pMFTs,cMFTs) )
#endif /* COBJMACROS */
#endif /* C style interface */
#endif /* __IMFLocalMFTRegistration_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_mfidl_0000_0079 */
/* [local] */
STDAPI MFCreateMFByteStreamOnStream(
IStream* pStream,
__out IMFByteStream** ppByteStream);
EXTERN_GUID(CLSID_UrlmonSchemePlugin, 0x9ec4b4f9, 0x3029, 0x45ad, 0x94, 0x7b, 0x34, 0x4d, 0xe2, 0xa2, 0x49, 0xe2);
STDAPI MFEnumDeviceSources(
__in IMFAttributes* pAttributes,
__deref_out_ecount(*pcSourceActivate) IMFActivate*** pppSourceActivate,
__out UINT32* pcSourceActivate
);
STDAPI MFCreateDeviceSource(
__in IMFAttributes* pAttributes,
__out IMFMediaSource** ppSource
);
STDAPI MFCreateDeviceSourceActivate(
__in IMFAttributes* pAttributes,
__out IMFActivate** ppActivate
);
EXTERN_GUID( MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE, 0xc60ac5fe, 0x252a, 0x478f, 0xa0, 0xef, 0xbc, 0x8f, 0xa5, 0xf7, 0xca, 0xd3);
EXTERN_GUID( MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE_VIDCAP_HW_SOURCE, 0xde7046ba, 0x54d6, 0x4487, 0xa2, 0xa4, 0xec, 0x7c, 0xd, 0x1b, 0xd1, 0x63);
EXTERN_GUID( MF_DEVSOURCE_ATTRIBUTE_FRIENDLY_NAME, 0x60d0e559, 0x52f8, 0x4fa2, 0xbb, 0xce, 0xac, 0xdb, 0x34, 0xa8, 0xec, 0x1);
EXTERN_GUID( MF_DEVSOURCE_ATTRIBUTE_MEDIA_TYPE, 0x56a819ca, 0xc78, 0x4de4, 0xa0, 0xa7, 0x3d, 0xda, 0xba, 0xf, 0x24, 0xd4);
EXTERN_GUID( MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE_VIDCAP_CATEGORY, 0x77f0ae69, 0xc3bd, 0x4509, 0x94, 0x1d, 0x46, 0x7e, 0x4d, 0x24, 0x89, 0x9e);
EXTERN_GUID( MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE_VIDCAP_SYMBOLIC_LINK, 0x58f0aad8, 0x22bf, 0x4f8a, 0xbb, 0x3d, 0xd2, 0xc4, 0x97, 0x8c, 0x6e, 0x2f);
EXTERN_GUID( MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE_VIDCAP_MAX_BUFFERS, 0x7dd9b730, 0x4f2d, 0x41d5, 0x8f, 0x95, 0xc, 0xc9, 0xa9, 0x12, 0xba, 0x26);
EXTERN_GUID( MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE_AUDCAP_ENDPOINT_ID, 0x30da9258, 0xfeb9, 0x47a7, 0xa4, 0x53, 0x76, 0x3a, 0x7a, 0x8e, 0x1c, 0x5f);
EXTERN_GUID( MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE_AUDCAP_ROLE, 0xbc9d118e, 0x8c67, 0x4a18, 0x85, 0xd4, 0x12, 0xd3, 0x0, 0x40, 0x5, 0x52);
EXTERN_GUID(MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE_AUDCAP_GUID, 0x14dd9a1c, 0x7cff, 0x41be, 0xb1, 0xb9, 0xba, 0x1a, 0xc6, 0xec, 0xb5, 0x71);
EXTERN_GUID(MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE_VIDCAP_GUID, 0x8ac3587a, 0x4ae7, 0x42d8, 0x99, 0xe0, 0x0a, 0x60, 0x13, 0xee, 0xf9, 0x0f);
EXTERN_GUID(MFSampleExtension_DeviceTimestamp, 0x8f3e35e7, 0x2dcd, 0x4887, 0x86, 0x22, 0x2a, 0x58, 0xba, 0xa6, 0x52, 0xb0);
#endif // (WINVER >= _WIN32_WINNT_WIN7)
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0079_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0079_v0_0_s_ifspec;
/* Additional Prototypes for ALL interfaces */
unsigned long __RPC_USER BSTR_UserSize( __RPC__in unsigned long *, unsigned long , __RPC__in BSTR * );
unsigned char * __RPC_USER BSTR_UserMarshal( __RPC__in unsigned long *, __RPC__inout_xcount(0) unsigned char *, __RPC__in BSTR * );
unsigned char * __RPC_USER BSTR_UserUnmarshal(__RPC__in unsigned long *, __RPC__in_xcount(0) unsigned char *, __RPC__out BSTR * );
void __RPC_USER BSTR_UserFree( __RPC__in unsigned long *, __RPC__in BSTR * );
unsigned long __RPC_USER LPSAFEARRAY_UserSize( __RPC__in unsigned long *, unsigned long , __RPC__in LPSAFEARRAY * );
unsigned char * __RPC_USER LPSAFEARRAY_UserMarshal( __RPC__in unsigned long *, __RPC__inout_xcount(0) unsigned char *, __RPC__in LPSAFEARRAY * );
unsigned char * __RPC_USER LPSAFEARRAY_UserUnmarshal(__RPC__in unsigned long *, __RPC__in_xcount(0) unsigned char *, __RPC__out LPSAFEARRAY * );
void __RPC_USER LPSAFEARRAY_UserFree( __RPC__in unsigned long *, __RPC__in LPSAFEARRAY * );
unsigned long __RPC_USER BSTR_UserSize64( __RPC__in unsigned long *, unsigned long , __RPC__in BSTR * );
unsigned char * __RPC_USER BSTR_UserMarshal64( __RPC__in unsigned long *, __RPC__inout_xcount(0) unsigned char *, __RPC__in BSTR * );
unsigned char * __RPC_USER BSTR_UserUnmarshal64(__RPC__in unsigned long *, __RPC__in_xcount(0) unsigned char *, __RPC__out BSTR * );
void __RPC_USER BSTR_UserFree64( __RPC__in unsigned long *, __RPC__in BSTR * );
unsigned long __RPC_USER LPSAFEARRAY_UserSize64( __RPC__in unsigned long *, unsigned long , __RPC__in LPSAFEARRAY * );
unsigned char * __RPC_USER LPSAFEARRAY_UserMarshal64( __RPC__in unsigned long *, __RPC__inout_xcount(0) unsigned char *, __RPC__in LPSAFEARRAY * );
unsigned char * __RPC_USER LPSAFEARRAY_UserUnmarshal64(__RPC__in unsigned long *, __RPC__in_xcount(0) unsigned char *, __RPC__out LPSAFEARRAY * );
void __RPC_USER LPSAFEARRAY_UserFree64( __RPC__in unsigned long *, __RPC__in LPSAFEARRAY * );
/* [local] */ HRESULT STDMETHODCALLTYPE IMFSourceResolver_BeginCreateObjectFromURL_Proxy(
IMFSourceResolver * This,
/* [in] */ LPCWSTR pwszURL,
/* [in] */ DWORD dwFlags,
/* [in] */ IPropertyStore *pProps,
/* [annotation][out] */
__out_opt IUnknown **ppIUnknownCancelCookie,
/* [in] */ IMFAsyncCallback *pCallback,
/* [in] */ IUnknown *punkState);
/* [call_as] */ HRESULT STDMETHODCALLTYPE IMFSourceResolver_BeginCreateObjectFromURL_Stub(
__RPC__in IMFSourceResolver * This,
/* [string][in] */ __RPC__in_string LPCWSTR pwszURL,
/* [in] */ DWORD dwFlags,
/* [in] */ __RPC__in_opt IPropertyStore *pProps,
/* [in] */ __RPC__in_opt IMFRemoteAsyncCallback *pCallback);
/* [local] */ HRESULT STDMETHODCALLTYPE IMFSourceResolver_EndCreateObjectFromURL_Proxy(
IMFSourceResolver * This,
/* [in] */ IMFAsyncResult *pResult,
/* [annotation][out] */
__out MF_OBJECT_TYPE *pObjectType,
/* [annotation][out] */
__out IUnknown **ppObject);
/* [call_as] */ HRESULT STDMETHODCALLTYPE IMFSourceResolver_EndCreateObjectFromURL_Stub(
__RPC__in IMFSourceResolver * This,
/* [in] */ __RPC__in_opt IUnknown *pResult,
/* [out] */ __RPC__out MF_OBJECT_TYPE *pObjectType,
/* [out] */ __RPC__deref_out_opt IUnknown **ppObject);
/* [local] */ HRESULT STDMETHODCALLTYPE IMFSourceResolver_BeginCreateObjectFromByteStream_Proxy(
IMFSourceResolver * This,
/* [in] */ IMFByteStream *pByteStream,
/* [in] */ LPCWSTR pwszURL,
/* [in] */ DWORD dwFlags,
/* [in] */ IPropertyStore *pProps,
/* [annotation][out] */
__out_opt IUnknown **ppIUnknownCancelCookie,
/* [in] */ IMFAsyncCallback *pCallback,
/* [in] */ IUnknown *punkState);
/* [call_as] */ HRESULT STDMETHODCALLTYPE IMFSourceResolver_BeginCreateObjectFromByteStream_Stub(
__RPC__in IMFSourceResolver * This,
/* [in] */ __RPC__in_opt IMFByteStream *pByteStream,
/* [in] */ __RPC__in LPCWSTR pwszURL,
/* [in] */ DWORD dwFlags,
/* [in] */ __RPC__in_opt IPropertyStore *pProps,
/* [in] */ __RPC__in_opt IMFRemoteAsyncCallback *pCallback);
/* [local] */ HRESULT STDMETHODCALLTYPE IMFSourceResolver_EndCreateObjectFromByteStream_Proxy(
IMFSourceResolver * This,
/* [in] */ IMFAsyncResult *pResult,
/* [annotation][out] */
__out MF_OBJECT_TYPE *pObjectType,
/* [annotation][out] */
__out IUnknown **ppObject);
/* [call_as] */ HRESULT STDMETHODCALLTYPE IMFSourceResolver_EndCreateObjectFromByteStream_Stub(
__RPC__in IMFSourceResolver * This,
/* [in] */ __RPC__in_opt IUnknown *pResult,
/* [out] */ __RPC__out MF_OBJECT_TYPE *pObjectType,
/* [out] */ __RPC__deref_out_opt IUnknown **ppObject);
/* [local] */ HRESULT STDMETHODCALLTYPE IMFMediaSource_CreatePresentationDescriptor_Proxy(
IMFMediaSource * This,
/* [annotation][out] */
__out IMFPresentationDescriptor **ppPresentationDescriptor);
/* [call_as] */ HRESULT STDMETHODCALLTYPE IMFMediaSource_CreatePresentationDescriptor_Stub(
__RPC__in IMFMediaSource * This,
/* [out] */ __RPC__out DWORD *pcbPD,
/* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pcbPD) BYTE **pbPD,
/* [out] */ __RPC__deref_out_opt IMFPresentationDescriptor **ppRemotePD);
/* [local] */ HRESULT STDMETHODCALLTYPE IMFMediaStream_RequestSample_Proxy(
IMFMediaStream * This,
/* [in] */ IUnknown *pToken);
/* [call_as] */ HRESULT STDMETHODCALLTYPE IMFMediaStream_RequestSample_Stub(
__RPC__in IMFMediaStream * This);
/* [local] */ HRESULT STDMETHODCALLTYPE IMFTopologyNode_GetOutputPrefType_Proxy(
IMFTopologyNode * This,
/* [in] */ DWORD dwOutputIndex,
/* [annotation][out] */
__out IMFMediaType **ppType);
/* [call_as] */ HRESULT STDMETHODCALLTYPE IMFTopologyNode_GetOutputPrefType_Stub(
__RPC__in IMFTopologyNode * This,
/* [in] */ DWORD dwOutputIndex,
/* [out] */ __RPC__out DWORD *pcbData,
/* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pcbData) BYTE **ppbData);
/* [local] */ HRESULT STDMETHODCALLTYPE IMFTopologyNode_GetInputPrefType_Proxy(
IMFTopologyNode * This,
/* [in] */ DWORD dwInputIndex,
/* [annotation][out] */
__out IMFMediaType **ppType);
/* [call_as] */ HRESULT STDMETHODCALLTYPE IMFTopologyNode_GetInputPrefType_Stub(
__RPC__in IMFTopologyNode * This,
/* [in] */ DWORD dwInputIndex,
/* [out] */ __RPC__out DWORD *pcbData,
/* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pcbData) BYTE **ppbData);
/* [local] */ HRESULT STDMETHODCALLTYPE IMFMediaTypeHandler_GetCurrentMediaType_Proxy(
IMFMediaTypeHandler * This,
/* [annotation][out] */
__out IMFMediaType **ppMediaType);
/* [call_as] */ HRESULT STDMETHODCALLTYPE IMFMediaTypeHandler_GetCurrentMediaType_Stub(
__RPC__in IMFMediaTypeHandler * This,
/* [size_is][size_is][annotation][out] */
__out BYTE **ppbData,
/* [out] */ __RPC__out DWORD *pcbData);
/* [local] */ HRESULT STDMETHODCALLTYPE IMFContentProtectionManager_BeginEnableContent_Proxy(
IMFContentProtectionManager * This,
/* [in] */ IMFActivate *pEnablerActivate,
/* [in] */ IMFTopology *pTopo,
/* [in] */ IMFAsyncCallback *pCallback,
/* [in] */ IUnknown *punkState);
/* [call_as] */ HRESULT STDMETHODCALLTYPE IMFContentProtectionManager_BeginEnableContent_Stub(
__RPC__in IMFContentProtectionManager * This,
/* [in] */ __RPC__in REFCLSID clsidType,
/* [size_is][in] */ __RPC__in_ecount_full(cbData) BYTE *pbData,
/* [in] */ DWORD cbData,
/* [in] */ __RPC__in_opt IMFRemoteAsyncCallback *pCallback);
/* [local] */ HRESULT STDMETHODCALLTYPE IMFContentProtectionManager_EndEnableContent_Proxy(
IMFContentProtectionManager * This,
/* [in] */ IMFAsyncResult *pResult);
/* [call_as] */ HRESULT STDMETHODCALLTYPE IMFContentProtectionManager_EndEnableContent_Stub(
__RPC__in IMFContentProtectionManager * This,
/* [in] */ __RPC__in_opt IUnknown *pResult);
/* [local] */ HRESULT STDMETHODCALLTYPE IMFWorkQueueServices_BeginRegisterTopologyWorkQueuesWithMMCSS_Proxy(
IMFWorkQueueServices * This,
/* [in] */ IMFAsyncCallback *pCallback,
/* [in] */ IUnknown *pState);
/* [call_as] */ HRESULT STDMETHODCALLTYPE IMFWorkQueueServices_BeginRegisterTopologyWorkQueuesWithMMCSS_Stub(
__RPC__in IMFWorkQueueServices * This,
/* [in] */ __RPC__in_opt IMFRemoteAsyncCallback *pCallback);
/* [local] */ HRESULT STDMETHODCALLTYPE IMFWorkQueueServices_EndRegisterTopologyWorkQueuesWithMMCSS_Proxy(
IMFWorkQueueServices * This,
/* [in] */ IMFAsyncResult *pResult);
/* [call_as] */ HRESULT STDMETHODCALLTYPE IMFWorkQueueServices_EndRegisterTopologyWorkQueuesWithMMCSS_Stub(
__RPC__in IMFWorkQueueServices * This,
/* [in] */ __RPC__in_opt IUnknown *pResult);
/* [local] */ HRESULT STDMETHODCALLTYPE IMFWorkQueueServices_BeginUnregisterTopologyWorkQueuesWithMMCSS_Proxy(
IMFWorkQueueServices * This,
/* [in] */ IMFAsyncCallback *pCallback,
/* [in] */ IUnknown *pState);
/* [call_as] */ HRESULT STDMETHODCALLTYPE IMFWorkQueueServices_BeginUnregisterTopologyWorkQueuesWithMMCSS_Stub(
__RPC__in IMFWorkQueueServices * This,
/* [in] */ __RPC__in_opt IMFRemoteAsyncCallback *pCallback);
/* [local] */ HRESULT STDMETHODCALLTYPE IMFWorkQueueServices_EndUnregisterTopologyWorkQueuesWithMMCSS_Proxy(
IMFWorkQueueServices * This,
/* [in] */ IMFAsyncResult *pResult);
/* [call_as] */ HRESULT STDMETHODCALLTYPE IMFWorkQueueServices_EndUnregisterTopologyWorkQueuesWithMMCSS_Stub(
__RPC__in IMFWorkQueueServices * This,
/* [in] */ __RPC__in_opt IUnknown *pResult);
/* [local] */ HRESULT STDMETHODCALLTYPE IMFWorkQueueServices_BeginRegisterPlatformWorkQueueWithMMCSS_Proxy(
IMFWorkQueueServices * This,
/* [in] */ DWORD dwPlatformWorkQueue,
/* [in] */ LPCWSTR wszClass,
/* [in] */ DWORD dwTaskId,
/* [in] */ IMFAsyncCallback *pCallback,
/* [in] */ IUnknown *pState);
/* [call_as] */ HRESULT STDMETHODCALLTYPE IMFWorkQueueServices_BeginRegisterPlatformWorkQueueWithMMCSS_Stub(
__RPC__in IMFWorkQueueServices * This,
/* [in] */ DWORD dwPlatformWorkQueue,
/* [in] */ __RPC__in LPCWSTR wszClass,
/* [in] */ DWORD dwTaskId,
/* [in] */ __RPC__in_opt IMFRemoteAsyncCallback *pCallback);
/* [local] */ HRESULT STDMETHODCALLTYPE IMFWorkQueueServices_EndRegisterPlatformWorkQueueWithMMCSS_Proxy(
IMFWorkQueueServices * This,
/* [in] */ IMFAsyncResult *pResult,
/* [annotation][out] */
__out DWORD *pdwTaskId);
/* [call_as] */ HRESULT STDMETHODCALLTYPE IMFWorkQueueServices_EndRegisterPlatformWorkQueueWithMMCSS_Stub(
__RPC__in IMFWorkQueueServices * This,
/* [in] */ __RPC__in_opt IUnknown *pResult,
/* [out] */ __RPC__out DWORD *pdwTaskId);
/* [local] */ HRESULT STDMETHODCALLTYPE IMFWorkQueueServices_BeginUnregisterPlatformWorkQueueWithMMCSS_Proxy(
IMFWorkQueueServices * This,
/* [in] */ DWORD dwPlatformWorkQueue,
/* [in] */ IMFAsyncCallback *pCallback,
/* [in] */ IUnknown *pState);
/* [call_as] */ HRESULT STDMETHODCALLTYPE IMFWorkQueueServices_BeginUnregisterPlatformWorkQueueWithMMCSS_Stub(
__RPC__in IMFWorkQueueServices * This,
/* [in] */ DWORD dwPlatformWorkQueue,
/* [in] */ __RPC__in_opt IMFRemoteAsyncCallback *pCallback);
/* [local] */ HRESULT STDMETHODCALLTYPE IMFWorkQueueServices_EndUnregisterPlatformWorkQueueWithMMCSS_Proxy(
IMFWorkQueueServices * This,
/* [in] */ IMFAsyncResult *pResult);
/* [call_as] */ HRESULT STDMETHODCALLTYPE IMFWorkQueueServices_EndUnregisterPlatformWorkQueueWithMMCSS_Stub(
__RPC__in IMFWorkQueueServices * This,
/* [in] */ __RPC__in_opt IUnknown *pResult);
/* [local] */ HRESULT STDMETHODCALLTYPE IMFPMPHost_CreateObjectByCLSID_Proxy(
IMFPMPHost * This,
/* [in] */ REFCLSID clsid,
/* [unique][in] */ IStream *pStream,
/* [in] */ REFIID riid,
/* [iid_is][out] */ void **ppv);
/* [call_as] */ HRESULT STDMETHODCALLTYPE IMFPMPHost_CreateObjectByCLSID_Stub(
__RPC__in IMFPMPHost * This,
/* [in] */ __RPC__in REFCLSID clsid,
/* [size_is][unique][in] */ __RPC__in_ecount_full_opt(cbData) BYTE *pbData,
/* [in] */ DWORD cbData,
/* [in] */ __RPC__in REFIID riid,
/* [iid_is][out] */ __RPC__deref_out_opt void **ppv);
/* end of Additional Prototypes */
#ifdef __cplusplus
}
#endif
#endif