Headers diff for mfplat.dll between 12.0.7601.19091-Windows_7.0 and 12.0.9600.17415-Windows_8.1 versions



 mfapi.h (12.0.7601.19091-Windows_7.0)   mfapi.h (12.0.9600.17415-Windows_8.1) 
#include <winapifamily.h>
//*@@@+++@@@@****************************************************************** //*@@@+++@@@@******************************************************************
// //
// Microsoft Windows Media Foundation // Microsoft Windows Media Foundation
// Copyright (C) Microsoft Corporation. All rights reserved. // Copyright (C) Microsoft Corporation. All rights reserved.
// //
//*@@@---@@@@****************************************************************** //*@@@---@@@@******************************************************************
// //
// //
// MFAPI.h is the header containing the APIs for using the MF platform. // MFAPI.h is the header containing the APIs for using the MF platform.
skipping to change at line 69 skipping to change at line 71
// //
// Initializes the platform object. // Initializes the platform object.
// Must be called before using Media Foundation. // Must be called before using Media Foundation.
// A matching MFShutdown call must be made when the application is done using // A matching MFShutdown call must be made when the application is done using
// Media Foundation. // Media Foundation.
// The "Version" parameter should be set to MF_API_VERSION. // The "Version" parameter should be set to MF_API_VERSION.
// Application should not call MFStartup / MFShutdown from workqueue threads // Application should not call MFStartup / MFShutdown from workqueue threads
// //
#if defined(__cplusplus) #if defined(__cplusplus)
#pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
STDAPI MFStartup( ULONG Version, DWORD dwFlags = MFSTARTUP_FULL ); STDAPI MFStartup( ULONG Version, DWORD dwFlags = MFSTARTUP_FULL );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
#pragma endregion
#else #else
#pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
STDAPI MFStartup( ULONG Version, DWORD dwFlags ); STDAPI MFStartup( ULONG Version, DWORD dwFlags );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
#pragma endregion
#endif #endif
#pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
// //
// Shuts down the platform object. // Shuts down the platform object.
// Releases all resources including threads. // Releases all resources including threads.
// Application should call MFShutdown the same number of times as MFStartup // Application should call MFShutdown the same number of times as MFStartup
// Application should not call MFStartup / MFShutdown from workqueue threads // Application should not call MFStartup / MFShutdown from workqueue threads
// //
STDAPI MFShutdown(); STDAPI MFShutdown();
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
///////////////////////////////// Platform /////////////////////////////// ///////////////////////////////// Platform ///////////////////////////////
skipping to change at line 100 skipping to change at line 121
STDAPI MFLockPlatform(); STDAPI MFLockPlatform();
STDAPI MFUnlockPlatform(); STDAPI MFUnlockPlatform();
/////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////
// //
// MF workitem functions // MF workitem functions
// //
typedef unsigned __int64 MFWORKITEM_KEY; typedef unsigned __int64 MFWORKITEM_KEY;
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
#pragma endregion
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
STDAPI MFPutWorkItem( STDAPI MFPutWorkItem(
DWORD dwQueue, DWORD dwQueue,
IMFAsyncCallback * pCallback, IMFAsyncCallback * pCallback,
IUnknown * pState); IUnknown * pState);
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
STDAPI MFPutWorkItem2(
DWORD dwQueue,
LONG Priority,
_In_ IMFAsyncCallback * pCallback,
_In_opt_ IUnknown * pState);
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
#pragma endregion
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
STDAPI MFPutWorkItemEx( STDAPI MFPutWorkItemEx(
DWORD dwQueue, DWORD dwQueue,
IMFAsyncResult * pResult); IMFAsyncResult * pResult);
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
STDAPI MFPutWorkItemEx2(
DWORD dwQueue,
LONG Priority,
_In_ IMFAsyncResult * pResult);
STDAPI MFPutWaitingWorkItem (
HANDLE hEvent,
LONG Priority,
_In_ IMFAsyncResult * pResult,
_Out_opt_ MFWORKITEM_KEY * pKey
);
STDAPI MFAllocateSerialWorkQueue (
_In_ DWORD dwWorkQueue,
_Out_ OUT DWORD * pdwWorkQueue);
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
#pragma endregion
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
STDAPI MFScheduleWorkItem( STDAPI MFScheduleWorkItem(
IMFAsyncCallback * pCallback, IMFAsyncCallback * pCallback,
IUnknown * pState, IUnknown * pState,
INT64 Timeout, INT64 Timeout,
__out_opt MFWORKITEM_KEY * pKey); _Out_opt_ MFWORKITEM_KEY * pKey);
STDAPI MFScheduleWorkItemEx( STDAPI MFScheduleWorkItemEx(
IMFAsyncResult * pResult, IMFAsyncResult * pResult,
INT64 Timeout, INT64 Timeout,
__out_opt MFWORKITEM_KEY * pKey); _Out_opt_ MFWORKITEM_KEY * pKey);
// //
// The CancelWorkItem method is used by objects to cancel scheduled operation // The CancelWorkItem method is used by objects to cancel scheduled operation
// Due to asynchronous nature of timers, application might still get a // Due to asynchronous nature of timers, application might still get a
// timer callback after MFCancelWorkItem has returned. // timer callback after MFCancelWorkItem has returned.
// //
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
STDAPI MFCancelWorkItem( STDAPI MFCancelWorkItem(
MFWORKITEM_KEY Key); MFWORKITEM_KEY Key);
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
#pragma endregion
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
/////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////
// //
// MF periodic callbacks // MF periodic callbacks
// //
STDAPI MFGetTimerPeriodicity( STDAPI MFGetTimerPeriodicity(
__out DWORD * Periodicity); _Out_ DWORD * Periodicity);
typedef void (*MFPERIODICCALLBACK)(IUnknown* pContext); typedef void (*MFPERIODICCALLBACK)(IUnknown* pContext);
STDAPI MFAddPeriodicCallback( STDAPI MFAddPeriodicCallback(
MFPERIODICCALLBACK Callback, MFPERIODICCALLBACK Callback,
IUnknown * pContext, IUnknown * pContext,
__out_opt DWORD * pdwKey); _Out_opt_ DWORD * pdwKey);
STDAPI MFRemovePeriodicCallback( STDAPI MFRemovePeriodicCallback(
DWORD dwKey); DWORD dwKey);
/////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////
// //
// MF work queues // MF work queues
// //
skipping to change at line 165 skipping to change at line 250
// //
typedef enum typedef enum
{ {
// MF_STANDARD_WORKQUEUE: Work queue in a thread without Window // MF_STANDARD_WORKQUEUE: Work queue in a thread without Window
// message loop. // message loop.
MF_STANDARD_WORKQUEUE = 0, MF_STANDARD_WORKQUEUE = 0,
// MF_WINDOW_WORKQUEUE: Work queue in a thread running Window // MF_WINDOW_WORKQUEUE: Work queue in a thread running Window
// Message loop that calls PeekMessage() / DispatchMessage().. // Message loop that calls PeekMessage() / DispatchMessage()..
MF_WINDOW_WORKQUEUE = 1, MF_WINDOW_WORKQUEUE = 1,
//
//
MF_MULTITHREADED_WORKQUEUE = 2, // common MT threadpool
} MFASYNC_WORKQUEUE_TYPE; } MFASYNC_WORKQUEUE_TYPE;
STDAPI MFAllocateWorkQueueEx( STDAPI MFAllocateWorkQueueEx(
__in MFASYNC_WORKQUEUE_TYPE WorkQueueType, _In_ MFASYNC_WORKQUEUE_TYPE WorkQueueType,
__out OUT DWORD * pdwWorkQueue); _Out_ OUT DWORD * pdwWorkQueue);
#endif // (WINVER >= _WIN32_WINNT_WIN7) #endif // (WINVER >= _WIN32_WINNT_WIN7)
// //
// Allocate a standard work queue. the behaviour is the same with: // Allocate a standard work queue. the behaviour is the same with:
// MFAllocateWorkQueueEx( MF_STANDARD_WORKQUEUE, pdwWorkQueue ) // MFAllocateWorkQueueEx( MF_STANDARD_WORKQUEUE, pdwWorkQueue )
// //
STDAPI MFAllocateWorkQueue( STDAPI MFAllocateWorkQueue(
__out OUT DWORD * pdwWorkQueue); _Out_ OUT DWORD * pdwWorkQueue);
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
STDAPI MFLockWorkQueue( STDAPI MFLockWorkQueue(
__in DWORD dwWorkQueue); _In_ DWORD dwWorkQueue);
STDAPI MFUnlockWorkQueue( STDAPI MFUnlockWorkQueue(
__in DWORD dwWorkQueue); _In_ DWORD dwWorkQueue);
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
#pragma endregion
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
STDAPI MFBeginRegisterWorkQueueWithMMCSS( STDAPI MFBeginRegisterWorkQueueWithMMCSS(
DWORD dwWorkQueueId, DWORD dwWorkQueueId,
__in LPCWSTR wszClass, _In_ LPCWSTR wszClass,
DWORD dwTaskId, DWORD dwTaskId,
__in IMFAsyncCallback * pDoneCallback, _In_ IMFAsyncCallback * pDoneCallback,
__in IUnknown * pDoneState ); _In_ IUnknown * pDoneState );
STDAPI MFBeginRegisterWorkQueueWithMMCSSEx(
DWORD dwWorkQueueId,
_In_ LPCWSTR wszClass,
DWORD dwTaskId,
LONG lPriority,
_In_ IMFAsyncCallback * pDoneCallback,
_In_ IUnknown * pDoneState );
STDAPI MFEndRegisterWorkQueueWithMMCSS( STDAPI MFEndRegisterWorkQueueWithMMCSS(
__in IMFAsyncResult * pResult, _In_ IMFAsyncResult * pResult,
__out DWORD * pdwTaskId ); _Out_ DWORD * pdwTaskId );
STDAPI MFBeginUnregisterWorkQueueWithMMCSS( STDAPI MFBeginUnregisterWorkQueueWithMMCSS(
DWORD dwWorkQueueId, DWORD dwWorkQueueId,
__in IMFAsyncCallback * pDoneCallback, _In_ IMFAsyncCallback * pDoneCallback,
__in IUnknown * pDoneState ); _In_ IUnknown * pDoneState );
STDAPI MFEndUnregisterWorkQueueWithMMCSS( STDAPI MFEndUnregisterWorkQueueWithMMCSS(
__in IMFAsyncResult * pResult ); _In_ IMFAsyncResult * pResult );
STDAPI MFGetWorkQueueMMCSSClass( STDAPI MFGetWorkQueueMMCSSClass(
DWORD dwWorkQueueId, DWORD dwWorkQueueId,
__out_ecount_part_opt(*pcchClass,*pcchClass) LPWSTR pwszClass, _Out_writes_to_opt_(*pcchClass,*pcchClass) LPWSTR pwszClass,
__inout DWORD *pcchClass ); _Inout_ DWORD *pcchClass );
STDAPI MFGetWorkQueueMMCSSTaskId( STDAPI MFGetWorkQueueMMCSSTaskId(
DWORD dwWorkQueueId, DWORD dwWorkQueueId,
__out LPDWORD pdwTaskId ); _Out_ LPDWORD pdwTaskId );
STDAPI MFRegisterPlatformWithMMCSS(
_In_ PCWSTR wszClass,
_Inout_ DWORD* pdwTaskId,
_In_ LONG lPriority );
STDAPI MFUnregisterPlatformFromMMCSS();
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
STDAPI MFLockSharedWorkQueue(
_In_ PCWSTR wszClass,
_In_ LONG BasePriority,
_Inout_ DWORD* pdwTaskId,
_Out_ DWORD* pID );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
#pragma endregion
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
STDAPI MFGetWorkQueueMMCSSPriority(
DWORD dwWorkQueueId,
_Out_ LONG* lPriority );
/////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////
///////////////////////////////// Async Model ////////////////////////////// ///////////////////////////////// Async Model //////////////////////////////
/////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////
// //
// Instantiates the MF-provided Async Result implementation // Instantiates the MF-provided Async Result implementation
// //
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
STDAPI MFCreateAsyncResult( STDAPI MFCreateAsyncResult(
IUnknown * punkObject, IUnknown * punkObject,
IMFAsyncCallback * pCallback, IMFAsyncCallback * pCallback,
IUnknown * punkState, IUnknown * punkState,
__out IMFAsyncResult ** ppAsyncResult ); _Out_ IMFAsyncResult ** ppAsyncResult );
// //
// Helper for calling IMFAsyncCallback::Invoke // Helper for calling IMFAsyncCallback::Invoke
// //
STDAPI MFInvokeCallback( STDAPI MFInvokeCallback(
IMFAsyncResult * pAsyncResult ); IMFAsyncResult * pAsyncResult );
// //
// MFASYNCRESULT struct. // MFASYNCRESULT struct.
// Any implementation of IMFAsyncResult must inherit from this struct; // Any implementation of IMFAsyncResult must inherit from this struct;
skipping to change at line 258 skipping to change at line 402
{ {
IMFAsyncResult AsyncResult; IMFAsyncResult AsyncResult;
OVERLAPPED overlapped; OVERLAPPED overlapped;
IMFAsyncCallback * pCallback; IMFAsyncCallback * pCallback;
HRESULT hrStatusResult; HRESULT hrStatusResult;
DWORD dwBytesTransferred; DWORD dwBytesTransferred;
HANDLE hEvent; HANDLE hEvent;
} MFASYNCRESULT; } MFASYNCRESULT;
#endif /* C style interface */ #endif /* C style interface */
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
#pragma endregion
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
/////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////
///////////////////////////////// Files ////////////////////////////// ///////////////////////////////// Files //////////////////////////////
/////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////
// //
// Regardless of the access mode with which the file is opened, the sharing // Regardless of the access mode with which the file is opened, the sharing
// permissions will allow shared reading and deleting. // permissions will allow shared reading and deleting.
// //
STDAPI MFCreateFile( STDAPI MFCreateFile(
MF_FILE_ACCESSMODE AccessMode, MF_FILE_ACCESSMODE AccessMode,
MF_FILE_OPENMODE OpenMode, MF_FILE_OPENMODE OpenMode,
MF_FILE_FLAGS fFlags, MF_FILE_FLAGS fFlags,
LPCWSTR pwszFileURL, LPCWSTR pwszFileURL,
__out IMFByteStream **ppIByteStream ); _Out_ IMFByteStream **ppIByteStream );
STDAPI MFCreateTempFile( STDAPI MFCreateTempFile(
MF_FILE_ACCESSMODE AccessMode, MF_FILE_ACCESSMODE AccessMode,
MF_FILE_OPENMODE OpenMode, MF_FILE_OPENMODE OpenMode,
MF_FILE_FLAGS fFlags, MF_FILE_FLAGS fFlags,
__out IMFByteStream **ppIByteStream ); _Out_ IMFByteStream **ppIByteStream );
STDAPI MFBeginCreateFile( STDAPI MFBeginCreateFile(
MF_FILE_ACCESSMODE AccessMode, MF_FILE_ACCESSMODE AccessMode,
MF_FILE_OPENMODE OpenMode, MF_FILE_OPENMODE OpenMode,
MF_FILE_FLAGS fFlags, MF_FILE_FLAGS fFlags,
LPCWSTR pwszFilePath, LPCWSTR pwszFilePath,
IMFAsyncCallback * pCallback, IMFAsyncCallback * pCallback,
IUnknown * pState, IUnknown * pState,
__out IUnknown ** ppCancelCookie); _Out_ IUnknown ** ppCancelCookie);
STDAPI MFEndCreateFile( STDAPI MFEndCreateFile(
IMFAsyncResult * pResult, IMFAsyncResult * pResult,
__out IMFByteStream **ppFile ); _Out_ IMFByteStream **ppFile );
STDAPI MFCancelCreateFile( STDAPI MFCancelCreateFile(
IUnknown * pCancelCookie); IUnknown * pCancelCookie);
/////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////
///////////////////////////////// Buffers ////////////////////////////// ///////////////////////////////// Buffers //////////////////////////////
/////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////
// //
// Creates an IMFMediaBuffer in memory // Creates an IMFMediaBuffer in memory
// //
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
STDAPI MFCreateMemoryBuffer( STDAPI MFCreateMemoryBuffer(
__in DWORD cbMaxLength, _In_ DWORD cbMaxLength,
__out IMFMediaBuffer ** ppBuffer ); _Out_ IMFMediaBuffer ** ppBuffer );
// //
// Creates an IMFMediaBuffer wrapper at the given offset and length // Creates an IMFMediaBuffer wrapper at the given offset and length
// within an existing IMFMediaBuffer // within an existing IMFMediaBuffer
// //
STDAPI MFCreateMediaBufferWrapper( STDAPI MFCreateMediaBufferWrapper(
__in IMFMediaBuffer * pBuffer, _In_ IMFMediaBuffer * pBuffer,
__in DWORD cbOffset, _In_ DWORD cbOffset,
__in DWORD dwLength, _In_ DWORD dwLength,
__out IMFMediaBuffer ** ppBuffer ); _Out_ IMFMediaBuffer ** ppBuffer );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
#pragma endregion
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
// //
// Creates a legacy buffer (IMediaBuffer) wrapper at the given offset within // Creates a legacy buffer (IMediaBuffer) wrapper at the given offset within
// an existing IMFMediaBuffer. // an existing IMFMediaBuffer.
// pSample is optional. It can point to the original IMFSample from which this // pSample is optional. It can point to the original IMFSample from which this
// IMFMediaBuffer came. If provided, then *ppMediaBuffer will succeed // IMFMediaBuffer came. If provided, then *ppMediaBuffer will succeed
// QueryInterface for IID_IMFSample, from which the original sample's attributes // QueryInterface for IID_IMFSample, from which the original sample's attributes
// can be obtained // can be obtained
// //
STDAPI MFCreateLegacyMediaBufferOnMFMediaBuffer( STDAPI MFCreateLegacyMediaBufferOnMFMediaBuffer(
__in_opt IMFSample * pSample, _In_opt_ IMFSample * pSample,
__in IMFMediaBuffer * pMFMediaBuffer, _In_ IMFMediaBuffer * pMFMediaBuffer,
__in DWORD cbOffset, _In_ DWORD cbOffset,
__deref_out IMediaBuffer ** ppMediaBuffer ); _Outptr_ IMediaBuffer ** ppMediaBuffer );
// //
// Create a DirectX surface buffer // Create a DirectX surface buffer
// //
#include <dxgiformat.h>
STDAPI_(DXGI_FORMAT) MFMapDX9FormatToDXGIFormat( _In_ DWORD dx9 );
STDAPI_(DWORD) MFMapDXGIFormatToDX9Format( _In_ DXGI_FORMAT dx11 );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
STDAPI MFLockDXGIDeviceManager(
_Out_opt_ UINT* pResetToken,
_Outptr_ IMFDXGIDeviceManager** ppManager
);
STDAPI MFUnlockDXGIDeviceManager();
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
#pragma endregion
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
STDAPI MFCreateDXSurfaceBuffer( STDAPI MFCreateDXSurfaceBuffer(
__in REFIID riid, _In_ REFIID riid,
__in IUnknown * punkSurface, _In_ IUnknown * punkSurface,
__in BOOL fBottomUpWhenLinear, _In_ BOOL fBottomUpWhenLinear,
__deref_out IMFMediaBuffer ** ppBuffer ); _Outptr_ IMFMediaBuffer ** ppBuffer );
STDAPI MFCreateWICBitmapBuffer(
_In_ REFIID riid,
_In_ IUnknown * punkSurface,
_Outptr_ IMFMediaBuffer ** ppBuffer
);
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
STDAPI
MFCreateDXGISurfaceBuffer(
_In_ REFIID riid,
_In_ IUnknown* punkSurface,
_In_ UINT uSubresourceIndex,
_In_ BOOL fBottomUpWhenLinear,
_Outptr_ IMFMediaBuffer** ppBuffer
);
STDAPI MFCreateVideoSampleAllocatorEx(
_In_ REFIID riid,
_Outptr_ void** ppSampleAllocator
);
STDAPI
MFCreateDXGIDeviceManager(
_Out_ UINT* resetToken,
_Outptr_ IMFDXGIDeviceManager** ppDeviceManager
);
#define MF_E_DXGI_DEVICE_NOT_INITIALIZED ((HRESULT)0x80041000L) // DXVA2_E_NOT_
INITIALIZED
#define MF_E_DXGI_NEW_VIDEO_DEVICE ((HRESULT)0x80041001L) // DXVA2_E_NEW_
VIDEO_DEVICE
#define MF_E_DXGI_VIDEO_DEVICE_LOCKED ((HRESULT)0x80041002L) // DXVA2_E_VIDE
O_DEVICE_LOCKED
// //
// Create an aligned memory buffer. // Create an aligned memory buffer.
// The following constants were chosen for parity with the alignment constants // The following constants were chosen for parity with the alignment constants
// in ntioapi.h // in ntioapi.h
// //
#define MF_1_BYTE_ALIGNMENT 0x00000000 #define MF_1_BYTE_ALIGNMENT 0x00000000
#define MF_2_BYTE_ALIGNMENT 0x00000001 #define MF_2_BYTE_ALIGNMENT 0x00000001
#define MF_4_BYTE_ALIGNMENT 0x00000003 #define MF_4_BYTE_ALIGNMENT 0x00000003
#define MF_8_BYTE_ALIGNMENT 0x00000007 #define MF_8_BYTE_ALIGNMENT 0x00000007
#define MF_16_BYTE_ALIGNMENT 0x0000000f #define MF_16_BYTE_ALIGNMENT 0x0000000f
#define MF_32_BYTE_ALIGNMENT 0x0000001f #define MF_32_BYTE_ALIGNMENT 0x0000001f
#define MF_64_BYTE_ALIGNMENT 0x0000003f #define MF_64_BYTE_ALIGNMENT 0x0000003f
#define MF_128_BYTE_ALIGNMENT 0x0000007f #define MF_128_BYTE_ALIGNMENT 0x0000007f
#define MF_256_BYTE_ALIGNMENT 0x000000ff #define MF_256_BYTE_ALIGNMENT 0x000000ff
#define MF_512_BYTE_ALIGNMENT 0x000001ff #define MF_512_BYTE_ALIGNMENT 0x000001ff
STDAPI MFCreateAlignedMemoryBuffer( STDAPI MFCreateAlignedMemoryBuffer(
__in DWORD cbMaxLength, _In_ DWORD cbMaxLength,
__in DWORD cbAligment, _In_ DWORD cbAligment,
__out IMFMediaBuffer ** ppBuffer ); _Out_ IMFMediaBuffer ** ppBuffer );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
#pragma endregion
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
// //
// This GUID is used in IMFGetService::GetService calls to retrieve // This GUID is used in IMFGetService::GetService calls to retrieve
// interfaces from the buffer. Its value is defined in evr.h // interfaces from the buffer. Its value is defined in evr.h
// //
EXTERN_C const GUID MR_BUFFER_SERVICE; EXTERN_C const GUID MR_BUFFER_SERVICE;
/////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////
///////////////////////////////// Events ////////////////////////////// ///////////////////////////////// Events //////////////////////////////
/////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////
// //
// Instantiates the MF-provided Media Event implementation. // Instantiates the MF-provided Media Event implementation.
// //
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
STDAPI MFCreateMediaEvent( STDAPI MFCreateMediaEvent(
__in MediaEventType met, _In_ MediaEventType met,
__in REFGUID guidExtendedType, _In_ REFGUID guidExtendedType,
__in HRESULT hrStatus, _In_ HRESULT hrStatus,
__in_opt const PROPVARIANT * pvValue, _In_opt_ const PROPVARIANT * pvValue,
__out IMFMediaEvent ** ppEvent ); _Out_ IMFMediaEvent ** ppEvent );
// //
// Instantiates an object that implements IMFMediaEventQueue. // Instantiates an object that implements IMFMediaEventQueue.
// Components that provide an IMFMediaEventGenerator can use this object // Components that provide an IMFMediaEventGenerator can use this object
// internally to do their Media Event Generator work for them. // internally to do their Media Event Generator work for them.
// IMFMediaEventGenerator calls should be forwarded to the similar call // IMFMediaEventGenerator calls should be forwarded to the similar call
// on this object's IMFMediaEventQueue interface (e.g. BeginGetEvent, // on this object's IMFMediaEventQueue interface (e.g. BeginGetEvent,
// EndGetEvent), and the various IMFMediaEventQueue::QueueEventXXX methods // EndGetEvent), and the various IMFMediaEventQueue::QueueEventXXX methods
// can be used to queue events that the caller will consume. // can be used to queue events that the caller will consume.
// //
STDAPI MFCreateEventQueue( STDAPI MFCreateEventQueue(
__out IMFMediaEventQueue **ppMediaEventQueue ); _Out_ IMFMediaEventQueue **ppMediaEventQueue );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
#pragma endregion
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
// //
// Event attributes // Event attributes
// Some of the common Media Foundation events have associated attributes // Some of the common Media Foundation events have associated attributes
// that go in their IMFAttributes stores // that go in their IMFAttributes stores
// //
// //
// MESessionCapabilitiesChanged attributes // MESessionCapabilitiesChanged attributes
// //
skipping to change at line 413 skipping to change at line 652
// Type: UINT32 // Type: UINT32
DEFINE_GUID(MF_EVENT_SESSIONCAPS, DEFINE_GUID(MF_EVENT_SESSIONCAPS,
0x7e5ebcd0, 0x11b8, 0x4abe, 0xaf, 0xad, 0x10, 0xf6, 0x59, 0x9a, 0x7f, 0x42); 0x7e5ebcd0, 0x11b8, 0x4abe, 0xaf, 0xad, 0x10, 0xf6, 0x59, 0x9a, 0x7f, 0x42);
// MF_EVENT_SESSIONCAPS_DELTA {7E5EBCD1-11B8-4abe-AFAD-10F6599A7F42} // MF_EVENT_SESSIONCAPS_DELTA {7E5EBCD1-11B8-4abe-AFAD-10F6599A7F42}
// Type: UINT32 // Type: UINT32
DEFINE_GUID(MF_EVENT_SESSIONCAPS_DELTA, DEFINE_GUID(MF_EVENT_SESSIONCAPS_DELTA,
0x7e5ebcd1, 0x11b8, 0x4abe, 0xaf, 0xad, 0x10, 0xf6, 0x59, 0x9a, 0x7f, 0x42); 0x7e5ebcd1, 0x11b8, 0x4abe, 0xaf, 0xad, 0x10, 0xf6, 0x59, 0x9a, 0x7f, 0x42);
// Session capabilities bitflags // Session capabilities bitflags
#define MFSESSIONCAP_START 0x00000001 #define MFSESSIONCAP_START 0x00000001
#define MFSESSIONCAP_SEEK 0x00000002 #define MFSESSIONCAP_SEEK 0x00000002
#define MFSESSIONCAP_PAUSE 0x00000004 #define MFSESSIONCAP_PAUSE 0x00000004
#define MFSESSIONCAP_RATE_FORWARD 0x00000010 #define MFSESSIONCAP_RATE_FORWARD 0x00000010
#define MFSESSIONCAP_RATE_REVERSE 0x00000020 #define MFSESSIONCAP_RATE_REVERSE 0x00000020
#define MFSESSIONCAP_DOES_NOT_USE_NETWORK 0x00000040
// //
// MESessionTopologyStatus attributes // MESessionTopologyStatus attributes
// //
// Possible values for MF_EVENT_TOPOLOGY_STATUS attribute. // Possible values for MF_EVENT_TOPOLOGY_STATUS attribute.
// //
// For a given topology, these status values will arrive via // For a given topology, these status values will arrive via
// MESessionTopologyStatus in the order below. // MESessionTopologyStatus in the order below.
// //
skipping to change at line 568 skipping to change at line 808
// //
// MESinkInvalidated and MESessionStreamSinkFormatChanged attributes // MESinkInvalidated and MESessionStreamSinkFormatChanged attributes
// //
// MF_EVENT_OUTPUT_NODE {830f1a8b-c060-46dd-a801-1c95dec9b107} // MF_EVENT_OUTPUT_NODE {830f1a8b-c060-46dd-a801-1c95dec9b107}
// Type: UINT64 // Type: UINT64
DEFINE_GUID(MF_EVENT_OUTPUT_NODE, DEFINE_GUID(MF_EVENT_OUTPUT_NODE,
0x830f1a8b, 0xc060, 0x46dd, 0xa8, 0x01, 0x1c, 0x95, 0xde, 0xc9, 0xb1, 0x07); 0x830f1a8b, 0xc060, 0x46dd, 0xa8, 0x01, 0x1c, 0x95, 0xde, 0xc9, 0xb1, 0x07);
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
#if (WINVER >= _WIN32_WINNT_WIN7) #if (WINVER >= _WIN32_WINNT_WIN7)
// //
// METransformNeedInput attributes // METransformNeedInput attributes
// //
// MF_EVENT_MFT_INPUT_STREAM_ID {F29C2CCA-7AE6-42d2-B284-BF837CC874E2} // MF_EVENT_MFT_INPUT_STREAM_ID {F29C2CCA-7AE6-42d2-B284-BF837CC874E2}
// Type: UINT32 // Type: UINT32
DEFINE_GUID(MF_EVENT_MFT_INPUT_STREAM_ID, DEFINE_GUID(MF_EVENT_MFT_INPUT_STREAM_ID,
0xf29c2cca, 0x7ae6, 0x42d2, 0xb2, 0x84, 0xbf, 0x83, 0x7c, 0xc8, 0x74, 0xe2); 0xf29c2cca, 0x7ae6, 0x42d2, 0xb2, 0x84, 0xbf, 0x83, 0x7c, 0xc8, 0x74, 0xe2);
skipping to change at line 589 skipping to change at line 835
// METransformDrainComplete and METransformMarker attributes // METransformDrainComplete and METransformMarker attributes
// //
// MF_EVENT_MFT_CONTEXT {B7CD31F1-899E-4b41-80C9-26A896D32977} // MF_EVENT_MFT_CONTEXT {B7CD31F1-899E-4b41-80C9-26A896D32977}
// Type: UINT64 // Type: UINT64
DEFINE_GUID(MF_EVENT_MFT_CONTEXT, DEFINE_GUID(MF_EVENT_MFT_CONTEXT,
0xb7cd31f1, 0x899e, 0x4b41, 0x80, 0xc9, 0x26, 0xa8, 0x96, 0xd3, 0x29, 0x77); 0xb7cd31f1, 0x899e, 0x4b41, 0x80, 0xc9, 0x26, 0xa8, 0x96, 0xd3, 0x29, 0x77);
#endif // (WINVER >= _WIN32_WINNT_WIN7) #endif // (WINVER >= _WIN32_WINNT_WIN7)
#if (WINVER >= _WIN32_WINNT_WINBLUE)
//
// MEContentProtectionMetadata attributes
//
// MF_EVENT_STREAM_METADATA_KEYDATA {CD59A4A1-4A3B-4BBD-8665-72A40FBEA776}
// Type: BLOB
DEFINE_GUID(MF_EVENT_STREAM_METADATA_KEYDATA,
0xcd59a4a1, 0x4a3b, 0x4bbd, 0x86, 0x65, 0x72, 0xa4, 0xf, 0xbe, 0xa7, 0x76);
// MF_EVENT_STREAM_METADATA_CONTENT_KEYIDS {5063449D-CC29-4FC6-A75A-D247B35AF85C
}
// Type: BLOB
DEFINE_GUID(MF_EVENT_STREAM_METADATA_CONTENT_KEYIDS,
0x5063449d, 0xcc29, 0x4fc6, 0xa7, 0x5a, 0xd2, 0x47, 0xb3, 0x5a, 0xf8, 0x5c);
// MF_EVENT_STREAM_METADATA_SYSTEMID {1EA2EF64-BA16-4A36-8719-FE7560BA32AD}
// Type: BLOB
DEFINE_GUID(MF_EVENT_STREAM_METADATA_SYSTEMID,
0x1ea2ef64, 0xba16, 0x4a36, 0x87, 0x19, 0xfe, 0x75, 0x60, 0xba, 0x32, 0xad);
#endif // (WINVER >= _WIN32_WINNT_WINBLUE)
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
/////////////////////////////// Samples ////////////////////////////////////// /////////////////////////////// Samples //////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
// //
// Creates an instance of the Media Foundation implementation of IMFSample // Creates an instance of the Media Foundation implementation of IMFSample
// //
STDAPI MFCreateSample( __out IMFSample **ppIMFSample );
STDAPI MFCreateSample( _Out_ IMFSample **ppIMFSample );
// //
// Sample attributes // Sample attributes
// These are the well-known attributes that can be present on an MF Sample's // These are the well-known attributes that can be present on an MF Sample's
// IMFAttributes store // IMFAttributes store
// //
// MFSampleExtension_CleanPoint {9cdf01d8-a0f0-43ba-b077-eaa06cbd728a} // MFSampleExtension_CleanPoint {9cdf01d8-a0f0-43ba-b077-eaa06cbd728a}
// Type: UINT32 // Type: UINT32
// If present and nonzero, indicates that the sample is a clean point (key // If present and nonzero, indicates that the sample is a clean point (key
skipping to change at line 628 skipping to change at line 897
0x9cdf01d9, 0xa0f0, 0x43ba, 0xb0, 0x77, 0xea, 0xa0, 0x6c, 0xbd, 0x72, 0x8a); 0x9cdf01d9, 0xa0f0, 0x43ba, 0xb0, 0x77, 0xea, 0xa0, 0x6c, 0xbd, 0x72, 0x8a);
// MFSampleExtension_Token {8294da66-f328-4805-b551-00deb4c57a61} // MFSampleExtension_Token {8294da66-f328-4805-b551-00deb4c57a61}
// Type: IUNKNOWN // Type: IUNKNOWN
// When an IMFMediaStream delivers a sample via MEMediaStream, this attribute // When an IMFMediaStream delivers a sample via MEMediaStream, this attribute
// should be set to the IUnknown *pToken argument that was passed with the // should be set to the IUnknown *pToken argument that was passed with the
// IMFMediaStream::RequestSample call to which this sample corresponds. // IMFMediaStream::RequestSample call to which this sample corresponds.
DEFINE_GUID(MFSampleExtension_Token, DEFINE_GUID(MFSampleExtension_Token,
0x8294da66, 0xf328, 0x4805, 0xb5, 0x51, 0x00, 0xde, 0xb4, 0xc5, 0x7a, 0x61); 0x8294da66, 0xf328, 0x4805, 0xb5, 0x51, 0x00, 0xde, 0xb4, 0xc5, 0x7a, 0x61);
// MFSampleExtension_DecodeTimestamp {73A954D4-09E2-4861-BEFC-94BD97C08E6E}
// Type : UINT64
// If present, contains the DTS (Decoding Time Stamp) of the sample.
DEFINE_GUID(MFSampleExtension_DecodeTimestamp,
0x73a954d4, 0x9e2, 0x4861, 0xbe, 0xfc, 0x94, 0xbd, 0x97, 0xc0, 0x8e, 0x6e);
// MFSampleExtension_VideoEncodeQP {B2EFE478-F979-4C66-B95E-EE2B82C82F36}
// Type: UINT64
// Used by video encoders to specify the QP used to encode the output sample.
DEFINE_GUID(MFSampleExtension_VideoEncodeQP,
0xb2efe478, 0xf979, 0x4c66, 0xb9, 0x5e, 0xee, 0x2b, 0x82, 0xc8, 0x2f, 0x36);
// MFSampleExtension_VideoEncPictureType {973704E6-CD14-483C-8F20-C9FC0928BAD5}
// Type: UINT32
// Used by video encoders to specify the output sample's picture type.
DEFINE_GUID(MFSampleExtension_VideoEncodePictureType,
0x973704e6, 0xcd14, 0x483c, 0x8f, 0x20, 0xc9, 0xfc, 0x9, 0x28, 0xba, 0xd5);
// MFSampleExtension_FrameCorruption {B4DD4A8C-0BEB-44C4-8B75-B02B913B04F0}
// Type: UINT32
// Indicates whether the frame in the sample has corruption or not
// value 0 indicates that there is no corruption, or it is unknown
// Value 1 indicates that some corruption was detected e.g, during decoding
DEFINE_GUID(MFSampleExtension_FrameCorruption,
0xb4dd4a8c, 0xbeb, 0x44c4, 0x8b, 0x75, 0xb0, 0x2b, 0x91, 0x3b, 0x4, 0xf0);
/////////////////////////////////////////////////////////////////////////////
// //
// The following four sample attributes are used for encrypted samples // The following sample attributes are used for encrypted samples
// //
DEFINE_GUID(MFSampleExtension_DescrambleData, // UINT64 /////////////////////////////////////////////////////////////////////////////
// MFSampleExtension_DescrambleData {43483BE6-4903-4314-B032-2951365936FC}
// Type: UINT64
DEFINE_GUID(MFSampleExtension_DescrambleData,
0x43483be6, 0x4903, 0x4314, 0xb0, 0x32, 0x29, 0x51, 0x36, 0x59, 0x36, 0xfc); 0x43483be6, 0x4903, 0x4314, 0xb0, 0x32, 0x29, 0x51, 0x36, 0x59, 0x36, 0xfc);
DEFINE_GUID(MFSampleExtension_SampleKeyID, // UINT32
// MFSampleExtension_SampleKeyID {9ED713C8-9B87-4B26-8297-A93B0C5A8ACC}
// Type: UINT32
DEFINE_GUID(MFSampleExtension_SampleKeyID,
0x9ed713c8, 0x9b87, 0x4b26, 0x82, 0x97, 0xa9, 0x3b, 0x0c, 0x5a, 0x8a, 0xcc); 0x9ed713c8, 0x9b87, 0x4b26, 0x82, 0x97, 0xa9, 0x3b, 0x0c, 0x5a, 0x8a, 0xcc);
DEFINE_GUID(MFSampleExtension_GenKeyFunc, // UINT64
// MFSampleExtension_GenKeyFunc {441CA1EE-6B1F-4501-903A-DE87DF42F6ED}
// Type: UINT64
DEFINE_GUID(MFSampleExtension_GenKeyFunc,
0x441ca1ee, 0x6b1f, 0x4501, 0x90, 0x3a, 0xde, 0x87, 0xdf, 0x42, 0xf6, 0xed); 0x441ca1ee, 0x6b1f, 0x4501, 0x90, 0x3a, 0xde, 0x87, 0xdf, 0x42, 0xf6, 0xed);
DEFINE_GUID(MFSampleExtension_GenKeyCtx, // UINT64
// MFSampleExtension_GenKeyCtx {188120CB-D7DA-4B59-9B3E-9252FD37301C}
// Type: UINT64
DEFINE_GUID(MFSampleExtension_GenKeyCtx,
0x188120cb, 0xd7da, 0x4b59, 0x9b, 0x3e, 0x92, 0x52, 0xfd, 0x37, 0x30, 0x1c); 0x188120cb, 0xd7da, 0x4b59, 0x9b, 0x3e, 0x92, 0x52, 0xfd, 0x37, 0x30, 0x1c);
DEFINE_GUID(MFSampleExtension_PacketCrossOffsets, // BLOB
// MFSampleExtension_PacketCrossOffsets {2789671D-389F-40BB-90D9-C282F77F9ABD}
// Type: BLOB
DEFINE_GUID(MFSampleExtension_PacketCrossOffsets,
0x2789671d, 0x389f, 0x40bb, 0x90, 0xd9, 0xc2, 0x82, 0xf7, 0x7f, 0x9a, 0xbd); 0x2789671d, 0x389f, 0x40bb, 0x90, 0xd9, 0xc2, 0x82, 0xf7, 0x7f, 0x9a, 0xbd);
// MFSampleExtension_Encryption_SampleID {6698B84E-0AFA-4330-AEB2-1C0A98D7A44D}
// Type: UINT64
DEFINE_GUID(MFSampleExtension_Encryption_SampleID,
0x6698b84e, 0x0afa, 0x4330, 0xae, 0xb2, 0x1c, 0x0a, 0x98, 0xd7, 0xa4, 0x4d);
// MFSampleExtension_Encryption_KeyID {76376591-795F-4DA1-86ED-9D46ECA109A9}
// Type: BLOB
DEFINE_GUID(MFSampleExtension_Encryption_KeyID,
0x76376591, 0x795f, 0x4da1, 0x86, 0xed, 0x9d, 0x46, 0xec, 0xa1, 0x09, 0xa9);
// MFSampleExtension_Content_KeyID {C6C7F5B0-ACCA-415B-87D9-10441469EFC6}
// Type: GUID
DEFINE_GUID(MFSampleExtension_Content_KeyID,
0xc6c7f5b0, 0xacca, 0x415b, 0x87, 0xd9, 0x10, 0x44, 0x14, 0x69, 0xef, 0xc6);
// MFSampleExtension_Encryption_SubSampleMappingSplit {FE0254B9-2AA5-4EDC-99F7-1
7E89DBF9174}
// Type: BLOB
DEFINE_GUID(MFSampleExtension_Encryption_SubSampleMappingSplit,
0xfe0254b9, 0x2aa5, 0x4edc, 0x99, 0xf7, 0x17, 0xe8, 0x9d, 0xbf, 0x91, 0x74);
///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////
// //
// MFSample STANDARD EXTENSION ATTRIBUTE GUIDs // MFSample STANDARD EXTENSION ATTRIBUTE GUIDs
// //
///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////
// {b1d5830a-deb8-40e3-90fa-389943716461} MFSampleExtension_Interlaced {UINT32 (BOOL)} // {b1d5830a-deb8-40e3-90fa-389943716461} MFSampleExtension_Interlaced {UINT32 (BOOL)}
DEFINE_GUID(MFSampleExtension_Interlaced, DEFINE_GUID(MFSampleExtension_Interlaced,
0xb1d5830a, 0xdeb8, 0x40e3, 0x90, 0xfa, 0x38, 0x99, 0x43, 0x71, 0x64, 0x61); 0xb1d5830a, 0xdeb8, 0x40e3, 0x90, 0xfa, 0x38, 0x99, 0x43, 0x71, 0x64, 0x61);
skipping to change at line 668 skipping to change at line 1000
0x304d257c, 0x7493, 0x4fbd, 0xb1, 0x49, 0x92, 0x28, 0xde, 0x8d, 0x9a, 0x99); 0x304d257c, 0x7493, 0x4fbd, 0xb1, 0x49, 0x92, 0x28, 0xde, 0x8d, 0x9a, 0x99);
// {9d85f816-658b-455a-bde0-9fa7e15ab8f9} MFSampleExtension_SingleField {UINT32 (BOOL)} // {9d85f816-658b-455a-bde0-9fa7e15ab8f9} MFSampleExtension_SingleField {UINT32 (BOOL)}
DEFINE_GUID(MFSampleExtension_SingleField, DEFINE_GUID(MFSampleExtension_SingleField,
0x9d85f816, 0x658b, 0x455a, 0xbd, 0xe0, 0x9f, 0xa7, 0xe1, 0x5a, 0xb8, 0xf9); 0x9d85f816, 0x658b, 0x455a, 0xbd, 0xe0, 0x9f, 0xa7, 0xe1, 0x5a, 0xb8, 0xf9);
// {6852465a-ae1c-4553-8e9b-c3420fcb1637} MFSampleExtension_DerivedFromTopFiel d {UINT32 (BOOL)} // {6852465a-ae1c-4553-8e9b-c3420fcb1637} MFSampleExtension_DerivedFromTopFiel d {UINT32 (BOOL)}
DEFINE_GUID(MFSampleExtension_DerivedFromTopField, DEFINE_GUID(MFSampleExtension_DerivedFromTopField,
0x6852465a, 0xae1c, 0x4553, 0x8e, 0x9b, 0xc3, 0x42, 0x0f, 0xcb, 0x16, 0x37); 0x6852465a, 0xae1c, 0x4553, 0x8e, 0x9b, 0xc3, 0x42, 0x0f, 0xcb, 0x16, 0x37);
// MFSampleExtension_MeanAbsoluteDifference {1cdbde11-08b4-4311-a6dd-0f9f371907a
a}
// Type: UINT32
DEFINE_GUID(MFSampleExtension_MeanAbsoluteDifference,
0x1cdbde11, 0x08b4, 0x4311, 0xa6, 0xdd, 0x0f, 0x9f, 0x37, 0x19, 0x07, 0xaa);
// MFSampleExtension_LongTermReferenceFrameInfo {9154733f-e1bd-41bf-81d3-fcd918f
71332}
// Type: UINT32
DEFINE_GUID(MFSampleExtension_LongTermReferenceFrameInfo,
0x9154733f, 0xe1bd, 0x41bf, 0x81, 0xd3, 0xfc, 0xd9, 0x18, 0xf7, 0x13, 0x32);
// MFSampleExtension_ROIRectangle {3414a438-4998-4d2c-be82-be3ca0b24d43}
// Type: BLOB
DEFINE_GUID(MFSampleExtension_ROIRectangle,
0x3414a438, 0x4998, 0x4d2c, 0xbe, 0x82, 0xbe, 0x3c, 0xa0, 0xb2, 0x4d, 0x43);
typedef struct _ROI_AREA {
RECT rect;
INT32 QPDelta;
} ROI_AREA, *PROI_AREA;
///////////////////////////////////////////////////////////////////////////////
/// These are the attribute GUIDs that need to be used by MFT0 to provide
/// thumbnail support. We are declaring these in our internal idl first and
/// once we pass API spec review, we can move it to the public header.
///////////////////////////////////////////////////////////////////////////////
// MFSampleExtension_PhotoThumbnail
// {74BBC85C-C8BB-42DC-B586DA17FFD35DCC}
// Type: IUnknown
// If this attribute is set on the IMFSample provided by the MFT0, this will con
tain the IMFMediaBuffer which contains
// the Photo Thumbnail as configured using the KSPROPERTYSETID_ExtendedCameraCon
trol.
DEFINE_GUID(MFSampleExtension_PhotoThumbnail,
0x74BBC85C, 0xC8BB, 0x42DC, 0xB5, 0x86, 0xDA, 0x17, 0xFF, 0xD3, 0x5D, 0xCC);
// MFSampleExtension_PhotoThumbnailMediaType
// {61AD5420-EBF8-4143-89AF6BF25F672DEF}
// Type: IUnknown
// This attribute will contain the IMFMediaType which describes the image format
type contained in the
// MFSampleExtension_PhotoThumbnail attribute. If the MFSampleExtension_PhotoTh
umbnail attribute
// is present on the photo sample, the MFSampleExtension_PhotoThumbnailMediaType
is required.
DEFINE_GUID(MFSampleExtension_PhotoThumbnailMediaType,
0x61AD5420, 0xEBF8, 0x4143, 0x89, 0xAF, 0x6B, 0xF2, 0x5F, 0x67, 0x2D, 0xEF);
// MFSampleExtension_CaptureMetadata
// Type: IUnknown (IMFAttributes)
// This is the IMFAttributes store for all the metadata related to the capture
// pipeline. It can be potentially present on any IMFSample.
DEFINE_GUID(MFSampleExtension_CaptureMetadata,
0x2EBE23A8, 0xFAF5, 0x444A, 0xA6, 0xA2, 0xEB, 0x81, 0x08, 0x80, 0xAB, 0x5D);
// Put all MF_CAPTURE_METADATA_* here.
// {0F9DD6C6-6003-45D8-BD59-F1F53E3D04E8} MF_CAPTURE_METADATA_PHOTO_FRAME_FLAS
H {UINT32}
// 0 - No flash triggered on this frame.
// non-0 - Flash triggered on this frame.
// Do not explicitly check for a value of 1 here, we may overload this to
// indicate special types of flash going forward (applications should only
// check for != 0 to indicate flash took place).
DEFINE_GUID(MF_CAPTURE_METADATA_PHOTO_FRAME_FLASH,
0x0F9DD6C6, 0x6003, 0x45D8, 0xBD, 0x59, 0xF1, 0xF5, 0x3E, 0x3D, 0x04, 0xE8);
//////////////////////////////////////////////////////////////////////////////// /////////////////////////////// Attributes //////////////////////////////////// //////////////////////////////////////////////////////////////////////////////// /////////////////////////////// Attributes ////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
STDAPI STDAPI
MFCreateAttributes( MFCreateAttributes(
__out IMFAttributes** ppMFAttributes, _Out_ IMFAttributes** ppMFAttributes,
__in UINT32 cInitialSize _In_ UINT32 cInitialSize
); );
STDAPI STDAPI
MFInitAttributesFromBlob( MFInitAttributesFromBlob(
__in IMFAttributes* pAttributes, _In_ IMFAttributes* pAttributes,
__in_bcount(cbBufSize) const UINT8* pBuf, _In_reads_bytes_(cbBufSize) const UINT8* pBuf,
__in UINT cbBufSize _In_ UINT cbBufSize
); );
STDAPI STDAPI
MFGetAttributesAsBlobSize( MFGetAttributesAsBlobSize(
__in IMFAttributes* pAttributes, _In_ IMFAttributes* pAttributes,
__out UINT32* pcbBufSize _Out_ UINT32* pcbBufSize
); );
STDAPI STDAPI
MFGetAttributesAsBlob( MFGetAttributesAsBlob(
__in IMFAttributes* pAttributes, _In_ IMFAttributes* pAttributes,
__out_bcount(cbBufSize) UINT8* pBuf, _Out_writes_bytes_(cbBufSize) UINT8* pBuf,
__in UINT cbBufSize _In_ UINT cbBufSize
); );
//////////////////////////////////////////////////////////////////////////////// /////////////////////////////// MFT Register & Enum /////////////////////////// / //////////////////////////////////////////////////////////////////////////////// /////////////////////////////// MFT Register & Enum /////////////////////////// /
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
// //
// MFT Registry categories // MFT Registry categories
// //
#ifdef MF_INIT_GUIDS #ifdef MF_INIT_GUIDS
skipping to change at line 750 skipping to change at line 1141
#if (WINVER >= _WIN32_WINNT_WIN7) #if (WINVER >= _WIN32_WINNT_WIN7)
// {302EA3FC-AA5F-47f9-9F7A-C2188BB163021}...MFT_CATEGORY_VIDEO_PROCESSOR // {302EA3FC-AA5F-47f9-9F7A-C2188BB163021}...MFT_CATEGORY_VIDEO_PROCESSOR
DEFINE_GUID(MFT_CATEGORY_VIDEO_PROCESSOR, DEFINE_GUID(MFT_CATEGORY_VIDEO_PROCESSOR,
0x302ea3fc, 0xaa5f, 0x47f9, 0x9f, 0x7a, 0xc2, 0x18, 0x8b, 0xb1, 0x63, 0x2); 0x302ea3fc, 0xaa5f, 0x47f9, 0x9f, 0x7a, 0xc2, 0x18, 0x8b, 0xb1, 0x63, 0x2);
#endif // (WINVER >= _WIN32_WINNT_WIN7) #endif // (WINVER >= _WIN32_WINNT_WIN7)
// {90175d57-b7ea-4901-aeb3-933a8747756f} MFT_CATEGORY_OTHER // {90175d57-b7ea-4901-aeb3-933a8747756f} MFT_CATEGORY_OTHER
DEFINE_GUID(MFT_CATEGORY_OTHER, DEFINE_GUID(MFT_CATEGORY_OTHER,
0x90175d57, 0xb7ea, 0x4901, 0xae, 0xb3, 0x93, 0x3a, 0x87, 0x47, 0x75, 0x6f); 0x90175d57, 0xb7ea, 0x4901, 0xae, 0xb3, 0x93, 0x3a, 0x87, 0x47, 0x75, 0x6f);
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
#pragma endregion
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
// //
// "Flags" is for future expansion - for now must be 0 // "Flags" is for future expansion - for now must be 0
// //
STDAPI STDAPI
MFTRegister( MFTRegister(
__in CLSID clsidMFT, _In_ CLSID clsidMFT,
__in GUID guidCategory, _In_ GUID guidCategory,
__in LPWSTR pszName, _In_ LPWSTR pszName,
__in UINT32 Flags, _In_ UINT32 Flags,
__in UINT32 cInputTypes, _In_ UINT32 cInputTypes,
__in_ecount_opt(cInputTypes) MFT_REGISTER_TYPE_INFO* pInputTypes, _In_reads_opt_(cInputTypes) MFT_REGISTER_TYPE_INFO* pInputTypes,
__in UINT32 cOutputTypes, _In_ UINT32 cOutputTypes,
__in_ecount_opt(cOutputTypes) MFT_REGISTER_TYPE_INFO* pOutputTypes, _In_reads_opt_(cOutputTypes) MFT_REGISTER_TYPE_INFO* pOutputTypes,
__in_opt IMFAttributes* pAttributes _In_opt_ IMFAttributes* pAttributes
); );
STDAPI STDAPI
MFTUnregister( MFTUnregister(
__in CLSID clsidMFT _In_ CLSID clsidMFT
); );
#if (WINVER >= _WIN32_WINNT_WIN7) #if (WINVER >= _WIN32_WINNT_WIN7)
// Register an MFT class in-process // Register an MFT class in-process
STDAPI STDAPI
MFTRegisterLocal( MFTRegisterLocal(
__in IClassFactory* pClassFactory, _In_ IClassFactory* pClassFactory,
__in REFGUID guidCategory, _In_ REFGUID guidCategory,
__in LPCWSTR pszName, _In_ LPCWSTR pszName,
__in UINT32 Flags, _In_ UINT32 Flags,
__in UINT32 cInputTypes, _In_ UINT32 cInputTypes,
__in_ecount_opt(cInputTypes)const MFT_REGISTER_TYPE_INFO* pInputTypes, _In_reads_opt_(cInputTypes)const MFT_REGISTER_TYPE_INFO* pInputTypes,
__in UINT32 cOutputTypes, _In_ UINT32 cOutputTypes,
__in_ecount_opt(cOutputTypes)const MFT_REGISTER_TYPE_INFO* pOutputTypes _In_reads_opt_(cOutputTypes)const MFT_REGISTER_TYPE_INFO* pOutputTypes
); );
// Unregister locally registered MFT // Unregister locally registered MFT
// If pClassFactory is NULL all local MFTs are unregistered // If pClassFactory is NULL all local MFTs are unregistered
STDAPI STDAPI
MFTUnregisterLocal( MFTUnregisterLocal(
__in_opt IClassFactory * pClassFactory _In_opt_ IClassFactory * pClassFactory
); );
// Register an MFT class in-process, by CLSID // Register an MFT class in-process, by CLSID
STDAPI STDAPI
MFTRegisterLocalByCLSID( MFTRegisterLocalByCLSID(
__in REFCLSID clisdMFT, _In_ REFCLSID clisdMFT,
__in REFGUID guidCategory, _In_ REFGUID guidCategory,
__in LPCWSTR pszName, _In_ LPCWSTR pszName,
__in UINT32 Flags, _In_ UINT32 Flags,
__in UINT32 cInputTypes, _In_ UINT32 cInputTypes,
__in_ecount_opt(cInputTypes)const MFT_REGISTER_TYPE_INFO* pInputTypes, _In_reads_opt_(cInputTypes)const MFT_REGISTER_TYPE_INFO* pInputTypes,
__in UINT32 cOutputTypes, _In_ UINT32 cOutputTypes,
__in_ecount_opt(cOutputTypes)const MFT_REGISTER_TYPE_INFO* pOutputTypes _In_reads_opt_(cOutputTypes)const MFT_REGISTER_TYPE_INFO* pOutputTypes
); );
// Unregister locally registered MFT by CLSID // Unregister locally registered MFT by CLSID
STDAPI STDAPI
MFTUnregisterLocalByCLSID( MFTUnregisterLocalByCLSID(
__in CLSID clsidMFT _In_ CLSID clsidMFT
); );
#endif // (WINVER >= _WIN32_WINNT_WIN7) #endif // (WINVER >= _WIN32_WINNT_WIN7)
// //
// result *ppclsidMFT must be freed with CoTaskMemFree. // result *ppclsidMFT must be freed with CoTaskMemFree.
// //
STDAPI STDAPI
MFTEnum( MFTEnum(
__in GUID guidCategory, _In_ GUID guidCategory,
__in UINT32 Flags, _In_ UINT32 Flags,
__in_opt MFT_REGISTER_TYPE_INFO* pInputType, _In_opt_ MFT_REGISTER_TYPE_INFO* pInputType,
__in_opt MFT_REGISTER_TYPE_INFO* pOutputType, _In_opt_ MFT_REGISTER_TYPE_INFO* pOutputType,
__in_opt IMFAttributes* pAttributes, _In_opt_ IMFAttributes* pAttributes,
__deref_out_ecount(*pcMFTs) CLSID** ppclsidMFT, // must be freed _Outptr_result_buffer_(*pcMFTs) CLSID** ppclsidMFT, // must be f
with CoTaskMemFree reed with CoTaskMemFree
__out UINT32* pcMFTs _Out_ UINT32* pcMFTs
); );
#if (WINVER >= _WIN32_WINNT_WIN7) #if (WINVER >= _WIN32_WINNT_WIN7)
enum _MFT_ENUM_FLAG enum _MFT_ENUM_FLAG
{ {
MFT_ENUM_FLAG_SYNCMFT = 0x00000001, // Enumerates V1 MFTs. This is MFT_ENUM_FLAG_SYNCMFT = 0x00000001, // Enumerates V1
default. MFTs. This is default.
MFT_ENUM_FLAG_ASYNCMFT = 0x00000002, // Enumerates only software asy MFT_ENUM_FLAG_ASYNCMFT = 0x00000002, // Enumerates on
nc MFTs also known as V2 MFTs ly software async MFTs also known as V2 MFTs
MFT_ENUM_FLAG_HARDWARE = 0x00000004, // Enumerates V2 hardware async MFT_ENUM_FLAG_HARDWARE = 0x00000004, // Enumerates V2
MFTs hardware async MFTs
MFT_ENUM_FLAG_FIELDOFUSE = 0x00000008, // Enumerates MFTs that require MFT_ENUM_FLAG_FIELDOFUSE = 0x00000008, // Enumerates MF
unlocking Ts that require unlocking
MFT_ENUM_FLAG_LOCALMFT = 0x00000010, // Enumerates Locally (in-proce MFT_ENUM_FLAG_LOCALMFT = 0x00000010, // Enumerates Lo
ss) registered MFTs cally (in-process) registered MFTs
MFT_ENUM_FLAG_TRANSCODE_ONLY = 0x00000020, // Enumerates decoder MFTs used MFT_ENUM_FLAG_TRANSCODE_ONLY = 0x00000020, // Enumerates de
by transcode only coder MFTs used by transcode only
MFT_ENUM_FLAG_SORTANDFILTER = 0x00000040, // Apply system local, do not u MFT_ENUM_FLAG_SORTANDFILTER = 0x00000040, // Apply system
se and preferred sorting and filtering local, do not use and preferred sorting and filtering
MFT_ENUM_FLAG_ALL = 0x0000003F // Enumerates all MFTs includin MFT_ENUM_FLAG_SORTANDFILTER_APPROVED_ONLY = 0x000000C0, // Similar to MF
g SW and HW MFTs and applies filtering T_ENUM_FLAG_SORTANDFILTER, but apply a local policy of: MF_PLUGIN_CONTROL_POLICY
_USE_APPROVED_PLUGINS
MFT_ENUM_FLAG_SORTANDFILTER_WEB_ONLY = 0x00000140, // Similar to MF
T_ENUM_FLAG_SORTANDFILTER, but apply a local policy of: MF_PLUGIN_CONTROL_POLICY
_USE_WEB_PLUGINS
MFT_ENUM_FLAG_ALL = 0x0000003F // Enumerates al
l MFTs including SW and HW MFTs and applies filtering
}; };
// //
// result *pppMFTActivate must be freed with CoTaskMemFree. Each IMFActivate poi nter inside this // result *pppMFTActivate must be freed with CoTaskMemFree. Each IMFActivate poi nter inside this
// buffer should be released. // buffer should be released.
// //
STDAPI STDAPI
MFTEnumEx( MFTEnumEx(
__in GUID guidCate _In_ GUID guidCate
gory, gory,
__in UINT32 Flags, _In_ UINT32 Flags,
__in_opt const MFT_REGISTER_TYPE_INFO* pInputTy _In_opt_ const MFT_REGISTER_TYPE_INFO* pInputTy
pe, pe,
__in_opt const MFT_REGISTER_TYPE_INFO* pOutputT _In_opt_ const MFT_REGISTER_TYPE_INFO* pOutputT
ype, ype,
__deref_out_ecount(*pnumMFTActivate) IMFActivate*** pppMFTAc _Outptr_result_buffer_(*pnumMFTActivate) IMFActivate*** pppM
tivate, FTActivate,
__out UINT32* pnumMFTA _Out_ UINT32* pnumMFTA
ctivate ctivate
); );
#endif // (WINVER >= _WIN32_WINNT_WIN7) #endif // (WINVER >= _WIN32_WINNT_WIN7)
// //
// results *pszName, *ppInputTypes, and *ppOutputTypes must be freed with CoTask MemFree. // results *pszName, *ppInputTypes, and *ppOutputTypes must be freed with CoTask MemFree.
// *ppAttributes must be released. // *ppAttributes must be released.
// //
STDAPI STDAPI
MFTGetInfo( MFTGetInfo(
__in CLSID clsidMFT, _In_ CLSID clsidMFT,
__out_opt LPWSTR* pszName, _Out_opt_ LPWSTR* pszName,
__deref_opt_out_ecount(*pcInputTypes) MFT_REGISTER_TYPE_INFO** ppInputTy _Outptr_opt_result_buffer_(*pcInputTypes) MFT_REGISTER_TYPE_INFO** ppInp
pes, utTypes,
__out_opt UINT32* pcInputTy _Out_opt_ UINT32* pcInputTy
pes, pes,
__deref_opt_out_ecount(*pcOutputTypes) MFT_REGISTER_TYPE_INFO** ppOutputT _Outptr_opt_result_buffer_(*pcOutputTypes) MFT_REGISTER_TYPE_INFO** ppOut
ypes, putTypes,
__out_opt UINT32* pcOutputT _Out_opt_ UINT32* pcOutputT
ypes, ypes,
__deref_opt_out_opt IMFAttributes** ppAttribu _Outptr_opt_result_maybenull_ IMFAttributes**
tes ppAttributes
); );
#if (WINVER >= _WIN32_WINNT_WIN7) #if (WINVER >= _WIN32_WINNT_WIN7)
// //
// Get the plugin control API // Get the plugin control API
// //
STDAPI STDAPI
MFGetPluginControl( MFGetPluginControl(
__out IMFPluginControl **ppPluginControl _Out_ IMFPluginControl **ppPluginControl
); );
// //
// Get MFT's merit - checking that is has a valid certificate // Get MFT's merit - checking that is has a valid certificate
// //
STDAPI STDAPI
MFGetMFTMerit( MFGetMFTMerit(
__inout IUnknown *pMFT, _Inout_ IUnknown *pMFT,
__in UINT32 cbVerifier, _In_ UINT32 cbVerifier,
__in_bcount(cbVerifier) const BYTE * verifier, _In_reads_bytes_(cbVerifier) const BYTE * verifier,
__out DWORD *merit _Out_ DWORD *merit
); );
#endif // (WINVER >= _WIN32_WINNT_WIN7) #endif // (WINVER >= _WIN32_WINNT_WIN7)
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#if (WINVER >= _WIN32_WINNT_WIN8)
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
STDAPI
MFRegisterLocalSchemeHandler(
_In_ PCWSTR szScheme,
_In_ IMFActivate* pActivate
);
STDAPI
MFRegisterLocalByteStreamHandler(
_In_ PCWSTR szFileExtension,
_In_ PCWSTR szMimeType,
_In_ IMFActivate* pActivate
);
//
// Wrap a bytestream so that calling Close() on the wrapper
// closes the wrapper but not the original bytestream. The
// original bytestream can then be passed to another
// media source for instance.
//
STDAPI
MFCreateMFByteStreamWrapper(
_In_ IMFByteStream* pStream,
_Out_ IMFByteStream** ppStreamWrapper
);
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
//
// Create a MF activate object that can instantiate media extension objects.
// The activate object supports both IMFActivate and IClassFactory.
//
STDAPI
MFCreateMediaExtensionActivate(
_In_ PCWSTR szActivatableClassId,
_In_opt_ IUnknown* pConfiguration,
_In_ REFIID riid,
_Outptr_ LPVOID* ppvObject
);
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
#pragma endregion
#endif // (WINVER >= _WIN32_WINNT_WIN8)
#pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
//////////////////////////////////////////////////////////////////////////////// /////////////////////////////// MFT Attributes GUIDs ///////////////////////// /// //////////////////////////////////////////////////////////////////////////////// /////////////////////////////// MFT Attributes GUIDs ///////////////////////// ///
// {53476A11-3F13-49fb-AC42-EE2733C96741} MFT_SUPPORT_DYNAMIC_FORMAT_CHANGE {UIN T32 (BOOL)} // {53476A11-3F13-49fb-AC42-EE2733C96741} MFT_SUPPORT_DYNAMIC_FORMAT_CHANGE {UIN T32 (BOOL)}
DEFINE_GUID(MFT_SUPPORT_DYNAMIC_FORMAT_CHANGE, DEFINE_GUID(MFT_SUPPORT_DYNAMIC_FORMAT_CHANGE,
0x53476a11, 0x3f13, 0x49fb, 0xac, 0x42, 0xee, 0x27, 0x33, 0xc9, 0x67, 0x41); 0x53476a11, 0x3f13, 0x49fb, 0xac, 0x42, 0xee, 0x27, 0x33, 0xc9, 0x67, 0x41);
//////////////////////////////////////////////////////////////////////////////// /////////////////////////////// Media Type GUIDs //////////////////////////// //////////////////////////////////////////////////////////////////////////////// /////////////////////////////// Media Type GUIDs ////////////////////////////
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
// //
// GUIDs for media types // GUIDs for media types
// //
// //
// In MF, media types for uncompressed video formats MUST be composed from a Fou rCC or D3DFORMAT combined with // In MF, media types for uncompressed video formats MUST be composed from a Fou rCC or D3DFORMAT combined with
// the "base GUID" {00000000-0000-0010-8000-00AA00389B71} by replacing the initi al 32 bits with the FourCC/D3DFORMAT // the "base GUID" {00000000-0000-0010-8000-00AA00389B71} by replacing the initi al 32 bits with the FourCC/D3DFORMAT
skipping to change at line 918 skipping to change at line 1375
// the "base GUID" {00000000-0000-0010-8000-00AA00389B71} by replacing the initi al 32 bits with the FourCC/D3DFORMAT // the "base GUID" {00000000-0000-0010-8000-00AA00389B71} by replacing the initi al 32 bits with the FourCC/D3DFORMAT
// //
// Audio media types for types which already have a defined wFormatTag value can be constructed similarly, by // Audio media types for types which already have a defined wFormatTag value can be constructed similarly, by
// putting the wFormatTag (zero-extended to 32 bits) into the first 32 bits of t he base GUID. // putting the wFormatTag (zero-extended to 32 bits) into the first 32 bits of t he base GUID.
// //
// Compressed video or audio can also use any well-known GUID that exists, or ca n create a new GUID. // Compressed video or audio can also use any well-known GUID that exists, or ca n create a new GUID.
// //
// GUIDs for common media types are defined below. // GUIDs for common media types are defined below.
// //
// needed for the GUID definition macros below
#ifndef FCC #ifndef FCC
#define FCC(ch4) ((((DWORD)(ch4) & 0xFF) << 24) | \ #define FCC(ch4) ((((DWORD)(ch4) & 0xFF) << 24) | \
(((DWORD)(ch4) & 0xFF00) << 8) | \ (((DWORD)(ch4) & 0xFF00) << 8) | \
(((DWORD)(ch4) & 0xFF0000) >> 8) | \ (((DWORD)(ch4) & 0xFF0000) >> 8) | \
(((DWORD)(ch4) & 0xFF000000) >> 24)) (((DWORD)(ch4) & 0xFF000000) >> 24))
#endif #endif
// //
// this macro creates a media type GUID from a FourCC, D3DFMT, or WAVE_FORMAT // this macro creates a media type GUID from a FourCC, D3DFMT, or WAVE_FORMAT
// //
skipping to change at line 1003 skipping to change at line 1461
DEFINE_MEDIATYPE_GUID( MFVideoFormat_MSS1, FCC('MSS1') ); DEFINE_MEDIATYPE_GUID( MFVideoFormat_MSS1, FCC('MSS1') );
DEFINE_MEDIATYPE_GUID( MFVideoFormat_MSS2, FCC('MSS2') ); DEFINE_MEDIATYPE_GUID( MFVideoFormat_MSS2, FCC('MSS2') );
DEFINE_MEDIATYPE_GUID( MFVideoFormat_MPG1, FCC('MPG1') ); DEFINE_MEDIATYPE_GUID( MFVideoFormat_MPG1, FCC('MPG1') );
DEFINE_MEDIATYPE_GUID( MFVideoFormat_DVSL, FCC('dvsl') ); DEFINE_MEDIATYPE_GUID( MFVideoFormat_DVSL, FCC('dvsl') );
DEFINE_MEDIATYPE_GUID( MFVideoFormat_DVSD, FCC('dvsd') ); DEFINE_MEDIATYPE_GUID( MFVideoFormat_DVSD, FCC('dvsd') );
DEFINE_MEDIATYPE_GUID( MFVideoFormat_DVHD, FCC('dvhd') ); DEFINE_MEDIATYPE_GUID( MFVideoFormat_DVHD, FCC('dvhd') );
DEFINE_MEDIATYPE_GUID( MFVideoFormat_DV25, FCC('dv25') ); DEFINE_MEDIATYPE_GUID( MFVideoFormat_DV25, FCC('dv25') );
DEFINE_MEDIATYPE_GUID( MFVideoFormat_DV50, FCC('dv50') ); DEFINE_MEDIATYPE_GUID( MFVideoFormat_DV50, FCC('dv50') );
DEFINE_MEDIATYPE_GUID( MFVideoFormat_DVH1, FCC('dvh1') ); DEFINE_MEDIATYPE_GUID( MFVideoFormat_DVH1, FCC('dvh1') );
DEFINE_MEDIATYPE_GUID( MFVideoFormat_DVC, FCC('dvc ') ); DEFINE_MEDIATYPE_GUID( MFVideoFormat_DVC, FCC('dvc ') );
DEFINE_MEDIATYPE_GUID( MFVideoFormat_H264, FCC('H264') ); DEFINE_MEDIATYPE_GUID( MFVideoFormat_H264, FCC('H264') ); // assume MFVide oFormat_H264 is frame aligned. that is, each input sample has one complete compr essed frame (one frame picture, two field pictures or a single unpaired field pi cture)
DEFINE_MEDIATYPE_GUID( MFVideoFormat_MJPG, FCC('MJPG') ); DEFINE_MEDIATYPE_GUID( MFVideoFormat_MJPG, FCC('MJPG') );
DEFINE_MEDIATYPE_GUID( MFVideoFormat_420O, FCC('420O') );
DEFINE_MEDIATYPE_GUID( MFVideoFormat_HEVC, FCC('HEVC') );
DEFINE_MEDIATYPE_GUID( MFVideoFormat_HEVC_ES, FCC('HEVS') );
#if (WINVER >= _WIN32_WINNT_WIN8)
DEFINE_MEDIATYPE_GUID( MFVideoFormat_H263, FCC('H263') );
#endif // (WINVER >= _WIN32_WINNT_WIN8)
// //
// undef the local D3DFMT definitions to avoid later clashes with D3D headers // undef the local D3DFMT definitions to avoid later clashes with D3D headers
// //
#ifdef LOCAL_D3DFMT_DEFINES #ifdef LOCAL_D3DFMT_DEFINES
#undef D3DFMT_R8G8B8 #undef D3DFMT_R8G8B8
#undef D3DFMT_A8R8G8B8 #undef D3DFMT_A8R8G8B8
#undef D3DFMT_X8R8G8B8 #undef D3DFMT_X8R8G8B8
#undef D3DFMT_R5G6B5 #undef D3DFMT_R5G6B5
#undef D3DFMT_X1R5G5B5 #undef D3DFMT_X1R5G5B5
#undef D3DFMT_P8 #undef D3DFMT_P8
#undef LOCAL_D3DFMT_DEFINES #undef LOCAL_D3DFMT_DEFINES
#endif #endif
// assume MFVideoFormat_H264_ES may not be frame aligned. that is, each input sa
mple may have one partial frame,
// multiple frames, some frames plus some partial frame
// or more general, N.M frames, N is the integer part and M is the fractional pa
rt.
//
// {3F40F4F0-5622-4FF8-B6D8-A17A584BEE5E} MFVideoFormat_H264_ES
DEFINE_GUID(MFVideoFormat_H264_ES,
0x3f40f4f0, 0x5622, 0x4ff8, 0xb6, 0xd8, 0xa1, 0x7a, 0x58, 0x4b, 0xee, 0x5e);
// //
// some legacy formats that don't fit the common pattern // some legacy formats that don't fit the common pattern
// //
// {e06d8026-db46-11cf-b4d1-00805f6cbbea} MFVideoFormat_MPEG2 // {e06d8026-db46-11cf-b4d1-00805f6cbbea} MFVideoFormat_MPEG2
DEFINE_GUID(MFVideoFormat_MPEG2, DEFINE_GUID(MFVideoFormat_MPEG2,
0xe06d8026, 0xdb46, 0x11cf, 0xb4, 0xd1, 0x00, 0x80, 0x5f, 0x6c, 0xbb, 0xea); 0xe06d8026, 0xdb46, 0x11cf, 0xb4, 0xd1, 0x00, 0x80, 0x5f, 0x6c, 0xbb, 0xea);
#define MFVideoFormat_MPG2 MFVideoFormat_MPEG2 #define MFVideoFormat_MPG2 MFVideoFormat_MPEG2
skipping to change at line 1047 skipping to change at line 1520
DEFINE_MEDIATYPE_GUID( MFAudioFormat_DRM, WAVE_FORMAT_DRM ); DEFINE_MEDIATYPE_GUID( MFAudioFormat_DRM, WAVE_FORMAT_DRM );
DEFINE_MEDIATYPE_GUID( MFAudioFormat_WMAudioV8, WAVE_FORMAT_WMAUDIO2 ); DEFINE_MEDIATYPE_GUID( MFAudioFormat_WMAudioV8, WAVE_FORMAT_WMAUDIO2 );
DEFINE_MEDIATYPE_GUID( MFAudioFormat_WMAudioV9, WAVE_FORMAT_WMAUDIO3 ); DEFINE_MEDIATYPE_GUID( MFAudioFormat_WMAudioV9, WAVE_FORMAT_WMAUDIO3 );
DEFINE_MEDIATYPE_GUID( MFAudioFormat_WMAudio_Lossless, WAVE_FORMAT_WMAUDIO_LOSS LESS ); DEFINE_MEDIATYPE_GUID( MFAudioFormat_WMAudio_Lossless, WAVE_FORMAT_WMAUDIO_LOSS LESS );
DEFINE_MEDIATYPE_GUID( MFAudioFormat_WMASPDIF, WAVE_FORMAT_WMASPDIF ); DEFINE_MEDIATYPE_GUID( MFAudioFormat_WMASPDIF, WAVE_FORMAT_WMASPDIF );
DEFINE_MEDIATYPE_GUID( MFAudioFormat_MSP1, WAVE_FORMAT_WMAVOICE9 ); DEFINE_MEDIATYPE_GUID( MFAudioFormat_MSP1, WAVE_FORMAT_WMAVOICE9 );
DEFINE_MEDIATYPE_GUID( MFAudioFormat_MP3, WAVE_FORMAT_MPEGLAYER3 ) ; DEFINE_MEDIATYPE_GUID( MFAudioFormat_MP3, WAVE_FORMAT_MPEGLAYER3 ) ;
DEFINE_MEDIATYPE_GUID( MFAudioFormat_MPEG, WAVE_FORMAT_MPEG ); DEFINE_MEDIATYPE_GUID( MFAudioFormat_MPEG, WAVE_FORMAT_MPEG );
DEFINE_MEDIATYPE_GUID( MFAudioFormat_AAC, WAVE_FORMAT_MPEG_HEAAC ) ; DEFINE_MEDIATYPE_GUID( MFAudioFormat_AAC, WAVE_FORMAT_MPEG_HEAAC ) ;
DEFINE_MEDIATYPE_GUID( MFAudioFormat_ADTS, WAVE_FORMAT_MPEG_ADTS_AA C ); DEFINE_MEDIATYPE_GUID( MFAudioFormat_ADTS, WAVE_FORMAT_MPEG_ADTS_AA C );
DEFINE_MEDIATYPE_GUID( MFAudioFormat_AMR_NB, WAVE_FORMAT_AMR_NB );
DEFINE_MEDIATYPE_GUID( MFAudioFormat_AMR_WB, WAVE_FORMAT_AMR_WB );
DEFINE_MEDIATYPE_GUID( MFAudioFormat_AMR_WP, WAVE_FORMAT_AMR_WP );
// These audio types are not derived from an existing wFormatTag
DEFINE_GUID(MFAudioFormat_Dolby_AC3, // == MEDIASUBTYPE_DOLBY_AC3 defined in ksu
uids.h
0xe06d802c, 0xdb46, 0x11cf, 0xb4, 0xd1, 0x00, 0x80, 0x05f, 0x6c, 0xbb, 0xea);
DEFINE_GUID(MFAudioFormat_Dolby_DDPlus, // == MEDIASUBTYPE_DOLBY_DDPLUS defined
in wmcodecdsp.h
0xa7fb87af, 0x2d02, 0x42fb, 0xa4, 0xd4, 0x5, 0xcd, 0x93, 0x84, 0x3b, 0xdd);
// //
// MPEG-4 media types // MPEG-4 media types
// //
// {00000000-767a-494d-b478-f29d25dc9037} MFMPEG4Format_Base // {00000000-767a-494d-b478-f29d25dc9037} MFMPEG4Format_Base
DEFINE_GUID(MFMPEG4Format_Base, DEFINE_GUID(MFMPEG4Format_Base,
0x00000000, 0x767a, 0x494d, 0xb4, 0x78, 0xf2, 0x9d, 0x25, 0xdc, 0x90, 0x37); 0x00000000, 0x767a, 0x494d, 0xb4, 0x78, 0xf2, 0x9d, 0x25, 0xdc, 0x90, 0x37);
//////////////////////////////////////////////////////////////////////////////// /////////////////////////////// Media Type Attributes GUIDs /////////////////// ///////// //////////////////////////////////////////////////////////////////////////////// /////////////////////////////// Media Type Attributes GUIDs /////////////////// /////////
skipping to change at line 1098 skipping to change at line 1580
// MF_MT_SAMPLE_SIZE is only valid if MF_MT_FIXED_SIZED_SAMPLES is TRUE // MF_MT_SAMPLE_SIZE is only valid if MF_MT_FIXED_SIZED_SAMPLES is TRUE
// //
// {dad3ab78-1990-408b-bce2-eba673dacc10} MF_MT_SAMPLE_SIZE {UIN T32} // {dad3ab78-1990-408b-bce2-eba673dacc10} MF_MT_SAMPLE_SIZE {UIN T32}
DEFINE_GUID(MF_MT_SAMPLE_SIZE, DEFINE_GUID(MF_MT_SAMPLE_SIZE,
0xdad3ab78, 0x1990, 0x408b, 0xbc, 0xe2, 0xeb, 0xa6, 0x73, 0xda, 0xcc, 0x10); 0xdad3ab78, 0x1990, 0x408b, 0xbc, 0xe2, 0xeb, 0xa6, 0x73, 0xda, 0xcc, 0x10);
// 4d3f7b23-d02f-4e6c-9bee-e4bf2c6c695d MF_MT_WRAPPED_TYPE {Blo b} // 4d3f7b23-d02f-4e6c-9bee-e4bf2c6c695d MF_MT_WRAPPED_TYPE {Blo b}
DEFINE_GUID(MF_MT_WRAPPED_TYPE, DEFINE_GUID(MF_MT_WRAPPED_TYPE,
0x4d3f7b23, 0xd02f, 0x4e6c, 0x9b, 0xee, 0xe4, 0xbf, 0x2c, 0x6c, 0x69, 0x5d); 0x4d3f7b23, 0xd02f, 0x4e6c, 0x9b, 0xee, 0xe4, 0xbf, 0x2c, 0x6c, 0x69, 0x5d);
#if (WINVER >= _WIN32_WINNT_WIN8)
//
// Media Type & Sample attributes for 3D Video
//
// {CB5E88CF-7B5B-476b-85AA-1CA5AE187555} MF_MT_VIDEO_3D
{UINT32 (BOOL)}
DEFINE_GUID( MF_MT_VIDEO_3D,
0xcb5e88cf, 0x7b5b, 0x476b, 0x85, 0xaa, 0x1c, 0xa5, 0xae, 0x18, 0x75, 0x55);
// Enum describing the packing for 3D video frames
typedef enum _MFVideo3DFormat {
MFVideo3DSampleFormat_BaseView = 0,
MFVideo3DSampleFormat_MultiView = 1,
MFVideo3DSampleFormat_Packed_LeftRight = 2,
MFVideo3DSampleFormat_Packed_TopBottom = 3,
} MFVideo3DFormat;
// {5315d8a0-87c5-4697-b793-666c67c49b} MF_MT_VIDEO_3D_FORMAT
{UINT32 (anyof MFVideo3DFormat)}
DEFINE_GUID(MF_MT_VIDEO_3D_FORMAT,
0x5315d8a0, 0x87c5, 0x4697, 0xb7, 0x93, 0x66, 0x6, 0xc6, 0x7c, 0x4, 0x9b);
// {BB077E8A-DCBF-42eb-AF60-418DF98AA495} MF_MT_VIDEO_3D_NUM_VIEW
{UINT32}
DEFINE_GUID( MF_MT_VIDEO_3D_NUM_VIEWS,
0xbb077e8a, 0xdcbf, 0x42eb, 0xaf, 0x60, 0x41, 0x8d, 0xf9, 0x8a, 0xa4, 0x95);
// {6D4B7BFF-5629-4404-948C-C634F4CE26D4} MF_MT_VIDEO_3D_LEFT_IS_BASE
{UINT32}
DEFINE_GUID( MF_MT_VIDEO_3D_LEFT_IS_BASE,
0x6d4b7bff, 0x5629, 0x4404, 0x94, 0x8c, 0xc6, 0x34, 0xf4, 0xce, 0x26, 0xd4);
// {EC298493-0ADA-4ea1-A4FE-CBBD36CE9331} MF_MT_VIDEO_3D_FIRST_IS_LEFT
{UINT32 (BOOL)}
DEFINE_GUID( MF_MT_VIDEO_3D_FIRST_IS_LEFT,
0xec298493, 0xada, 0x4ea1, 0xa4, 0xfe, 0xcb, 0xbd, 0x36, 0xce, 0x93, 0x31);
// MFSampleExtension_3DVideo {F86F97A4-DD54-4e2e-9A5E-55FC2D7
4A005}
// Type: UINT32
// If present and nonzero, indicates that the sample contains 3D Video data
DEFINE_GUID( MFSampleExtension_3DVideo,
0xf86f97a4, 0xdd54, 0x4e2e, 0x9a, 0x5e, 0x55, 0xfc, 0x2d, 0x74, 0xa0, 0x05);
// Enum describing the packing for 3D video frames in a sample
typedef enum _MFVideo3DSampleFormat {
MFSampleExtension_3DVideo_MultiView = 1,
MFSampleExtension_3DVideo_Packed = 0,
} MFVideo3DSampleFormat;
// MFSampleExtension_3DVideo_SampleFormat {08671772-E36F-4cff-97B3-D72E209
87A48}
// Type: UINT32
// The value of this attribute is a member of the MFVideo3DSampleFormat enumerat
ion.
// MFVideo3DSampleFormat enumeration identifies how 3D views are stored in the s
ample
// - in a packed representation, all views are stored in a single buffer
// - in a multiview representation, each view is stored in its own buffer
DEFINE_GUID( MFSampleExtension_3DVideo_SampleFormat,
0x8671772, 0xe36f, 0x4cff, 0x97, 0xb3, 0xd7, 0x2e, 0x20, 0x98, 0x7a, 0x48);
// Enum describing the video rotation formats
// Only the values of 0, 90, 180, and 270 are valid.
typedef enum _MFVideoRotationFormat {
MFVideoRotationFormat_0 = 0,
MFVideoRotationFormat_90 = 90,
MFVideoRotationFormat_180 = 180,
MFVideoRotationFormat_270 = 270,
} MFVideoRotationFormat;
// MF_MT_VIDEO_ROTATION {C380465D-2271-428C-9B83-ECEA3B4A85C1}
// Type: UINT32
// Description: MF_MT_VIDEO_ROTATION attribute means the degree that the content
// has already been rotated in the counter clockwise direction.
// Currently, only the values of 0, 90, 180, and 270 are valid for MF_MT_VIDEO_R
OTATION.
// For convenience, these currently supported values are enumerated in MFVideoRo
tationFormat.
// Example: if the media type has MF_MT_VIDEO_ROTATION set as MFVideoRotationFor
mat_90,
// it means the content has been rotated 90 degree in the counter clockwise dire
ction.
// If the content was actually rotated 90 degree in the clockwise direction, 90
degree in
// clockwise should be converted into 270 degree in the counter clockwise direct
ion and set
// the attribute MF_MT_VIDEO_ROTATION as MFVideoRotationFormat_270 accordingly.
DEFINE_GUID(MF_MT_VIDEO_ROTATION,
0xc380465d, 0x2271, 0x428c, 0x9b, 0x83, 0xec, 0xea, 0x3b, 0x4a, 0x85, 0xc1);
#endif // (WINVER >= _WIN32_WINNT_WIN8)
// //
// AUDIO data // AUDIO data
// //
// {37e48bf5-645e-4c5b-89de-ada9e29b696a} MF_MT_AUDIO_NUM_CHANNELS {UINT32} // {37e48bf5-645e-4c5b-89de-ada9e29b696a} MF_MT_AUDIO_NUM_CHANNELS {UINT32}
DEFINE_GUID(MF_MT_AUDIO_NUM_CHANNELS, DEFINE_GUID(MF_MT_AUDIO_NUM_CHANNELS,
0x37e48bf5, 0x645e, 0x4c5b, 0x89, 0xde, 0xad, 0xa9, 0xe2, 0x9b, 0x69, 0x6a); 0x37e48bf5, 0x645e, 0x4c5b, 0x89, 0xde, 0xad, 0xa9, 0xe2, 0x9b, 0x69, 0x6a);
// {5faeeae7-0290-4c31-9e8a-c534f68d9dba} MF_MT_AUDIO_SAMPLES_PER_SECOND {UINT32} // {5faeeae7-0290-4c31-9e8a-c534f68d9dba} MF_MT_AUDIO_SAMPLES_PER_SECOND {UINT32}
DEFINE_GUID(MF_MT_AUDIO_SAMPLES_PER_SECOND, DEFINE_GUID(MF_MT_AUDIO_SAMPLES_PER_SECOND,
skipping to change at line 1217 skipping to change at line 1779
0xc459a2e8, 0x3d2c, 0x4e44, 0xb1, 0x32, 0xfe, 0xe5, 0x15, 0x6c, 0x7b, 0xb0); 0xc459a2e8, 0x3d2c, 0x4e44, 0xb1, 0x32, 0xfe, 0xe5, 0x15, 0x6c, 0x7b, 0xb0);
// {c6376a1e-8d0a-4027-be45-6d9a0ad39bb6} MF_MT_PIXEL_ASPECT_RATIO {UIN T64 (HI32(Numerator),LO32(Denominator))} // {c6376a1e-8d0a-4027-be45-6d9a0ad39bb6} MF_MT_PIXEL_ASPECT_RATIO {UIN T64 (HI32(Numerator),LO32(Denominator))}
DEFINE_GUID(MF_MT_PIXEL_ASPECT_RATIO, DEFINE_GUID(MF_MT_PIXEL_ASPECT_RATIO,
0xc6376a1e, 0x8d0a, 0x4027, 0xbe, 0x45, 0x6d, 0x9a, 0x0a, 0xd3, 0x9b, 0xb6); 0xc6376a1e, 0x8d0a, 0x4027, 0xbe, 0x45, 0x6d, 0x9a, 0x0a, 0xd3, 0x9b, 0xb6);
// {8772f323-355a-4cc7-bb78-6d61a048ae82} MF_MT_DRM_FLAGS {UIN T32 (anyof MFVideoDRMFlags)} // {8772f323-355a-4cc7-bb78-6d61a048ae82} MF_MT_DRM_FLAGS {UIN T32 (anyof MFVideoDRMFlags)}
DEFINE_GUID(MF_MT_DRM_FLAGS, DEFINE_GUID(MF_MT_DRM_FLAGS,
0x8772f323, 0x355a, 0x4cc7, 0xbb, 0x78, 0x6d, 0x61, 0xa0, 0x48, 0xae, 0x82); 0x8772f323, 0x355a, 0x4cc7, 0xbb, 0x78, 0x6d, 0x61, 0xa0, 0x48, 0xae, 0x82);
#if (WINVER >= _WIN32_WINNT_WIN8)
// {24974215-1B7B-41e4-8625-AC469F2DEDAA} MF_MT_TIMESTAMP_CAN_BE_DTS {UIN
T32 (BOOL)}
DEFINE_GUID(MF_MT_TIMESTAMP_CAN_BE_DTS,
0x24974215, 0x1b7b, 0x41e4, 0x86, 0x25, 0xac, 0x46, 0x9f, 0x2d, 0xed, 0xaa);
#endif // (WINVER >= _WIN32_WINNT_WIN8)
typedef enum _MFVideoDRMFlags { typedef enum _MFVideoDRMFlags {
MFVideoDRMFlag_None = 0, MFVideoDRMFlag_None = 0,
MFVideoDRMFlag_AnalogProtected = 1, MFVideoDRMFlag_AnalogProtected = 1,
MFVideoDRMFlag_DigitallyProtected = 2, MFVideoDRMFlag_DigitallyProtected = 2,
} MFVideoDRMFlags; } MFVideoDRMFlags;
// {4d0e73e5-80ea-4354-a9d0-1176ceb028ea} MF_MT_PAD_CONTROL_FLAGS {UIN T32 (oneof MFVideoPadFlags)} // {4d0e73e5-80ea-4354-a9d0-1176ceb028ea} MF_MT_PAD_CONTROL_FLAGS {UIN T32 (oneof MFVideoPadFlags)}
DEFINE_GUID(MF_MT_PAD_CONTROL_FLAGS, DEFINE_GUID(MF_MT_PAD_CONTROL_FLAGS,
0x4d0e73e5, 0x80ea, 0x4354, 0xa9, 0xd0, 0x11, 0x76, 0xce, 0xb0, 0x28, 0xea); 0x4d0e73e5, 0x80ea, 0x4354, 0xa9, 0xd0, 0x11, 0x76, 0xce, 0xb0, 0x28, 0xea);
skipping to change at line 1259 skipping to change at line 1829
0xe2724bb8, 0xe676, 0x4806, 0xb4, 0xb2, 0xa8, 0xd6, 0xef, 0xb4, 0x4c, 0xcd); 0xe2724bb8, 0xe676, 0x4806, 0xb4, 0xb2, 0xa8, 0xd6, 0xef, 0xb4, 0x4c, 0xcd);
// {5fb0fce9-be5c-4935-a811-ec838f8eed93} MF_MT_TRANSFER_FUNCTION {UIN T32 (oneof MFVideoTransferFunction)} // {5fb0fce9-be5c-4935-a811-ec838f8eed93} MF_MT_TRANSFER_FUNCTION {UIN T32 (oneof MFVideoTransferFunction)}
DEFINE_GUID(MF_MT_TRANSFER_FUNCTION, DEFINE_GUID(MF_MT_TRANSFER_FUNCTION,
0x5fb0fce9, 0xbe5c, 0x4935, 0xa8, 0x11, 0xec, 0x83, 0x8f, 0x8e, 0xed, 0x93); 0x5fb0fce9, 0xbe5c, 0x4935, 0xa8, 0x11, 0xec, 0x83, 0x8f, 0x8e, 0xed, 0x93);
// {dbfbe4d7-0740-4ee0-8192-850ab0e21935} MF_MT_VIDEO_PRIMARIES {UIN T32 (oneof MFVideoPrimaries)} // {dbfbe4d7-0740-4ee0-8192-850ab0e21935} MF_MT_VIDEO_PRIMARIES {UIN T32 (oneof MFVideoPrimaries)}
DEFINE_GUID(MF_MT_VIDEO_PRIMARIES, DEFINE_GUID(MF_MT_VIDEO_PRIMARIES,
0xdbfbe4d7, 0x0740, 0x4ee0, 0x81, 0x92, 0x85, 0x0a, 0xb0, 0xe2, 0x19, 0x35); 0xdbfbe4d7, 0x0740, 0x4ee0, 0x81, 0x92, 0x85, 0x0a, 0xb0, 0xe2, 0x19, 0x35);
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
#pragma endregion
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
// {47537213-8cfb-4722-aa34-fbc9e24d77b8} MF_MT_CUSTOM_VIDEO_PRIMARIES {BLO B (MT_CUSTOM_VIDEO_PRIMARIES)} // {47537213-8cfb-4722-aa34-fbc9e24d77b8} MF_MT_CUSTOM_VIDEO_PRIMARIES {BLO B (MT_CUSTOM_VIDEO_PRIMARIES)}
DEFINE_GUID(MF_MT_CUSTOM_VIDEO_PRIMARIES, DEFINE_GUID(MF_MT_CUSTOM_VIDEO_PRIMARIES,
0x47537213, 0x8cfb, 0x4722, 0xaa, 0x34, 0xfb, 0xc9, 0xe2, 0x4d, 0x77, 0xb8); 0x47537213, 0x8cfb, 0x4722, 0xaa, 0x34, 0xfb, 0xc9, 0xe2, 0x4d, 0x77, 0xb8);
typedef struct _MT_CUSTOM_VIDEO_PRIMARIES { typedef struct _MT_CUSTOM_VIDEO_PRIMARIES {
float fRx; float fRx;
float fRy; float fRy;
float fGx; float fGx;
float fGy; float fGy;
float fBx; float fBx;
float fBy; float fBy;
float fWx; float fWx;
float fWy; float fWy;
} MT_CUSTOM_VIDEO_PRIMARIES; } MT_CUSTOM_VIDEO_PRIMARIES;
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
// {3e23d450-2c75-4d25-a00e-b91670d12327} MF_MT_YUV_MATRIX {UIN T32 (oneof MFVideoTransferMatrix)} // {3e23d450-2c75-4d25-a00e-b91670d12327} MF_MT_YUV_MATRIX {UIN T32 (oneof MFVideoTransferMatrix)}
DEFINE_GUID(MF_MT_YUV_MATRIX, DEFINE_GUID(MF_MT_YUV_MATRIX,
0x3e23d450, 0x2c75, 0x4d25, 0xa0, 0x0e, 0xb9, 0x16, 0x70, 0xd1, 0x23, 0x27); 0x3e23d450, 0x2c75, 0x4d25, 0xa0, 0x0e, 0xb9, 0x16, 0x70, 0xd1, 0x23, 0x27);
// {53a0529c-890b-4216-8bf9-599367ad6d20} MF_MT_VIDEO_LIGHTING {UIN T32 (oneof MFVideoLighting)} // {53a0529c-890b-4216-8bf9-599367ad6d20} MF_MT_VIDEO_LIGHTING {UIN T32 (oneof MFVideoLighting)}
DEFINE_GUID(MF_MT_VIDEO_LIGHTING, DEFINE_GUID(MF_MT_VIDEO_LIGHTING,
0x53a0529c, 0x890b, 0x4216, 0x8b, 0xf9, 0x59, 0x93, 0x67, 0xad, 0x6d, 0x20); 0x53a0529c, 0x890b, 0x4216, 0x8b, 0xf9, 0x59, 0x93, 0x67, 0xad, 0x6d, 0x20);
// {c21b8ee5-b956-4071-8daf-325edf5cab11} MF_MT_VIDEO_NOMINAL_RANGE {UIN T32 (oneof MFNominalRange)} // {c21b8ee5-b956-4071-8daf-325edf5cab11} MF_MT_VIDEO_NOMINAL_RANGE {UIN T32 (oneof MFNominalRange)}
DEFINE_GUID(MF_MT_VIDEO_NOMINAL_RANGE, DEFINE_GUID(MF_MT_VIDEO_NOMINAL_RANGE,
skipping to change at line 1314 skipping to change at line 1896
0x20332624, 0xfb0d, 0x4d9e, 0xbd, 0x0d, 0xcb, 0xf6, 0x78, 0x6c, 0x10, 0x2e); 0x20332624, 0xfb0d, 0x4d9e, 0xbd, 0x0d, 0xcb, 0xf6, 0x78, 0x6c, 0x10, 0x2e);
// {799cabd6-3508-4db4-a3c7-569cd533deb1} MF_MT_AVG_BIT_ERROR_RATE {UIN T32} // {799cabd6-3508-4db4-a3c7-569cd533deb1} MF_MT_AVG_BIT_ERROR_RATE {UIN T32}
DEFINE_GUID(MF_MT_AVG_BIT_ERROR_RATE, DEFINE_GUID(MF_MT_AVG_BIT_ERROR_RATE,
0x799cabd6, 0x3508, 0x4db4, 0xa3, 0xc7, 0x56, 0x9c, 0xd5, 0x33, 0xde, 0xb1); 0x799cabd6, 0x3508, 0x4db4, 0xa3, 0xc7, 0x56, 0x9c, 0xd5, 0x33, 0xde, 0xb1);
// {c16eb52b-73a1-476f-8d62-839d6a020652} MF_MT_MAX_KEYFRAME_SPACING {UIN T32} // {c16eb52b-73a1-476f-8d62-839d6a020652} MF_MT_MAX_KEYFRAME_SPACING {UIN T32}
DEFINE_GUID(MF_MT_MAX_KEYFRAME_SPACING, DEFINE_GUID(MF_MT_MAX_KEYFRAME_SPACING,
0xc16eb52b, 0x73a1, 0x476f, 0x8d, 0x62, 0x83, 0x9d, 0x6a, 0x02, 0x06, 0x52); 0xc16eb52b, 0x73a1, 0x476f, 0x8d, 0x62, 0x83, 0x9d, 0x6a, 0x02, 0x06, 0x52);
// {b6bc765f-4c3b-40a4-bd51-2535b66fe09d} MF_MT_USER_DATA {BLO
B}
DEFINE_GUID(MF_MT_USER_DATA,
0xb6bc765f, 0x4c3b, 0x40a4, 0xbd, 0x51, 0x25, 0x35, 0xb6, 0x6f, 0xe0, 0x9d);
// //
// VIDEO - uncompressed format data // VIDEO - uncompressed format data
// //
// {644b4e48-1e02-4516-b0eb-c01ca9d49ac6} MF_MT_DEFAULT_STRIDE {UIN T32 (INT32)} // in bytes // {644b4e48-1e02-4516-b0eb-c01ca9d49ac6} MF_MT_DEFAULT_STRIDE {UIN T32 (INT32)} // in bytes
DEFINE_GUID(MF_MT_DEFAULT_STRIDE, DEFINE_GUID(MF_MT_DEFAULT_STRIDE,
0x644b4e48, 0x1e02, 0x4516, 0xb0, 0xeb, 0xc0, 0x1c, 0xa9, 0xd4, 0x9a, 0xc6); 0x644b4e48, 0x1e02, 0x4516, 0xb0, 0xeb, 0xc0, 0x1c, 0xa9, 0xd4, 0x9a, 0xc6);
// {6d283f42-9846-4410-afd9-654d503b1a54} MF_MT_PALETTE {BLO B (array of MFPaletteEntry - usually 256)} // {6d283f42-9846-4410-afd9-654d503b1a54} MF_MT_PALETTE {BLO B (array of MFPaletteEntry - usually 256)}
DEFINE_GUID(MF_MT_PALETTE, DEFINE_GUID(MF_MT_PALETTE,
0x6d283f42, 0x9846, 0x4410, 0xaf, 0xd9, 0x65, 0x4d, 0x50, 0x3b, 0x1a, 0x54); 0x6d283f42, 0x9846, 0x4410, 0xaf, 0xd9, 0x65, 0x4d, 0x50, 0x3b, 0x1a, 0x54);
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
#pragma endregion
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
// //
// the following is only used for legacy data that was stuck at the end of the f ormat block when the type // the following is only used for legacy data that was stuck at the end of the f ormat block when the type
// was converted from a VIDEOINFOHEADER or VIDEOINFOHEADER2 block in an AM_MEDIA _TYPE. // was converted from a VIDEOINFOHEADER or VIDEOINFOHEADER2 block in an AM_MEDIA _TYPE.
// //
// {b6bc765f-4c3b-40a4-bd51-2535b66fe09d} MF_MT_USER_DATA {BLO
B}
DEFINE_GUID(MF_MT_USER_DATA,
0xb6bc765f, 0x4c3b, 0x40a4, 0xbd, 0x51, 0x25, 0x35, 0xb6, 0x6f, 0xe0, 0x9d);
// {73d1072d-1870-4174-a063-29ff4ff6c11e} // {73d1072d-1870-4174-a063-29ff4ff6c11e}
DEFINE_GUID(MF_MT_AM_FORMAT_TYPE, DEFINE_GUID(MF_MT_AM_FORMAT_TYPE,
0x73d1072d, 0x1870, 0x4174, 0xa0, 0x63, 0x29, 0xff, 0x4f, 0xf6, 0xc1, 0x1e); 0x73d1072d, 0x1870, 0x4174, 0xa0, 0x63, 0x29, 0xff, 0x4f, 0xf6, 0xc1, 0x1e);
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
//
// VIDEO - Generic compressed video extra data
//
// {ad76a80b-2d5c-4e0b-b375-64e520137036} MF_MT_VIDEO_PROFILE {UIN
T32} This is an alias of MF_MT_MPEG2_PROFILE
DEFINE_GUID(MF_MT_VIDEO_PROFILE,
0xad76a80b, 0x2d5c, 0x4e0b, 0xb3, 0x75, 0x64, 0xe5, 0x20, 0x13, 0x70, 0x36);
// {96f66574-11c5-4015-8666-bff516436da7} MF_MT_VIDEO_LEVEL {UIN
T32} This is an alias of MF_MT_MPEG2_LEVEL
DEFINE_GUID(MF_MT_VIDEO_LEVEL,
0x96f66574, 0x11c5, 0x4015, 0x86, 0x66, 0xbf, 0xf5, 0x16, 0x43, 0x6d, 0xa7);
// //
// VIDEO - MPEG1/2 extra data // VIDEO - MPEG1/2 extra data
// //
// {91f67885-4333-4280-97cd-bd5a6c03a06e} MF_MT_MPEG_START_TIME_CODE {UIN T32} // {91f67885-4333-4280-97cd-bd5a6c03a06e} MF_MT_MPEG_START_TIME_CODE {UIN T32}
DEFINE_GUID(MF_MT_MPEG_START_TIME_CODE, DEFINE_GUID(MF_MT_MPEG_START_TIME_CODE,
0x91f67885, 0x4333, 0x4280, 0x97, 0xcd, 0xbd, 0x5a, 0x6c, 0x03, 0xa0, 0x6e); 0x91f67885, 0x4333, 0x4280, 0x97, 0xcd, 0xbd, 0x5a, 0x6c, 0x03, 0xa0, 0x6e);
// {ad76a80b-2d5c-4e0b-b375-64e520137036} MF_MT_MPEG2_PROFILE {UIN T32 (oneof AM_MPEG2Profile)} // {ad76a80b-2d5c-4e0b-b375-64e520137036} MF_MT_MPEG2_PROFILE {UIN T32 (oneof AM_MPEG2Profile)}
DEFINE_GUID(MF_MT_MPEG2_PROFILE, DEFINE_GUID(MF_MT_MPEG2_PROFILE,
skipping to change at line 1362 skipping to change at line 1969
0x96f66574, 0x11c5, 0x4015, 0x86, 0x66, 0xbf, 0xf5, 0x16, 0x43, 0x6d, 0xa7); 0x96f66574, 0x11c5, 0x4015, 0x86, 0x66, 0xbf, 0xf5, 0x16, 0x43, 0x6d, 0xa7);
// {31e3991d-f701-4b2f-b426-8ae3bda9e04b} MF_MT_MPEG2_FLAGS {UIN T32 (anyof AMMPEG2_xxx flags)} // {31e3991d-f701-4b2f-b426-8ae3bda9e04b} MF_MT_MPEG2_FLAGS {UIN T32 (anyof AMMPEG2_xxx flags)}
DEFINE_GUID(MF_MT_MPEG2_FLAGS, DEFINE_GUID(MF_MT_MPEG2_FLAGS,
0x31e3991d, 0xf701, 0x4b2f, 0xb4, 0x26, 0x8a, 0xe3, 0xbd, 0xa9, 0xe0, 0x4b); 0x31e3991d, 0xf701, 0x4b2f, 0xb4, 0x26, 0x8a, 0xe3, 0xbd, 0xa9, 0xe0, 0x4b);
// {3c036de7-3ad0-4c9e-9216-ee6d6ac21cb3} MF_MT_MPEG_SEQUENCE_HEADER {BLO B} // {3c036de7-3ad0-4c9e-9216-ee6d6ac21cb3} MF_MT_MPEG_SEQUENCE_HEADER {BLO B}
DEFINE_GUID(MF_MT_MPEG_SEQUENCE_HEADER, DEFINE_GUID(MF_MT_MPEG_SEQUENCE_HEADER,
0x3c036de7, 0x3ad0, 0x4c9e, 0x92, 0x16, 0xee, 0x6d, 0x6a, 0xc2, 0x1c, 0xb3); 0x3c036de7, 0x3ad0, 0x4c9e, 0x92, 0x16, 0xee, 0x6d, 0x6a, 0xc2, 0x1c, 0xb3);
// {A20AF9E8-928A-4B26-AAA9-F05C74CAC47C} MF_MT_MPEG2_STANDARD {UIN
T32 (0 for default MPEG2, 1 to use ATSC standard, 2 to use DVB standard, 3 to u
se ARIB standard)}
DEFINE_GUID(MF_MT_MPEG2_STANDARD,
0xa20af9e8, 0x928a, 0x4b26, 0xaa, 0xa9, 0xf0, 0x5c, 0x74, 0xca, 0xc4, 0x7c);
// {5229BA10-E29D-4F80-A59C-DF4F180207D2} MF_MT_MPEG2_TIMECODE {UIN
T32 (0 for no timecode, 1 to append an 4 byte timecode to the front of each tran
sport packet)}
DEFINE_GUID(MF_MT_MPEG2_TIMECODE,
0x5229ba10, 0xe29d, 0x4f80, 0xa5, 0x9c, 0xdf, 0x4f, 0x18, 0x2, 0x7, 0xd2);
// {825D55E4-4F12-4197-9EB3-59B6E4710F06} MF_MT_MPEG2_CONTENT_PACKET {UIN
T32 (0 for no content packet, 1 to append a 14 byte Content Packet header accord
ing to the ARIB specification to the beginning a transport packet at 200-1000 ms
intervals.)}
DEFINE_GUID(MF_MT_MPEG2_CONTENT_PACKET,
0x825d55e4, 0x4f12, 0x4197, 0x9e, 0xb3, 0x59, 0xb6, 0xe4, 0x71, 0xf, 0x6);
//
// VIDEO - H264 extra data
//
// {F5929986-4C45-4FBB-BB49-6CC534D05B9B} {UINT32, UVC 1.5 H.264 format descrip
tor: bMaxCodecConfigDelay}
DEFINE_GUID(MF_MT_H264_MAX_CODEC_CONFIG_DELAY,
0xf5929986, 0x4c45, 0x4fbb, 0xbb, 0x49, 0x6c, 0xc5, 0x34, 0xd0, 0x5b, 0x9b);
// {C8BE1937-4D64-4549-8343-A8086C0BFDA5} {UINT32, UVC 1.5 H.264 format descript
or: bmSupportedSliceModes}
DEFINE_GUID(MF_MT_H264_SUPPORTED_SLICE_MODES,
0xc8be1937, 0x4d64, 0x4549, 0x83, 0x43, 0xa8, 0x8, 0x6c, 0xb, 0xfd, 0xa5);
// {89A52C01-F282-48D2-B522-22E6AE633199} {UINT32, UVC 1.5 H.264 format descript
or: bmSupportedSyncFrameTypes}
DEFINE_GUID(MF_MT_H264_SUPPORTED_SYNC_FRAME_TYPES,
0x89a52c01, 0xf282, 0x48d2, 0xb5, 0x22, 0x22, 0xe6, 0xae, 0x63, 0x31, 0x99);
// {E3854272-F715-4757-BA90-1B696C773457} {UINT32, UVC 1.5 H.264 format descript
or: bResolutionScaling}
DEFINE_GUID(MF_MT_H264_RESOLUTION_SCALING,
0xe3854272, 0xf715, 0x4757, 0xba, 0x90, 0x1b, 0x69, 0x6c, 0x77, 0x34, 0x57);
// {9EA2D63D-53F0-4A34-B94E-9DE49A078CB3} {UINT32, UVC 1.5 H.264 format descript
or: bSimulcastSupport}
DEFINE_GUID(MF_MT_H264_SIMULCAST_SUPPORT,
0x9ea2d63d, 0x53f0, 0x4a34, 0xb9, 0x4e, 0x9d, 0xe4, 0x9a, 0x7, 0x8c, 0xb3);
// {6A8AC47E-519C-4F18-9BB3-7EEAAEA5594D} {UINT32, UVC 1.5 H.264 format descript
or: bmSupportedRateControlModes}
DEFINE_GUID(MF_MT_H264_SUPPORTED_RATE_CONTROL_MODES,
0x6a8ac47e, 0x519c, 0x4f18, 0x9b, 0xb3, 0x7e, 0xea, 0xae, 0xa5, 0x59, 0x4d);
// {45256D30-7215-4576-9336-B0F1BCD59BB2} {Blob of size 20 * sizeof(WORD), UVC
1.5 H.264 format descriptor: wMaxMBperSec*}
DEFINE_GUID(MF_MT_H264_MAX_MB_PER_SEC,
0x45256d30, 0x7215, 0x4576, 0x93, 0x36, 0xb0, 0xf1, 0xbc, 0xd5, 0x9b, 0xb2);
// {60B1A998-DC01-40CE-9736-ABA845A2DBDC} {UINT32, UVC 1.5 H.264 frame d
escriptor: bmSupportedUsages}
DEFINE_GUID(MF_MT_H264_SUPPORTED_USAGES,
0x60b1a998, 0xdc01, 0x40ce, 0x97, 0x36, 0xab, 0xa8, 0x45, 0xa2, 0xdb, 0xdc);
// {BB3BD508-490A-11E0-99E4-1316DFD72085} {UINT32, UVC 1.5 H.264 frame d
escriptor: bmCapabilities}
DEFINE_GUID(MF_MT_H264_CAPABILITIES,
0xbb3bd508, 0x490a, 0x11e0, 0x99, 0xe4, 0x13, 0x16, 0xdf, 0xd7, 0x20, 0x85);
// {F8993ABE-D937-4A8F-BBCA-6966FE9E1152} {UINT32, UVC 1.5 H.264 frame d
escriptor: bmSVCCapabilities}
DEFINE_GUID(MF_MT_H264_SVC_CAPABILITIES,
0xf8993abe, 0xd937, 0x4a8f, 0xbb, 0xca, 0x69, 0x66, 0xfe, 0x9e, 0x11, 0x52);
// {359CE3A5-AF00-49CA-A2F4-2AC94CA82B61} {UINT32, UVC 1.5 H.264 Probe/C
ommit Control: bUsage}
DEFINE_GUID(MF_MT_H264_USAGE,
0x359ce3a5, 0xaf00, 0x49ca, 0xa2, 0xf4, 0x2a, 0xc9, 0x4c, 0xa8, 0x2b, 0x61);
//{705177D8-45CB-11E0-AC7D-B91CE0D72085} {UINT32, UVC 1.5 H.264 Probe/C
ommit Control: bmRateControlModes}
DEFINE_GUID(MF_MT_H264_RATE_CONTROL_MODES,
0x705177d8, 0x45cb, 0x11e0, 0xac, 0x7d, 0xb9, 0x1c, 0xe0, 0xd7, 0x20, 0x85);
//{85E299B2-90E3-4FE8-B2F5-C067E0BFE57A} {UINT64, UVC 1.5 H.264 Probe/C
ommit Control: bmLayoutPerStream}
DEFINE_GUID(MF_MT_H264_LAYOUT_PER_STREAM,
0x85e299b2, 0x90e3, 0x4fe8, 0xb2, 0xf5, 0xc0, 0x67, 0xe0, 0xbf, 0xe5, 0x7a);
// //
// INTERLEAVED - DV extra data // INTERLEAVED - DV extra data
// //
// {84bd5d88-0fb8-4ac8-be4b-a8848bef98f3} MF_MT_DV_AAUX_SRC_PACK_0 {UIN T32} // {84bd5d88-0fb8-4ac8-be4b-a8848bef98f3} MF_MT_DV_AAUX_SRC_PACK_0 {UIN T32}
DEFINE_GUID(MF_MT_DV_AAUX_SRC_PACK_0, DEFINE_GUID(MF_MT_DV_AAUX_SRC_PACK_0,
0x84bd5d88, 0x0fb8, 0x4ac8, 0xbe, 0x4b, 0xa8, 0x84, 0x8b, 0xef, 0x98, 0xf3); 0x84bd5d88, 0x0fb8, 0x4ac8, 0xbe, 0x4b, 0xa8, 0x84, 0x8b, 0xef, 0x98, 0xf3);
// {f731004e-1dd1-4515-aabe-f0c06aa536ac} MF_MT_DV_AAUX_CTRL_PACK_0 {UIN T32} // {f731004e-1dd1-4515-aabe-f0c06aa536ac} MF_MT_DV_AAUX_CTRL_PACK_0 {UIN T32}
DEFINE_GUID(MF_MT_DV_AAUX_CTRL_PACK_0, DEFINE_GUID(MF_MT_DV_AAUX_CTRL_PACK_0,
0xf731004e, 0x1dd1, 0x4515, 0xaa, 0xbe, 0xf0, 0xc0, 0x6a, 0xa5, 0x36, 0xac); 0xf731004e, 0x1dd1, 0x4515, 0xaa, 0xbe, 0xf0, 0xc0, 0x6a, 0xa5, 0x36, 0xac);
skipping to change at line 1389 skipping to change at line 2064
0xcd1f470d, 0x1f04, 0x4fe0, 0xbf, 0xb9, 0xd0, 0x7a, 0xe0, 0x38, 0x6a, 0xd8); 0xcd1f470d, 0x1f04, 0x4fe0, 0xbf, 0xb9, 0xd0, 0x7a, 0xe0, 0x38, 0x6a, 0xd8);
// {41402d9d-7b57-43c6-b129-2cb997f15009} MF_MT_DV_VAUX_SRC_PACK {UIN T32} // {41402d9d-7b57-43c6-b129-2cb997f15009} MF_MT_DV_VAUX_SRC_PACK {UIN T32}
DEFINE_GUID(MF_MT_DV_VAUX_SRC_PACK, DEFINE_GUID(MF_MT_DV_VAUX_SRC_PACK,
0x41402d9d, 0x7b57, 0x43c6, 0xb1, 0x29, 0x2c, 0xb9, 0x97, 0xf1, 0x50, 0x09); 0x41402d9d, 0x7b57, 0x43c6, 0xb1, 0x29, 0x2c, 0xb9, 0x97, 0xf1, 0x50, 0x09);
// {2f84e1c4-0da1-4788-938e-0dfbfbb34b48} MF_MT_DV_VAUX_CTRL_PACK {UIN T32} // {2f84e1c4-0da1-4788-938e-0dfbfbb34b48} MF_MT_DV_VAUX_CTRL_PACK {UIN T32}
DEFINE_GUID(MF_MT_DV_VAUX_CTRL_PACK, DEFINE_GUID(MF_MT_DV_VAUX_CTRL_PACK,
0x2f84e1c4, 0x0da1, 0x4788, 0x93, 0x8e, 0x0d, 0xfb, 0xfb, 0xb3, 0x4b, 0x48); 0x2f84e1c4, 0x0da1, 0x4788, 0x93, 0x8e, 0x0d, 0xfb, 0xfb, 0xb3, 0x4b, 0x48);
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
#pragma endregion
#if (WINVER >= _WIN32_WINNT_WIN7) #if (WINVER >= _WIN32_WINNT_WIN7)
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
// //
// ARBITRARY // ARBITRARY
// //
// //
// MT_ARBITRARY_HEADER stores information about the format of an arbitrary media type // MT_ARBITRARY_HEADER stores information about the format of an arbitrary media type
// //
typedef struct _MT_ARBITRARY_HEADER typedef struct _MT_ARBITRARY_HEADER
{ {
GUID majortype; GUID majortype;
skipping to change at line 1416 skipping to change at line 2098
MT_ARBITRARY_HEADER; MT_ARBITRARY_HEADER;
// {9E6BD6F5-0109-4f95-84AC-9309153A19FC} MF_MT_ARBITRARY_HEADER {MT_ ARBITRARY_HEADER} // {9E6BD6F5-0109-4f95-84AC-9309153A19FC} MF_MT_ARBITRARY_HEADER {MT_ ARBITRARY_HEADER}
DEFINE_GUID(MF_MT_ARBITRARY_HEADER, DEFINE_GUID(MF_MT_ARBITRARY_HEADER,
0x9e6bd6f5, 0x109, 0x4f95, 0x84, 0xac, 0x93, 0x9, 0x15, 0x3a, 0x19, 0xfc ); 0x9e6bd6f5, 0x109, 0x4f95, 0x84, 0xac, 0x93, 0x9, 0x15, 0x3a, 0x19, 0xfc );
// {5A75B249-0D7D-49a1-A1C3-E0D87F0CADE5} MF_MT_ARBITRARY_FORMAT {Blo b} // {5A75B249-0D7D-49a1-A1C3-E0D87F0CADE5} MF_MT_ARBITRARY_FORMAT {Blo b}
DEFINE_GUID(MF_MT_ARBITRARY_FORMAT, DEFINE_GUID(MF_MT_ARBITRARY_FORMAT,
0x5a75b249, 0xd7d, 0x49a1, 0xa1, 0xc3, 0xe0, 0xd8, 0x7f, 0xc, 0xad, 0xe5); 0x5a75b249, 0xd7d, 0x49a1, 0xa1, 0xc3, 0xe0, 0xd8, 0x7f, 0xc, 0xad, 0xe5);
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
// //
// IMAGE // IMAGE
// //
// {ED062CF4-E34E-4922-BE99-934032133D7C} MF_MT_IMAGE_LOSS_TOLERANT {UIN T32 (BOOL)} // {ED062CF4-E34E-4922-BE99-934032133D7C} MF_MT_IMAGE_LOSS_TOLERANT {UIN T32 (BOOL)}
DEFINE_GUID(MF_MT_IMAGE_LOSS_TOLERANT, DEFINE_GUID(MF_MT_IMAGE_LOSS_TOLERANT,
0xed062cf4, 0xe34e, 0x4922, 0xbe, 0x99, 0x93, 0x40, 0x32, 0x13, 0x3d, 0x7c); 0xed062cf4, 0xe34e, 0x4922, 0xbe, 0x99, 0x93, 0x40, 0x32, 0x13, 0x3d, 0x7c);
// //
// MPEG-4 Media Type Attributes // MPEG-4 Media Type Attributes
// //
// {261E9D83-9529-4B8F-A111-8B9C950A81A9} MF_MT_MPEG4_SAMPLE_DESCRIPTION {BL OB} // {261E9D83-9529-4B8F-A111-8B9C950A81A9} MF_MT_MPEG4_SAMPLE_DESCRIPTION {BL OB}
DEFINE_GUID(MF_MT_MPEG4_SAMPLE_DESCRIPTION, DEFINE_GUID(MF_MT_MPEG4_SAMPLE_DESCRIPTION,
0x261e9d83, 0x9529, 0x4b8f, 0xa1, 0x11, 0x8b, 0x9c, 0x95, 0x0a, 0x81, 0xa9); 0x261e9d83, 0x9529, 0x4b8f, 0xa1, 0x11, 0x8b, 0x9c, 0x95, 0x0a, 0x81, 0xa9);
// {9aa7e155-b64a-4c1d-a500-455d600b6560} MF_MT_MPEG4_CURRENT_SAMPLE_ENTRY {UI NT32} // {9aa7e155-b64a-4c1d-a500-455d600b6560} MF_MT_MPEG4_CURRENT_SAMPLE_ENTRY {UI NT32}
DEFINE_GUID(MF_MT_MPEG4_CURRENT_SAMPLE_ENTRY, DEFINE_GUID(MF_MT_MPEG4_CURRENT_SAMPLE_ENTRY,
0x9aa7e155, 0xb64a, 0x4c1d, 0xa5, 0x00, 0x45, 0x5d, 0x60, 0x0b, 0x65, 0x60); 0x9aa7e155, 0xb64a, 0x4c1d, 0xa5, 0x00, 0x45, 0x5d, 0x60, 0x0b, 0x65, 0x60);
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
#pragma endregion
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
// //
// Save original format information for AVI and WAV files // Save original format information for AVI and WAV files
// //
// {d7be3fe0-2bc7-492d-b843-61a1919b70c3} MF_MT_ORIGINAL_4CC (UI NT32) // {d7be3fe0-2bc7-492d-b843-61a1919b70c3} MF_MT_ORIGINAL_4CC (UI NT32)
DEFINE_GUID(MF_MT_ORIGINAL_4CC, DEFINE_GUID(MF_MT_ORIGINAL_4CC,
0xd7be3fe0, 0x2bc7, 0x492d, 0xb8, 0x43, 0x61, 0xa1, 0x91, 0x9b, 0x70, 0xc3); 0xd7be3fe0, 0x2bc7, 0x492d, 0xb8, 0x43, 0x61, 0xa1, 0x91, 0x9b, 0x70, 0xc3);
// {8cbbc843-9fd9-49c2-882f-a72586c408ad} MF_MT_ORIGINAL_WAVE_FORMAT_TAG (UI NT32) // {8cbbc843-9fd9-49c2-882f-a72586c408ad} MF_MT_ORIGINAL_WAVE_FORMAT_TAG (UI NT32)
DEFINE_GUID(MF_MT_ORIGINAL_WAVE_FORMAT_TAG, DEFINE_GUID(MF_MT_ORIGINAL_WAVE_FORMAT_TAG,
0x8cbbc843, 0x9fd9, 0x49c2, 0x88, 0x2f, 0xa7, 0x25, 0x86, 0xc4, 0x08, 0xad); 0x8cbbc843, 0x9fd9, 0x49c2, 0x88, 0x2f, 0xa7, 0x25, 0x86, 0xc4, 0x08, 0xad);
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
// //
// Video Capture Media Type Attributes // Video Capture Media Type Attributes
// //
// {D2E7558C-DC1F-403f-9A72-D28BB1EB3B5E} MF_MT_FRAME_RATE_RANGE_MIN {UIN T64 (HI32(Numerator),LO32(Denominator))} // {D2E7558C-DC1F-403f-9A72-D28BB1EB3B5E} MF_MT_FRAME_RATE_RANGE_MIN {UIN T64 (HI32(Numerator),LO32(Denominator))}
DEFINE_GUID(MF_MT_FRAME_RATE_RANGE_MIN, DEFINE_GUID(MF_MT_FRAME_RATE_RANGE_MIN,
0xd2e7558c, 0xdc1f, 0x403f, 0x9a, 0x72, 0xd2, 0x8b, 0xb1, 0xeb, 0x3b, 0x5e); 0xd2e7558c, 0xdc1f, 0x403f, 0x9a, 0x72, 0xd2, 0x8b, 0xb1, 0xeb, 0x3b, 0x5e);
// {E3371D41-B4CF-4a05-BD4E-20B88BB2C4D6} MF_MT_FRAME_RATE_RANGE_MAX {UIN T64 (HI32(Numerator),LO32(Denominator))} // {E3371D41-B4CF-4a05-BD4E-20B88BB2C4D6} MF_MT_FRAME_RATE_RANGE_MAX {UIN T64 (HI32(Numerator),LO32(Denominator))}
DEFINE_GUID(MF_MT_FRAME_RATE_RANGE_MAX, DEFINE_GUID(MF_MT_FRAME_RATE_RANGE_MAX,
0xe3371d41, 0xb4cf, 0x4a05, 0xbd, 0x4e, 0x20, 0xb8, 0x8b, 0xb2, 0xc4, 0xd6); 0xe3371d41, 0xb4cf, 0x4a05, 0xbd, 0x4e, 0x20, 0xb8, 0x8b, 0xb2, 0xc4, 0xd6);
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
#pragma endregion
#endif // (WINVER >= _WIN32_WINNT_WIN7) #endif // (WINVER >= _WIN32_WINNT_WIN7)
#pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
#if (WINVER >= _WIN32_WINNT_WIN8)
// {9C27891A-ED7A-40e1-88E8-B22727A024EE} MF_LOW_LATENCY {UIN
T32 (BOOL)}
// Same GUID as CODECAPI_AVLowLatencyMode
DEFINE_GUID(MF_LOW_LATENCY,
0x9c27891a, 0xed7a, 0x40e1, 0x88, 0xe8, 0xb2, 0x27, 0x27, 0xa0, 0x24, 0xee);
// {E3F2E203-D445-4B8C-9211-AE390D3BA017} {UINT32} Maximum macroblocks per seco
nd that can be handled by MFT
DEFINE_GUID(MF_VIDEO_MAX_MB_PER_SEC,
0xe3f2e203, 0xd445, 0x4b8c, 0x92, 0x11, 0xae, 0x39, 0xd, 0x3b, 0xa0, 0x17);
#endif // (WINVER >= _WIN32_WINNT_WIN8)
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
/////////////////////////////// Media Type GUIDs ////////////////////////////// /////////////////////////////// Media Type GUIDs //////////////////////////////
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
// //
// Major types // Major types
// //
DEFINE_GUID(MFMediaType_Default, DEFINE_GUID(MFMediaType_Default,
0x81A412E6, 0x8103, 0x4B06, 0x85, 0x7F, 0x18, 0x62, 0x78, 0x10, 0x24, 0xAC); 0x81A412E6, 0x8103, 0x4B06, 0x85, 0x7F, 0x18, 0x62, 0x78, 0x10, 0x24, 0xAC);
DEFINE_GUID(MFMediaType_Audio, DEFINE_GUID(MFMediaType_Audio,
skipping to change at line 1486 skipping to change at line 2203
DEFINE_GUID(MFMediaType_Script, DEFINE_GUID(MFMediaType_Script,
0x72178C22, 0xE45B, 0x11D5, 0xBC, 0x2A, 0x00, 0xB0, 0xD0, 0xF3, 0xF4, 0xAB); 0x72178C22, 0xE45B, 0x11D5, 0xBC, 0x2A, 0x00, 0xB0, 0xD0, 0xF3, 0xF4, 0xAB);
DEFINE_GUID(MFMediaType_Image, DEFINE_GUID(MFMediaType_Image,
0x72178C23, 0xE45B, 0x11D5, 0xBC, 0x2A, 0x00, 0xB0, 0xD0, 0xF3, 0xF4, 0xAB); 0x72178C23, 0xE45B, 0x11D5, 0xBC, 0x2A, 0x00, 0xB0, 0xD0, 0xF3, 0xF4, 0xAB);
DEFINE_GUID(MFMediaType_HTML, DEFINE_GUID(MFMediaType_HTML,
0x72178C24, 0xE45B, 0x11D5, 0xBC, 0x2A, 0x00, 0xB0, 0xD0, 0xF3, 0xF4, 0xAB); 0x72178C24, 0xE45B, 0x11D5, 0xBC, 0x2A, 0x00, 0xB0, 0xD0, 0xF3, 0xF4, 0xAB);
DEFINE_GUID(MFMediaType_Binary, DEFINE_GUID(MFMediaType_Binary,
0x72178C25, 0xE45B, 0x11D5, 0xBC, 0x2A, 0x00, 0xB0, 0xD0, 0xF3, 0xF4, 0xAB); 0x72178C25, 0xE45B, 0x11D5, 0xBC, 0x2A, 0x00, 0xB0, 0xD0, 0xF3, 0xF4, 0xAB);
DEFINE_GUID(MFMediaType_FileTransfer, DEFINE_GUID(MFMediaType_FileTransfer,
0x72178C26, 0xE45B, 0x11D5, 0xBC, 0x2A, 0x00, 0xB0, 0xD0, 0xF3, 0xF4, 0xAB); 0x72178C26, 0xE45B, 0x11D5, 0xBC, 0x2A, 0x00, 0xB0, 0xD0, 0xF3, 0xF4, 0xAB);
DEFINE_GUID(MFMediaType_Stream,
0xe436eb83, 0x524f, 0x11ce, 0x9f, 0x53, 0x00, 0x20, 0xaf, 0x0b, 0xa7, 0x70);
//
// Image subtypes (MFMediaType_Image major type)
//
// JPEG subtype: same as GUID_ContainerFormatJpeg
DEFINE_GUID(MFImageFormat_JPEG,
0x19e4a5aa, 0x5662, 0x4fc5, 0xa0, 0xc0, 0x17, 0x58, 0x02, 0x8e, 0x10, 0x57);
// RGB32 subtype: same as MFVideoFormat_RGB32
DEFINE_GUID(MFImageFormat_RGB32,
0x00000016, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71);
// //
// MPEG2 Stream subtypes (MFMediaType_Stream major type)
//
DEFINE_GUID(MFStreamFormat_MPEG2Transport,
0xe06d8023, 0xdb46, 0x11cf, 0xb4, 0xd1, 0x00, 0x80, 0x5f, 0x6c, 0xbb, 0xea);
DEFINE_GUID(MFStreamFormat_MPEG2Program,
0x263067d1, 0xd330, 0x45dc, 0xb6, 0x69, 0x34, 0xd9, 0x86, 0xe4, 0xe3, 0xe1);
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
#pragma endregion
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
//
// Representations // Representations
// //
DEFINE_GUID(AM_MEDIA_TYPE_REPRESENTATION, DEFINE_GUID(AM_MEDIA_TYPE_REPRESENTATION,
0xe2e42ad2, 0x132c, 0x491e, 0xa2, 0x68, 0x3c, 0x7c, 0x2d, 0xca, 0x18, 0x1f); 0xe2e42ad2, 0x132c, 0x491e, 0xa2, 0x68, 0x3c, 0x7c, 0x2d, 0xca, 0x18, 0x1f);
DEFINE_GUID(FORMAT_MFVideoFormat, DEFINE_GUID(FORMAT_MFVideoFormat,
0xaed4ab2d, 0x7326, 0x43cb, 0x94, 0x64, 0xc8, 0x79, 0xca, 0xb9, 0xc4, 0x3d); 0xaed4ab2d, 0x7326, 0x43cb, 0x94, 0x64, 0xc8, 0x79, 0xca, 0xb9, 0xc4, 0x3d);
//////////////////////////////////////////////////////////////////////////////// /////////////////////////////// Media Type functions ////////////////////////// //////////////////////////////////////////////////////////////////////////////// /////////////////////////////// Media Type functions //////////////////////////
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
skipping to change at line 1514 skipping to change at line 2257
typedef struct tagVIDEOINFOHEADER2 VIDEOINFOHEADER2; typedef struct tagVIDEOINFOHEADER2 VIDEOINFOHEADER2;
struct tagMPEG1VIDEOINFO; struct tagMPEG1VIDEOINFO;
typedef struct tagMPEG1VIDEOINFO MPEG1VIDEOINFO; typedef struct tagMPEG1VIDEOINFO MPEG1VIDEOINFO;
struct tagMPEG2VIDEOINFO; struct tagMPEG2VIDEOINFO;
typedef struct tagMPEG2VIDEOINFO MPEG2VIDEOINFO; typedef struct tagMPEG2VIDEOINFO MPEG2VIDEOINFO;
struct _AMMediaType; struct _AMMediaType;
typedef struct _AMMediaType AM_MEDIA_TYPE; typedef struct _AMMediaType AM_MEDIA_TYPE;
STDAPI STDAPI
MFValidateMediaTypeSize( MFValidateMediaTypeSize(
__in GUID FormatType, _In_ GUID FormatType,
__in_bcount_opt(cbSize) UINT8* pBlock, _In_reads_bytes_opt_(cbSize) UINT8* pBlock,
__in UINT32 cbSize _In_ UINT32 cbSize
); );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
STDAPI STDAPI
MFCreateMediaType( MFCreateMediaType(
__deref_out IMFMediaType** ppMFType _Outptr_ IMFMediaType** ppMFType
); );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
#pragma endregion
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
STDAPI STDAPI
MFCreateMFVideoFormatFromMFMediaType( MFCreateMFVideoFormatFromMFMediaType(
__in IMFMediaType* pMFType, _In_ IMFMediaType* pMFType,
__out MFVIDEOFORMAT** ppMFVF, // must be deleted with CoTaskMe _Out_ MFVIDEOFORMAT** ppMFVF, // must be deleted with CoTaskMe
mFree mFree
__out_opt UINT32* pcbSize _Out_opt_ UINT32* pcbSize
); );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
typedef enum _MFWaveFormatExConvertFlags { typedef enum _MFWaveFormatExConvertFlags {
MFWaveFormatExConvertFlag_Normal = 0, MFWaveFormatExConvertFlag_Normal = 0,
MFWaveFormatExConvertFlag_ForceExtensible = 1 MFWaveFormatExConvertFlag_ForceExtensible = 1
} MFWaveFormatExConvertFlags; } MFWaveFormatExConvertFlags;
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
#pragma endregion
#ifdef __cplusplus #ifdef __cplusplus
// //
// declarations with default parameters // declarations with default parameters
// //
#pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
STDAPI STDAPI
MFCreateWaveFormatExFromMFMediaType( MFCreateWaveFormatExFromMFMediaType(
__in IMFMediaType* pMFType, _In_ IMFMediaType* pMFType,
__out WAVEFORMATEX** ppWF, _Out_ WAVEFORMATEX** ppWF,
__out_opt UINT32* pcbSize, _Out_opt_ UINT32* pcbSize,
__in UINT32 Flags = MFWaveFormatExConvertFlag_Normal _In_ UINT32 Flags = MFWaveFormatExConvertFlag_Normal
); );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
#pragma endregion
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
STDAPI STDAPI
MFInitMediaTypeFromVideoInfoHeader( MFInitMediaTypeFromVideoInfoHeader(
__in IMFMediaType* pMFType, _In_ IMFMediaType* pMFType,
__in_bcount(cbBufSize) const VIDEOINFOHEADER* pVIH, _In_reads_bytes_(cbBufSize) const VIDEOINFOHEADER* pVIH,
__in UINT32 cbBufSize, _In_ UINT32 cbBufSize,
__in_opt const GUID* pSubtype = NULL _In_opt_ const GUID* pSubtype = NULL
); );
STDAPI STDAPI
MFInitMediaTypeFromVideoInfoHeader2( MFInitMediaTypeFromVideoInfoHeader2(
__in IMFMediaType* pMFType, _In_ IMFMediaType* pMFType,
__in_bcount(cbBufSize) const VIDEOINFOHEADER2* pVIH2, _In_reads_bytes_(cbBufSize) const VIDEOINFOHEADER2* pVIH2,
__in UINT32 cbBufSize, _In_ UINT32 cbBufSize,
__in_opt const GUID* pSubtype = NULL _In_opt_ const GUID* pSubtype = NULL
); );
STDAPI STDAPI
MFInitMediaTypeFromMPEG1VideoInfo( MFInitMediaTypeFromMPEG1VideoInfo(
__in IMFMediaType* pMFType, _In_ IMFMediaType* pMFType,
__in_bcount(cbBufSize) const MPEG1VIDEOINFO* pMP1VI, _In_reads_bytes_(cbBufSize) const MPEG1VIDEOINFO* pMP1VI,
__in UINT32 cbBufSize, _In_ UINT32 cbBufSize,
__in_opt const GUID* pSubtype = NULL _In_opt_ const GUID* pSubtype = NULL
); );
STDAPI STDAPI
MFInitMediaTypeFromMPEG2VideoInfo( MFInitMediaTypeFromMPEG2VideoInfo(
__in IMFMediaType* pMFType, _In_ IMFMediaType* pMFType,
__in_bcount(cbBufSize) const MPEG2VIDEOINFO* pMP2VI, _In_reads_bytes_(cbBufSize) const MPEG2VIDEOINFO* pMP2VI,
__in UINT32 cbBufSize, _In_ UINT32 cbBufSize,
__in_opt const GUID* pSubtype = NULL _In_opt_ const GUID* pSubtype = NULL
); );
STDAPI STDAPI
MFCalculateBitmapImageSize( MFCalculateBitmapImageSize(
__in_bcount(cbBufSize) const BITMAPINFOHEADER* pBMIH, _In_reads_bytes_(cbBufSize) const BITMAPINFOHEADER* pBMIH,
__in UINT32 cbBufSize, _In_ UINT32 cbBufSize,
__out UINT32* pcbImageSize, _Out_ UINT32* pcbImageSize,
__out_opt BOOL* pbKnown = NULL _Out_opt_ BOOL* pbKnown = NULL
); );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#else #else /* cplusplus */
// //
// same declarations without default parameters // same declarations without default parameters
// //
#pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
STDAPI STDAPI
MFCreateWaveFormatExFromMFMediaType( MFCreateWaveFormatExFromMFMediaType(
__in IMFMediaType* pMFType, _In_ IMFMediaType* pMFType,
__out WAVEFORMATEX** ppWF, _Out_ WAVEFORMATEX** ppWF,
__out_opt UINT32* pcbSize, _Out_opt_ UINT32* pcbSize,
__in UINT32 Flags _In_ UINT32 Flags
); );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
#pragma endregion
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
STDAPI STDAPI
MFInitMediaTypeFromVideoInfoHeader( MFInitMediaTypeFromVideoInfoHeader(
__in IMFMediaType* pMFType, _In_ IMFMediaType* pMFType,
__in_bcount(cbBufSize) const VIDEOINFOHEADER* pVIH, _In_reads_bytes_(cbBufSize) const VIDEOINFOHEADER* pVIH,
__in UINT32 cbBufSize, _In_ UINT32 cbBufSize,
__in_opt const GUID* pSubtype _In_opt_ const GUID* pSubtype
); );
STDAPI STDAPI
MFInitMediaTypeFromVideoInfoHeader2( MFInitMediaTypeFromVideoInfoHeader2(
__in IMFMediaType* pMFType, _In_ IMFMediaType* pMFType,
__in_bcount(cbBufSize) const VIDEOINFOHEADER2* pVIH2, _In_reads_bytes_(cbBufSize) const VIDEOINFOHEADER2* pVIH2,
__in UINT32 cbBufSize, _In_ UINT32 cbBufSize,
__in_opt const GUID* pSubtype _In_opt_ const GUID* pSubtype
); );
STDAPI STDAPI
MFInitMediaTypeFromMPEG1VideoInfo( MFInitMediaTypeFromMPEG1VideoInfo(
__in IMFMediaType* pMFType, _In_ IMFMediaType* pMFType,
__in_bcount(cbBufSize) const MPEG1VIDEOINFO* pMP1VI, _In_reads_bytes_(cbBufSize) const MPEG1VIDEOINFO* pMP1VI,
__in UINT32 cbBufSize, _In_ UINT32 cbBufSize,
__in_opt const GUID* pSubtype _In_opt_ const GUID* pSubtype
); );
STDAPI STDAPI
MFInitMediaTypeFromMPEG2VideoInfo( MFInitMediaTypeFromMPEG2VideoInfo(
__in IMFMediaType* pMFType, _In_ IMFMediaType* pMFType,
__in_bcount(cbBufSize) const MPEG2VIDEOINFO* pMP2VI, _In_reads_bytes_(cbBufSize) const MPEG2VIDEOINFO* pMP2VI,
__in UINT32 cbBufSize, _In_ UINT32 cbBufSize,
__in_opt const GUID* pSubtype _In_opt_ const GUID* pSubtype
); );
STDAPI STDAPI
MFCalculateBitmapImageSize( MFCalculateBitmapImageSize(
__in_bcount(cbBufSize) const BITMAPINFOHEADER* pBMIH, _In_reads_bytes_(cbBufSize) const BITMAPINFOHEADER* pBMIH,
__in UINT32 cbBufSize, _In_ UINT32 cbBufSize,
__out UINT32* pcbImageSize, _Out_ UINT32* pcbImageSize,
__out_opt BOOL* pbKnown _Out_opt_ BOOL* pbKnown
); );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#endif #endif /* cplusplus */
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
STDAPI STDAPI
MFCalculateImageSize( MFCalculateImageSize(
__in REFGUID guidSubtype, _In_ REFGUID guidSubtype,
__in UINT32 unWidth, _In_ UINT32 unWidth,
__in UINT32 unHeight, _In_ UINT32 unHeight,
__out UINT32* pcbImageSize _Out_ UINT32* pcbImageSize
); );
STDAPI STDAPI
MFFrameRateToAverageTimePerFrame( MFFrameRateToAverageTimePerFrame(
__in UINT32 unNumerator, _In_ UINT32 unNumerator,
__in UINT32 unDenominator, _In_ UINT32 unDenominator,
__out UINT64* punAverageTimePerFrame _Out_ UINT64* punAverageTimePerFrame
); );
STDAPI STDAPI
MFAverageTimePerFrameToFrameRate( MFAverageTimePerFrameToFrameRate(
__in UINT64 unAverageTimePerFrame, _In_ UINT64 unAverageTimePerFrame,
__out UINT32* punNumerator, _Out_ UINT32* punNumerator,
__out UINT32* punDenominator _Out_ UINT32* punDenominator
); );
STDAPI STDAPI
MFInitMediaTypeFromMFVideoFormat( MFInitMediaTypeFromMFVideoFormat(
__in IMFMediaType* pMFType, _In_ IMFMediaType* pMFType,
__in_bcount(cbBufSize) const MFVIDEOFORMAT* pMFVF, _In_reads_bytes_(cbBufSize) const MFVIDEOFORMAT* pMFVF,
__in UINT32 cbBufSize _In_ UINT32 cbBufSize
); );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
STDAPI STDAPI
MFInitMediaTypeFromWaveFormatEx( MFInitMediaTypeFromWaveFormatEx(
__in IMFMediaType* pMFType, _In_ IMFMediaType* pMFType,
__in_bcount(cbBufSize) const WAVEFORMATEX* pWaveFormat, _In_reads_bytes_(cbBufSize) const WAVEFORMATEX* pWaveFormat,
__in UINT32 cbBufSize _In_ UINT32 cbBufSize
); );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
#pragma endregion
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
STDAPI STDAPI
MFInitMediaTypeFromAMMediaType( MFInitMediaTypeFromAMMediaType(
__in IMFMediaType* pMFType, _In_ IMFMediaType* pMFType,
__in const AM_MEDIA_TYPE* pAMType _In_ const AM_MEDIA_TYPE* pAMType
); );
STDAPI STDAPI
MFInitAMMediaTypeFromMFMediaType( MFInitAMMediaTypeFromMFMediaType(
__in IMFMediaType* pMFType, _In_ IMFMediaType* pMFType,
__in GUID guidFormatBlockType, _In_ GUID guidFormatBlockType,
__inout AM_MEDIA_TYPE* pAMType _Inout_ AM_MEDIA_TYPE* pAMType
); );
STDAPI STDAPI
MFCreateAMMediaTypeFromMFMediaType( MFCreateAMMediaTypeFromMFMediaType(
__in IMFMediaType* pMFType, _In_ IMFMediaType* pMFType,
__in GUID guidFormatBlockType, _In_ GUID guidFormatBlockType,
__inout AM_MEDIA_TYPE** ppAMType // delete with DeleteMediaType _Inout_ AM_MEDIA_TYPE** ppAMType // delete with DeleteMediaType
); );
// //
// This function compares a full media type to a partial media type. // This function compares a full media type to a partial media type.
// //
// A "partial" media type is one that is given out by a component as a possible // A "partial" media type is one that is given out by a component as a possible
// media type it could accept. Many attributes may be unset, which represents // media type it could accept. Many attributes may be unset, which represents
// a "don't care" status for that attribute. // a "don't care" status for that attribute.
// //
// For example, a video effect may report that it supports YV12, // For example, a video effect may report that it supports YV12,
// but not want to specify a particular size. It simply creates a media type and sets // but not want to specify a particular size. It simply creates a media type and sets
// the major type to MFMediaType_Video and the subtype to MEDIASUBTYPE_YV12. // the major type to MFMediaType_Video and the subtype to MEDIASUBTYPE_YV12.
// //
// The comparison function succeeds if the partial type contains at least a majo r type, // The comparison function succeeds if the partial type contains at least a majo r type,
// and all of the attributes in the partial type exist in the full type and are set to // and all of the attributes in the partial type exist in the full type and are set to
// the same value. // the same value.
// //
STDAPI_(BOOL) STDAPI_(BOOL)
MFCompareFullToPartialMediaType( MFCompareFullToPartialMediaType(
__in IMFMediaType* pMFTypeFull, _In_ IMFMediaType* pMFTypeFull,
__in IMFMediaType* pMFTypePartial _In_ IMFMediaType* pMFTypePartial
); );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
STDAPI STDAPI
MFWrapMediaType( MFWrapMediaType(
__in IMFMediaType* pOrig, _In_ IMFMediaType* pOrig,
__in REFGUID MajorType, _In_ REFGUID MajorType,
__in REFGUID SubType, _In_ REFGUID SubType,
__out IMFMediaType ** ppWrap _Out_ IMFMediaType ** ppWrap
); );
STDAPI STDAPI
MFUnwrapMediaType( MFUnwrapMediaType(
__in IMFMediaType* pWrap, _In_ IMFMediaType* pWrap,
__out IMFMediaType ** ppOrig _Out_ IMFMediaType ** ppOrig
); );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
#pragma endregion
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
// //
// MFCreateVideoMediaType // MFCreateVideoMediaType
// //
#ifdef _KSMEDIA_ #ifdef _KSMEDIA_
STDAPI MFCreateVideoMediaTypeFromVideoInfoHeader( STDAPI MFCreateVideoMediaTypeFromVideoInfoHeader(
__in const KS_VIDEOINFOHEADER* pVideoInfoHeader, _In_ const KS_VIDEOINFOHEADER* pVideoInfoHeader,
DWORD cbVideoInfoHeader, DWORD cbVideoInfoHeader,
DWORD dwPixelAspectRatioX, DWORD dwPixelAspectRatioX,
DWORD dwPixelAspectRatioY, DWORD dwPixelAspectRatioY,
MFVideoInterlaceMode InterlaceMode, MFVideoInterlaceMode InterlaceMode,
QWORD VideoFlags, QWORD VideoFlags,
__in_opt const GUID * pSubtype, _In_opt_ const GUID * pSubtype,
__out IMFVideoMediaType** ppIVideoMediaType _Out_ IMFVideoMediaType** ppIVideoMediaType
); );
STDAPI MFCreateVideoMediaTypeFromVideoInfoHeader2( STDAPI MFCreateVideoMediaTypeFromVideoInfoHeader2(
__in const KS_VIDEOINFOHEADER2* pVideoInfoHeader, _In_ const KS_VIDEOINFOHEADER2* pVideoInfoHeader,
DWORD cbVideoInfoHeader, DWORD cbVideoInfoHeader,
QWORD AdditionalVideoFlags, QWORD AdditionalVideoFlags,
__in_opt const GUID * pSubtype, _In_opt_ const GUID * pSubtype,
__out IMFVideoMediaType** ppIVideoMediaType _Out_ IMFVideoMediaType** ppIVideoMediaType
); );
#endif #endif
STDAPI MFCreateVideoMediaType( STDAPI MFCreateVideoMediaType(
__in const MFVIDEOFORMAT* pVideoFormat, _In_ const MFVIDEOFORMAT* pVideoFormat,
__out IMFVideoMediaType** ppIVideoMediaType _Out_ IMFVideoMediaType** ppIVideoMediaType
); );
STDAPI MFCreateVideoMediaTypeFromSubtype( STDAPI MFCreateVideoMediaTypeFromSubtype(
__in const GUID * pAMSubtype, _In_ const GUID * pAMSubtype,
__out IMFVideoMediaType **ppIVideoMediaType _Out_ IMFVideoMediaType **ppIVideoMediaType
); );
STDAPI_(BOOL) STDAPI_(BOOL)
MFIsFormatYUV( MFIsFormatYUV(
DWORD Format DWORD Format
); );
// //
// These depend on BITMAPINFOHEADER being defined // These depend on BITMAPINFOHEADER being defined
// //
STDAPI MFCreateVideoMediaTypeFromBitMapInfoHeader( STDAPI MFCreateVideoMediaTypeFromBitMapInfoHeader(
__in const BITMAPINFOHEADER* pbmihBitMapInfoHeader, _In_ const BITMAPINFOHEADER* pbmihBitMapInfoHeader,
DWORD dwPixelAspectRatioX, DWORD dwPixelAspectRatioX,
DWORD dwPixelAspectRatioY, DWORD dwPixelAspectRatioY,
MFVideoInterlaceMode InterlaceMode, MFVideoInterlaceMode InterlaceMode,
QWORD VideoFlags, QWORD VideoFlags,
QWORD qwFramesPerSecondNumerator, QWORD qwFramesPerSecondNumerator,
QWORD qwFramesPerSecondDenominator, QWORD qwFramesPerSecondDenominator,
DWORD dwMaxBitRate, DWORD dwMaxBitRate,
__out IMFVideoMediaType** ppIVideoMediaType _Out_ IMFVideoMediaType** ppIVideoMediaType
); );
STDAPI MFGetStrideForBitmapInfoHeader( STDAPI MFGetStrideForBitmapInfoHeader(
DWORD format, DWORD format,
DWORD dwWidth, DWORD dwWidth,
__out LONG* pStride _Out_ LONG* pStride
); );
STDAPI MFGetPlaneSize( STDAPI MFGetPlaneSize(
DWORD format, DWORD format,
DWORD dwWidth, DWORD dwWidth,
DWORD dwHeight, DWORD dwHeight,
__out DWORD* pdwPlaneSize _Out_ DWORD* pdwPlaneSize
); );
#if (WINVER >= _WIN32_WINNT_WIN7) #if (WINVER >= _WIN32_WINNT_WIN7)
// //
// MFCreateVideoMediaTypeFromBitMapInfoHeaderEx // MFCreateVideoMediaTypeFromBitMapInfoHeaderEx
// //
STDAPI MFCreateVideoMediaTypeFromBitMapInfoHeaderEx( STDAPI MFCreateVideoMediaTypeFromBitMapInfoHeaderEx(
__in_bcount(cbBitMapInfoHeader) const BITMAPINFOHEADER* pbmihBitMapInfoHeade _In_reads_bytes_(cbBitMapInfoHeader) const BITMAPINFOHEADER* pbmihBitMapInfo
r, Header,
__in UINT32 cbBitMapInfoHeader, _In_ UINT32 cbBitMapInfoHeader,
DWORD dwPixelAspectRatioX, DWORD dwPixelAspectRatioX,
DWORD dwPixelAspectRatioY, DWORD dwPixelAspectRatioY,
MFVideoInterlaceMode InterlaceMode, MFVideoInterlaceMode InterlaceMode,
QWORD VideoFlags, QWORD VideoFlags,
DWORD dwFramesPerSecondNumerator, DWORD dwFramesPerSecondNumerator,
DWORD dwFramesPerSecondDenominator, DWORD dwFramesPerSecondDenominator,
DWORD dwMaxBitRate, DWORD dwMaxBitRate,
__out IMFVideoMediaType** ppIVideoMediaType _Out_ IMFVideoMediaType** ppIVideoMediaType
); );
#endif // (WINVER >= _WIN32_WINNT_WIN7) #endif // (WINVER >= _WIN32_WINNT_WIN7)
// //
// MFCreateMediaTypeFromRepresentation // MFCreateMediaTypeFromRepresentation
// //
STDAPI MFCreateMediaTypeFromRepresentation( STDAPI MFCreateMediaTypeFromRepresentation(
GUID guidRepresentation, GUID guidRepresentation,
__in LPVOID pvRepresentation, _In_ LPVOID pvRepresentation,
__out IMFMediaType** ppIMediaType _Out_ IMFMediaType** ppIMediaType
); );
// //
// MFCreateAudioMediaType // MFCreateAudioMediaType
// //
STDAPI STDAPI
MFCreateAudioMediaType( MFCreateAudioMediaType(
__in const WAVEFORMATEX* pAudioFormat, _In_ const WAVEFORMATEX* pAudioFormat,
__out IMFAudioMediaType** ppIAudioMediaType _Out_ IMFAudioMediaType** ppIAudioMediaType
); );
DWORD DWORD
STDMETHODCALLTYPE STDMETHODCALLTYPE
MFGetUncompressedVideoFormat( MFGetUncompressedVideoFormat(
__in const MFVIDEOFORMAT* pVideoFormat _In_ const MFVIDEOFORMAT* pVideoFormat
); );
STDAPI STDAPI
MFInitVideoFormat( MFInitVideoFormat(
__in MFVIDEOFORMAT* pVideoFormat, _In_ MFVIDEOFORMAT* pVideoFormat,
__in MFStandardVideoFormat type _In_ MFStandardVideoFormat type
); );
STDAPI STDAPI
MFInitVideoFormat_RGB( MFInitVideoFormat_RGB(
__in MFVIDEOFORMAT* pVideoFormat, _In_ MFVIDEOFORMAT* pVideoFormat,
__in DWORD dwWidth, _In_ DWORD dwWidth,
__in DWORD dwHeight, _In_ DWORD dwHeight,
__in DWORD D3Dfmt /* 0 indicates sRGB */ _In_ DWORD D3Dfmt /* 0 indicates sRGB */
); );
STDAPI STDAPI
MFConvertColorInfoToDXVA( MFConvertColorInfoToDXVA(
__out DWORD* pdwToDXVA, _Out_ DWORD* pdwToDXVA,
__in const MFVIDEOFORMAT* pFromFormat _In_ const MFVIDEOFORMAT* pFromFormat
); );
STDAPI STDAPI
MFConvertColorInfoFromDXVA( MFConvertColorInfoFromDXVA(
__inout MFVIDEOFORMAT* pToFormat, _Inout_ MFVIDEOFORMAT* pToFormat,
__in DWORD dwFromDXVA _In_ DWORD dwFromDXVA
); );
// //
// Optimized stride copy function // Optimized stride copy function
// //
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
STDAPI MFCopyImage( STDAPI MFCopyImage(
__out_bcount(abs(lDestStride) * dwLines) BYTE* pDest, _Out_writes_bytes_(_Inexpressible_(abs(lDestStride) * dwLines)) BYTE* pDest ,
LONG lDestStride, LONG lDestStride,
__in_bcount(abs(lSrcStride) * dwLines) const BYTE* pSrc, _In_reads_bytes_(_Inexpressible_(abs(lSrcStride) * dwLines)) const BYTE* pSr c,
LONG lSrcStride, LONG lSrcStride,
__out_range(<=, min(abs(lSrcStride), abs(lDestStride))) DWORD dwWidthInByte s, _Out_range_(<=, _Inexpressible_(min(abs(lSrcStride), abs(lDestStride)))) DW ORD dwWidthInBytes,
DWORD dwLines DWORD dwLines
); );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
#pragma endregion
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
STDAPI MFConvertFromFP16Array( STDAPI MFConvertFromFP16Array(
__out_ecount(dwCount) float* pDest, _Out_writes_(dwCount) float* pDest,
__in_ecount(dwCount) const WORD* pSrc, _In_reads_(dwCount) const WORD* pSrc,
DWORD dwCount DWORD dwCount
); );
STDAPI MFConvertToFP16Array( STDAPI MFConvertToFP16Array(
__out_ecount(dwCount) WORD* pDest, _Out_writes_(dwCount) WORD* pDest,
__in_ecount(dwCount) const float* pSrc, _In_reads_(dwCount) const float* pSrc,
DWORD dwCount DWORD dwCount
); );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
STDAPI MFCreate2DMediaBuffer(
_In_ DWORD dwWidth,
_In_ DWORD dwHeight,
_In_ DWORD dwFourCC,
_In_ BOOL fBottomUp,
_Out_ IMFMediaBuffer** ppBuffer
);
//
// Creates an optimal system memory media buffer from a media type
//
STDAPI MFCreateMediaBufferFromMediaType(
_In_ IMFMediaType* pMediaType,
_In_ LONGLONG llDuration, // Sample Duration, needed for audio
_In_ DWORD dwMinLength, // 0 means optimized default
_In_ DWORD dwMinAlignment, // 0 means optimized default
_Outptr_ IMFMediaBuffer** ppBuffer
);
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
#pragma endregion
//////////////////////////////////////////////////////////////////////////////// /////////////////////////////// Attributes Utility functions ////////////////// ////////// //////////////////////////////////////////////////////////////////////////////// /////////////////////////////// Attributes Utility functions ////////////////// //////////
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
#ifdef __cplusplus #ifdef __cplusplus
#pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
// //
// IMFAttributes inline UTILITY FUNCTIONS - used for IMFMediaType as well // IMFAttributes inline UTILITY FUNCTIONS - used for IMFMediaType as well
// //
inline inline
UINT32 UINT32
HI32(UINT64 unPacked) HI32(UINT64 unPacked)
{ {
return (UINT32)(unPacked >> 32); return (UINT32)(unPacked >> 32);
} }
skipping to change at line 1931 skipping to change at line 2778
inline inline
UINT64 UINT64
Pack2UINT32AsUINT64(UINT32 unHigh, UINT32 unLow) Pack2UINT32AsUINT64(UINT32 unHigh, UINT32 unLow)
{ {
return ((UINT64)unHigh << 32) | unLow; return ((UINT64)unHigh << 32) | unLow;
} }
inline inline
void void
Unpack2UINT32AsUINT64(UINT64 unPacked, __out UINT32* punHigh, __out UINT32* punL ow) Unpack2UINT32AsUINT64(UINT64 unPacked, _Out_ UINT32* punHigh, _Out_ UINT32* punL ow)
{ {
*punHigh = HI32(unPacked); *punHigh = HI32(unPacked);
*punLow = LO32(unPacked); *punLow = LO32(unPacked);
} }
inline inline
UINT64 UINT64
PackSize(UINT32 unWidth, UINT32 unHeight) PackSize(UINT32 unWidth, UINT32 unHeight)
{ {
return Pack2UINT32AsUINT64(unWidth, unHeight); return Pack2UINT32AsUINT64(unWidth, unHeight);
} }
inline inline
void void
UnpackSize(UINT64 unPacked, __out UINT32* punWidth, __out UINT32* punHeight) UnpackSize(UINT64 unPacked, _Out_ UINT32* punWidth, _Out_ UINT32* punHeight)
{ {
Unpack2UINT32AsUINT64(unPacked, punWidth, punHeight); Unpack2UINT32AsUINT64(unPacked, punWidth, punHeight);
} }
inline inline
UINT64 UINT64
PackRatio(INT32 nNumerator, UINT32 unDenominator) PackRatio(INT32 nNumerator, UINT32 unDenominator)
{ {
return Pack2UINT32AsUINT64((UINT32)nNumerator, unDenominator); return Pack2UINT32AsUINT64((UINT32)nNumerator, unDenominator);
} }
inline inline
void void
UnpackRatio(UINT64 unPacked, __out INT32* pnNumerator, __out UINT32* punDenomina tor) UnpackRatio(UINT64 unPacked, _Out_ INT32* pnNumerator, _Out_ UINT32* punDenomina tor)
{ {
Unpack2UINT32AsUINT64(unPacked, (UINT32*)pnNumerator, punDenominator); Unpack2UINT32AsUINT64(unPacked, (UINT32*)pnNumerator, punDenominator);
} }
// //
// "failsafe" inline get methods - return the stored value or return a default // "failsafe" inline get methods - return the stored value or return a default
// //
inline inline
UINT32 UINT32
MFGetAttributeUINT32( MFGetAttributeUINT32(
skipping to change at line 2022 skipping to change at line 2869
// //
// helpers for getting/setting ratios and sizes // helpers for getting/setting ratios and sizes
// //
inline inline
HRESULT HRESULT
MFGetAttribute2UINT32asUINT64( MFGetAttribute2UINT32asUINT64(
IMFAttributes* pAttributes, IMFAttributes* pAttributes,
REFGUID guidKey, REFGUID guidKey,
__out UINT32* punHigh32, _Out_ UINT32* punHigh32,
__out UINT32* punLow32 _Out_ UINT32* punLow32
) )
{ {
UINT64 unPacked; UINT64 unPacked;
HRESULT hr = S_OK; HRESULT hr = S_OK;
hr = pAttributes->GetUINT64(guidKey, &unPacked); hr = pAttributes->GetUINT64(guidKey, &unPacked);
if (FAILED(hr)) { if (FAILED(hr)) {
return hr; return hr;
} }
Unpack2UINT32AsUINT64(unPacked, punHigh32, punLow32); Unpack2UINT32AsUINT64(unPacked, punHigh32, punLow32);
skipping to change at line 2055 skipping to change at line 2902
) )
{ {
return pAttributes->SetUINT64(guidKey, Pack2UINT32AsUINT64(unHigh32, unLow32 )); return pAttributes->SetUINT64(guidKey, Pack2UINT32AsUINT64(unHigh32, unLow32 ));
} }
inline inline
HRESULT HRESULT
MFGetAttributeRatio( MFGetAttributeRatio(
IMFAttributes* pAttributes, IMFAttributes* pAttributes,
REFGUID guidKey, REFGUID guidKey,
__out UINT32* punNumerator, _Out_ UINT32* punNumerator,
__out UINT32* punDenominator _Out_ UINT32* punDenominator
) )
{ {
return MFGetAttribute2UINT32asUINT64(pAttributes, guidKey, punNumerator, pun Denominator); return MFGetAttribute2UINT32asUINT64(pAttributes, guidKey, punNumerator, pun Denominator);
} }
inline inline
HRESULT HRESULT
MFGetAttributeSize( MFGetAttributeSize(
IMFAttributes* pAttributes, IMFAttributes* pAttributes,
REFGUID guidKey, REFGUID guidKey,
__out UINT32* punWidth, _Out_ UINT32* punWidth,
__out UINT32* punHeight _Out_ UINT32* punHeight
) )
{ {
return MFGetAttribute2UINT32asUINT64(pAttributes, guidKey, punWidth, punHeig ht); return MFGetAttribute2UINT32asUINT64(pAttributes, guidKey, punWidth, punHeig ht);
} }
inline inline
HRESULT HRESULT
MFSetAttributeRatio( MFSetAttributeRatio(
IMFAttributes* pAttributes, IMFAttributes* pAttributes,
REFGUID guidKey, REFGUID guidKey,
skipping to change at line 2097 skipping to change at line 2944
HRESULT HRESULT
MFSetAttributeSize( MFSetAttributeSize(
IMFAttributes* pAttributes, IMFAttributes* pAttributes,
REFGUID guidKey, REFGUID guidKey,
UINT32 unWidth, UINT32 unWidth,
UINT32 unHeight UINT32 unHeight
) )
{ {
return MFSetAttribute2UINT32asUINT64(pAttributes, guidKey, unWidth, unHeight ); return MFSetAttribute2UINT32asUINT64(pAttributes, guidKey, unWidth, unHeight );
} }
#ifdef _INTSAFE_H_INCLUDED_
inline
HRESULT
MFGetAttributeString(
IMFAttributes* pAttributes,
REFGUID guidKey,
_Outptr_ PWSTR *ppsz
)
{
UINT32 length;
PWSTR psz = NULL;
*ppsz = NULL;
HRESULT hr = pAttributes->GetStringLength(guidKey, &length);
// add NULL to length
if (SUCCEEDED(hr)) {
hr = UIntAdd(length, 1, &length);
}
if (SUCCEEDED(hr)) {
size_t cb;
hr = SizeTMult(length, sizeof(WCHAR), &cb);
if( SUCCEEDED( hr ) )
{
psz = PWSTR( CoTaskMemAlloc( cb ) );
if( !psz )
{
hr = E_OUTOFMEMORY;
}
}
}
if (SUCCEEDED(hr)) {
hr = pAttributes->GetString(guidKey, psz, length, &length);
}
if (SUCCEEDED(hr)) {
*ppsz = psz;
} else {
CoTaskMemFree(psz);
}
return hr;
}
#endif // _INTSAFE_H_INCLUDED_
/////////////////////////////// Collection ////////////////////////////
////////////////////////////////////////////////////////////////////////////////
//
// Instantiates the MF-provided IMFCollection implementation
//
STDAPI MFCreateCollection(
_Out_ IMFCollection **ppIMFCollection );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
#pragma endregion
#endif #endif
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
//////////////////////////////// Memory Management //////////////////////////// //////////////////////////////// Memory Management ////////////////////////////
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
// //
// Heap alloc/free // Heap alloc/free
// //
typedef enum _EAllocationType typedef enum _EAllocationType
{ {
eAllocationTypeDynamic, eAllocationTypeDynamic,
eAllocationTypeRT, eAllocationTypeRT,
eAllocationTypePageable, eAllocationTypePageable,
eAllocationTypeIgnore eAllocationTypeIgnore
} EAllocationType; } EAllocationType;
EXTERN_C void* WINAPI MFHeapAlloc( size_t nSize, EXTERN_C void* WINAPI MFHeapAlloc( size_t nSize,
ULONG dwFlags, ULONG dwFlags,
__in_opt char *pszFile, _In_opt_ char *pszFile,
int line, int line,
EAllocationType eat); EAllocationType eat);
EXTERN_C void WINAPI MFHeapFree( void * pv ); EXTERN_C void WINAPI MFHeapFree( void * pv );
/////////////////////////////// Collection ////////////////////////////
////////////////////////////////////////////////////////////////////////////////
//
// Instantiates the MF-provided IMFCollection implementation
//
STDAPI MFCreateCollection(
__out IMFCollection **ppIMFCollection );
////////////////////////// SourceResolver //////////////////////////// ////////////////////////// SourceResolver ////////////////////////////
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////
DEFINE_GUID(CLSID_MFSourceResolver, DEFINE_GUID(CLSID_MFSourceResolver,
0x90eab60f, 0x90eab60f,
0xe43a, 0xe43a,
0x4188, 0x4188,
0xbc, 0xc4, 0xe4, 0x7f, 0xdf, 0x04, 0x86, 0x8c); 0xbc, 0xc4, 0xe4, 0x7f, 0xdf, 0x04, 0x86, 0x8c);
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#if (WINVER >= _WIN32_WINNT_WIN7) #if (WINVER >= _WIN32_WINNT_WIN7)
// Return (a * b + d) / c // Return (a * b + d) / c
// Returns _I64_MAX or LLONG_MIN on failure or _I64_MAX if mplat.dll is not ava ilable // Returns _I64_MAX or LLONG_MIN on failure or _I64_MAX if mplat.dll is not ava ilable
#pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
LONGLONG WINAPI MFllMulDiv(LONGLONG a, LONGLONG b, LONGLONG c, LONGLONG d); LONGLONG WINAPI MFllMulDiv(LONGLONG a, LONGLONG b, LONGLONG c, LONGLONG d);
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
#pragma endregion
#endif // (WINVER >= _WIN32_WINNT_WIN7) #endif // (WINVER >= _WIN32_WINNT_WIN7)
////////////////////////// Content Protection ////////////////////////////
////////////////////////////////////////////////////////////////////////////////
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
STDAPI MFGetContentProtectionSystemCLSID(
_In_ REFGUID guidProtectionSystemID,
_Out_ CLSID *pclsid );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#if defined(__cplusplus) #if defined(__cplusplus)
} }
#endif #endif
#endif //#if !defined(__MFAPI_H__) #endif //#if !defined(__MFAPI_H__)
 End of changes. 185 change blocks. 
305 lines changed or deleted 1286 lines changed or added


 mfidl.h (12.0.7601.19091-Windows_7.0)   mfidl.h (12.0.9600.17415-Windows_8.1) 
/* this ALWAYS GENERATED file contains the definitions for the interfaces */ /* this ALWAYS GENERATED file contains the definitions for the interfaces */
/* File created by MIDL compiler version 7.00.0555 */ /* File created by MIDL compiler version 8.00.0603 */
/* 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( ) */ /* @@MIDL_FILE_HEADING( ) */
#pragma warning( disable: 4049 ) /* more than 64k source lines */ #pragma warning( disable: 4049 ) /* more than 64k source lines */
/* verify that the <rpcndr.h> version is high enough to compile this file*/ /* verify that the <rpcndr.h> version is high enough to compile this file*/
#ifndef __REQUIRED_RPCNDR_H_VERSION__ #ifndef __REQUIRED_RPCNDR_H_VERSION__
#define __REQUIRED_RPCNDR_H_VERSION__ 500 #define __REQUIRED_RPCNDR_H_VERSION__ 500
#endif #endif
/* verify that the <rpcsal.h> version is high enough to compile this file*/ /* verify that the <rpcsal.h> version is high enough to compile this file*/
skipping to change at line 51 skipping to change at line 43
#if defined(_MSC_VER) && (_MSC_VER >= 1020) #if defined(_MSC_VER) && (_MSC_VER >= 1020)
#pragma once #pragma once
#endif #endif
/* Forward Declarations */ /* Forward Declarations */
#ifndef __IMFMediaSession_FWD_DEFINED__ #ifndef __IMFMediaSession_FWD_DEFINED__
#define __IMFMediaSession_FWD_DEFINED__ #define __IMFMediaSession_FWD_DEFINED__
typedef interface IMFMediaSession IMFMediaSession; typedef interface IMFMediaSession IMFMediaSession;
#endif /* __IMFMediaSession_FWD_DEFINED__ */ #endif /* __IMFMediaSession_FWD_DEFINED__ */
#ifndef __IMFSourceResolver_FWD_DEFINED__ #ifndef __IMFSourceResolver_FWD_DEFINED__
#define __IMFSourceResolver_FWD_DEFINED__ #define __IMFSourceResolver_FWD_DEFINED__
typedef interface IMFSourceResolver IMFSourceResolver; typedef interface IMFSourceResolver IMFSourceResolver;
#endif /* __IMFSourceResolver_FWD_DEFINED__ */ #endif /* __IMFSourceResolver_FWD_DEFINED__ */
#ifndef __IMFMediaSource_FWD_DEFINED__ #ifndef __IMFMediaSource_FWD_DEFINED__
#define __IMFMediaSource_FWD_DEFINED__ #define __IMFMediaSource_FWD_DEFINED__
typedef interface IMFMediaSource IMFMediaSource; typedef interface IMFMediaSource IMFMediaSource;
#endif /* __IMFMediaSource_FWD_DEFINED__ */ #endif /* __IMFMediaSource_FWD_DEFINED__ */
#ifndef __IMFMediaSourceEx_FWD_DEFINED__
#define __IMFMediaSourceEx_FWD_DEFINED__
typedef interface IMFMediaSourceEx IMFMediaSourceEx;
#endif /* __IMFMediaSourceEx_FWD_DEFINED__ */
#ifndef __IMFMediaStream_FWD_DEFINED__ #ifndef __IMFMediaStream_FWD_DEFINED__
#define __IMFMediaStream_FWD_DEFINED__ #define __IMFMediaStream_FWD_DEFINED__
typedef interface IMFMediaStream IMFMediaStream; typedef interface IMFMediaStream IMFMediaStream;
#endif /* __IMFMediaStream_FWD_DEFINED__ */ #endif /* __IMFMediaStream_FWD_DEFINED__ */
#ifndef __IMFMediaSink_FWD_DEFINED__ #ifndef __IMFMediaSink_FWD_DEFINED__
#define __IMFMediaSink_FWD_DEFINED__ #define __IMFMediaSink_FWD_DEFINED__
typedef interface IMFMediaSink IMFMediaSink; typedef interface IMFMediaSink IMFMediaSink;
#endif /* __IMFMediaSink_FWD_DEFINED__ */ #endif /* __IMFMediaSink_FWD_DEFINED__ */
#ifndef __IMFStreamSink_FWD_DEFINED__ #ifndef __IMFStreamSink_FWD_DEFINED__
#define __IMFStreamSink_FWD_DEFINED__ #define __IMFStreamSink_FWD_DEFINED__
typedef interface IMFStreamSink IMFStreamSink; typedef interface IMFStreamSink IMFStreamSink;
#endif /* __IMFStreamSink_FWD_DEFINED__ */ #endif /* __IMFStreamSink_FWD_DEFINED__ */
#ifndef __IMFVideoSampleAllocator_FWD_DEFINED__ #ifndef __IMFVideoSampleAllocator_FWD_DEFINED__
#define __IMFVideoSampleAllocator_FWD_DEFINED__ #define __IMFVideoSampleAllocator_FWD_DEFINED__
typedef interface IMFVideoSampleAllocator IMFVideoSampleAllocator; typedef interface IMFVideoSampleAllocator IMFVideoSampleAllocator;
#endif /* __IMFVideoSampleAllocator_FWD_DEFINED__ */ #endif /* __IMFVideoSampleAllocator_FWD_DEFINED__ */
#ifndef __IMFVideoSampleAllocatorNotify_FWD_DEFINED__ #ifndef __IMFVideoSampleAllocatorNotify_FWD_DEFINED__
#define __IMFVideoSampleAllocatorNotify_FWD_DEFINED__ #define __IMFVideoSampleAllocatorNotify_FWD_DEFINED__
typedef interface IMFVideoSampleAllocatorNotify IMFVideoSampleAllocatorNotify; typedef interface IMFVideoSampleAllocatorNotify IMFVideoSampleAllocatorNotify;
#endif /* __IMFVideoSampleAllocatorNotify_FWD_DEFINED__ */ #endif /* __IMFVideoSampleAllocatorNotify_FWD_DEFINED__ */
#ifndef __IMFVideoSampleAllocatorCallback_FWD_DEFINED__ #ifndef __IMFVideoSampleAllocatorCallback_FWD_DEFINED__
#define __IMFVideoSampleAllocatorCallback_FWD_DEFINED__ #define __IMFVideoSampleAllocatorCallback_FWD_DEFINED__
typedef interface IMFVideoSampleAllocatorCallback IMFVideoSampleAllocatorCallbac k; typedef interface IMFVideoSampleAllocatorCallback IMFVideoSampleAllocatorCallbac k;
#endif /* __IMFVideoSampleAllocatorCallback_FWD_DEFINED__ */ #endif /* __IMFVideoSampleAllocatorCallback_FWD_DEFINED__ */
#ifndef __IMFVideoSampleAllocatorEx_FWD_DEFINED__
#define __IMFVideoSampleAllocatorEx_FWD_DEFINED__
typedef interface IMFVideoSampleAllocatorEx IMFVideoSampleAllocatorEx;
#endif /* __IMFVideoSampleAllocatorEx_FWD_DEFINED__ */
#ifndef __IMFDXGIDeviceManagerSource_FWD_DEFINED__
#define __IMFDXGIDeviceManagerSource_FWD_DEFINED__
typedef interface IMFDXGIDeviceManagerSource IMFDXGIDeviceManagerSource;
#endif /* __IMFDXGIDeviceManagerSource_FWD_DEFINED__ */
#ifndef __IMFVideoProcessorControl_FWD_DEFINED__
#define __IMFVideoProcessorControl_FWD_DEFINED__
typedef interface IMFVideoProcessorControl IMFVideoProcessorControl;
#endif /* __IMFVideoProcessorControl_FWD_DEFINED__ */
#ifndef __IMFTopology_FWD_DEFINED__ #ifndef __IMFTopology_FWD_DEFINED__
#define __IMFTopology_FWD_DEFINED__ #define __IMFTopology_FWD_DEFINED__
typedef interface IMFTopology IMFTopology; typedef interface IMFTopology IMFTopology;
#endif /* __IMFTopology_FWD_DEFINED__ */ #endif /* __IMFTopology_FWD_DEFINED__ */
#ifndef __IMFTopologyNode_FWD_DEFINED__ #ifndef __IMFTopologyNode_FWD_DEFINED__
#define __IMFTopologyNode_FWD_DEFINED__ #define __IMFTopologyNode_FWD_DEFINED__
typedef interface IMFTopologyNode IMFTopologyNode; typedef interface IMFTopologyNode IMFTopologyNode;
#endif /* __IMFTopologyNode_FWD_DEFINED__ */ #endif /* __IMFTopologyNode_FWD_DEFINED__ */
#ifndef __IMFGetService_FWD_DEFINED__ #ifndef __IMFGetService_FWD_DEFINED__
#define __IMFGetService_FWD_DEFINED__ #define __IMFGetService_FWD_DEFINED__
typedef interface IMFGetService IMFGetService; typedef interface IMFGetService IMFGetService;
#endif /* __IMFGetService_FWD_DEFINED__ */ #endif /* __IMFGetService_FWD_DEFINED__ */
#ifndef __IMFClock_FWD_DEFINED__ #ifndef __IMFClock_FWD_DEFINED__
#define __IMFClock_FWD_DEFINED__ #define __IMFClock_FWD_DEFINED__
typedef interface IMFClock IMFClock; typedef interface IMFClock IMFClock;
#endif /* __IMFClock_FWD_DEFINED__ */ #endif /* __IMFClock_FWD_DEFINED__ */
#ifndef __IMFPresentationClock_FWD_DEFINED__ #ifndef __IMFPresentationClock_FWD_DEFINED__
#define __IMFPresentationClock_FWD_DEFINED__ #define __IMFPresentationClock_FWD_DEFINED__
typedef interface IMFPresentationClock IMFPresentationClock; typedef interface IMFPresentationClock IMFPresentationClock;
#endif /* __IMFPresentationClock_FWD_DEFINED__ */ #endif /* __IMFPresentationClock_FWD_DEFINED__ */
#ifndef __IMFPresentationTimeSource_FWD_DEFINED__ #ifndef __IMFPresentationTimeSource_FWD_DEFINED__
#define __IMFPresentationTimeSource_FWD_DEFINED__ #define __IMFPresentationTimeSource_FWD_DEFINED__
typedef interface IMFPresentationTimeSource IMFPresentationTimeSource; typedef interface IMFPresentationTimeSource IMFPresentationTimeSource;
#endif /* __IMFPresentationTimeSource_FWD_DEFINED__ */ #endif /* __IMFPresentationTimeSource_FWD_DEFINED__ */
#ifndef __IMFClockStateSink_FWD_DEFINED__ #ifndef __IMFClockStateSink_FWD_DEFINED__
#define __IMFClockStateSink_FWD_DEFINED__ #define __IMFClockStateSink_FWD_DEFINED__
typedef interface IMFClockStateSink IMFClockStateSink; typedef interface IMFClockStateSink IMFClockStateSink;
#endif /* __IMFClockStateSink_FWD_DEFINED__ */ #endif /* __IMFClockStateSink_FWD_DEFINED__ */
#ifndef __IMFPresentationDescriptor_FWD_DEFINED__ #ifndef __IMFPresentationDescriptor_FWD_DEFINED__
#define __IMFPresentationDescriptor_FWD_DEFINED__ #define __IMFPresentationDescriptor_FWD_DEFINED__
typedef interface IMFPresentationDescriptor IMFPresentationDescriptor; typedef interface IMFPresentationDescriptor IMFPresentationDescriptor;
#endif /* __IMFPresentationDescriptor_FWD_DEFINED__ */ #endif /* __IMFPresentationDescriptor_FWD_DEFINED__ */
#ifndef __IMFStreamDescriptor_FWD_DEFINED__ #ifndef __IMFStreamDescriptor_FWD_DEFINED__
#define __IMFStreamDescriptor_FWD_DEFINED__ #define __IMFStreamDescriptor_FWD_DEFINED__
typedef interface IMFStreamDescriptor IMFStreamDescriptor; typedef interface IMFStreamDescriptor IMFStreamDescriptor;
#endif /* __IMFStreamDescriptor_FWD_DEFINED__ */ #endif /* __IMFStreamDescriptor_FWD_DEFINED__ */
#ifndef __IMFMediaTypeHandler_FWD_DEFINED__ #ifndef __IMFMediaTypeHandler_FWD_DEFINED__
#define __IMFMediaTypeHandler_FWD_DEFINED__ #define __IMFMediaTypeHandler_FWD_DEFINED__
typedef interface IMFMediaTypeHandler IMFMediaTypeHandler; typedef interface IMFMediaTypeHandler IMFMediaTypeHandler;
#endif /* __IMFMediaTypeHandler_FWD_DEFINED__ */ #endif /* __IMFMediaTypeHandler_FWD_DEFINED__ */
#ifndef __IMFTimer_FWD_DEFINED__ #ifndef __IMFTimer_FWD_DEFINED__
#define __IMFTimer_FWD_DEFINED__ #define __IMFTimer_FWD_DEFINED__
typedef interface IMFTimer IMFTimer; typedef interface IMFTimer IMFTimer;
#endif /* __IMFTimer_FWD_DEFINED__ */ #endif /* __IMFTimer_FWD_DEFINED__ */
#ifndef __IMFShutdown_FWD_DEFINED__ #ifndef __IMFShutdown_FWD_DEFINED__
#define __IMFShutdown_FWD_DEFINED__ #define __IMFShutdown_FWD_DEFINED__
typedef interface IMFShutdown IMFShutdown; typedef interface IMFShutdown IMFShutdown;
#endif /* __IMFShutdown_FWD_DEFINED__ */ #endif /* __IMFShutdown_FWD_DEFINED__ */
#ifndef __IMFTopoLoader_FWD_DEFINED__ #ifndef __IMFTopoLoader_FWD_DEFINED__
#define __IMFTopoLoader_FWD_DEFINED__ #define __IMFTopoLoader_FWD_DEFINED__
typedef interface IMFTopoLoader IMFTopoLoader; typedef interface IMFTopoLoader IMFTopoLoader;
#endif /* __IMFTopoLoader_FWD_DEFINED__ */ #endif /* __IMFTopoLoader_FWD_DEFINED__ */
#ifndef __IMFContentProtectionManager_FWD_DEFINED__ #ifndef __IMFContentProtectionManager_FWD_DEFINED__
#define __IMFContentProtectionManager_FWD_DEFINED__ #define __IMFContentProtectionManager_FWD_DEFINED__
typedef interface IMFContentProtectionManager IMFContentProtectionManager; typedef interface IMFContentProtectionManager IMFContentProtectionManager;
#endif /* __IMFContentProtectionManager_FWD_DEFINED__ */ #endif /* __IMFContentProtectionManager_FWD_DEFINED__ */
#ifndef __IMFContentEnabler_FWD_DEFINED__ #ifndef __IMFContentEnabler_FWD_DEFINED__
#define __IMFContentEnabler_FWD_DEFINED__ #define __IMFContentEnabler_FWD_DEFINED__
typedef interface IMFContentEnabler IMFContentEnabler; typedef interface IMFContentEnabler IMFContentEnabler;
#endif /* __IMFContentEnabler_FWD_DEFINED__ */ #endif /* __IMFContentEnabler_FWD_DEFINED__ */
#ifndef __IMFMetadata_FWD_DEFINED__ #ifndef __IMFMetadata_FWD_DEFINED__
#define __IMFMetadata_FWD_DEFINED__ #define __IMFMetadata_FWD_DEFINED__
typedef interface IMFMetadata IMFMetadata; typedef interface IMFMetadata IMFMetadata;
#endif /* __IMFMetadata_FWD_DEFINED__ */ #endif /* __IMFMetadata_FWD_DEFINED__ */
#ifndef __IMFMetadataProvider_FWD_DEFINED__ #ifndef __IMFMetadataProvider_FWD_DEFINED__
#define __IMFMetadataProvider_FWD_DEFINED__ #define __IMFMetadataProvider_FWD_DEFINED__
typedef interface IMFMetadataProvider IMFMetadataProvider; typedef interface IMFMetadataProvider IMFMetadataProvider;
#endif /* __IMFMetadataProvider_FWD_DEFINED__ */ #endif /* __IMFMetadataProvider_FWD_DEFINED__ */
#ifndef __IMFRateSupport_FWD_DEFINED__ #ifndef __IMFRateSupport_FWD_DEFINED__
#define __IMFRateSupport_FWD_DEFINED__ #define __IMFRateSupport_FWD_DEFINED__
typedef interface IMFRateSupport IMFRateSupport; typedef interface IMFRateSupport IMFRateSupport;
#endif /* __IMFRateSupport_FWD_DEFINED__ */ #endif /* __IMFRateSupport_FWD_DEFINED__ */
#ifndef __IMFRateControl_FWD_DEFINED__ #ifndef __IMFRateControl_FWD_DEFINED__
#define __IMFRateControl_FWD_DEFINED__ #define __IMFRateControl_FWD_DEFINED__
typedef interface IMFRateControl IMFRateControl; typedef interface IMFRateControl IMFRateControl;
#endif /* __IMFRateControl_FWD_DEFINED__ */ #endif /* __IMFRateControl_FWD_DEFINED__ */
#ifndef __IMFTimecodeTranslate_FWD_DEFINED__ #ifndef __IMFTimecodeTranslate_FWD_DEFINED__
#define __IMFTimecodeTranslate_FWD_DEFINED__ #define __IMFTimecodeTranslate_FWD_DEFINED__
typedef interface IMFTimecodeTranslate IMFTimecodeTranslate; typedef interface IMFTimecodeTranslate IMFTimecodeTranslate;
#endif /* __IMFTimecodeTranslate_FWD_DEFINED__ */ #endif /* __IMFTimecodeTranslate_FWD_DEFINED__ */
#ifndef __IMFSeekInfo_FWD_DEFINED__
#define __IMFSeekInfo_FWD_DEFINED__
typedef interface IMFSeekInfo IMFSeekInfo;
#endif /* __IMFSeekInfo_FWD_DEFINED__ */
#ifndef __IMFSimpleAudioVolume_FWD_DEFINED__ #ifndef __IMFSimpleAudioVolume_FWD_DEFINED__
#define __IMFSimpleAudioVolume_FWD_DEFINED__ #define __IMFSimpleAudioVolume_FWD_DEFINED__
typedef interface IMFSimpleAudioVolume IMFSimpleAudioVolume; typedef interface IMFSimpleAudioVolume IMFSimpleAudioVolume;
#endif /* __IMFSimpleAudioVolume_FWD_DEFINED__ */ #endif /* __IMFSimpleAudioVolume_FWD_DEFINED__ */
#ifndef __IMFAudioStreamVolume_FWD_DEFINED__ #ifndef __IMFAudioStreamVolume_FWD_DEFINED__
#define __IMFAudioStreamVolume_FWD_DEFINED__ #define __IMFAudioStreamVolume_FWD_DEFINED__
typedef interface IMFAudioStreamVolume IMFAudioStreamVolume; typedef interface IMFAudioStreamVolume IMFAudioStreamVolume;
#endif /* __IMFAudioStreamVolume_FWD_DEFINED__ */ #endif /* __IMFAudioStreamVolume_FWD_DEFINED__ */
#ifndef __IMFAudioPolicy_FWD_DEFINED__ #ifndef __IMFAudioPolicy_FWD_DEFINED__
#define __IMFAudioPolicy_FWD_DEFINED__ #define __IMFAudioPolicy_FWD_DEFINED__
typedef interface IMFAudioPolicy IMFAudioPolicy; typedef interface IMFAudioPolicy IMFAudioPolicy;
#endif /* __IMFAudioPolicy_FWD_DEFINED__ */ #endif /* __IMFAudioPolicy_FWD_DEFINED__ */
#ifndef __IMFSampleGrabberSinkCallback_FWD_DEFINED__ #ifndef __IMFSampleGrabberSinkCallback_FWD_DEFINED__
#define __IMFSampleGrabberSinkCallback_FWD_DEFINED__ #define __IMFSampleGrabberSinkCallback_FWD_DEFINED__
typedef interface IMFSampleGrabberSinkCallback IMFSampleGrabberSinkCallback; typedef interface IMFSampleGrabberSinkCallback IMFSampleGrabberSinkCallback;
#endif /* __IMFSampleGrabberSinkCallback_FWD_DEFINED__ */ #endif /* __IMFSampleGrabberSinkCallback_FWD_DEFINED__ */
#ifndef __IMFSampleGrabberSinkCallback2_FWD_DEFINED__ #ifndef __IMFSampleGrabberSinkCallback2_FWD_DEFINED__
#define __IMFSampleGrabberSinkCallback2_FWD_DEFINED__ #define __IMFSampleGrabberSinkCallback2_FWD_DEFINED__
typedef interface IMFSampleGrabberSinkCallback2 IMFSampleGrabberSinkCallback2; typedef interface IMFSampleGrabberSinkCallback2 IMFSampleGrabberSinkCallback2;
#endif /* __IMFSampleGrabberSinkCallback2_FWD_DEFINED__ */ #endif /* __IMFSampleGrabberSinkCallback2_FWD_DEFINED__ */
#ifndef __IMFWorkQueueServices_FWD_DEFINED__ #ifndef __IMFWorkQueueServices_FWD_DEFINED__
#define __IMFWorkQueueServices_FWD_DEFINED__ #define __IMFWorkQueueServices_FWD_DEFINED__
typedef interface IMFWorkQueueServices IMFWorkQueueServices; typedef interface IMFWorkQueueServices IMFWorkQueueServices;
#endif /* __IMFWorkQueueServices_FWD_DEFINED__ */ #endif /* __IMFWorkQueueServices_FWD_DEFINED__ */
#ifndef __IMFWorkQueueServicesEx_FWD_DEFINED__
#define __IMFWorkQueueServicesEx_FWD_DEFINED__
typedef interface IMFWorkQueueServicesEx IMFWorkQueueServicesEx;
#endif /* __IMFWorkQueueServicesEx_FWD_DEFINED__ */
#ifndef __IMFQualityManager_FWD_DEFINED__ #ifndef __IMFQualityManager_FWD_DEFINED__
#define __IMFQualityManager_FWD_DEFINED__ #define __IMFQualityManager_FWD_DEFINED__
typedef interface IMFQualityManager IMFQualityManager; typedef interface IMFQualityManager IMFQualityManager;
#endif /* __IMFQualityManager_FWD_DEFINED__ */ #endif /* __IMFQualityManager_FWD_DEFINED__ */
#ifndef __IMFQualityAdvise_FWD_DEFINED__ #ifndef __IMFQualityAdvise_FWD_DEFINED__
#define __IMFQualityAdvise_FWD_DEFINED__ #define __IMFQualityAdvise_FWD_DEFINED__
typedef interface IMFQualityAdvise IMFQualityAdvise; typedef interface IMFQualityAdvise IMFQualityAdvise;
#endif /* __IMFQualityAdvise_FWD_DEFINED__ */ #endif /* __IMFQualityAdvise_FWD_DEFINED__ */
#ifndef __IMFQualityAdvise2_FWD_DEFINED__ #ifndef __IMFQualityAdvise2_FWD_DEFINED__
#define __IMFQualityAdvise2_FWD_DEFINED__ #define __IMFQualityAdvise2_FWD_DEFINED__
typedef interface IMFQualityAdvise2 IMFQualityAdvise2; typedef interface IMFQualityAdvise2 IMFQualityAdvise2;
#endif /* __IMFQualityAdvise2_FWD_DEFINED__ */ #endif /* __IMFQualityAdvise2_FWD_DEFINED__ */
#ifndef __IMFQualityAdviseLimits_FWD_DEFINED__ #ifndef __IMFQualityAdviseLimits_FWD_DEFINED__
#define __IMFQualityAdviseLimits_FWD_DEFINED__ #define __IMFQualityAdviseLimits_FWD_DEFINED__
typedef interface IMFQualityAdviseLimits IMFQualityAdviseLimits; typedef interface IMFQualityAdviseLimits IMFQualityAdviseLimits;
#endif /* __IMFQualityAdviseLimits_FWD_DEFINED__ */ #endif /* __IMFQualityAdviseLimits_FWD_DEFINED__ */
#ifndef __IMFRealTimeClient_FWD_DEFINED__ #ifndef __IMFRealTimeClient_FWD_DEFINED__
#define __IMFRealTimeClient_FWD_DEFINED__ #define __IMFRealTimeClient_FWD_DEFINED__
typedef interface IMFRealTimeClient IMFRealTimeClient; typedef interface IMFRealTimeClient IMFRealTimeClient;
#endif /* __IMFRealTimeClient_FWD_DEFINED__ */ #endif /* __IMFRealTimeClient_FWD_DEFINED__ */
#ifndef __IMFRealTimeClientEx_FWD_DEFINED__
#define __IMFRealTimeClientEx_FWD_DEFINED__
typedef interface IMFRealTimeClientEx IMFRealTimeClientEx;
#endif /* __IMFRealTimeClientEx_FWD_DEFINED__ */
#ifndef __IMFSequencerSource_FWD_DEFINED__ #ifndef __IMFSequencerSource_FWD_DEFINED__
#define __IMFSequencerSource_FWD_DEFINED__ #define __IMFSequencerSource_FWD_DEFINED__
typedef interface IMFSequencerSource IMFSequencerSource; typedef interface IMFSequencerSource IMFSequencerSource;
#endif /* __IMFSequencerSource_FWD_DEFINED__ */ #endif /* __IMFSequencerSource_FWD_DEFINED__ */
#ifndef __IMFMediaSourceTopologyProvider_FWD_DEFINED__ #ifndef __IMFMediaSourceTopologyProvider_FWD_DEFINED__
#define __IMFMediaSourceTopologyProvider_FWD_DEFINED__ #define __IMFMediaSourceTopologyProvider_FWD_DEFINED__
typedef interface IMFMediaSourceTopologyProvider IMFMediaSourceTopologyProvider; typedef interface IMFMediaSourceTopologyProvider IMFMediaSourceTopologyProvider;
#endif /* __IMFMediaSourceTopologyProvider_FWD_DEFINED__ */ #endif /* __IMFMediaSourceTopologyProvider_FWD_DEFINED__ */
#ifndef __IMFMediaSourcePresentationProvider_FWD_DEFINED__ #ifndef __IMFMediaSourcePresentationProvider_FWD_DEFINED__
#define __IMFMediaSourcePresentationProvider_FWD_DEFINED__ #define __IMFMediaSourcePresentationProvider_FWD_DEFINED__
typedef interface IMFMediaSourcePresentationProvider IMFMediaSourcePresentationP rovider; typedef interface IMFMediaSourcePresentationProvider IMFMediaSourcePresentationP rovider;
#endif /* __IMFMediaSourcePresentationProvider_FWD_DEFINED__ */ #endif /* __IMFMediaSourcePresentationProvider_FWD_DEFINED__ */
#ifndef __IMFTopologyNodeAttributeEditor_FWD_DEFINED__ #ifndef __IMFTopologyNodeAttributeEditor_FWD_DEFINED__
#define __IMFTopologyNodeAttributeEditor_FWD_DEFINED__ #define __IMFTopologyNodeAttributeEditor_FWD_DEFINED__
typedef interface IMFTopologyNodeAttributeEditor IMFTopologyNodeAttributeEditor; typedef interface IMFTopologyNodeAttributeEditor IMFTopologyNodeAttributeEditor;
#endif /* __IMFTopologyNodeAttributeEditor_FWD_DEFINED__ */ #endif /* __IMFTopologyNodeAttributeEditor_FWD_DEFINED__ */
#ifndef __IMFByteStreamBuffering_FWD_DEFINED__ #ifndef __IMFByteStreamBuffering_FWD_DEFINED__
#define __IMFByteStreamBuffering_FWD_DEFINED__ #define __IMFByteStreamBuffering_FWD_DEFINED__
typedef interface IMFByteStreamBuffering IMFByteStreamBuffering; typedef interface IMFByteStreamBuffering IMFByteStreamBuffering;
#endif /* __IMFByteStreamBuffering_FWD_DEFINED__ */ #endif /* __IMFByteStreamBuffering_FWD_DEFINED__ */
#ifndef __IMFByteStreamCacheControl_FWD_DEFINED__ #ifndef __IMFByteStreamCacheControl_FWD_DEFINED__
#define __IMFByteStreamCacheControl_FWD_DEFINED__ #define __IMFByteStreamCacheControl_FWD_DEFINED__
typedef interface IMFByteStreamCacheControl IMFByteStreamCacheControl; typedef interface IMFByteStreamCacheControl IMFByteStreamCacheControl;
#endif /* __IMFByteStreamCacheControl_FWD_DEFINED__ */ #endif /* __IMFByteStreamCacheControl_FWD_DEFINED__ */
#ifndef __IMFByteStreamTimeSeek_FWD_DEFINED__
#define __IMFByteStreamTimeSeek_FWD_DEFINED__
typedef interface IMFByteStreamTimeSeek IMFByteStreamTimeSeek;
#endif /* __IMFByteStreamTimeSeek_FWD_DEFINED__ */
#ifndef __IMFByteStreamCacheControl2_FWD_DEFINED__
#define __IMFByteStreamCacheControl2_FWD_DEFINED__
typedef interface IMFByteStreamCacheControl2 IMFByteStreamCacheControl2;
#endif /* __IMFByteStreamCacheControl2_FWD_DEFINED__ */
#ifndef __IMFNetCredential_FWD_DEFINED__ #ifndef __IMFNetCredential_FWD_DEFINED__
#define __IMFNetCredential_FWD_DEFINED__ #define __IMFNetCredential_FWD_DEFINED__
typedef interface IMFNetCredential IMFNetCredential; typedef interface IMFNetCredential IMFNetCredential;
#endif /* __IMFNetCredential_FWD_DEFINED__ */ #endif /* __IMFNetCredential_FWD_DEFINED__ */
#ifndef __IMFNetCredentialManager_FWD_DEFINED__ #ifndef __IMFNetCredentialManager_FWD_DEFINED__
#define __IMFNetCredentialManager_FWD_DEFINED__ #define __IMFNetCredentialManager_FWD_DEFINED__
typedef interface IMFNetCredentialManager IMFNetCredentialManager; typedef interface IMFNetCredentialManager IMFNetCredentialManager;
#endif /* __IMFNetCredentialManager_FWD_DEFINED__ */ #endif /* __IMFNetCredentialManager_FWD_DEFINED__ */
#ifndef __IMFNetCredentialCache_FWD_DEFINED__ #ifndef __IMFNetCredentialCache_FWD_DEFINED__
#define __IMFNetCredentialCache_FWD_DEFINED__ #define __IMFNetCredentialCache_FWD_DEFINED__
typedef interface IMFNetCredentialCache IMFNetCredentialCache; typedef interface IMFNetCredentialCache IMFNetCredentialCache;
#endif /* __IMFNetCredentialCache_FWD_DEFINED__ */ #endif /* __IMFNetCredentialCache_FWD_DEFINED__ */
#ifndef __IMFSSLCertificateManager_FWD_DEFINED__ #ifndef __IMFSSLCertificateManager_FWD_DEFINED__
#define __IMFSSLCertificateManager_FWD_DEFINED__ #define __IMFSSLCertificateManager_FWD_DEFINED__
typedef interface IMFSSLCertificateManager IMFSSLCertificateManager; typedef interface IMFSSLCertificateManager IMFSSLCertificateManager;
#endif /* __IMFSSLCertificateManager_FWD_DEFINED__ */ #endif /* __IMFSSLCertificateManager_FWD_DEFINED__ */
#ifndef __IMFNetResourceFilter_FWD_DEFINED__
#define __IMFNetResourceFilter_FWD_DEFINED__
typedef interface IMFNetResourceFilter IMFNetResourceFilter;
#endif /* __IMFNetResourceFilter_FWD_DEFINED__ */
#ifndef __IMFSourceOpenMonitor_FWD_DEFINED__ #ifndef __IMFSourceOpenMonitor_FWD_DEFINED__
#define __IMFSourceOpenMonitor_FWD_DEFINED__ #define __IMFSourceOpenMonitor_FWD_DEFINED__
typedef interface IMFSourceOpenMonitor IMFSourceOpenMonitor; typedef interface IMFSourceOpenMonitor IMFSourceOpenMonitor;
#endif /* __IMFSourceOpenMonitor_FWD_DEFINED__ */ #endif /* __IMFSourceOpenMonitor_FWD_DEFINED__ */
#ifndef __IMFNetProxyLocator_FWD_DEFINED__ #ifndef __IMFNetProxyLocator_FWD_DEFINED__
#define __IMFNetProxyLocator_FWD_DEFINED__ #define __IMFNetProxyLocator_FWD_DEFINED__
typedef interface IMFNetProxyLocator IMFNetProxyLocator; typedef interface IMFNetProxyLocator IMFNetProxyLocator;
#endif /* __IMFNetProxyLocator_FWD_DEFINED__ */ #endif /* __IMFNetProxyLocator_FWD_DEFINED__ */
#ifndef __IMFNetProxyLocatorFactory_FWD_DEFINED__ #ifndef __IMFNetProxyLocatorFactory_FWD_DEFINED__
#define __IMFNetProxyLocatorFactory_FWD_DEFINED__ #define __IMFNetProxyLocatorFactory_FWD_DEFINED__
typedef interface IMFNetProxyLocatorFactory IMFNetProxyLocatorFactory; typedef interface IMFNetProxyLocatorFactory IMFNetProxyLocatorFactory;
#endif /* __IMFNetProxyLocatorFactory_FWD_DEFINED__ */ #endif /* __IMFNetProxyLocatorFactory_FWD_DEFINED__ */
#ifndef __IMFSaveJob_FWD_DEFINED__ #ifndef __IMFSaveJob_FWD_DEFINED__
#define __IMFSaveJob_FWD_DEFINED__ #define __IMFSaveJob_FWD_DEFINED__
typedef interface IMFSaveJob IMFSaveJob; typedef interface IMFSaveJob IMFSaveJob;
#endif /* __IMFSaveJob_FWD_DEFINED__ */ #endif /* __IMFSaveJob_FWD_DEFINED__ */
#ifndef __IMFNetSchemeHandlerConfig_FWD_DEFINED__ #ifndef __IMFNetSchemeHandlerConfig_FWD_DEFINED__
#define __IMFNetSchemeHandlerConfig_FWD_DEFINED__ #define __IMFNetSchemeHandlerConfig_FWD_DEFINED__
typedef interface IMFNetSchemeHandlerConfig IMFNetSchemeHandlerConfig; typedef interface IMFNetSchemeHandlerConfig IMFNetSchemeHandlerConfig;
#endif /* __IMFNetSchemeHandlerConfig_FWD_DEFINED__ */ #endif /* __IMFNetSchemeHandlerConfig_FWD_DEFINED__ */
#ifndef __IMFSchemeHandler_FWD_DEFINED__ #ifndef __IMFSchemeHandler_FWD_DEFINED__
#define __IMFSchemeHandler_FWD_DEFINED__ #define __IMFSchemeHandler_FWD_DEFINED__
typedef interface IMFSchemeHandler IMFSchemeHandler; typedef interface IMFSchemeHandler IMFSchemeHandler;
#endif /* __IMFSchemeHandler_FWD_DEFINED__ */ #endif /* __IMFSchemeHandler_FWD_DEFINED__ */
#ifndef __IMFByteStreamHandler_FWD_DEFINED__ #ifndef __IMFByteStreamHandler_FWD_DEFINED__
#define __IMFByteStreamHandler_FWD_DEFINED__ #define __IMFByteStreamHandler_FWD_DEFINED__
typedef interface IMFByteStreamHandler IMFByteStreamHandler; typedef interface IMFByteStreamHandler IMFByteStreamHandler;
#endif /* __IMFByteStreamHandler_FWD_DEFINED__ */ #endif /* __IMFByteStreamHandler_FWD_DEFINED__ */
#ifndef __IMFTrustedInput_FWD_DEFINED__ #ifndef __IMFTrustedInput_FWD_DEFINED__
#define __IMFTrustedInput_FWD_DEFINED__ #define __IMFTrustedInput_FWD_DEFINED__
typedef interface IMFTrustedInput IMFTrustedInput; typedef interface IMFTrustedInput IMFTrustedInput;
#endif /* __IMFTrustedInput_FWD_DEFINED__ */ #endif /* __IMFTrustedInput_FWD_DEFINED__ */
#ifndef __IMFInputTrustAuthority_FWD_DEFINED__ #ifndef __IMFInputTrustAuthority_FWD_DEFINED__
#define __IMFInputTrustAuthority_FWD_DEFINED__ #define __IMFInputTrustAuthority_FWD_DEFINED__
typedef interface IMFInputTrustAuthority IMFInputTrustAuthority; typedef interface IMFInputTrustAuthority IMFInputTrustAuthority;
#endif /* __IMFInputTrustAuthority_FWD_DEFINED__ */ #endif /* __IMFInputTrustAuthority_FWD_DEFINED__ */
#ifndef __IMFTrustedOutput_FWD_DEFINED__ #ifndef __IMFTrustedOutput_FWD_DEFINED__
#define __IMFTrustedOutput_FWD_DEFINED__ #define __IMFTrustedOutput_FWD_DEFINED__
typedef interface IMFTrustedOutput IMFTrustedOutput; typedef interface IMFTrustedOutput IMFTrustedOutput;
#endif /* __IMFTrustedOutput_FWD_DEFINED__ */ #endif /* __IMFTrustedOutput_FWD_DEFINED__ */
#ifndef __IMFOutputTrustAuthority_FWD_DEFINED__ #ifndef __IMFOutputTrustAuthority_FWD_DEFINED__
#define __IMFOutputTrustAuthority_FWD_DEFINED__ #define __IMFOutputTrustAuthority_FWD_DEFINED__
typedef interface IMFOutputTrustAuthority IMFOutputTrustAuthority; typedef interface IMFOutputTrustAuthority IMFOutputTrustAuthority;
#endif /* __IMFOutputTrustAuthority_FWD_DEFINED__ */ #endif /* __IMFOutputTrustAuthority_FWD_DEFINED__ */
#ifndef __IMFOutputPolicy_FWD_DEFINED__ #ifndef __IMFOutputPolicy_FWD_DEFINED__
#define __IMFOutputPolicy_FWD_DEFINED__ #define __IMFOutputPolicy_FWD_DEFINED__
typedef interface IMFOutputPolicy IMFOutputPolicy; typedef interface IMFOutputPolicy IMFOutputPolicy;
#endif /* __IMFOutputPolicy_FWD_DEFINED__ */ #endif /* __IMFOutputPolicy_FWD_DEFINED__ */
#ifndef __IMFOutputSchema_FWD_DEFINED__ #ifndef __IMFOutputSchema_FWD_DEFINED__
#define __IMFOutputSchema_FWD_DEFINED__ #define __IMFOutputSchema_FWD_DEFINED__
typedef interface IMFOutputSchema IMFOutputSchema; typedef interface IMFOutputSchema IMFOutputSchema;
#endif /* __IMFOutputSchema_FWD_DEFINED__ */ #endif /* __IMFOutputSchema_FWD_DEFINED__ */
#ifndef __IMFSecureChannel_FWD_DEFINED__ #ifndef __IMFSecureChannel_FWD_DEFINED__
#define __IMFSecureChannel_FWD_DEFINED__ #define __IMFSecureChannel_FWD_DEFINED__
typedef interface IMFSecureChannel IMFSecureChannel; typedef interface IMFSecureChannel IMFSecureChannel;
#endif /* __IMFSecureChannel_FWD_DEFINED__ */ #endif /* __IMFSecureChannel_FWD_DEFINED__ */
#ifndef __IMFSampleProtection_FWD_DEFINED__ #ifndef __IMFSampleProtection_FWD_DEFINED__
#define __IMFSampleProtection_FWD_DEFINED__ #define __IMFSampleProtection_FWD_DEFINED__
typedef interface IMFSampleProtection IMFSampleProtection; typedef interface IMFSampleProtection IMFSampleProtection;
#endif /* __IMFSampleProtection_FWD_DEFINED__ */ #endif /* __IMFSampleProtection_FWD_DEFINED__ */
#ifndef __IMFMediaSinkPreroll_FWD_DEFINED__ #ifndef __IMFMediaSinkPreroll_FWD_DEFINED__
#define __IMFMediaSinkPreroll_FWD_DEFINED__ #define __IMFMediaSinkPreroll_FWD_DEFINED__
typedef interface IMFMediaSinkPreroll IMFMediaSinkPreroll; typedef interface IMFMediaSinkPreroll IMFMediaSinkPreroll;
#endif /* __IMFMediaSinkPreroll_FWD_DEFINED__ */ #endif /* __IMFMediaSinkPreroll_FWD_DEFINED__ */
#ifndef __IMFFinalizableMediaSink_FWD_DEFINED__ #ifndef __IMFFinalizableMediaSink_FWD_DEFINED__
#define __IMFFinalizableMediaSink_FWD_DEFINED__ #define __IMFFinalizableMediaSink_FWD_DEFINED__
typedef interface IMFFinalizableMediaSink IMFFinalizableMediaSink; typedef interface IMFFinalizableMediaSink IMFFinalizableMediaSink;
#endif /* __IMFFinalizableMediaSink_FWD_DEFINED__ */ #endif /* __IMFFinalizableMediaSink_FWD_DEFINED__ */
#ifndef __IMFStreamingSinkConfig_FWD_DEFINED__ #ifndef __IMFStreamingSinkConfig_FWD_DEFINED__
#define __IMFStreamingSinkConfig_FWD_DEFINED__ #define __IMFStreamingSinkConfig_FWD_DEFINED__
typedef interface IMFStreamingSinkConfig IMFStreamingSinkConfig; typedef interface IMFStreamingSinkConfig IMFStreamingSinkConfig;
#endif /* __IMFStreamingSinkConfig_FWD_DEFINED__ */ #endif /* __IMFStreamingSinkConfig_FWD_DEFINED__ */
#ifndef __IMFRemoteProxy_FWD_DEFINED__ #ifndef __IMFRemoteProxy_FWD_DEFINED__
#define __IMFRemoteProxy_FWD_DEFINED__ #define __IMFRemoteProxy_FWD_DEFINED__
typedef interface IMFRemoteProxy IMFRemoteProxy; typedef interface IMFRemoteProxy IMFRemoteProxy;
#endif /* __IMFRemoteProxy_FWD_DEFINED__ */ #endif /* __IMFRemoteProxy_FWD_DEFINED__ */
#ifndef __IMFObjectReferenceStream_FWD_DEFINED__ #ifndef __IMFObjectReferenceStream_FWD_DEFINED__
#define __IMFObjectReferenceStream_FWD_DEFINED__ #define __IMFObjectReferenceStream_FWD_DEFINED__
typedef interface IMFObjectReferenceStream IMFObjectReferenceStream; typedef interface IMFObjectReferenceStream IMFObjectReferenceStream;
#endif /* __IMFObjectReferenceStream_FWD_DEFINED__ */ #endif /* __IMFObjectReferenceStream_FWD_DEFINED__ */
#ifndef __IMFPMPHost_FWD_DEFINED__ #ifndef __IMFPMPHost_FWD_DEFINED__
#define __IMFPMPHost_FWD_DEFINED__ #define __IMFPMPHost_FWD_DEFINED__
typedef interface IMFPMPHost IMFPMPHost; typedef interface IMFPMPHost IMFPMPHost;
#endif /* __IMFPMPHost_FWD_DEFINED__ */ #endif /* __IMFPMPHost_FWD_DEFINED__ */
#ifndef __IMFPMPClient_FWD_DEFINED__ #ifndef __IMFPMPClient_FWD_DEFINED__
#define __IMFPMPClient_FWD_DEFINED__ #define __IMFPMPClient_FWD_DEFINED__
typedef interface IMFPMPClient IMFPMPClient; typedef interface IMFPMPClient IMFPMPClient;
#endif /* __IMFPMPClient_FWD_DEFINED__ */ #endif /* __IMFPMPClient_FWD_DEFINED__ */
#ifndef __IMFPMPServer_FWD_DEFINED__ #ifndef __IMFPMPServer_FWD_DEFINED__
#define __IMFPMPServer_FWD_DEFINED__ #define __IMFPMPServer_FWD_DEFINED__
typedef interface IMFPMPServer IMFPMPServer; typedef interface IMFPMPServer IMFPMPServer;
#endif /* __IMFPMPServer_FWD_DEFINED__ */ #endif /* __IMFPMPServer_FWD_DEFINED__ */
#ifndef __IMFRemoteDesktopPlugin_FWD_DEFINED__ #ifndef __IMFRemoteDesktopPlugin_FWD_DEFINED__
#define __IMFRemoteDesktopPlugin_FWD_DEFINED__ #define __IMFRemoteDesktopPlugin_FWD_DEFINED__
typedef interface IMFRemoteDesktopPlugin IMFRemoteDesktopPlugin; typedef interface IMFRemoteDesktopPlugin IMFRemoteDesktopPlugin;
#endif /* __IMFRemoteDesktopPlugin_FWD_DEFINED__ */ #endif /* __IMFRemoteDesktopPlugin_FWD_DEFINED__ */
#ifndef __IMFSAMIStyle_FWD_DEFINED__ #ifndef __IMFSAMIStyle_FWD_DEFINED__
#define __IMFSAMIStyle_FWD_DEFINED__ #define __IMFSAMIStyle_FWD_DEFINED__
typedef interface IMFSAMIStyle IMFSAMIStyle; typedef interface IMFSAMIStyle IMFSAMIStyle;
#endif /* __IMFSAMIStyle_FWD_DEFINED__ */ #endif /* __IMFSAMIStyle_FWD_DEFINED__ */
#ifndef __IMFTranscodeProfile_FWD_DEFINED__ #ifndef __IMFTranscodeProfile_FWD_DEFINED__
#define __IMFTranscodeProfile_FWD_DEFINED__ #define __IMFTranscodeProfile_FWD_DEFINED__
typedef interface IMFTranscodeProfile IMFTranscodeProfile; typedef interface IMFTranscodeProfile IMFTranscodeProfile;
#endif /* __IMFTranscodeProfile_FWD_DEFINED__ */ #endif /* __IMFTranscodeProfile_FWD_DEFINED__ */
#ifndef __IMFTranscodeSinkInfoProvider_FWD_DEFINED__ #ifndef __IMFTranscodeSinkInfoProvider_FWD_DEFINED__
#define __IMFTranscodeSinkInfoProvider_FWD_DEFINED__ #define __IMFTranscodeSinkInfoProvider_FWD_DEFINED__
typedef interface IMFTranscodeSinkInfoProvider IMFTranscodeSinkInfoProvider; typedef interface IMFTranscodeSinkInfoProvider IMFTranscodeSinkInfoProvider;
#endif /* __IMFTranscodeSinkInfoProvider_FWD_DEFINED__ */ #endif /* __IMFTranscodeSinkInfoProvider_FWD_DEFINED__ */
#ifndef __IMFFieldOfUseMFTUnlock_FWD_DEFINED__ #ifndef __IMFFieldOfUseMFTUnlock_FWD_DEFINED__
#define __IMFFieldOfUseMFTUnlock_FWD_DEFINED__ #define __IMFFieldOfUseMFTUnlock_FWD_DEFINED__
typedef interface IMFFieldOfUseMFTUnlock IMFFieldOfUseMFTUnlock; typedef interface IMFFieldOfUseMFTUnlock IMFFieldOfUseMFTUnlock;
#endif /* __IMFFieldOfUseMFTUnlock_FWD_DEFINED__ */ #endif /* __IMFFieldOfUseMFTUnlock_FWD_DEFINED__ */
#ifndef __IMFLocalMFTRegistration_FWD_DEFINED__ #ifndef __IMFLocalMFTRegistration_FWD_DEFINED__
#define __IMFLocalMFTRegistration_FWD_DEFINED__ #define __IMFLocalMFTRegistration_FWD_DEFINED__
typedef interface IMFLocalMFTRegistration IMFLocalMFTRegistration; typedef interface IMFLocalMFTRegistration IMFLocalMFTRegistration;
#endif /* __IMFLocalMFTRegistration_FWD_DEFINED__ */ #endif /* __IMFLocalMFTRegistration_FWD_DEFINED__ */
#ifndef __IMFPMPHostApp_FWD_DEFINED__
#define __IMFPMPHostApp_FWD_DEFINED__
typedef interface IMFPMPHostApp IMFPMPHostApp;
#endif /* __IMFPMPHostApp_FWD_DEFINED__ */
#ifndef __IMFPMPClientApp_FWD_DEFINED__
#define __IMFPMPClientApp_FWD_DEFINED__
typedef interface IMFPMPClientApp IMFPMPClientApp;
#endif /* __IMFPMPClientApp_FWD_DEFINED__ */
#ifndef __IMFMediaStreamSourceSampleRequest_FWD_DEFINED__
#define __IMFMediaStreamSourceSampleRequest_FWD_DEFINED__
typedef interface IMFMediaStreamSourceSampleRequest IMFMediaStreamSourceSampleRe
quest;
#endif /* __IMFMediaStreamSourceSampleRequest_FWD_DEFINED__ */
#ifndef __IMFTrackedSample_FWD_DEFINED__
#define __IMFTrackedSample_FWD_DEFINED__
typedef interface IMFTrackedSample IMFTrackedSample;
#endif /* __IMFTrackedSample_FWD_DEFINED__ */
#ifndef __IMFProtectedEnvironmentAccess_FWD_DEFINED__
#define __IMFProtectedEnvironmentAccess_FWD_DEFINED__
typedef interface IMFProtectedEnvironmentAccess IMFProtectedEnvironmentAccess;
#endif /* __IMFProtectedEnvironmentAccess_FWD_DEFINED__ */
#ifndef __IMFSignedLibrary_FWD_DEFINED__
#define __IMFSignedLibrary_FWD_DEFINED__
typedef interface IMFSignedLibrary IMFSignedLibrary;
#endif /* __IMFSignedLibrary_FWD_DEFINED__ */
#ifndef __IMFSystemId_FWD_DEFINED__
#define __IMFSystemId_FWD_DEFINED__
typedef interface IMFSystemId IMFSystemId;
#endif /* __IMFSystemId_FWD_DEFINED__ */
/* header files for imported files */ /* header files for imported files */
#include "mfobjects.h" #include "mfobjects.h"
#include "mftransform.h" #include "mftransform.h"
#ifdef __cplusplus #ifdef __cplusplus
extern "C"{ extern "C"{
#endif #endif
/* interface __MIDL_itf_mfidl_0000_0000 */ /* interface __MIDL_itf_mfidl_0000_0000 */
/* [local] */ /* [local] */
#include <winapifamily.h>
#include <windef.h> #include <windef.h>
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
typedef typedef
enum MFSESSION_SETTOPOLOGY_FLAGS enum MFSESSION_SETTOPOLOGY_FLAGS
{ MFSESSION_SETTOPOLOGY_IMMEDIATE = 0x1, {
MFSESSION_SETTOPOLOGY_NORESOLUTION = 0x2, MFSESSION_SETTOPOLOGY_IMMEDIATE = 0x1,
MFSESSION_SETTOPOLOGY_CLEAR_CURRENT = 0x4 MFSESSION_SETTOPOLOGY_NORESOLUTION = 0x2,
MFSESSION_SETTOPOLOGY_CLEAR_CURRENT = 0x4
} MFSESSION_SETTOPOLOGY_FLAGS; } MFSESSION_SETTOPOLOGY_FLAGS;
typedef typedef
enum MFSESSION_GETFULLTOPOLOGY_FLAGS enum MFSESSION_GETFULLTOPOLOGY_FLAGS
{ MFSESSION_GETFULLTOPOLOGY_CURRENT = 0x1 {
MFSESSION_GETFULLTOPOLOGY_CURRENT = 0x1
} MFSESSION_GETFULLTOPOLOGY_FLAGS; } MFSESSION_GETFULLTOPOLOGY_FLAGS;
typedef typedef
enum MFPMPSESSION_CREATION_FLAGS enum MFPMPSESSION_CREATION_FLAGS
{ MFPMPSESSION_UNPROTECTED_PROCESS = 0x1 {
MFPMPSESSION_UNPROTECTED_PROCESS = 0x1
} MFPMPSESSION_CREATION_FLAGS; } MFPMPSESSION_CREATION_FLAGS;
typedef unsigned __int64 TOPOID; typedef unsigned __int64 TOPOID;
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
EXTERN_GUID( MF_WVC1_PROG_SINGLE_SLICE_CONTENT, 0x67EC2559, 0x0F2F, 0x4420, 0xA4
, 0xDD, 0x2F, 0x8E, 0xE7, 0xA5, 0x73, 0x8B);
EXTERN_GUID( MF_PROGRESSIVE_CODING_CONTENT, 0x8F020EEA, 0x1508, 0x471F, 0x9D, 0x
A6, 0x50, 0x7D, 0x7C, 0xFA, 0x40, 0xDB);
EXTERN_GUID( MF_NALU_LENGTH_SET, 0xA7911D53, 0x12A4, 0x4965, 0xAE, 0x70, 0x6E, 0
xAD, 0xD6, 0xFF, 0x05, 0x51);
EXTERN_GUID( MF_NALU_LENGTH_INFORMATION, 0x19124E7C, 0xAD4B, 0x465F, 0xBB, 0x18
, 0x20, 0x18, 0x62, 0x87, 0xB6, 0xAF);
EXTERN_GUID( MF_USER_DATA_PAYLOAD, 0xd1d4985d, 0xdc92, 0x457a, 0xb3, 0xa0, 0x65
, 0x1a, 0x33, 0xa3, 0x10, 0x47);
EXTERN_GUID( MF_MPEG4SINK_SPSPPS_PASSTHROUGH, 0x5601a134, 0x2005, 0x4ad2, 0xb3,
0x7d, 0x22, 0xa6, 0xc5, 0x54, 0xde, 0xb2);
EXTERN_GUID( MF_MPEG4SINK_MOOV_BEFORE_MDAT, 0xf672e3ac, 0xe1e6, 0x4f10, 0xb5, 0x
ec, 0x5f, 0x3b, 0x30, 0x82, 0x88, 0x16);
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
#pragma endregion
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0000_v0_0_c_ifspec; 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; extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0000_v0_0_s_ifspec;
#ifndef __IMFMediaSession_INTERFACE_DEFINED__ #ifndef __IMFMediaSession_INTERFACE_DEFINED__
#define __IMFMediaSession_INTERFACE_DEFINED__ #define __IMFMediaSession_INTERFACE_DEFINED__
/* interface IMFMediaSession */ /* interface IMFMediaSession */
/* [uuid][object] */ /* [uuid][object] */
EXTERN_C const IID IID_IMFMediaSession; EXTERN_C const IID IID_IMFMediaSession;
skipping to change at line 532 skipping to change at line 728
#else /* C style interface */ #else /* C style interface */
typedef struct IMFMediaSessionVtbl typedef struct IMFMediaSessionVtbl
{ {
BEGIN_INTERFACE BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )( HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
__RPC__in IMFMediaSession * This, __RPC__in IMFMediaSession * This,
/* [in] */ __RPC__in REFIID riid, /* [in] */ __RPC__in REFIID riid,
/* [annotation][iid_is][out] */ /* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject); _COM_Outptr_ void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )( ULONG ( STDMETHODCALLTYPE *AddRef )(
__RPC__in IMFMediaSession * This); __RPC__in IMFMediaSession * This);
ULONG ( STDMETHODCALLTYPE *Release )( ULONG ( STDMETHODCALLTYPE *Release )(
__RPC__in IMFMediaSession * This); __RPC__in IMFMediaSession * This);
HRESULT ( STDMETHODCALLTYPE *GetEvent )( HRESULT ( STDMETHODCALLTYPE *GetEvent )(
__RPC__in IMFMediaSession * This, __RPC__in IMFMediaSession * This,
/* [in] */ DWORD dwFlags, /* [in] */ DWORD dwFlags,
skipping to change at line 554 skipping to change at line 750
/* [local] */ HRESULT ( STDMETHODCALLTYPE *BeginGetEvent )( /* [local] */ HRESULT ( STDMETHODCALLTYPE *BeginGetEvent )(
IMFMediaSession * This, IMFMediaSession * This,
/* [in] */ IMFAsyncCallback *pCallback, /* [in] */ IMFAsyncCallback *pCallback,
/* [in] */ IUnknown *punkState); /* [in] */ IUnknown *punkState);
/* [local] */ HRESULT ( STDMETHODCALLTYPE *EndGetEvent )( /* [local] */ HRESULT ( STDMETHODCALLTYPE *EndGetEvent )(
IMFMediaSession * This, IMFMediaSession * This,
/* [in] */ IMFAsyncResult *pResult, /* [in] */ IMFAsyncResult *pResult,
/* [annotation][out] */ /* [annotation][out] */
__out IMFMediaEvent **ppEvent); _Out_ IMFMediaEvent **ppEvent);
HRESULT ( STDMETHODCALLTYPE *QueueEvent )( HRESULT ( STDMETHODCALLTYPE *QueueEvent )(
__RPC__in IMFMediaSession * This, __RPC__in IMFMediaSession * This,
/* [in] */ MediaEventType met, /* [in] */ MediaEventType met,
/* [in] */ __RPC__in REFGUID guidExtendedType, /* [in] */ __RPC__in REFGUID guidExtendedType,
/* [in] */ HRESULT hrStatus, /* [in] */ HRESULT hrStatus,
/* [unique][in] */ __RPC__in_opt const PROPVARIANT *pvValue); /* [unique][in] */ __RPC__in_opt const PROPVARIANT *pvValue);
HRESULT ( STDMETHODCALLTYPE *SetTopology )( HRESULT ( STDMETHODCALLTYPE *SetTopology )(
__RPC__in IMFMediaSession * This, __RPC__in IMFMediaSession * This,
skipping to change at line 682 skipping to change at line 878
EXTERN_GUID( MF_SESSION_TOPOLOADER, 0x1e83d482, 0x1f1c, 0x4571, 0x84, 0x5, 0x88, 0xf4, 0xb2, 0x18, 0x1f, 0x71); 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_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_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_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_SERVER_CONTEXT, 0xafe5b291, 0x50fa, 0x46e8, 0xb9, 0xbe, 0xc, 0xc, 0x3c, 0xe4, 0xb3, 0xa5);
EXTERN_GUID( MF_SESSION_REMOTE_SOURCE_MODE, 0xf4033ef4, 0x9bb3, 0x4378, 0x94, 0x 1f, 0x85, 0xa0, 0x85, 0x6b, 0xc2, 0x44); EXTERN_GUID( MF_SESSION_REMOTE_SOURCE_MODE, 0xf4033ef4, 0x9bb3, 0x4378, 0x94, 0x 1f, 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_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); EXTERN_GUID( MF_PMP_SERVER_CONTEXT, 0x2f00c910, 0xd2cf, 0x4278, 0x8b, 0x6a, 0xd0 , 0x77, 0xfa, 0xc3, 0xa2, 0x5f);
STDAPI MFCreateMediaSession( STDAPI MFCreateMediaSession(
IMFAttributes* pConfiguration, IMFAttributes* pConfiguration,
__out IMFMediaSession** ppMediaSession _Outptr_ IMFMediaSession** ppMediaSession
); );
STDAPI MFCreatePMPMediaSession( STDAPI MFCreatePMPMediaSession(
DWORD dwCreationFlags, DWORD dwCreationFlags,
IMFAttributes *pConfiguration, IMFAttributes *pConfiguration,
__out IMFMediaSession** ppMediaSession, _Outptr_ IMFMediaSession** ppMediaSession,
__out_opt IMFActivate **ppEnablerActivate _Outptr_opt_ IMFActivate **ppEnablerActivate
); );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
typedef typedef
enum MF_OBJECT_TYPE enum MF_OBJECT_TYPE
{ MF_OBJECT_MEDIASOURCE = 0, {
MF_OBJECT_BYTESTREAM = ( MF_OBJECT_MEDIASOURCE + 1 ) , MF_OBJECT_MEDIASOURCE = 0,
MF_OBJECT_INVALID = ( MF_OBJECT_BYTESTREAM + 1 ) MF_OBJECT_BYTESTREAM = ( MF_OBJECT_MEDIASOURCE + 1 ) ,
MF_OBJECT_INVALID = ( MF_OBJECT_BYTESTREAM + 1 )
} MF_OBJECT_TYPE; } MF_OBJECT_TYPE;
enum __MIDL___MIDL_itf_mfidl_0000_0001_0001 enum __MIDL___MIDL_itf_mfidl_0000_0001_0001
{ MF_RESOLUTION_MEDIASOURCE = 0x1, {
MF_RESOLUTION_BYTESTREAM = 0x2, MF_RESOLUTION_MEDIASOURCE = 0x1,
MF_RESOLUTION_CONTENT_DOES_NOT_HAVE_TO_MATCH_EXTENSION_OR_MIME_TYPE = MF_RESOLUTION_BYTESTREAM = 0x2,
0x10, MF_RESOLUTION_CONTENT_DOES_NOT_HAVE_TO_MATCH_EXTENSION_OR_MIME_TYPE =
MF_RESOLUTION_KEEP_BYTE_STREAM_ALIVE_ON_FAIL = 0x20, 0x10,
MF_RESOLUTION_READ = 0x10000, MF_RESOLUTION_KEEP_BYTE_STREAM_ALIVE_ON_FAIL = 0x20,
MF_RESOLUTION_WRITE = 0x20000 MF_RESOLUTION_DISABLE_LOCAL_PLUGINS = 0x40,
MF_RESOLUTION_PLUGIN_CONTROL_POLICY_APPROVED_ONLY = 0x80,
MF_RESOLUTION_PLUGIN_CONTROL_POLICY_WEB_ONLY = 0x100,
MF_RESOLUTION_READ = 0x10000,
MF_RESOLUTION_WRITE = 0x20000
} ; } ;
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
#pragma endregion
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
typedef typedef
enum _MF_CONNECT_METHOD enum _MF_CONNECT_METHOD
{ MF_CONNECT_DIRECT = 0, {
MF_CONNECT_ALLOW_CONVERTER = 0x1, MF_CONNECT_DIRECT = 0,
MF_CONNECT_ALLOW_DECODER = 0x3, MF_CONNECT_ALLOW_CONVERTER = 0x1,
MF_CONNECT_RESOLVE_INDEPENDENT_OUTPUTTYPES = 0x4, MF_CONNECT_ALLOW_DECODER = 0x3,
MF_CONNECT_AS_OPTIONAL = 0x10000, MF_CONNECT_RESOLVE_INDEPENDENT_OUTPUTTYPES = 0x4,
MF_CONNECT_AS_OPTIONAL_BRANCH = 0x20000 MF_CONNECT_AS_OPTIONAL = 0x10000,
MF_CONNECT_AS_OPTIONAL_BRANCH = 0x20000
} MF_CONNECT_METHOD; } MF_CONNECT_METHOD;
typedef typedef
enum _MF_TOPOLOGY_RESOLUTION_STATUS_FLAGS enum _MF_TOPOLOGY_RESOLUTION_STATUS_FLAGS
{ MF_TOPOLOGY_RESOLUTION_SUCCEEDED = 0, {
MF_OPTIONAL_NODE_REJECTED_MEDIA_TYPE = 0x1, MF_TOPOLOGY_RESOLUTION_SUCCEEDED = 0,
MF_OPTIONAL_NODE_REJECTED_PROTECTED_PROCESS = 0x2 MF_OPTIONAL_NODE_REJECTED_MEDIA_TYPE = 0x1,
MF_OPTIONAL_NODE_REJECTED_PROTECTED_PROCESS = 0x2
} MF_TOPOLOGY_RESOLUTION_STATUS_FLAGS; } MF_TOPOLOGY_RESOLUTION_STATUS_FLAGS;
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0001_v0_0_c_ifspec; 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; extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0001_v0_0_s_ifspec;
#ifndef __IMFSourceResolver_INTERFACE_DEFINED__ #ifndef __IMFSourceResolver_INTERFACE_DEFINED__
#define __IMFSourceResolver_INTERFACE_DEFINED__ #define __IMFSourceResolver_INTERFACE_DEFINED__
/* interface IMFSourceResolver */ /* interface IMFSourceResolver */
/* [uuid][object] */ /* [uuid][object] */
EXTERN_C const IID IID_IMFSourceResolver; EXTERN_C const IID IID_IMFSourceResolver;
skipping to change at line 744 skipping to change at line 960
MIDL_INTERFACE("FBE5A32D-A497-4b61-BB85-97B1A848A6E3") MIDL_INTERFACE("FBE5A32D-A497-4b61-BB85-97B1A848A6E3")
IMFSourceResolver : public IUnknown IMFSourceResolver : public IUnknown
{ {
public: public:
virtual /* [local] */ HRESULT STDMETHODCALLTYPE CreateObjectFromURL( virtual /* [local] */ HRESULT STDMETHODCALLTYPE CreateObjectFromURL(
/* [in] */ LPCWSTR pwszURL, /* [in] */ LPCWSTR pwszURL,
/* [in] */ DWORD dwFlags, /* [in] */ DWORD dwFlags,
/* [in] */ IPropertyStore *pProps, /* [in] */ IPropertyStore *pProps,
/* [annotation][out] */ /* [annotation][out] */
__out MF_OBJECT_TYPE *pObjectType, _Out_ MF_OBJECT_TYPE *pObjectType,
/* [annotation][out] */ /* [annotation][out] */
__out IUnknown **ppObject) = 0; _Outptr_ IUnknown **ppObject) = 0;
virtual /* [local] */ HRESULT STDMETHODCALLTYPE CreateObjectFromByteStre am( virtual /* [local] */ HRESULT STDMETHODCALLTYPE CreateObjectFromByteStre am(
/* [in] */ IMFByteStream *pByteStream, /* [in] */ IMFByteStream *pByteStream,
/* [in] */ LPCWSTR pwszURL, /* [in] */ LPCWSTR pwszURL,
/* [in] */ DWORD dwFlags, /* [in] */ DWORD dwFlags,
/* [in] */ IPropertyStore *pProps, /* [in] */ IPropertyStore *pProps,
/* [annotation][out] */ /* [annotation][out] */
__out MF_OBJECT_TYPE *pObjectType, _Out_ MF_OBJECT_TYPE *pObjectType,
/* [annotation][out] */ /* [annotation][out] */
__out IUnknown **ppObject) = 0; _Outptr_ IUnknown **ppObject) = 0;
virtual /* [local] */ HRESULT STDMETHODCALLTYPE BeginCreateObjectFromURL ( virtual /* [local] */ HRESULT STDMETHODCALLTYPE BeginCreateObjectFromURL (
/* [in] */ LPCWSTR pwszURL, /* [in] */ LPCWSTR pwszURL,
/* [in] */ DWORD dwFlags, /* [in] */ DWORD dwFlags,
/* [in] */ IPropertyStore *pProps, /* [in] */ IPropertyStore *pProps,
/* [annotation][out] */ /* [annotation][out] */
__out_opt IUnknown **ppIUnknownCancelCookie, _Outptr_opt_ IUnknown **ppIUnknownCancelCookie,
/* [in] */ IMFAsyncCallback *pCallback, /* [in] */ IMFAsyncCallback *pCallback,
/* [in] */ IUnknown *punkState) = 0; /* [in] */ IUnknown *punkState) = 0;
virtual /* [local] */ HRESULT STDMETHODCALLTYPE EndCreateObjectFromURL( virtual /* [local] */ HRESULT STDMETHODCALLTYPE EndCreateObjectFromURL(
/* [in] */ IMFAsyncResult *pResult, /* [in] */ IMFAsyncResult *pResult,
/* [annotation][out] */ /* [annotation][out] */
__out MF_OBJECT_TYPE *pObjectType, _Out_ MF_OBJECT_TYPE *pObjectType,
/* [annotation][out] */ /* [annotation][out] */
__out IUnknown **ppObject) = 0; _Outptr_ IUnknown **ppObject) = 0;
virtual /* [local] */ HRESULT STDMETHODCALLTYPE BeginCreateObjectFromByt eStream( virtual /* [local] */ HRESULT STDMETHODCALLTYPE BeginCreateObjectFromByt eStream(
/* [in] */ IMFByteStream *pByteStream, /* [in] */ IMFByteStream *pByteStream,
/* [in] */ LPCWSTR pwszURL, /* [in] */ LPCWSTR pwszURL,
/* [in] */ DWORD dwFlags, /* [in] */ DWORD dwFlags,
/* [in] */ IPropertyStore *pProps, /* [in] */ IPropertyStore *pProps,
/* [annotation][out] */ /* [annotation][out] */
__out_opt IUnknown **ppIUnknownCancelCookie, _Outptr_opt_ IUnknown **ppIUnknownCancelCookie,
/* [in] */ IMFAsyncCallback *pCallback, /* [in] */ IMFAsyncCallback *pCallback,
/* [in] */ IUnknown *punkState) = 0; /* [in] */ IUnknown *punkState) = 0;
virtual /* [local] */ HRESULT STDMETHODCALLTYPE EndCreateObjectFromByteS tream( virtual /* [local] */ HRESULT STDMETHODCALLTYPE EndCreateObjectFromByteS tream(
/* [in] */ IMFAsyncResult *pResult, /* [in] */ IMFAsyncResult *pResult,
/* [annotation][out] */ /* [annotation][out] */
__out MF_OBJECT_TYPE *pObjectType, _Out_ MF_OBJECT_TYPE *pObjectType,
/* [annotation][out] */ /* [annotation][out] */
__out IUnknown **ppObject) = 0; _Outptr_ IUnknown **ppObject) = 0;
virtual /* [local] */ HRESULT STDMETHODCALLTYPE CancelObjectCreation( virtual /* [local] */ HRESULT STDMETHODCALLTYPE CancelObjectCreation(
/* [in] */ IUnknown *pIUnknownCancelCookie) = 0; /* [in] */ IUnknown *pIUnknownCancelCookie) = 0;
}; };
#else /* C style interface */ #else /* C style interface */
typedef struct IMFSourceResolverVtbl typedef struct IMFSourceResolverVtbl
{ {
BEGIN_INTERFACE BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )( HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
__RPC__in IMFSourceResolver * This, __RPC__in IMFSourceResolver * This,
/* [in] */ __RPC__in REFIID riid, /* [in] */ __RPC__in REFIID riid,
/* [annotation][iid_is][out] */ /* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject); _COM_Outptr_ void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )( ULONG ( STDMETHODCALLTYPE *AddRef )(
__RPC__in IMFSourceResolver * This); __RPC__in IMFSourceResolver * This);
ULONG ( STDMETHODCALLTYPE *Release )( ULONG ( STDMETHODCALLTYPE *Release )(
__RPC__in IMFSourceResolver * This); __RPC__in IMFSourceResolver * This);
/* [local] */ HRESULT ( STDMETHODCALLTYPE *CreateObjectFromURL )( /* [local] */ HRESULT ( STDMETHODCALLTYPE *CreateObjectFromURL )(
IMFSourceResolver * This, IMFSourceResolver * This,
/* [in] */ LPCWSTR pwszURL, /* [in] */ LPCWSTR pwszURL,
/* [in] */ DWORD dwFlags, /* [in] */ DWORD dwFlags,
/* [in] */ IPropertyStore *pProps, /* [in] */ IPropertyStore *pProps,
/* [annotation][out] */ /* [annotation][out] */
__out MF_OBJECT_TYPE *pObjectType, _Out_ MF_OBJECT_TYPE *pObjectType,
/* [annotation][out] */ /* [annotation][out] */
__out IUnknown **ppObject); _Outptr_ IUnknown **ppObject);
/* [local] */ HRESULT ( STDMETHODCALLTYPE *CreateObjectFromByteStream )( /* [local] */ HRESULT ( STDMETHODCALLTYPE *CreateObjectFromByteStream )(
IMFSourceResolver * This, IMFSourceResolver * This,
/* [in] */ IMFByteStream *pByteStream, /* [in] */ IMFByteStream *pByteStream,
/* [in] */ LPCWSTR pwszURL, /* [in] */ LPCWSTR pwszURL,
/* [in] */ DWORD dwFlags, /* [in] */ DWORD dwFlags,
/* [in] */ IPropertyStore *pProps, /* [in] */ IPropertyStore *pProps,
/* [annotation][out] */ /* [annotation][out] */
__out MF_OBJECT_TYPE *pObjectType, _Out_ MF_OBJECT_TYPE *pObjectType,
/* [annotation][out] */ /* [annotation][out] */
__out IUnknown **ppObject); _Outptr_ IUnknown **ppObject);
/* [local] */ HRESULT ( STDMETHODCALLTYPE *BeginCreateObjectFromURL )( /* [local] */ HRESULT ( STDMETHODCALLTYPE *BeginCreateObjectFromURL )(
IMFSourceResolver * This, IMFSourceResolver * This,
/* [in] */ LPCWSTR pwszURL, /* [in] */ LPCWSTR pwszURL,
/* [in] */ DWORD dwFlags, /* [in] */ DWORD dwFlags,
/* [in] */ IPropertyStore *pProps, /* [in] */ IPropertyStore *pProps,
/* [annotation][out] */ /* [annotation][out] */
__out_opt IUnknown **ppIUnknownCancelCookie, _Outptr_opt_ IUnknown **ppIUnknownCancelCookie,
/* [in] */ IMFAsyncCallback *pCallback, /* [in] */ IMFAsyncCallback *pCallback,
/* [in] */ IUnknown *punkState); /* [in] */ IUnknown *punkState);
/* [local] */ HRESULT ( STDMETHODCALLTYPE *EndCreateObjectFromURL )( /* [local] */ HRESULT ( STDMETHODCALLTYPE *EndCreateObjectFromURL )(
IMFSourceResolver * This, IMFSourceResolver * This,
/* [in] */ IMFAsyncResult *pResult, /* [in] */ IMFAsyncResult *pResult,
/* [annotation][out] */ /* [annotation][out] */
__out MF_OBJECT_TYPE *pObjectType, _Out_ MF_OBJECT_TYPE *pObjectType,
/* [annotation][out] */ /* [annotation][out] */
__out IUnknown **ppObject); _Outptr_ IUnknown **ppObject);
/* [local] */ HRESULT ( STDMETHODCALLTYPE *BeginCreateObjectFromByteStre am )( /* [local] */ HRESULT ( STDMETHODCALLTYPE *BeginCreateObjectFromByteStre am )(
IMFSourceResolver * This, IMFSourceResolver * This,
/* [in] */ IMFByteStream *pByteStream, /* [in] */ IMFByteStream *pByteStream,
/* [in] */ LPCWSTR pwszURL, /* [in] */ LPCWSTR pwszURL,
/* [in] */ DWORD dwFlags, /* [in] */ DWORD dwFlags,
/* [in] */ IPropertyStore *pProps, /* [in] */ IPropertyStore *pProps,
/* [annotation][out] */ /* [annotation][out] */
__out_opt IUnknown **ppIUnknownCancelCookie, _Outptr_opt_ IUnknown **ppIUnknownCancelCookie,
/* [in] */ IMFAsyncCallback *pCallback, /* [in] */ IMFAsyncCallback *pCallback,
/* [in] */ IUnknown *punkState); /* [in] */ IUnknown *punkState);
/* [local] */ HRESULT ( STDMETHODCALLTYPE *EndCreateObjectFromByteStream )( /* [local] */ HRESULT ( STDMETHODCALLTYPE *EndCreateObjectFromByteStream )(
IMFSourceResolver * This, IMFSourceResolver * This,
/* [in] */ IMFAsyncResult *pResult, /* [in] */ IMFAsyncResult *pResult,
/* [annotation][out] */ /* [annotation][out] */
__out MF_OBJECT_TYPE *pObjectType, _Out_ MF_OBJECT_TYPE *pObjectType,
/* [annotation][out] */ /* [annotation][out] */
__out IUnknown **ppObject); _Outptr_ IUnknown **ppObject);
/* [local] */ HRESULT ( STDMETHODCALLTYPE *CancelObjectCreation )( /* [local] */ HRESULT ( STDMETHODCALLTYPE *CancelObjectCreation )(
IMFSourceResolver * This, IMFSourceResolver * This,
/* [in] */ IUnknown *pIUnknownCancelCookie); /* [in] */ IUnknown *pIUnknownCancelCookie);
END_INTERFACE END_INTERFACE
} IMFSourceResolverVtbl; } IMFSourceResolverVtbl;
interface IMFSourceResolver interface IMFSourceResolver
{ {
skipping to change at line 948 skipping to change at line 1164
void __RPC_STUB IMFSourceResolver_RemoteEndCreateObjectFromURL_Stub( void __RPC_STUB IMFSourceResolver_RemoteEndCreateObjectFromURL_Stub(
IRpcStubBuffer *This, IRpcStubBuffer *This,
IRpcChannelBuffer *_pRpcChannelBuffer, IRpcChannelBuffer *_pRpcChannelBuffer,
PRPC_MESSAGE _pRpcMessage, PRPC_MESSAGE _pRpcMessage,
DWORD *_pdwStubPhase); DWORD *_pdwStubPhase);
/* [call_as] */ HRESULT STDMETHODCALLTYPE IMFSourceResolver_RemoteBeginCreateObj ectFromByteStream_Proxy( /* [call_as] */ HRESULT STDMETHODCALLTYPE IMFSourceResolver_RemoteBeginCreateObj ectFromByteStream_Proxy(
__RPC__in IMFSourceResolver * This, __RPC__in IMFSourceResolver * This,
/* [in] */ __RPC__in_opt IMFByteStream *pByteStream, /* [in] */ __RPC__in_opt IMFByteStream *pByteStream,
/* [in] */ __RPC__in LPCWSTR pwszURL, /* [unique][in] */ __RPC__in_opt LPCWSTR pwszURL,
/* [in] */ DWORD dwFlags, /* [in] */ DWORD dwFlags,
/* [in] */ __RPC__in_opt IPropertyStore *pProps, /* [unique][in] */ __RPC__in_opt IPropertyStore *pProps,
/* [in] */ __RPC__in_opt IMFRemoteAsyncCallback *pCallback); /* [in] */ __RPC__in_opt IMFRemoteAsyncCallback *pCallback);
void __RPC_STUB IMFSourceResolver_RemoteBeginCreateObjectFromByteStream_Stub( void __RPC_STUB IMFSourceResolver_RemoteBeginCreateObjectFromByteStream_Stub(
IRpcStubBuffer *This, IRpcStubBuffer *This,
IRpcChannelBuffer *_pRpcChannelBuffer, IRpcChannelBuffer *_pRpcChannelBuffer,
PRPC_MESSAGE _pRpcMessage, PRPC_MESSAGE _pRpcMessage,
DWORD *_pdwStubPhase); DWORD *_pdwStubPhase);
/* [call_as] */ HRESULT STDMETHODCALLTYPE IMFSourceResolver_RemoteEndCreateObjec tFromByteStream_Proxy( /* [call_as] */ HRESULT STDMETHODCALLTYPE IMFSourceResolver_RemoteEndCreateObjec tFromByteStream_Proxy(
__RPC__in IMFSourceResolver * This, __RPC__in IMFSourceResolver * This,
skipping to change at line 977 skipping to change at line 1193
IRpcChannelBuffer *_pRpcChannelBuffer, IRpcChannelBuffer *_pRpcChannelBuffer,
PRPC_MESSAGE _pRpcMessage, PRPC_MESSAGE _pRpcMessage,
DWORD *_pdwStubPhase); DWORD *_pdwStubPhase);
#endif /* __IMFSourceResolver_INTERFACE_DEFINED__ */ #endif /* __IMFSourceResolver_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_mfidl_0000_0002 */ /* interface __MIDL_itf_mfidl_0000_0002 */
/* [local] */ /* [local] */
STDAPI MFCreateSourceResolver( STDAPI MFCreateSourceResolver(
/* out */ __out IMFSourceResolver **ppISourceResolver); /* out */ _Outptr_ IMFSourceResolver **ppISourceResolver);
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
#pragma endregion
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
STDAPI CreatePropertyStore( STDAPI CreatePropertyStore(
/* out */ __out IPropertyStore **ppStore); /* out */ _Outptr_ IPropertyStore **ppStore);
STDAPI MFGetSupportedSchemes( STDAPI MFGetSupportedSchemes(
__out PROPVARIANT* pPropVarSchemeArray ); _Out_ PROPVARIANT* pPropVarSchemeArray );
STDAPI MFGetSupportedMimeTypes( STDAPI MFGetSupportedMimeTypes(
__out PROPVARIANT* pPropVarMimeTypeArray ); _Out_ PROPVARIANT* pPropVarMimeTypeArray );
EXTERN_C const DECLSPEC_SELECTANY PROPERTYKEY MFPKEY_SourceOpenMonitor = { { 0x0 74d4637, 0xb5ae, 0x465d, 0xaf, 0x17, 0x1a, 0x53, 0x8d, 0x28, 0x59, 0xdd}, 0x02 } ; EXTERN_C const DECLSPEC_SELECTANY PROPERTYKEY MFPKEY_SourceOpenMonitor = { { 0x0 74d4637, 0xb5ae, 0x465d, 0xaf, 0x17, 0x1a, 0x53, 0x8d, 0x28, 0x59, 0xdd}, 0x02 } ;
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
EXTERN_C const DECLSPEC_SELECTANY PROPERTYKEY MFPKEY_ASFMediaSource_ApproxSeek = { { 0xb4cd270f, 0x244d, 0x4969, 0xbb, 0x92, 0x3f, 0x0f, 0xb8, 0x31, 0x6f, 0x10} , 0x01 }; EXTERN_C const DECLSPEC_SELECTANY PROPERTYKEY MFPKEY_ASFMediaSource_ApproxSeek = { { 0xb4cd270f, 0x244d, 0x4969, 0xbb, 0x92, 0x3f, 0x0f, 0xb8, 0x31, 0x6f, 0x10} , 0x01 };
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
#pragma endregion
#if (WINVER >= _WIN32_WINNT_WIN7) #if (WINVER >= _WIN32_WINNT_WIN7)
#pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
EXTERN_C const DECLSPEC_SELECTANY PROPERTYKEY MFPKEY_ASFMediaSource_IterativeSee kIfNoIndex = { { 0x170b65dc, 0x4a4e, 0x407a, 0xac, 0x22, 0x57, 0x7f, 0x50, 0xe4, 0xa3, 0x7c }, 0x01 }; EXTERN_C const DECLSPEC_SELECTANY PROPERTYKEY MFPKEY_ASFMediaSource_IterativeSee kIfNoIndex = { { 0x170b65dc, 0x4a4e, 0x407a, 0xac, 0x22, 0x57, 0x7f, 0x50, 0xe4, 0xa3, 0x7c }, 0x01 };
EXTERN_C const DECLSPEC_SELECTANY PROPERTYKEY MFPKEY_ASFMediaSource_IterativeSee k_Max_Count = { { 0x170b65dc, 0x4a4e, 0x407a, 0xac, 0x22, 0x57, 0x7f, 0x50, 0xe4 , 0xa3, 0x7c }, 0x02 }; EXTERN_C const DECLSPEC_SELECTANY PROPERTYKEY MFPKEY_ASFMediaSource_IterativeSee k_Max_Count = { { 0x170b65dc, 0x4a4e, 0x407a, 0xac, 0x22, 0x57, 0x7f, 0x50, 0xe4 , 0xa3, 0x7c }, 0x02 };
EXTERN_C const DECLSPEC_SELECTANY PROPERTYKEY MFPKEY_ASFMediaSource_IterativeSee k_Tolerance_In_MilliSecond = { { 0x170b65dc, 0x4a4e, 0x407a, 0xac, 0x22, 0x57, 0 x7f, 0x50, 0xe4, 0xa3, 0x7c }, 0x03 }; EXTERN_C const DECLSPEC_SELECTANY PROPERTYKEY MFPKEY_ASFMediaSource_IterativeSee k_Tolerance_In_MilliSecond = { { 0x170b65dc, 0x4a4e, 0x407a, 0xac, 0x22, 0x57, 0 x7f, 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_Content_DLNA_Profile_ID = { { 0xcfa31b45, 0x525d, 0x4998, 0xbb, 0x44, 0x3f, 0x7d, 0x81, 0x54, 0x2f, 0xa4 }, 0x01 };
EXTERN_C const DECLSPEC_SELECTANY PROPERTYKEY MFPKEY_MediaSource_DisableReadAhea d = { { 0x26366c14, 0xc5bf, 0x4c76, 0x88, 0x7b, 0x9f, 0x17, 0x54, 0xdb, 0x5f, 0x 9}, 0x01 }; EXTERN_C const DECLSPEC_SELECTANY PROPERTYKEY MFPKEY_MediaSource_DisableReadAhea d = { { 0x26366c14, 0xc5bf, 0x4c76, 0x88, 0x7b, 0x9f, 0x17, 0x54, 0xdb, 0x5f, 0x 9}, 0x01 };
EXTERN_C const DECLSPEC_SELECTANY PROPERTYKEY MFPKEY_SBESourceMode = { { 0x3fae1
0bb, 0xf859, 0x4192, 0xb5, 0x62, 0x18, 0x68, 0xd3, 0xda, 0x3a, 0x02}, 0x01 };
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
#pragma endregion
#endif // (WINVER >= _WIN32_WINNT_WIN7) #endif // (WINVER >= _WIN32_WINNT_WIN7)
#if (WINVER >= _WIN32_WINNT_WIN8)
#pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
EXTERN_C const DECLSPEC_SELECTANY PROPERTYKEY MFPKEY_PMP_Creation_Callback = { {
0x28bb4de2, 0x26a2, 0x4870, 0xb7, 0x20, 0xd2, 0x6b, 0xbe, 0xb1, 0x49, 0x42}, 0x
01 };
EXTERN_C const DECLSPEC_SELECTANY PROPERTYKEY MFPKEY_HTTP_ByteStream_Enable_Urlm
on = { { 0xeda8afdf, 0xc171, 0x417f, 0x8d, 0x17, 0x2e, 0x09, 0x18, 0x30, 0x32, 0
x92}, 0x01 };
EXTERN_C const DECLSPEC_SELECTANY PROPERTYKEY MFPKEY_HTTP_ByteStream_Urlmon_Bind
_Flags = { { 0xeda8afdf, 0xc171, 0x417f, 0x8d, 0x17, 0x2e, 0x09, 0x18, 0x30, 0x3
2, 0x92}, 0x02 };
EXTERN_C const DECLSPEC_SELECTANY PROPERTYKEY MFPKEY_HTTP_ByteStream_Urlmon_Secu
rity_Id = { { 0xeda8afdf, 0xc171, 0x417f, 0x8d, 0x17, 0x2e, 0x09, 0x18, 0x30, 0x
32, 0x92}, 0x03 };
EXTERN_C const DECLSPEC_SELECTANY PROPERTYKEY MFPKEY_HTTP_ByteStream_Urlmon_Wind
ow = { { 0xeda8afdf, 0xc171, 0x417f, 0x8d, 0x17, 0x2e, 0x09, 0x18, 0x30, 0x32, 0
x92}, 0x04 };
EXTERN_C const DECLSPEC_SELECTANY PROPERTYKEY MFPKEY_HTTP_ByteStream_Urlmon_Call
back_QueryService = { { 0xeda8afdf, 0xc171, 0x417f, 0x8d, 0x17, 0x2e, 0x09, 0x18
, 0x30, 0x32, 0x92}, 0x05 };
EXTERN_C const DECLSPEC_SELECTANY PROPERTYKEY MFPKEY_MediaProtectionSystemId =
{ { 0x636b271d, 0xddc7, 0x49e9, 0xa6, 0xc6, 0x47, 0x38, 0x59, 0x62, 0xe5, 0xbd},
0x01 };
EXTERN_C const DECLSPEC_SELECTANY PROPERTYKEY MFPKEY_MediaProtectionSystemContex
t = { { 0x636b271d, 0xddc7, 0x49e9, 0xa6, 0xc6, 0x47, 0x38, 0x59, 0x62, 0xe5, 0
xbd}, 0x02 };
EXTERN_C const DECLSPEC_SELECTANY PROPERTYKEY MFPKEY_MediaProtectionSystemIdMapp
ing = { { 0x636b271d, 0xddc7, 0x49e9, 0xa6, 0xc6, 0x47, 0x38, 0x59, 0x62, 0xe5,
0xbd}, 0x03 };
EXTERN_C const DECLSPEC_SELECTANY PROPERTYKEY MFPKEY_MediaProtectionContainerGui
d = { { 0x42af3d7c, 0xcf, 0x4a0f, 0x81, 0xf0, 0xad, 0xf5, 0x24, 0xa5, 0xa5, 0xb
5}, 0x1 };
EXTERN_C const DECLSPEC_SELECTANY PROPERTYKEY MFPKEY_MediaProtectionSystemContex
tsPerTrack = { { 0x4454b092, 0xd3da, 0x49b0, 0x84, 0x52, 0x68, 0x50, 0xc7, 0xdb
, 0x76, 0x4d }, 0x03 };
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
#pragma endregion
EXTERN_C const DECLSPEC_SELECTANY PROPERTYKEY MFPKEY_HTTP_ByteStream_Download_Mo
de = { { 0x817f11b7, 0xa982, 0x46ec, 0xa4, 0x49, 0xef, 0x58, 0xae, 0xd5, 0x3c, 0
xa8 }, 0x01 };
#endif // (WINVER >= _WIN32_WINNT_WIN8)
#pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
typedef typedef
enum _MFMEDIASOURCE_CHARACTERISTICS enum _MFMEDIASOURCE_CHARACTERISTICS
{ MFMEDIASOURCE_IS_LIVE = 0x1, {
MFMEDIASOURCE_CAN_SEEK = 0x2, MFMEDIASOURCE_IS_LIVE = 0x1,
MFMEDIASOURCE_CAN_PAUSE = 0x4, MFMEDIASOURCE_CAN_SEEK = 0x2,
MFMEDIASOURCE_HAS_SLOW_SEEK = 0x8, MFMEDIASOURCE_CAN_PAUSE = 0x4,
MFMEDIASOURCE_HAS_MULTIPLE_PRESENTATIONS = 0x10, MFMEDIASOURCE_HAS_SLOW_SEEK = 0x8,
MFMEDIASOURCE_CAN_SKIPFORWARD = 0x20, MFMEDIASOURCE_HAS_MULTIPLE_PRESENTATIONS = 0x10,
MFMEDIASOURCE_CAN_SKIPBACKWARD = 0x40 MFMEDIASOURCE_CAN_SKIPFORWARD = 0x20,
MFMEDIASOURCE_CAN_SKIPBACKWARD = 0x40,
MFMEDIASOURCE_DOES_NOT_USE_NETWORK = 0x80
} MFMEDIASOURCE_CHARACTERISTICS; } MFMEDIASOURCE_CHARACTERISTICS;
#if (WINVER >= _WIN32_WINNT_WIN7) #if (WINVER >= _WIN32_WINNT_WIN7)
EXTERN_GUID( MF_TIME_FORMAT_ENTRY_RELATIVE, 0x4399f178, 0x46d3, 0x4504, 0xaf, 0x da, 0x20, 0xd3, 0x2e, 0x9b, 0xa3, 0x60 ); EXTERN_GUID( MF_TIME_FORMAT_ENTRY_RELATIVE, 0x4399f178, 0x46d3, 0x4504, 0xaf, 0x da, 0x20, 0xd3, 0x2e, 0x9b, 0xa3, 0x60 );
#endif // (WINVER >= _WIN32_WINNT_WIN7) #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_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0002_v0_0_s_ifspec; extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0002_v0_0_s_ifspec;
#ifndef __IMFMediaSource_INTERFACE_DEFINED__ #ifndef __IMFMediaSource_INTERFACE_DEFINED__
skipping to change at line 1030 skipping to change at line 1283
MIDL_INTERFACE("279a808d-aec7-40c8-9c6b-a6b492c78a66") MIDL_INTERFACE("279a808d-aec7-40c8-9c6b-a6b492c78a66")
IMFMediaSource : public IMFMediaEventGenerator IMFMediaSource : public IMFMediaEventGenerator
{ {
public: public:
virtual HRESULT STDMETHODCALLTYPE GetCharacteristics( virtual HRESULT STDMETHODCALLTYPE GetCharacteristics(
/* [out] */ __RPC__out DWORD *pdwCharacteristics) = 0; /* [out] */ __RPC__out DWORD *pdwCharacteristics) = 0;
virtual /* [local] */ HRESULT STDMETHODCALLTYPE CreatePresentationDescri ptor( virtual /* [local] */ HRESULT STDMETHODCALLTYPE CreatePresentationDescri ptor(
/* [annotation][out] */ /* [annotation][out] */
__out IMFPresentationDescriptor **ppPresentationDescriptor) = 0; _Outptr_ IMFPresentationDescriptor **ppPresentationDescriptor) = 0;
virtual HRESULT STDMETHODCALLTYPE Start( virtual HRESULT STDMETHODCALLTYPE Start(
/* [in] */ __RPC__in_opt IMFPresentationDescriptor *pPresentationDes criptor, /* [in] */ __RPC__in_opt IMFPresentationDescriptor *pPresentationDes criptor,
/* [unique][in] */ __RPC__in_opt const GUID *pguidTimeFormat, /* [unique][in] */ __RPC__in_opt const GUID *pguidTimeFormat,
/* [unique][in] */ __RPC__in_opt const PROPVARIANT *pvarStartPositio n) = 0; /* [unique][in] */ __RPC__in_opt const PROPVARIANT *pvarStartPositio n) = 0;
virtual HRESULT STDMETHODCALLTYPE Stop( void) = 0; virtual HRESULT STDMETHODCALLTYPE Stop( void) = 0;
virtual HRESULT STDMETHODCALLTYPE Pause( void) = 0; virtual HRESULT STDMETHODCALLTYPE Pause( void) = 0;
skipping to change at line 1055 skipping to change at line 1308
#else /* C style interface */ #else /* C style interface */
typedef struct IMFMediaSourceVtbl typedef struct IMFMediaSourceVtbl
{ {
BEGIN_INTERFACE BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )( HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
__RPC__in IMFMediaSource * This, __RPC__in IMFMediaSource * This,
/* [in] */ __RPC__in REFIID riid, /* [in] */ __RPC__in REFIID riid,
/* [annotation][iid_is][out] */ /* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject); _COM_Outptr_ void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )( ULONG ( STDMETHODCALLTYPE *AddRef )(
__RPC__in IMFMediaSource * This); __RPC__in IMFMediaSource * This);
ULONG ( STDMETHODCALLTYPE *Release )( ULONG ( STDMETHODCALLTYPE *Release )(
__RPC__in IMFMediaSource * This); __RPC__in IMFMediaSource * This);
HRESULT ( STDMETHODCALLTYPE *GetEvent )( HRESULT ( STDMETHODCALLTYPE *GetEvent )(
__RPC__in IMFMediaSource * This, __RPC__in IMFMediaSource * This,
/* [in] */ DWORD dwFlags, /* [in] */ DWORD dwFlags,
skipping to change at line 1077 skipping to change at line 1330
/* [local] */ HRESULT ( STDMETHODCALLTYPE *BeginGetEvent )( /* [local] */ HRESULT ( STDMETHODCALLTYPE *BeginGetEvent )(
IMFMediaSource * This, IMFMediaSource * This,
/* [in] */ IMFAsyncCallback *pCallback, /* [in] */ IMFAsyncCallback *pCallback,
/* [in] */ IUnknown *punkState); /* [in] */ IUnknown *punkState);
/* [local] */ HRESULT ( STDMETHODCALLTYPE *EndGetEvent )( /* [local] */ HRESULT ( STDMETHODCALLTYPE *EndGetEvent )(
IMFMediaSource * This, IMFMediaSource * This,
/* [in] */ IMFAsyncResult *pResult, /* [in] */ IMFAsyncResult *pResult,
/* [annotation][out] */ /* [annotation][out] */
__out IMFMediaEvent **ppEvent); _Out_ IMFMediaEvent **ppEvent);
HRESULT ( STDMETHODCALLTYPE *QueueEvent )( HRESULT ( STDMETHODCALLTYPE *QueueEvent )(
__RPC__in IMFMediaSource * This, __RPC__in IMFMediaSource * This,
/* [in] */ MediaEventType met, /* [in] */ MediaEventType met,
/* [in] */ __RPC__in REFGUID guidExtendedType, /* [in] */ __RPC__in REFGUID guidExtendedType,
/* [in] */ HRESULT hrStatus, /* [in] */ HRESULT hrStatus,
/* [unique][in] */ __RPC__in_opt const PROPVARIANT *pvValue); /* [unique][in] */ __RPC__in_opt const PROPVARIANT *pvValue);
HRESULT ( STDMETHODCALLTYPE *GetCharacteristics )( HRESULT ( STDMETHODCALLTYPE *GetCharacteristics )(
__RPC__in IMFMediaSource * This, __RPC__in IMFMediaSource * This,
/* [out] */ __RPC__out DWORD *pdwCharacteristics); /* [out] */ __RPC__out DWORD *pdwCharacteristics);
/* [local] */ HRESULT ( STDMETHODCALLTYPE *CreatePresentationDescriptor )( /* [local] */ HRESULT ( STDMETHODCALLTYPE *CreatePresentationDescriptor )(
IMFMediaSource * This, IMFMediaSource * This,
/* [annotation][out] */ /* [annotation][out] */
__out IMFPresentationDescriptor **ppPresentationDescriptor); _Outptr_ IMFPresentationDescriptor **ppPresentationDescriptor);
HRESULT ( STDMETHODCALLTYPE *Start )( HRESULT ( STDMETHODCALLTYPE *Start )(
__RPC__in IMFMediaSource * This, __RPC__in IMFMediaSource * This,
/* [in] */ __RPC__in_opt IMFPresentationDescriptor *pPresentationDes criptor, /* [in] */ __RPC__in_opt IMFPresentationDescriptor *pPresentationDes criptor,
/* [unique][in] */ __RPC__in_opt const GUID *pguidTimeFormat, /* [unique][in] */ __RPC__in_opt const GUID *pguidTimeFormat,
/* [unique][in] */ __RPC__in_opt const PROPVARIANT *pvarStartPositio n); /* [unique][in] */ __RPC__in_opt const PROPVARIANT *pvarStartPositio n);
HRESULT ( STDMETHODCALLTYPE *Stop )( HRESULT ( STDMETHODCALLTYPE *Stop )(
__RPC__in IMFMediaSource * This); __RPC__in IMFMediaSource * This);
skipping to change at line 1177 skipping to change at line 1430
/* [out] */ __RPC__deref_out_opt IMFPresentationDescriptor **ppRemotePD); /* [out] */ __RPC__deref_out_opt IMFPresentationDescriptor **ppRemotePD);
void __RPC_STUB IMFMediaSource_RemoteCreatePresentationDescriptor_Stub( void __RPC_STUB IMFMediaSource_RemoteCreatePresentationDescriptor_Stub(
IRpcStubBuffer *This, IRpcStubBuffer *This,
IRpcChannelBuffer *_pRpcChannelBuffer, IRpcChannelBuffer *_pRpcChannelBuffer,
PRPC_MESSAGE _pRpcMessage, PRPC_MESSAGE _pRpcMessage,
DWORD *_pdwStubPhase); DWORD *_pdwStubPhase);
#endif /* __IMFMediaSource_INTERFACE_DEFINED__ */ #endif /* __IMFMediaSource_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_mfidl_0000_0003 */
/* [local] */
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
#pragma endregion
#if (WINVER >= _WIN32_WINNT_WIN8)
#pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0003_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0003_v0_0_s_ifspec;
#ifndef __IMFMediaSourceEx_INTERFACE_DEFINED__
#define __IMFMediaSourceEx_INTERFACE_DEFINED__
/* interface IMFMediaSourceEx */
/* [uuid][object] */
EXTERN_C const IID IID_IMFMediaSourceEx;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3C9B2EB9-86D5-4514-A394-F56664F9F0D8")
IMFMediaSourceEx : public IMFMediaSource
{
public:
virtual HRESULT STDMETHODCALLTYPE GetSourceAttributes(
/* [out] */ __RPC__deref_out_opt IMFAttributes **ppAttributes) = 0;
virtual HRESULT STDMETHODCALLTYPE GetStreamAttributes(
/* [in] */ DWORD dwStreamIdentifier,
/* [out] */ __RPC__deref_out_opt IMFAttributes **ppAttributes) = 0;
virtual HRESULT STDMETHODCALLTYPE SetD3DManager(
/* [in] */ __RPC__in_opt IUnknown *pManager) = 0;
};
#else /* C style interface */
typedef struct IMFMediaSourceExVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
__RPC__in IMFMediaSourceEx * This,
/* [in] */ __RPC__in REFIID riid,
/* [annotation][iid_is][out] */
_COM_Outptr_ void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
__RPC__in IMFMediaSourceEx * This);
ULONG ( STDMETHODCALLTYPE *Release )(
__RPC__in IMFMediaSourceEx * This);
HRESULT ( STDMETHODCALLTYPE *GetEvent )(
__RPC__in IMFMediaSourceEx * This,
/* [in] */ DWORD dwFlags,
/* [out] */ __RPC__deref_out_opt IMFMediaEvent **ppEvent);
/* [local] */ HRESULT ( STDMETHODCALLTYPE *BeginGetEvent )(
IMFMediaSourceEx * This,
/* [in] */ IMFAsyncCallback *pCallback,
/* [in] */ IUnknown *punkState);
/* [local] */ HRESULT ( STDMETHODCALLTYPE *EndGetEvent )(
IMFMediaSourceEx * This,
/* [in] */ IMFAsyncResult *pResult,
/* [annotation][out] */
_Out_ IMFMediaEvent **ppEvent);
HRESULT ( STDMETHODCALLTYPE *QueueEvent )(
__RPC__in IMFMediaSourceEx * 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 IMFMediaSourceEx * This,
/* [out] */ __RPC__out DWORD *pdwCharacteristics);
/* [local] */ HRESULT ( STDMETHODCALLTYPE *CreatePresentationDescriptor
)(
IMFMediaSourceEx * This,
/* [annotation][out] */
_Outptr_ IMFPresentationDescriptor **ppPresentationDescriptor);
HRESULT ( STDMETHODCALLTYPE *Start )(
__RPC__in IMFMediaSourceEx * This,
/* [in] */ __RPC__in_opt IMFPresentationDescriptor *pPresentationDes
criptor,
/* [unique][in] */ __RPC__in_opt const GUID *pguidTimeFormat,
/* [unique][in] */ __RPC__in_opt const PROPVARIANT *pvarStartPositio
n);
HRESULT ( STDMETHODCALLTYPE *Stop )(
__RPC__in IMFMediaSourceEx * This);
HRESULT ( STDMETHODCALLTYPE *Pause )(
__RPC__in IMFMediaSourceEx * This);
HRESULT ( STDMETHODCALLTYPE *Shutdown )(
__RPC__in IMFMediaSourceEx * This);
HRESULT ( STDMETHODCALLTYPE *GetSourceAttributes )(
__RPC__in IMFMediaSourceEx * This,
/* [out] */ __RPC__deref_out_opt IMFAttributes **ppAttributes);
HRESULT ( STDMETHODCALLTYPE *GetStreamAttributes )(
__RPC__in IMFMediaSourceEx * This,
/* [in] */ DWORD dwStreamIdentifier,
/* [out] */ __RPC__deref_out_opt IMFAttributes **ppAttributes);
HRESULT ( STDMETHODCALLTYPE *SetD3DManager )(
__RPC__in IMFMediaSourceEx * This,
/* [in] */ __RPC__in_opt IUnknown *pManager);
END_INTERFACE
} IMFMediaSourceExVtbl;
interface IMFMediaSourceEx
{
CONST_VTBL struct IMFMediaSourceExVtbl *lpVtbl;
};
#ifdef COBJMACROS
#define IMFMediaSourceEx_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
#define IMFMediaSourceEx_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
#define IMFMediaSourceEx_Release(This) \
( (This)->lpVtbl -> Release(This) )
#define IMFMediaSourceEx_GetEvent(This,dwFlags,ppEvent) \
( (This)->lpVtbl -> GetEvent(This,dwFlags,ppEvent) )
#define IMFMediaSourceEx_BeginGetEvent(This,pCallback,punkState) \
( (This)->lpVtbl -> BeginGetEvent(This,pCallback,punkState) )
#define IMFMediaSourceEx_EndGetEvent(This,pResult,ppEvent) \
( (This)->lpVtbl -> EndGetEvent(This,pResult,ppEvent) )
#define IMFMediaSourceEx_QueueEvent(This,met,guidExtendedType,hrStatus,pvValue)
\
( (This)->lpVtbl -> QueueEvent(This,met,guidExtendedType,hrStatus,pvValue) )
#define IMFMediaSourceEx_GetCharacteristics(This,pdwCharacteristics) \
( (This)->lpVtbl -> GetCharacteristics(This,pdwCharacteristics) )
#define IMFMediaSourceEx_CreatePresentationDescriptor(This,ppPresentationDescrip
tor) \
( (This)->lpVtbl -> CreatePresentationDescriptor(This,ppPresentationDescript
or) )
#define IMFMediaSourceEx_Start(This,pPresentationDescriptor,pguidTimeFormat,pvar
StartPosition) \
( (This)->lpVtbl -> Start(This,pPresentationDescriptor,pguidTimeFormat,pvarS
tartPosition) )
#define IMFMediaSourceEx_Stop(This) \
( (This)->lpVtbl -> Stop(This) )
#define IMFMediaSourceEx_Pause(This) \
( (This)->lpVtbl -> Pause(This) )
#define IMFMediaSourceEx_Shutdown(This) \
( (This)->lpVtbl -> Shutdown(This) )
#define IMFMediaSourceEx_GetSourceAttributes(This,ppAttributes) \
( (This)->lpVtbl -> GetSourceAttributes(This,ppAttributes) )
#define IMFMediaSourceEx_GetStreamAttributes(This,dwStreamIdentifier,ppAttribute
s) \
( (This)->lpVtbl -> GetStreamAttributes(This,dwStreamIdentifier,ppAttributes
) )
#define IMFMediaSourceEx_SetD3DManager(This,pManager) \
( (This)->lpVtbl -> SetD3DManager(This,pManager) )
#endif /* COBJMACROS */
#endif /* C style interface */
#endif /* __IMFMediaSourceEx_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_mfidl_0000_0004 */
/* [local] */
EXTERN_GUID( MF_SOURCE_STREAM_SUPPORTS_HW_CONNECTION, 0xa38253aa, 0x6314, 0x42fd
, 0xa3, 0xce, 0xbb, 0x27, 0xb6, 0x85, 0x99, 0x46);
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
#pragma endregion
#endif // (WINVER >= _WIN32_WINNT_WIN8)
#pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
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 __IMFMediaStream_INTERFACE_DEFINED__ #ifndef __IMFMediaStream_INTERFACE_DEFINED__
#define __IMFMediaStream_INTERFACE_DEFINED__ #define __IMFMediaStream_INTERFACE_DEFINED__
/* interface IMFMediaStream */ /* interface IMFMediaStream */
/* [uuid][object] */ /* [uuid][object] */
EXTERN_C const IID IID_IMFMediaStream; EXTERN_C const IID IID_IMFMediaStream;
#if defined(__cplusplus) && !defined(CINTERFACE) #if defined(__cplusplus) && !defined(CINTERFACE)
skipping to change at line 1212 skipping to change at line 1658
#else /* C style interface */ #else /* C style interface */
typedef struct IMFMediaStreamVtbl typedef struct IMFMediaStreamVtbl
{ {
BEGIN_INTERFACE BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )( HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
__RPC__in IMFMediaStream * This, __RPC__in IMFMediaStream * This,
/* [in] */ __RPC__in REFIID riid, /* [in] */ __RPC__in REFIID riid,
/* [annotation][iid_is][out] */ /* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject); _COM_Outptr_ void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )( ULONG ( STDMETHODCALLTYPE *AddRef )(
__RPC__in IMFMediaStream * This); __RPC__in IMFMediaStream * This);
ULONG ( STDMETHODCALLTYPE *Release )( ULONG ( STDMETHODCALLTYPE *Release )(
__RPC__in IMFMediaStream * This); __RPC__in IMFMediaStream * This);
HRESULT ( STDMETHODCALLTYPE *GetEvent )( HRESULT ( STDMETHODCALLTYPE *GetEvent )(
__RPC__in IMFMediaStream * This, __RPC__in IMFMediaStream * This,
/* [in] */ DWORD dwFlags, /* [in] */ DWORD dwFlags,
skipping to change at line 1234 skipping to change at line 1680
/* [local] */ HRESULT ( STDMETHODCALLTYPE *BeginGetEvent )( /* [local] */ HRESULT ( STDMETHODCALLTYPE *BeginGetEvent )(
IMFMediaStream * This, IMFMediaStream * This,
/* [in] */ IMFAsyncCallback *pCallback, /* [in] */ IMFAsyncCallback *pCallback,
/* [in] */ IUnknown *punkState); /* [in] */ IUnknown *punkState);
/* [local] */ HRESULT ( STDMETHODCALLTYPE *EndGetEvent )( /* [local] */ HRESULT ( STDMETHODCALLTYPE *EndGetEvent )(
IMFMediaStream * This, IMFMediaStream * This,
/* [in] */ IMFAsyncResult *pResult, /* [in] */ IMFAsyncResult *pResult,
/* [annotation][out] */ /* [annotation][out] */
__out IMFMediaEvent **ppEvent); _Out_ IMFMediaEvent **ppEvent);
HRESULT ( STDMETHODCALLTYPE *QueueEvent )( HRESULT ( STDMETHODCALLTYPE *QueueEvent )(
__RPC__in IMFMediaStream * This, __RPC__in IMFMediaStream * This,
/* [in] */ MediaEventType met, /* [in] */ MediaEventType met,
/* [in] */ __RPC__in REFGUID guidExtendedType, /* [in] */ __RPC__in REFGUID guidExtendedType,
/* [in] */ HRESULT hrStatus, /* [in] */ HRESULT hrStatus,
/* [unique][in] */ __RPC__in_opt const PROPVARIANT *pvValue); /* [unique][in] */ __RPC__in_opt const PROPVARIANT *pvValue);
HRESULT ( STDMETHODCALLTYPE *GetMediaSource )( HRESULT ( STDMETHODCALLTYPE *GetMediaSource )(
__RPC__in IMFMediaStream * This, __RPC__in IMFMediaStream * This,
skipping to change at line 1310 skipping to change at line 1756
__RPC__in IMFMediaStream * This); __RPC__in IMFMediaStream * This);
void __RPC_STUB IMFMediaStream_RemoteRequestSample_Stub( void __RPC_STUB IMFMediaStream_RemoteRequestSample_Stub(
IRpcStubBuffer *This, IRpcStubBuffer *This,
IRpcChannelBuffer *_pRpcChannelBuffer, IRpcChannelBuffer *_pRpcChannelBuffer,
PRPC_MESSAGE _pRpcMessage, PRPC_MESSAGE _pRpcMessage,
DWORD *_pdwStubPhase); DWORD *_pdwStubPhase);
#endif /* __IMFMediaStream_INTERFACE_DEFINED__ */ #endif /* __IMFMediaStream_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_mfidl_0000_0004 */ /* interface __MIDL_itf_mfidl_0000_0005 */
/* [local] */ /* [local] */
#if (WINVER >= _WIN32_WINNT_WIN8)
EXTERN_GUID( MF_STREAM_SINK_SUPPORTS_HW_CONNECTION, 0x9b465cbf, 0x597, 0x4f9e, 0
x9f, 0x3c, 0xb9, 0x7e, 0xee, 0xf9, 0x3, 0x59);
EXTERN_GUID( MF_STREAM_SINK_SUPPORTS_ROTATION, 0xb3e96280, 0xbd05, 0x41a5, 0x97,
0xad, 0x8a, 0x7f, 0xee, 0x24, 0xb9, 0x12);
#endif // (WINVER >= _WIN32_WINNT_WIN8)
#define MEDIASINK_FIXED_STREAMS 0x00000001 #define MEDIASINK_FIXED_STREAMS 0x00000001
#define MEDIASINK_CANNOT_MATCH_CLOCK 0x00000002 #define MEDIASINK_CANNOT_MATCH_CLOCK 0x00000002
#define MEDIASINK_RATELESS 0x00000004 #define MEDIASINK_RATELESS 0x00000004
#define MEDIASINK_CLOCK_REQUIRED 0x00000008 #define MEDIASINK_CLOCK_REQUIRED 0x00000008
#define MEDIASINK_CAN_PREROLL 0x00000010 #define MEDIASINK_CAN_PREROLL 0x00000010
#define MEDIASINK_REQUIRE_REFERENCE_MEDIATYPE 0x00000020 #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_0005_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0004_v0_0_s_ifspec; extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0005_v0_0_s_ifspec;
#ifndef __IMFMediaSink_INTERFACE_DEFINED__ #ifndef __IMFMediaSink_INTERFACE_DEFINED__
#define __IMFMediaSink_INTERFACE_DEFINED__ #define __IMFMediaSink_INTERFACE_DEFINED__
/* interface IMFMediaSink */ /* interface IMFMediaSink */
/* [uuid][object] */ /* [uuid][object] */
EXTERN_C const IID IID_IMFMediaSink; EXTERN_C const IID IID_IMFMediaSink;
#if defined(__cplusplus) && !defined(CINTERFACE) #if defined(__cplusplus) && !defined(CINTERFACE)
skipping to change at line 1379 skipping to change at line 1829
#else /* C style interface */ #else /* C style interface */
typedef struct IMFMediaSinkVtbl typedef struct IMFMediaSinkVtbl
{ {
BEGIN_INTERFACE BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )( HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
__RPC__in IMFMediaSink * This, __RPC__in IMFMediaSink * This,
/* [in] */ __RPC__in REFIID riid, /* [in] */ __RPC__in REFIID riid,
/* [annotation][iid_is][out] */ /* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject); _COM_Outptr_ void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )( ULONG ( STDMETHODCALLTYPE *AddRef )(
__RPC__in IMFMediaSink * This); __RPC__in IMFMediaSink * This);
ULONG ( STDMETHODCALLTYPE *Release )( ULONG ( STDMETHODCALLTYPE *Release )(
__RPC__in IMFMediaSink * This); __RPC__in IMFMediaSink * This);
HRESULT ( STDMETHODCALLTYPE *GetCharacteristics )( HRESULT ( STDMETHODCALLTYPE *GetCharacteristics )(
__RPC__in IMFMediaSink * This, __RPC__in IMFMediaSink * This,
/* [out] */ __RPC__out DWORD *pdwCharacteristics); /* [out] */ __RPC__out DWORD *pdwCharacteristics);
skipping to change at line 1478 skipping to change at line 1928
#define IMFMediaSink_Shutdown(This) \ #define IMFMediaSink_Shutdown(This) \
( (This)->lpVtbl -> Shutdown(This) ) ( (This)->lpVtbl -> Shutdown(This) )
#endif /* COBJMACROS */ #endif /* COBJMACROS */
#endif /* C style interface */ #endif /* C style interface */
#endif /* __IMFMediaSink_INTERFACE_DEFINED__ */ #endif /* __IMFMediaSink_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_mfidl_0000_0005 */ /* interface __MIDL_itf_mfidl_0000_0006 */
/* [local] */ /* [local] */
typedef typedef
enum _MFSTREAMSINK_MARKER_TYPE enum _MFSTREAMSINK_MARKER_TYPE
{ MFSTREAMSINK_MARKER_DEFAULT = 0, {
MFSTREAMSINK_MARKER_ENDOFSEGMENT = ( MFSTREAMSINK_MARKER_DEFAULT + MFSTREAMSINK_MARKER_DEFAULT = 0,
1 ) , MFSTREAMSINK_MARKER_ENDOFSEGMENT = ( MFSTREAMSINK_MARKER_DEFAULT +
MFSTREAMSINK_MARKER_TICK = ( MFSTREAMSINK_MARKER_ENDOFSEGMENT + 1 1 ) ,
) , MFSTREAMSINK_MARKER_TICK = ( MFSTREAMSINK_MARKER_ENDOFSEGMENT + 1
MFSTREAMSINK_MARKER_EVENT = ( MFSTREAMSINK_MARKER_TICK + 1 ) ) ,
MFSTREAMSINK_MARKER_EVENT = ( MFSTREAMSINK_MARKER_TICK + 1 )
} MFSTREAMSINK_MARKER_TYPE; } MFSTREAMSINK_MARKER_TYPE;
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0005_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0006_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0005_v0_0_s_ifspec; extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0006_v0_0_s_ifspec;
#ifndef __IMFStreamSink_INTERFACE_DEFINED__ #ifndef __IMFStreamSink_INTERFACE_DEFINED__
#define __IMFStreamSink_INTERFACE_DEFINED__ #define __IMFStreamSink_INTERFACE_DEFINED__
/* interface IMFStreamSink */ /* interface IMFStreamSink */
/* [uuid][object] */ /* [uuid][object] */
EXTERN_C const IID IID_IMFStreamSink; EXTERN_C const IID IID_IMFStreamSink;
#if defined(__cplusplus) && !defined(CINTERFACE) #if defined(__cplusplus) && !defined(CINTERFACE)
skipping to change at line 1537 skipping to change at line 1988
#else /* C style interface */ #else /* C style interface */
typedef struct IMFStreamSinkVtbl typedef struct IMFStreamSinkVtbl
{ {
BEGIN_INTERFACE BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )( HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
__RPC__in IMFStreamSink * This, __RPC__in IMFStreamSink * This,
/* [in] */ __RPC__in REFIID riid, /* [in] */ __RPC__in REFIID riid,
/* [annotation][iid_is][out] */ /* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject); _COM_Outptr_ void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )( ULONG ( STDMETHODCALLTYPE *AddRef )(
__RPC__in IMFStreamSink * This); __RPC__in IMFStreamSink * This);
ULONG ( STDMETHODCALLTYPE *Release )( ULONG ( STDMETHODCALLTYPE *Release )(
__RPC__in IMFStreamSink * This); __RPC__in IMFStreamSink * This);
HRESULT ( STDMETHODCALLTYPE *GetEvent )( HRESULT ( STDMETHODCALLTYPE *GetEvent )(
__RPC__in IMFStreamSink * This, __RPC__in IMFStreamSink * This,
/* [in] */ DWORD dwFlags, /* [in] */ DWORD dwFlags,
skipping to change at line 1559 skipping to change at line 2010
/* [local] */ HRESULT ( STDMETHODCALLTYPE *BeginGetEvent )( /* [local] */ HRESULT ( STDMETHODCALLTYPE *BeginGetEvent )(
IMFStreamSink * This, IMFStreamSink * This,
/* [in] */ IMFAsyncCallback *pCallback, /* [in] */ IMFAsyncCallback *pCallback,
/* [in] */ IUnknown *punkState); /* [in] */ IUnknown *punkState);
/* [local] */ HRESULT ( STDMETHODCALLTYPE *EndGetEvent )( /* [local] */ HRESULT ( STDMETHODCALLTYPE *EndGetEvent )(
IMFStreamSink * This, IMFStreamSink * This,
/* [in] */ IMFAsyncResult *pResult, /* [in] */ IMFAsyncResult *pResult,
/* [annotation][out] */ /* [annotation][out] */
__out IMFMediaEvent **ppEvent); _Out_ IMFMediaEvent **ppEvent);
HRESULT ( STDMETHODCALLTYPE *QueueEvent )( HRESULT ( STDMETHODCALLTYPE *QueueEvent )(
__RPC__in IMFStreamSink * This, __RPC__in IMFStreamSink * This,
/* [in] */ MediaEventType met, /* [in] */ MediaEventType met,
/* [in] */ __RPC__in REFGUID guidExtendedType, /* [in] */ __RPC__in REFGUID guidExtendedType,
/* [in] */ HRESULT hrStatus, /* [in] */ HRESULT hrStatus,
/* [unique][in] */ __RPC__in_opt const PROPVARIANT *pvValue); /* [unique][in] */ __RPC__in_opt const PROPVARIANT *pvValue);
HRESULT ( STDMETHODCALLTYPE *GetMediaSink )( HRESULT ( STDMETHODCALLTYPE *GetMediaSink )(
__RPC__in IMFStreamSink * This, __RPC__in IMFStreamSink * This,
skipping to change at line 1686 skipping to change at line 2137
#else /* C style interface */ #else /* C style interface */
typedef struct IMFVideoSampleAllocatorVtbl typedef struct IMFVideoSampleAllocatorVtbl
{ {
BEGIN_INTERFACE BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )( HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IMFVideoSampleAllocator * This, IMFVideoSampleAllocator * This,
/* [in] */ REFIID riid, /* [in] */ REFIID riid,
/* [annotation][iid_is][out] */ /* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject); _COM_Outptr_ void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )( ULONG ( STDMETHODCALLTYPE *AddRef )(
IMFVideoSampleAllocator * This); IMFVideoSampleAllocator * This);
ULONG ( STDMETHODCALLTYPE *Release )( ULONG ( STDMETHODCALLTYPE *Release )(
IMFVideoSampleAllocator * This); IMFVideoSampleAllocator * This);
HRESULT ( STDMETHODCALLTYPE *SetDirectXManager )( HRESULT ( STDMETHODCALLTYPE *SetDirectXManager )(
IMFVideoSampleAllocator * This, IMFVideoSampleAllocator * This,
/* [unique][in] */ IUnknown *pManager); /* [unique][in] */ IUnknown *pManager);
skipping to change at line 1747 skipping to change at line 2198
#define IMFVideoSampleAllocator_AllocateSample(This,ppSample) \ #define IMFVideoSampleAllocator_AllocateSample(This,ppSample) \
( (This)->lpVtbl -> AllocateSample(This,ppSample) ) ( (This)->lpVtbl -> AllocateSample(This,ppSample) )
#endif /* COBJMACROS */ #endif /* COBJMACROS */
#endif /* C style interface */ #endif /* C style interface */
#endif /* __IMFVideoSampleAllocator_INTERFACE_DEFINED__ */ #endif /* __IMFVideoSampleAllocator_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_mfidl_0000_0007 */ /* interface __MIDL_itf_mfidl_0000_0008 */
/* [local] */ /* [local] */
#if (WINVER >= _WIN32_WINNT_WIN7) #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_0008_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0007_v0_0_s_ifspec; extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0008_v0_0_s_ifspec;
#ifndef __IMFVideoSampleAllocatorNotify_INTERFACE_DEFINED__ #ifndef __IMFVideoSampleAllocatorNotify_INTERFACE_DEFINED__
#define __IMFVideoSampleAllocatorNotify_INTERFACE_DEFINED__ #define __IMFVideoSampleAllocatorNotify_INTERFACE_DEFINED__
/* interface IMFVideoSampleAllocatorNotify */ /* interface IMFVideoSampleAllocatorNotify */
/* [local][uuid][object] */ /* [local][uuid][object] */
EXTERN_C const IID IID_IMFVideoSampleAllocatorNotify; EXTERN_C const IID IID_IMFVideoSampleAllocatorNotify;
#if defined(__cplusplus) && !defined(CINTERFACE) #if defined(__cplusplus) && !defined(CINTERFACE)
skipping to change at line 1783 skipping to change at line 2234
#else /* C style interface */ #else /* C style interface */
typedef struct IMFVideoSampleAllocatorNotifyVtbl typedef struct IMFVideoSampleAllocatorNotifyVtbl
{ {
BEGIN_INTERFACE BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )( HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IMFVideoSampleAllocatorNotify * This, IMFVideoSampleAllocatorNotify * This,
/* [in] */ REFIID riid, /* [in] */ REFIID riid,
/* [annotation][iid_is][out] */ /* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject); _COM_Outptr_ void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )( ULONG ( STDMETHODCALLTYPE *AddRef )(
IMFVideoSampleAllocatorNotify * This); IMFVideoSampleAllocatorNotify * This);
ULONG ( STDMETHODCALLTYPE *Release )( ULONG ( STDMETHODCALLTYPE *Release )(
IMFVideoSampleAllocatorNotify * This); IMFVideoSampleAllocatorNotify * This);
HRESULT ( STDMETHODCALLTYPE *NotifyRelease )( HRESULT ( STDMETHODCALLTYPE *NotifyRelease )(
IMFVideoSampleAllocatorNotify * This); IMFVideoSampleAllocatorNotify * This);
skipping to change at line 1854 skipping to change at line 2305
#else /* C style interface */ #else /* C style interface */
typedef struct IMFVideoSampleAllocatorCallbackVtbl typedef struct IMFVideoSampleAllocatorCallbackVtbl
{ {
BEGIN_INTERFACE BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )( HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IMFVideoSampleAllocatorCallback * This, IMFVideoSampleAllocatorCallback * This,
/* [in] */ REFIID riid, /* [in] */ REFIID riid,
/* [annotation][iid_is][out] */ /* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject); _COM_Outptr_ void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )( ULONG ( STDMETHODCALLTYPE *AddRef )(
IMFVideoSampleAllocatorCallback * This); IMFVideoSampleAllocatorCallback * This);
ULONG ( STDMETHODCALLTYPE *Release )( ULONG ( STDMETHODCALLTYPE *Release )(
IMFVideoSampleAllocatorCallback * This); IMFVideoSampleAllocatorCallback * This);
HRESULT ( STDMETHODCALLTYPE *SetCallback )( HRESULT ( STDMETHODCALLTYPE *SetCallback )(
IMFVideoSampleAllocatorCallback * This, IMFVideoSampleAllocatorCallback * This,
/* [unique][in] */ IMFVideoSampleAllocatorNotify *pNotify); /* [unique][in] */ IMFVideoSampleAllocatorNotify *pNotify);
skipping to change at line 1901 skipping to change at line 2352
#define IMFVideoSampleAllocatorCallback_GetFreeSampleCount(This,plSamples) \ #define IMFVideoSampleAllocatorCallback_GetFreeSampleCount(This,plSamples) \
( (This)->lpVtbl -> GetFreeSampleCount(This,plSamples) ) ( (This)->lpVtbl -> GetFreeSampleCount(This,plSamples) )
#endif /* COBJMACROS */ #endif /* COBJMACROS */
#endif /* C style interface */ #endif /* C style interface */
#endif /* __IMFVideoSampleAllocatorCallback_INTERFACE_DEFINED__ */ #endif /* __IMFVideoSampleAllocatorCallback_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_mfidl_0000_0009 */ #ifndef __IMFVideoSampleAllocatorEx_INTERFACE_DEFINED__
#define __IMFVideoSampleAllocatorEx_INTERFACE_DEFINED__
/* interface IMFVideoSampleAllocatorEx */
/* [unique][helpstring][uuid][local][object] */
EXTERN_C const IID IID_IMFVideoSampleAllocatorEx;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("545b3a48-3283-4f62-866f-a62d8f598f9f")
IMFVideoSampleAllocatorEx : public IMFVideoSampleAllocator
{
public:
virtual HRESULT STDMETHODCALLTYPE InitializeSampleAllocatorEx(
/* [annotation] */
_In_ DWORD cInitialSamples,
/* [annotation] */
_In_ DWORD cMaximumSamples,
/* [annotation] */
_In_opt_ IMFAttributes *pAttributes,
/* [annotation] */
_In_ IMFMediaType *pMediaType) = 0;
};
#else /* C style interface */
typedef struct IMFVideoSampleAllocatorExVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IMFVideoSampleAllocatorEx * This,
/* [in] */ REFIID riid,
/* [annotation][iid_is][out] */
_COM_Outptr_ void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
IMFVideoSampleAllocatorEx * This);
ULONG ( STDMETHODCALLTYPE *Release )(
IMFVideoSampleAllocatorEx * This);
HRESULT ( STDMETHODCALLTYPE *SetDirectXManager )(
IMFVideoSampleAllocatorEx * This,
/* [unique][in] */ IUnknown *pManager);
HRESULT ( STDMETHODCALLTYPE *UninitializeSampleAllocator )(
IMFVideoSampleAllocatorEx * This);
HRESULT ( STDMETHODCALLTYPE *InitializeSampleAllocator )(
IMFVideoSampleAllocatorEx * This,
/* [in] */ DWORD cRequestedFrames,
/* [in] */ IMFMediaType *pMediaType);
HRESULT ( STDMETHODCALLTYPE *AllocateSample )(
IMFVideoSampleAllocatorEx * This,
/* [out] */ IMFSample **ppSample);
HRESULT ( STDMETHODCALLTYPE *InitializeSampleAllocatorEx )(
IMFVideoSampleAllocatorEx * This,
/* [annotation] */
_In_ DWORD cInitialSamples,
/* [annotation] */
_In_ DWORD cMaximumSamples,
/* [annotation] */
_In_opt_ IMFAttributes *pAttributes,
/* [annotation] */
_In_ IMFMediaType *pMediaType);
END_INTERFACE
} IMFVideoSampleAllocatorExVtbl;
interface IMFVideoSampleAllocatorEx
{
CONST_VTBL struct IMFVideoSampleAllocatorExVtbl *lpVtbl;
};
#ifdef COBJMACROS
#define IMFVideoSampleAllocatorEx_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
#define IMFVideoSampleAllocatorEx_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
#define IMFVideoSampleAllocatorEx_Release(This) \
( (This)->lpVtbl -> Release(This) )
#define IMFVideoSampleAllocatorEx_SetDirectXManager(This,pManager) \
( (This)->lpVtbl -> SetDirectXManager(This,pManager) )
#define IMFVideoSampleAllocatorEx_UninitializeSampleAllocator(This) \
( (This)->lpVtbl -> UninitializeSampleAllocator(This) )
#define IMFVideoSampleAllocatorEx_InitializeSampleAllocator(This,cRequestedFrame
s,pMediaType) \
( (This)->lpVtbl -> InitializeSampleAllocator(This,cRequestedFrames,pMediaTy
pe) )
#define IMFVideoSampleAllocatorEx_AllocateSample(This,ppSample) \
( (This)->lpVtbl -> AllocateSample(This,ppSample) )
#define IMFVideoSampleAllocatorEx_InitializeSampleAllocatorEx(This,cInitialSampl
es,cMaximumSamples,pAttributes,pMediaType) \
( (This)->lpVtbl -> InitializeSampleAllocatorEx(This,cInitialSamples,cMaximu
mSamples,pAttributes,pMediaType) )
#endif /* COBJMACROS */
#endif /* C style interface */
#endif /* __IMFVideoSampleAllocatorEx_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_mfidl_0000_0011 */
/* [local] */ /* [local] */
#endif // (WINVER >= _WIN32_WINNT_WIN7) #endif // (WINVER >= _WIN32_WINNT_WIN7)
#if (WINVER >= _WIN32_WINNT_WINBLUE)
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0009_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0011_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0009_v0_0_s_ifspec; extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0011_v0_0_s_ifspec;
#ifndef __IMFDXGIDeviceManagerSource_INTERFACE_DEFINED__
#define __IMFDXGIDeviceManagerSource_INTERFACE_DEFINED__
/* interface IMFDXGIDeviceManagerSource */
/* [unique][uuid][object] */
EXTERN_C const IID IID_IMFDXGIDeviceManagerSource;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("20bc074b-7a8d-4609-8c3b-64a0a3b5d7ce")
IMFDXGIDeviceManagerSource : public IUnknown
{
public:
virtual HRESULT STDMETHODCALLTYPE GetManager(
/* [out] */ __RPC__deref_out_opt IMFDXGIDeviceManager **ppManager) =
0;
};
#else /* C style interface */
typedef struct IMFDXGIDeviceManagerSourceVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
__RPC__in IMFDXGIDeviceManagerSource * This,
/* [in] */ __RPC__in REFIID riid,
/* [annotation][iid_is][out] */
_COM_Outptr_ void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
__RPC__in IMFDXGIDeviceManagerSource * This);
ULONG ( STDMETHODCALLTYPE *Release )(
__RPC__in IMFDXGIDeviceManagerSource * This);
HRESULT ( STDMETHODCALLTYPE *GetManager )(
__RPC__in IMFDXGIDeviceManagerSource * This,
/* [out] */ __RPC__deref_out_opt IMFDXGIDeviceManager **ppManager);
END_INTERFACE
} IMFDXGIDeviceManagerSourceVtbl;
interface IMFDXGIDeviceManagerSource
{
CONST_VTBL struct IMFDXGIDeviceManagerSourceVtbl *lpVtbl;
};
#ifdef COBJMACROS
#define IMFDXGIDeviceManagerSource_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
#define IMFDXGIDeviceManagerSource_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
#define IMFDXGIDeviceManagerSource_Release(This) \
( (This)->lpVtbl -> Release(This) )
#define IMFDXGIDeviceManagerSource_GetManager(This,ppManager) \
( (This)->lpVtbl -> GetManager(This,ppManager) )
#endif /* COBJMACROS */
#endif /* C style interface */
#endif /* __IMFDXGIDeviceManagerSource_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_mfidl_0000_0012 */
/* [local] */
#endif // (WINVER >= _WIN32_WINNT_WINBLUE)
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
#pragma endregion
#if (WINVER >= _WIN32_WINNT_WIN8)
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
typedef
enum _MF_VIDEO_PROCESSOR_ROTATION
{
ROTATION_NONE = 0,
ROTATION_NORMAL = 1
} MF_VIDEO_PROCESSOR_ROTATION;
typedef
enum _MF_VIDEO_PROCESSOR_MIRROR
{
MIRROR_NONE = 0,
MIRROR_HORIZONTAL = 1,
MIRROR_VERTICAL = 2
} MF_VIDEO_PROCESSOR_MIRROR;
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 __IMFVideoProcessorControl_INTERFACE_DEFINED__
#define __IMFVideoProcessorControl_INTERFACE_DEFINED__
/* interface IMFVideoProcessorControl */
/* [unique][helpstring][uuid][local][object] */
EXTERN_C const IID IID_IMFVideoProcessorControl;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("A3F675D5-6119-4f7f-A100-1D8B280F0EFB")
IMFVideoProcessorControl : public IUnknown
{
public:
virtual HRESULT STDMETHODCALLTYPE SetBorderColor(
/* [annotation][in] */
_In_opt_ MFARGB *pBorderColor) = 0;
virtual HRESULT STDMETHODCALLTYPE SetSourceRectangle(
/* [annotation][in] */
_In_opt_ RECT *pSrcRect) = 0;
virtual HRESULT STDMETHODCALLTYPE SetDestinationRectangle(
/* [annotation][in] */
_In_opt_ RECT *pDstRect) = 0;
virtual HRESULT STDMETHODCALLTYPE SetMirror(
/* [annotation][in] */
_In_ MF_VIDEO_PROCESSOR_MIRROR eMirror) = 0;
virtual HRESULT STDMETHODCALLTYPE SetRotation(
/* [annotation][in] */
_In_ MF_VIDEO_PROCESSOR_ROTATION eRotation) = 0;
virtual HRESULT STDMETHODCALLTYPE SetConstrictionSize(
/* [annotation][in] */
_In_opt_ SIZE *pConstrictionSize) = 0;
};
#else /* C style interface */
typedef struct IMFVideoProcessorControlVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IMFVideoProcessorControl * This,
/* [in] */ REFIID riid,
/* [annotation][iid_is][out] */
_COM_Outptr_ void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
IMFVideoProcessorControl * This);
ULONG ( STDMETHODCALLTYPE *Release )(
IMFVideoProcessorControl * This);
HRESULT ( STDMETHODCALLTYPE *SetBorderColor )(
IMFVideoProcessorControl * This,
/* [annotation][in] */
_In_opt_ MFARGB *pBorderColor);
HRESULT ( STDMETHODCALLTYPE *SetSourceRectangle )(
IMFVideoProcessorControl * This,
/* [annotation][in] */
_In_opt_ RECT *pSrcRect);
HRESULT ( STDMETHODCALLTYPE *SetDestinationRectangle )(
IMFVideoProcessorControl * This,
/* [annotation][in] */
_In_opt_ RECT *pDstRect);
HRESULT ( STDMETHODCALLTYPE *SetMirror )(
IMFVideoProcessorControl * This,
/* [annotation][in] */
_In_ MF_VIDEO_PROCESSOR_MIRROR eMirror);
HRESULT ( STDMETHODCALLTYPE *SetRotation )(
IMFVideoProcessorControl * This,
/* [annotation][in] */
_In_ MF_VIDEO_PROCESSOR_ROTATION eRotation);
HRESULT ( STDMETHODCALLTYPE *SetConstrictionSize )(
IMFVideoProcessorControl * This,
/* [annotation][in] */
_In_opt_ SIZE *pConstrictionSize);
END_INTERFACE
} IMFVideoProcessorControlVtbl;
interface IMFVideoProcessorControl
{
CONST_VTBL struct IMFVideoProcessorControlVtbl *lpVtbl;
};
#ifdef COBJMACROS
#define IMFVideoProcessorControl_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
#define IMFVideoProcessorControl_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
#define IMFVideoProcessorControl_Release(This) \
( (This)->lpVtbl -> Release(This) )
#define IMFVideoProcessorControl_SetBorderColor(This,pBorderColor) \
( (This)->lpVtbl -> SetBorderColor(This,pBorderColor) )
#define IMFVideoProcessorControl_SetSourceRectangle(This,pSrcRect) \
( (This)->lpVtbl -> SetSourceRectangle(This,pSrcRect) )
#define IMFVideoProcessorControl_SetDestinationRectangle(This,pDstRect) \
( (This)->lpVtbl -> SetDestinationRectangle(This,pDstRect) )
#define IMFVideoProcessorControl_SetMirror(This,eMirror) \
( (This)->lpVtbl -> SetMirror(This,eMirror) )
#define IMFVideoProcessorControl_SetRotation(This,eRotation) \
( (This)->lpVtbl -> SetRotation(This,eRotation) )
#define IMFVideoProcessorControl_SetConstrictionSize(This,pConstrictionSize) \
( (This)->lpVtbl -> SetConstrictionSize(This,pConstrictionSize) )
#endif /* COBJMACROS */
#endif /* C style interface */
#endif /* __IMFVideoProcessorControl_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_mfidl_0000_0013 */
/* [local] */
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#endif // (WINVER >= _WIN32_WINNT_WIN8)
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
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 __IMFTopology_INTERFACE_DEFINED__ #ifndef __IMFTopology_INTERFACE_DEFINED__
#define __IMFTopology_INTERFACE_DEFINED__ #define __IMFTopology_INTERFACE_DEFINED__
/* interface IMFTopology */ /* interface IMFTopology */
/* [uuid][object] */ /* [uuid][object] */
EXTERN_C const IID IID_IMFTopology; EXTERN_C const IID IID_IMFTopology;
#if defined(__cplusplus) && !defined(CINTERFACE) #if defined(__cplusplus) && !defined(CINTERFACE)
skipping to change at line 1966 skipping to change at line 2768
#else /* C style interface */ #else /* C style interface */
typedef struct IMFTopologyVtbl typedef struct IMFTopologyVtbl
{ {
BEGIN_INTERFACE BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )( HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
__RPC__in IMFTopology * This, __RPC__in IMFTopology * This,
/* [in] */ __RPC__in REFIID riid, /* [in] */ __RPC__in REFIID riid,
/* [annotation][iid_is][out] */ /* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject); _COM_Outptr_ void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )( ULONG ( STDMETHODCALLTYPE *AddRef )(
__RPC__in IMFTopology * This); __RPC__in IMFTopology * This);
ULONG ( STDMETHODCALLTYPE *Release )( ULONG ( STDMETHODCALLTYPE *Release )(
__RPC__in IMFTopology * This); __RPC__in IMFTopology * This);
HRESULT ( STDMETHODCALLTYPE *GetItem )( HRESULT ( STDMETHODCALLTYPE *GetItem )(
__RPC__in IMFTopology * This, __RPC__in IMFTopology * This,
__RPC__in REFGUID guidKey, __RPC__in REFGUID guidKey,
skipping to change at line 2312 skipping to change at line 3114
#define IMFTopology_GetOutputNodeCollection(This,ppCollection) \ #define IMFTopology_GetOutputNodeCollection(This,ppCollection) \
( (This)->lpVtbl -> GetOutputNodeCollection(This,ppCollection) ) ( (This)->lpVtbl -> GetOutputNodeCollection(This,ppCollection) )
#endif /* COBJMACROS */ #endif /* COBJMACROS */
#endif /* C style interface */ #endif /* C style interface */
#endif /* __IMFTopology_INTERFACE_DEFINED__ */ #endif /* __IMFTopology_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_mfidl_0000_0010 */ /* interface __MIDL_itf_mfidl_0000_0014 */
/* [local] */ /* [local] */
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
EXTERN_GUID( MF_TOPOLOGY_PROJECTSTART, 0x7ed3f802, 0x86bb, 0x4b3f, 0xb7, 0xe4, 0 x7c, 0xb4, 0x3a, 0xfd, 0x4b, 0x80); EXTERN_GUID( MF_TOPOLOGY_PROJECTSTART, 0x7ed3f802, 0x86bb, 0x4b3f, 0xb7, 0xe4, 0 x7c, 0xb4, 0x3a, 0xfd, 0x4b, 0x80);
EXTERN_GUID( MF_TOPOLOGY_PROJECTSTOP, 0x7ed3f803, 0x86bb, 0x4b3f, 0xb7, 0xe4, 0x 7c, 0xb4, 0x3a, 0xfd, 0x4b, 0x80); EXTERN_GUID( MF_TOPOLOGY_PROJECTSTOP, 0x7ed3f803, 0x86bb, 0x4b3f, 0xb7, 0xe4, 0x 7c, 0xb4, 0x3a, 0xfd, 0x4b, 0x80);
EXTERN_GUID( MF_TOPOLOGY_NO_MARKIN_MARKOUT, 0x7ed3f804, 0x86bb, 0x4b3f, 0xb7, 0x e4, 0x7c, 0xb4, 0x3a, 0xfd, 0x4b, 0x80); EXTERN_GUID( MF_TOPOLOGY_NO_MARKIN_MARKOUT, 0x7ed3f804, 0x86bb, 0x4b3f, 0xb7, 0x e4, 0x7c, 0xb4, 0x3a, 0xfd, 0x4b, 0x80);
#if (WINVER >= _WIN32_WINNT_WIN7) #if (WINVER >= _WIN32_WINNT_WIN7)
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
typedef typedef
enum MFTOPOLOGY_DXVA_MODE enum MFTOPOLOGY_DXVA_MODE
{ MFTOPOLOGY_DXVA_DEFAULT = 0, {
MFTOPOLOGY_DXVA_NONE = 1, MFTOPOLOGY_DXVA_DEFAULT = 0,
MFTOPOLOGY_DXVA_FULL = 2 MFTOPOLOGY_DXVA_NONE = 1,
MFTOPOLOGY_DXVA_FULL = 2
} MFTOPOLOGY_DXVA_MODE; } MFTOPOLOGY_DXVA_MODE;
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
EXTERN_GUID(MF_TOPOLOGY_DXVA_MODE, 0x1e8d34f6, 0xf5ab, 0x4e23, 0xbb, 0x88, 0x87, 0x4a, 0xa3, 0xa1, 0xa7, 0x4d); EXTERN_GUID(MF_TOPOLOGY_DXVA_MODE, 0x1e8d34f6, 0xf5ab, 0x4e23, 0xbb, 0x88, 0x87, 0x4a, 0xa3, 0xa1, 0xa7, 0x4d);
EXTERN_GUID(MF_TOPOLOGY_ENABLE_XVP_FOR_PLAYBACK, 0x1967731f, 0xcd78, 0x42fc, 0xb 0, 0x26, 0x9, 0x92, 0xa5, 0x6e, 0x56, 0x93);
EXTERN_GUID(MF_TOPOLOGY_STATIC_PLAYBACK_OPTIMIZATIONS, 0xb86cac42, 0x41a6, 0x4b7 9, 0x89, 0x7a, 0x1a, 0xb0, 0xe5, 0x2b, 0x4a, 0x1b); EXTERN_GUID(MF_TOPOLOGY_STATIC_PLAYBACK_OPTIMIZATIONS, 0xb86cac42, 0x41a6, 0x4b7 9, 0x89, 0x7a, 0x1a, 0xb0, 0xe5, 0x2b, 0x4a, 0x1b);
EXTERN_GUID(MF_TOPOLOGY_PLAYBACK_MAX_DIMS, 0x5715cf19, 0x5768, 0x44aa, 0xad, 0x 6e, 0x87, 0x21, 0xf1, 0xb0, 0xf9, 0xbb); EXTERN_GUID(MF_TOPOLOGY_PLAYBACK_MAX_DIMS, 0x5715cf19, 0x5768, 0x44aa, 0xad, 0x 6e, 0x87, 0x21, 0xf1, 0xb0, 0xf9, 0xbb);
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
typedef typedef
enum MFTOPOLOGY_HARDWARE_MODE enum MFTOPOLOGY_HARDWARE_MODE
{ MFTOPOLOGY_HWMODE_SOFTWARE_ONLY = 0, {
MFTOPOLOGY_HWMODE_USE_HARDWARE = 1 MFTOPOLOGY_HWMODE_SOFTWARE_ONLY = 0,
MFTOPOLOGY_HWMODE_USE_HARDWARE = 1,
MFTOPOLOGY_HWMODE_USE_ONLY_HARDWARE = 2
} MFTOPOLOGY_HARDWARE_MODE; } MFTOPOLOGY_HARDWARE_MODE;
EXTERN_GUID(MF_TOPOLOGY_HARDWARE_MODE, 0xd2d362fd, 0x4e4f, 0x4191, 0xa5, 0x79, 0 xc6, 0x18, 0xb6, 0x67, 0x6, 0xaf); EXTERN_GUID(MF_TOPOLOGY_HARDWARE_MODE, 0xd2d362fd, 0x4e4f, 0x4191, 0xa5, 0x79, 0 xc6, 0x18, 0xb6, 0x67, 0x6, 0xaf);
EXTERN_GUID(MF_TOPOLOGY_PLAYBACK_FRAMERATE, 0xc164737a, 0xc2b1, 0x4553, 0x83, 0x bb, 0x5a, 0x52, 0x60, 0x72, 0x44, 0x8f); EXTERN_GUID(MF_TOPOLOGY_PLAYBACK_FRAMERATE, 0xc164737a, 0xc2b1, 0x4553, 0x83, 0x bb, 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_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_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); EXTERN_GUID( MF_TOPOLOGY_START_TIME_ON_PRESENTATION_SWITCH, 0xc8cc113f, 0x7951, 0x4548, 0xaa, 0xd6, 0x9e, 0xd6, 0x20, 0x2e, 0x62, 0xb3);
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#endif // (WINVER >= _WIN32_WINNT_WIN7) #endif // (WINVER >= _WIN32_WINNT_WIN7)
#if (WINVER >= _WIN32_WINNT_WIN8)
EXTERN_GUID( MF_DISABLE_LOCALLY_REGISTERED_PLUGINS, 0x66b16da9, 0xadd4, 0x47e0,
0xa1, 0x6b, 0x5a, 0xf1, 0xfb, 0x48, 0x36, 0x34);
EXTERN_GUID( MF_LOCAL_PLUGIN_CONTROL_POLICY, 0xd91b0085, 0xc86d, 0x4f81, 0x88, 0
x22, 0x8c, 0x68, 0xe1, 0xd7, 0xfa, 0x04);
#endif // (WINVER >= _WIN32_WINNT_WIN8)
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
STDAPI MFCreateTopology( STDAPI MFCreateTopology(
__out IMFTopology ** ppTopo ); _Outptr_ IMFTopology ** ppTopo );
typedef typedef
enum MF_TOPOLOGY_TYPE enum MF_TOPOLOGY_TYPE
{ MF_TOPOLOGY_OUTPUT_NODE = 0, {
MF_TOPOLOGY_SOURCESTREAM_NODE = ( MF_TOPOLOGY_OUTPUT_NODE + 1 ) , MF_TOPOLOGY_OUTPUT_NODE = 0,
MF_TOPOLOGY_TRANSFORM_NODE = ( MF_TOPOLOGY_SOURCESTREAM_NODE + 1 ) , MF_TOPOLOGY_SOURCESTREAM_NODE = ( MF_TOPOLOGY_OUTPUT_NODE + 1 ) ,
MF_TOPOLOGY_TEE_NODE = ( MF_TOPOLOGY_TRANSFORM_NODE + 1 ) , MF_TOPOLOGY_TRANSFORM_NODE = ( MF_TOPOLOGY_SOURCESTREAM_NODE + 1 ) ,
MF_TOPOLOGY_MAX = 0xffffffff MF_TOPOLOGY_TEE_NODE = ( MF_TOPOLOGY_TRANSFORM_NODE + 1 ) ,
MF_TOPOLOGY_MAX = 0xffffffff
} MF_TOPOLOGY_TYPE; } MF_TOPOLOGY_TYPE;
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0010_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0014_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0010_v0_0_s_ifspec; extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0014_v0_0_s_ifspec;
#ifndef __IMFTopologyNode_INTERFACE_DEFINED__ #ifndef __IMFTopologyNode_INTERFACE_DEFINED__
#define __IMFTopologyNode_INTERFACE_DEFINED__ #define __IMFTopologyNode_INTERFACE_DEFINED__
/* interface IMFTopologyNode */ /* interface IMFTopologyNode */
/* [uuid][object] */ /* [uuid][object] */
EXTERN_C const IID IID_IMFTopologyNode; EXTERN_C const IID IID_IMFTopologyNode;
#if defined(__cplusplus) && !defined(CINTERFACE) #if defined(__cplusplus) && !defined(CINTERFACE)
skipping to change at line 2415 skipping to change at line 3238
/* [out] */ __RPC__deref_out_opt IMFTopologyNode **ppDownstreamNode, /* [out] */ __RPC__deref_out_opt IMFTopologyNode **ppDownstreamNode,
/* [out] */ __RPC__out DWORD *pdwInputIndexOnDownstreamNode) = 0; /* [out] */ __RPC__out DWORD *pdwInputIndexOnDownstreamNode) = 0;
virtual /* [local] */ HRESULT STDMETHODCALLTYPE SetOutputPrefType( virtual /* [local] */ HRESULT STDMETHODCALLTYPE SetOutputPrefType(
/* [in] */ DWORD dwOutputIndex, /* [in] */ DWORD dwOutputIndex,
/* [in] */ IMFMediaType *pType) = 0; /* [in] */ IMFMediaType *pType) = 0;
virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetOutputPrefType( virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetOutputPrefType(
/* [in] */ DWORD dwOutputIndex, /* [in] */ DWORD dwOutputIndex,
/* [annotation][out] */ /* [annotation][out] */
__out IMFMediaType **ppType) = 0; _Outptr_ IMFMediaType **ppType) = 0;
virtual /* [local] */ HRESULT STDMETHODCALLTYPE SetInputPrefType( virtual /* [local] */ HRESULT STDMETHODCALLTYPE SetInputPrefType(
/* [in] */ DWORD dwInputIndex, /* [in] */ DWORD dwInputIndex,
/* [in] */ IMFMediaType *pType) = 0; /* [in] */ IMFMediaType *pType) = 0;
virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetInputPrefType( virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetInputPrefType(
/* [in] */ DWORD dwInputIndex, /* [in] */ DWORD dwInputIndex,
/* [annotation][out] */ /* [annotation][out] */
__out IMFMediaType **ppType) = 0; _Outptr_ IMFMediaType **ppType) = 0;
virtual HRESULT STDMETHODCALLTYPE CloneFrom( virtual HRESULT STDMETHODCALLTYPE CloneFrom(
/* [in] */ __RPC__in_opt IMFTopologyNode *pNode) = 0; /* [in] */ __RPC__in_opt IMFTopologyNode *pNode) = 0;
}; };
#else /* C style interface */ #else /* C style interface */
typedef struct IMFTopologyNodeVtbl typedef struct IMFTopologyNodeVtbl
{ {
BEGIN_INTERFACE BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )( HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
__RPC__in IMFTopologyNode * This, __RPC__in IMFTopologyNode * This,
/* [in] */ __RPC__in REFIID riid, /* [in] */ __RPC__in REFIID riid,
/* [annotation][iid_is][out] */ /* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject); _COM_Outptr_ void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )( ULONG ( STDMETHODCALLTYPE *AddRef )(
__RPC__in IMFTopologyNode * This); __RPC__in IMFTopologyNode * This);
ULONG ( STDMETHODCALLTYPE *Release )( ULONG ( STDMETHODCALLTYPE *Release )(
__RPC__in IMFTopologyNode * This); __RPC__in IMFTopologyNode * This);
HRESULT ( STDMETHODCALLTYPE *GetItem )( HRESULT ( STDMETHODCALLTYPE *GetItem )(
__RPC__in IMFTopologyNode * This, __RPC__in IMFTopologyNode * This,
__RPC__in REFGUID guidKey, __RPC__in REFGUID guidKey,
skipping to change at line 2660 skipping to change at line 3483
/* [local] */ HRESULT ( STDMETHODCALLTYPE *SetOutputPrefType )( /* [local] */ HRESULT ( STDMETHODCALLTYPE *SetOutputPrefType )(
IMFTopologyNode * This, IMFTopologyNode * This,
/* [in] */ DWORD dwOutputIndex, /* [in] */ DWORD dwOutputIndex,
/* [in] */ IMFMediaType *pType); /* [in] */ IMFMediaType *pType);
/* [local] */ HRESULT ( STDMETHODCALLTYPE *GetOutputPrefType )( /* [local] */ HRESULT ( STDMETHODCALLTYPE *GetOutputPrefType )(
IMFTopologyNode * This, IMFTopologyNode * This,
/* [in] */ DWORD dwOutputIndex, /* [in] */ DWORD dwOutputIndex,
/* [annotation][out] */ /* [annotation][out] */
__out IMFMediaType **ppType); _Outptr_ IMFMediaType **ppType);
/* [local] */ HRESULT ( STDMETHODCALLTYPE *SetInputPrefType )( /* [local] */ HRESULT ( STDMETHODCALLTYPE *SetInputPrefType )(
IMFTopologyNode * This, IMFTopologyNode * This,
/* [in] */ DWORD dwInputIndex, /* [in] */ DWORD dwInputIndex,
/* [in] */ IMFMediaType *pType); /* [in] */ IMFMediaType *pType);
/* [local] */ HRESULT ( STDMETHODCALLTYPE *GetInputPrefType )( /* [local] */ HRESULT ( STDMETHODCALLTYPE *GetInputPrefType )(
IMFTopologyNode * This, IMFTopologyNode * This,
/* [in] */ DWORD dwInputIndex, /* [in] */ DWORD dwInputIndex,
/* [annotation][out] */ /* [annotation][out] */
__out IMFMediaType **ppType); _Outptr_ IMFMediaType **ppType);
HRESULT ( STDMETHODCALLTYPE *CloneFrom )( HRESULT ( STDMETHODCALLTYPE *CloneFrom )(
__RPC__in IMFTopologyNode * This, __RPC__in IMFTopologyNode * This,
/* [in] */ __RPC__in_opt IMFTopologyNode *pNode); /* [in] */ __RPC__in_opt IMFTopologyNode *pNode);
END_INTERFACE END_INTERFACE
} IMFTopologyNodeVtbl; } IMFTopologyNodeVtbl;
interface IMFTopologyNode interface IMFTopologyNode
{ {
skipping to change at line 2864 skipping to change at line 3687
/* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pcbData) BYT E **ppbData); /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pcbData) BYT E **ppbData);
void __RPC_STUB IMFTopologyNode_RemoteGetInputPrefType_Stub( void __RPC_STUB IMFTopologyNode_RemoteGetInputPrefType_Stub(
IRpcStubBuffer *This, IRpcStubBuffer *This,
IRpcChannelBuffer *_pRpcChannelBuffer, IRpcChannelBuffer *_pRpcChannelBuffer,
PRPC_MESSAGE _pRpcMessage, PRPC_MESSAGE _pRpcMessage,
DWORD *_pdwStubPhase); DWORD *_pdwStubPhase);
#endif /* __IMFTopologyNode_INTERFACE_DEFINED__ */ #endif /* __IMFTopologyNode_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_mfidl_0000_0011 */ /* interface __MIDL_itf_mfidl_0000_0015 */
/* [local] */ /* [local] */
typedef typedef
enum _MF_TOPONODE_FLUSH_MODE enum _MF_TOPONODE_FLUSH_MODE
{ MF_TOPONODE_FLUSH_ALWAYS = 0, {
MF_TOPONODE_FLUSH_SEEK = ( MF_TOPONODE_FLUSH_ALWAYS + 1 ) , MF_TOPONODE_FLUSH_ALWAYS = 0,
MF_TOPONODE_FLUSH_NEVER = ( MF_TOPONODE_FLUSH_SEEK + 1 ) MF_TOPONODE_FLUSH_SEEK = ( MF_TOPONODE_FLUSH_ALWAYS + 1 ) ,
MF_TOPONODE_FLUSH_NEVER = ( MF_TOPONODE_FLUSH_SEEK + 1 )
} MF_TOPONODE_FLUSH_MODE; } MF_TOPONODE_FLUSH_MODE;
EXTERN_GUID( MF_TOPONODE_FLUSH, 0x494bbce8, 0xb031, 0x4e38, 0x97, 0xc4, 0xd5, 0x42, 0x2d, 0xd6, 0x18, 0xdc); EXTERN_GUID( MF_TOPONODE_FLUSH, 0x494bbce8, 0xb031, 0x4e38, 0x97, 0xc4, 0xd5, 0x42, 0x2d, 0xd6, 0x18, 0xdc);
typedef typedef
enum _MF_TOPONODE_DRAIN_MODE enum _MF_TOPONODE_DRAIN_MODE
{ MF_TOPONODE_DRAIN_DEFAULT = 0, {
MF_TOPONODE_DRAIN_ALWAYS = ( MF_TOPONODE_DRAIN_DEFAULT + 1 ) , MF_TOPONODE_DRAIN_DEFAULT = 0,
MF_TOPONODE_DRAIN_NEVER = ( MF_TOPONODE_DRAIN_ALWAYS + 1 ) MF_TOPONODE_DRAIN_ALWAYS = ( MF_TOPONODE_DRAIN_DEFAULT + 1 ) ,
MF_TOPONODE_DRAIN_NEVER = ( MF_TOPONODE_DRAIN_ALWAYS + 1 )
} MF_TOPONODE_DRAIN_MODE; } MF_TOPONODE_DRAIN_MODE;
EXTERN_GUID( MF_TOPONODE_DRAIN, 0x494bbce9, 0xb031, 0x4e38, 0x97, 0xc4, 0xd5, 0x42, 0x2d, 0xd6, 0x18, 0xdc); 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, 0xd 5, 0x42, 0x2d, 0xd6, 0x18, 0xdc); EXTERN_GUID( MF_TOPONODE_D3DAWARE, 0x494bbced, 0xb031, 0x4e38, 0x97, 0xc4, 0xd 5, 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_TOPOLOGY_RESOLUTION_STATUS, 0x494bbcde, 0xb031, 0x4e38, 0x97, 0xc4, 0xd5, 0x42, 0x2d, 0xd6, 0x18, 0xdc);
EXTERN_GUID( MF_TOPONODE_ERRORCODE, 0x494bbcee, 0xb031, 0x4e38, 0x97, 0xc4, 0x d5, 0x42, 0x2d, 0xd6, 0x18, 0xdc); EXTERN_GUID( MF_TOPONODE_ERRORCODE, 0x494bbcee, 0xb031, 0x4e38, 0x97, 0xc4, 0x d5, 0x42, 0x2d, 0xd6, 0x18, 0xdc);
EXTERN_GUID( MF_TOPONODE_CONNECT_METHOD, 0x494bbcf1, 0xb031, 0x4e38, 0x97, 0xc 4, 0xd5, 0x42, 0x2d, 0xd6, 0x18, 0xdc); EXTERN_GUID( MF_TOPONODE_CONNECT_METHOD, 0x494bbcf1, 0xb031, 0x4e38, 0x97, 0xc 4, 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_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_ID, 0x494bbcf8, 0xb031, 0x4e38, 0x97, 0xc4, 0xd5, 0x42, 0x2d, 0xd6, 0x18, 0xdc);
EXTERN_GUID( MF_TOPONODE_WORKQUEUE_MMCSS_CLASS, 0x494bbcf9, 0xb031, 0x4e38, 0x 97, 0xc4, 0xd5, 0x42, 0x2d, 0xd6, 0x18, 0xdc); EXTERN_GUID( MF_TOPONODE_WORKQUEUE_MMCSS_CLASS, 0x494bbcf9, 0xb031, 0x4e38, 0x 97, 0xc4, 0xd5, 0x42, 0x2d, 0xd6, 0x18, 0xdc);
EXTERN_GUID( MF_TOPONODE_DECRYPTOR, 0x494bbcfa, 0xb031, 0x4e38, 0x97, 0xc4, 0x d5, 0x42, 0x2d, 0xd6, 0x18, 0xdc); EXTERN_GUID( MF_TOPONODE_DECRYPTOR, 0x494bbcfa, 0xb031, 0x4e38, 0x97, 0xc4, 0x d5, 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_DISCARDABLE, 0x494bbcfb, 0xb031, 0x4e38, 0x97, 0xc4, 0xd5, 0x42, 0x2d, 0xd6, 0x18, 0xdc);
EXTERN_GUID( MF_TOPONODE_ERROR_MAJORTYPE, 0x494bbcfd, 0xb031, 0x4e38, 0x97, 0x c4, 0xd5, 0x42, 0x2d, 0xd6, 0x18, 0xdc); EXTERN_GUID( MF_TOPONODE_ERROR_MAJORTYPE, 0x494bbcfd, 0xb031, 0x4e38, 0x97, 0x c4, 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_ERROR_SUBTYPE, 0x494bbcfe, 0xb031, 0x4e38, 0x97, 0xc4 , 0xd5, 0x42, 0x2d, 0xd6, 0x18, 0xdc);
EXTERN_GUID( MF_TOPONODE_WORKQUEUE_MMCSS_TASKID, 0x494bbcff, 0xb031, 0x4e38, 0 x97, 0xc4, 0xd5, 0x42, 0x2d, 0xd6, 0x18, 0xdc); EXTERN_GUID( MF_TOPONODE_WORKQUEUE_MMCSS_TASKID, 0x494bbcff, 0xb031, 0x4e38, 0 x97, 0xc4, 0xd5, 0x42, 0x2d, 0xd6, 0x18, 0xdc);
EXTERN_GUID( MF_TOPONODE_WORKQUEUE_MMCSS_PRIORITY, 0x5001f840, 0x2816, 0x48f4, 0
x93, 0x64, 0xad, 0x1e, 0xf6, 0x61, 0xa1, 0x23);
EXTERN_GUID( MF_TOPONODE_WORKQUEUE_ITEM_PRIORITY, 0xa1ff99be, 0x5e97, 0x4a53, 0x
b4, 0x94, 0x56, 0x8c, 0x64, 0x2c, 0x0f, 0xf3);
EXTERN_GUID( MF_TOPONODE_MARKIN_HERE, 0x494bbd00, 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_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_DECODER, 0x494bbd02, 0xb031, 0x4e38, 0x97, 0xc4, 0xd5 , 0x42, 0x2d, 0xd6, 0x18, 0xdc);
EXTERN_GUID( MF_TOPONODE_MEDIASTART, 0x835c58ea, 0xe075, 0x4bc7, 0xbc, 0xba, 0x4 d, 0xe0, 0x00, 0xdf, 0x9a, 0xe6); EXTERN_GUID( MF_TOPONODE_MEDIASTART, 0x835c58ea, 0xe075, 0x4bc7, 0xbc, 0xba, 0x4 d, 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_MEDIASTOP, 0x835c58eb, 0xe075, 0x4bc7, 0xbc, 0xba, 0x4d , 0xe0, 0x00, 0xdf, 0x9a, 0xe6);
EXTERN_GUID( MF_TOPONODE_SOURCE, 0x835c58ec, 0xe075, 0x4bc7, 0xbc, 0xba, 0x4d, 0 xe0, 0x00, 0xdf, 0x9a, 0xe6); EXTERN_GUID( MF_TOPONODE_SOURCE, 0x835c58ec, 0xe075, 0x4bc7, 0xbc, 0xba, 0x4d, 0 xe0, 0x00, 0xdf, 0x9a, 0xe6);
EXTERN_GUID( MF_TOPONODE_PRESENTATION_DESCRIPTOR, 0x835c58ed, 0xe075, 0x4bc7, 0x bc, 0xba, 0x4d, 0xe0, 0x00, 0xdf, 0x9a, 0xe6); EXTERN_GUID( MF_TOPONODE_PRESENTATION_DESCRIPTOR, 0x835c58ed, 0xe075, 0x4bc7, 0x bc, 0xba, 0x4d, 0xe0, 0x00, 0xdf, 0x9a, 0xe6);
EXTERN_GUID( MF_TOPONODE_STREAM_DESCRIPTOR, 0x835c58ee, 0xe075, 0x4bc7, 0xbc, 0x ba, 0x4d, 0xe0, 0x00, 0xdf, 0x9a, 0xe6); EXTERN_GUID( MF_TOPONODE_STREAM_DESCRIPTOR, 0x835c58ee, 0xe075, 0x4bc7, 0xbc, 0x ba, 0x4d, 0xe0, 0x00, 0xdf, 0x9a, 0xe6);
EXTERN_GUID( MF_TOPONODE_SEQUENCE_ELEMENTID, 0x835c58ef, 0xe075, 0x4bc7, 0xbc, 0 xba, 0x4d, 0xe0, 0x00, 0xdf, 0x9a, 0xe6); EXTERN_GUID( MF_TOPONODE_SEQUENCE_ELEMENTID, 0x835c58ef, 0xe075, 0x4bc7, 0xbc, 0 xba, 0x4d, 0xe0, 0x00, 0xdf, 0x9a, 0xe6);
EXTERN_GUID( MF_TOPONODE_TRANSFORM_OBJECTID, 0x88dcc0c9, 0x293e, 0x4e8b, 0x9a, 0 xeb, 0xa, 0xd6, 0x4c, 0xc0, 0x16, 0xb0); EXTERN_GUID( MF_TOPONODE_TRANSFORM_OBJECTID, 0x88dcc0c9, 0x293e, 0x4e8b, 0x9a, 0 xeb, 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_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_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_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_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); EXTERN_GUID( MF_TOPONODE_PRIMARYOUTPUT, 0x6304ef99, 0x16b2, 0x4ebe, 0x9d, 0x67, 0xe4, 0xc5, 0x39, 0xb3, 0xa2, 0x59);
STDAPI MFCreateTopologyNode( STDAPI MFCreateTopologyNode(
MF_TOPOLOGY_TYPE NodeType, MF_TOPOLOGY_TYPE NodeType,
__out IMFTopologyNode ** ppNode ); _Outptr_ IMFTopologyNode ** ppNode );
#if (WINVER >= _WIN32_WINNT_WIN7) #if (WINVER >= _WIN32_WINNT_WIN7)
STDAPI MFGetTopoNodeCurrentType( STDAPI MFGetTopoNodeCurrentType(
IMFTopologyNode* pNode, IMFTopologyNode* pNode,
DWORD dwStreamIndex, DWORD dwStreamIndex,
BOOL fOutput, BOOL fOutput,
__deref_out IMFMediaType** ppType); _Outptr_ IMFMediaType** ppType);
#endif // (WINVER >= _WIN32_WINNT_WIN7) #endif // (WINVER >= _WIN32_WINNT_WIN7)
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0011_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0015_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0011_v0_0_s_ifspec; extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0015_v0_0_s_ifspec;
#ifndef __IMFGetService_INTERFACE_DEFINED__ #ifndef __IMFGetService_INTERFACE_DEFINED__
#define __IMFGetService_INTERFACE_DEFINED__ #define __IMFGetService_INTERFACE_DEFINED__
/* interface IMFGetService */ /* interface IMFGetService */
/* [uuid][object] */ /* [uuid][object] */
EXTERN_C const IID IID_IMFGetService; EXTERN_C const IID IID_IMFGetService;
#if defined(__cplusplus) && !defined(CINTERFACE) #if defined(__cplusplus) && !defined(CINTERFACE)
skipping to change at line 2955 skipping to change at line 3786
#else /* C style interface */ #else /* C style interface */
typedef struct IMFGetServiceVtbl typedef struct IMFGetServiceVtbl
{ {
BEGIN_INTERFACE BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )( HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
__RPC__in IMFGetService * This, __RPC__in IMFGetService * This,
/* [in] */ __RPC__in REFIID riid, /* [in] */ __RPC__in REFIID riid,
/* [annotation][iid_is][out] */ /* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject); _COM_Outptr_ void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )( ULONG ( STDMETHODCALLTYPE *AddRef )(
__RPC__in IMFGetService * This); __RPC__in IMFGetService * This);
ULONG ( STDMETHODCALLTYPE *Release )( ULONG ( STDMETHODCALLTYPE *Release )(
__RPC__in IMFGetService * This); __RPC__in IMFGetService * This);
HRESULT ( STDMETHODCALLTYPE *GetService )( HRESULT ( STDMETHODCALLTYPE *GetService )(
__RPC__in IMFGetService * This, __RPC__in IMFGetService * This,
/* [in] */ __RPC__in REFGUID guidService, /* [in] */ __RPC__in REFGUID guidService,
skipping to change at line 2997 skipping to change at line 3828
#define IMFGetService_GetService(This,guidService,riid,ppvObject) \ #define IMFGetService_GetService(This,guidService,riid,ppvObject) \
( (This)->lpVtbl -> GetService(This,guidService,riid,ppvObject) ) ( (This)->lpVtbl -> GetService(This,guidService,riid,ppvObject) )
#endif /* COBJMACROS */ #endif /* COBJMACROS */
#endif /* C style interface */ #endif /* C style interface */
#endif /* __IMFGetService_INTERFACE_DEFINED__ */ #endif /* __IMFGetService_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_mfidl_0000_0012 */ /* interface __MIDL_itf_mfidl_0000_0016 */
/* [local] */ /* [local] */
STDAPI MFGetService( STDAPI MFGetService(
IUnknown* punkObject, IUnknown* punkObject,
REFGUID guidService, REFGUID guidService,
REFIID riid, REFIID riid,
__out LPVOID* ppvObject _Outptr_ LPVOID* ppvObject
); );
typedef LONGLONG MFTIME; typedef LONGLONG MFTIME;
typedef typedef
enum _MFCLOCK_CHARACTERISTICS_FLAGS enum _MFCLOCK_CHARACTERISTICS_FLAGS
{ MFCLOCK_CHARACTERISTICS_FLAG_FREQUENCY_10MHZ = 0x2, {
MFCLOCK_CHARACTERISTICS_FLAG_ALWAYS_RUNNING = 0x4, MFCLOCK_CHARACTERISTICS_FLAG_FREQUENCY_10MHZ = 0x2,
MFCLOCK_CHARACTERISTICS_FLAG_IS_SYSTEM_CLOCK = 0x8 MFCLOCK_CHARACTERISTICS_FLAG_ALWAYS_RUNNING = 0x4,
MFCLOCK_CHARACTERISTICS_FLAG_IS_SYSTEM_CLOCK = 0x8
} MFCLOCK_CHARACTERISTICS_FLAGS; } MFCLOCK_CHARACTERISTICS_FLAGS;
typedef typedef
enum _MFCLOCK_STATE enum _MFCLOCK_STATE
{ MFCLOCK_STATE_INVALID = 0, {
MFCLOCK_STATE_RUNNING = ( MFCLOCK_STATE_INVALID + 1 ) , MFCLOCK_STATE_INVALID = 0,
MFCLOCK_STATE_STOPPED = ( MFCLOCK_STATE_RUNNING + 1 ) , MFCLOCK_STATE_RUNNING = ( MFCLOCK_STATE_INVALID + 1 ) ,
MFCLOCK_STATE_PAUSED = ( MFCLOCK_STATE_STOPPED + 1 ) MFCLOCK_STATE_STOPPED = ( MFCLOCK_STATE_RUNNING + 1 ) ,
MFCLOCK_STATE_PAUSED = ( MFCLOCK_STATE_STOPPED + 1 )
} MFCLOCK_STATE; } MFCLOCK_STATE;
typedef typedef
enum _MFCLOCK_RELATIONAL_FLAGS enum _MFCLOCK_RELATIONAL_FLAGS
{ MFCLOCK_RELATIONAL_FLAG_JITTER_NEVER_AHEAD = 0x1 {
MFCLOCK_RELATIONAL_FLAG_JITTER_NEVER_AHEAD = 0x1
} MFCLOCK_RELATIONAL_FLAGS; } MFCLOCK_RELATIONAL_FLAGS;
#if defined(_MSC_VER) && (_MSC_VER >= 1600)
#pragma warning(push)
#pragma warning(disable:4820) // Disable C4820: padding after data member
#endif
typedef struct _MFCLOCK_PROPERTIES typedef struct _MFCLOCK_PROPERTIES
{ {
unsigned __int64 qwCorrelationRate; unsigned __int64 qwCorrelationRate;
GUID guidClockId; GUID guidClockId;
DWORD dwClockFlags; DWORD dwClockFlags;
unsigned __int64 qwClockFrequency; unsigned __int64 qwClockFrequency;
DWORD dwClockTolerance; DWORD dwClockTolerance;
DWORD dwClockJitter; DWORD dwClockJitter;
} MFCLOCK_PROPERTIES; } MFCLOCK_PROPERTIES;
#if defined(_MSC_VER) && (_MSC_VER >= 1600)
#pragma warning(pop)
#endif
#define MFCLOCK_FREQUENCY_HNS 10000000 #define MFCLOCK_FREQUENCY_HNS 10000000
#define MFCLOCK_TOLERANCE_UNKNOWN 50000 #define MFCLOCK_TOLERANCE_UNKNOWN 50000
#define MFCLOCK_JITTER_ISR 1000 #define MFCLOCK_JITTER_ISR 1000
#define MFCLOCK_JITTER_DPC 4000 #define MFCLOCK_JITTER_DPC 4000
#define MFCLOCK_JITTER_PASSIVE 10000 #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_0016_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0012_v0_0_s_ifspec; extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0016_v0_0_s_ifspec;
#ifndef __IMFClock_INTERFACE_DEFINED__ #ifndef __IMFClock_INTERFACE_DEFINED__
#define __IMFClock_INTERFACE_DEFINED__ #define __IMFClock_INTERFACE_DEFINED__
/* interface IMFClock */ /* interface IMFClock */
/* [uuid][object] */ /* [uuid][object] */
EXTERN_C const IID IID_IMFClock; EXTERN_C const IID IID_IMFClock;
#if defined(__cplusplus) && !defined(CINTERFACE) #if defined(__cplusplus) && !defined(CINTERFACE)
skipping to change at line 3091 skipping to change at line 3932
#else /* C style interface */ #else /* C style interface */
typedef struct IMFClockVtbl typedef struct IMFClockVtbl
{ {
BEGIN_INTERFACE BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )( HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
__RPC__in IMFClock * This, __RPC__in IMFClock * This,
/* [in] */ __RPC__in REFIID riid, /* [in] */ __RPC__in REFIID riid,
/* [annotation][iid_is][out] */ /* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject); _COM_Outptr_ void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )( ULONG ( STDMETHODCALLTYPE *AddRef )(
__RPC__in IMFClock * This); __RPC__in IMFClock * This);
ULONG ( STDMETHODCALLTYPE *Release )( ULONG ( STDMETHODCALLTYPE *Release )(
__RPC__in IMFClock * This); __RPC__in IMFClock * This);
HRESULT ( STDMETHODCALLTYPE *GetClockCharacteristics )( HRESULT ( STDMETHODCALLTYPE *GetClockCharacteristics )(
__RPC__in IMFClock * This, __RPC__in IMFClock * This,
/* [out] */ __RPC__out DWORD *pdwCharacteristics); /* [out] */ __RPC__out DWORD *pdwCharacteristics);
skipping to change at line 3162 skipping to change at line 4003
#define IMFClock_GetProperties(This,pClockProperties) \ #define IMFClock_GetProperties(This,pClockProperties) \
( (This)->lpVtbl -> GetProperties(This,pClockProperties) ) ( (This)->lpVtbl -> GetProperties(This,pClockProperties) )
#endif /* COBJMACROS */ #endif /* COBJMACROS */
#endif /* C style interface */ #endif /* C style interface */
#endif /* __IMFClock_INTERFACE_DEFINED__ */ #endif /* __IMFClock_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_mfidl_0000_0013 */ /* interface __MIDL_itf_mfidl_0000_0017 */
/* [local] */ /* [local] */
STDAPI_(MFTIME) STDAPI_(MFTIME)
MFGetSystemTime( MFGetSystemTime(
); );
#define PRESENTATION_CURRENT_POSITION 0x7fffffffffffffff #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_0017_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0013_v0_0_s_ifspec; extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0017_v0_0_s_ifspec;
#ifndef __IMFPresentationClock_INTERFACE_DEFINED__ #ifndef __IMFPresentationClock_INTERFACE_DEFINED__
#define __IMFPresentationClock_INTERFACE_DEFINED__ #define __IMFPresentationClock_INTERFACE_DEFINED__
/* interface IMFPresentationClock */ /* interface IMFPresentationClock */
/* [uuid][object] */ /* [uuid][object] */
EXTERN_C const IID IID_IMFPresentationClock; EXTERN_C const IID IID_IMFPresentationClock;
#if defined(__cplusplus) && !defined(CINTERFACE) #if defined(__cplusplus) && !defined(CINTERFACE)
skipping to change at line 3221 skipping to change at line 4062
#else /* C style interface */ #else /* C style interface */
typedef struct IMFPresentationClockVtbl typedef struct IMFPresentationClockVtbl
{ {
BEGIN_INTERFACE BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )( HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
__RPC__in IMFPresentationClock * This, __RPC__in IMFPresentationClock * This,
/* [in] */ __RPC__in REFIID riid, /* [in] */ __RPC__in REFIID riid,
/* [annotation][iid_is][out] */ /* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject); _COM_Outptr_ void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )( ULONG ( STDMETHODCALLTYPE *AddRef )(
__RPC__in IMFPresentationClock * This); __RPC__in IMFPresentationClock * This);
ULONG ( STDMETHODCALLTYPE *Release )( ULONG ( STDMETHODCALLTYPE *Release )(
__RPC__in IMFPresentationClock * This); __RPC__in IMFPresentationClock * This);
HRESULT ( STDMETHODCALLTYPE *GetClockCharacteristics )( HRESULT ( STDMETHODCALLTYPE *GetClockCharacteristics )(
__RPC__in IMFPresentationClock * This, __RPC__in IMFPresentationClock * This,
/* [out] */ __RPC__out DWORD *pdwCharacteristics); /* [out] */ __RPC__out DWORD *pdwCharacteristics);
skipping to change at line 3346 skipping to change at line 4187
#define IMFPresentationClock_Pause(This) \ #define IMFPresentationClock_Pause(This) \
( (This)->lpVtbl -> Pause(This) ) ( (This)->lpVtbl -> Pause(This) )
#endif /* COBJMACROS */ #endif /* COBJMACROS */
#endif /* C style interface */ #endif /* C style interface */
#endif /* __IMFPresentationClock_INTERFACE_DEFINED__ */ #endif /* __IMFPresentationClock_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_mfidl_0000_0014 */ /* interface __MIDL_itf_mfidl_0000_0018 */
/* [local] */ /* [local] */
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
#pragma endregion
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
STDAPI MFCreatePresentationClock( STDAPI MFCreatePresentationClock(
__out IMFPresentationClock** ppPresentationClock _Outptr_ IMFPresentationClock** ppPresentationClock
); );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0014_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0018_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0014_v0_0_s_ifspec; extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0018_v0_0_s_ifspec;
#ifndef __IMFPresentationTimeSource_INTERFACE_DEFINED__ #ifndef __IMFPresentationTimeSource_INTERFACE_DEFINED__
#define __IMFPresentationTimeSource_INTERFACE_DEFINED__ #define __IMFPresentationTimeSource_INTERFACE_DEFINED__
/* interface IMFPresentationTimeSource */ /* interface IMFPresentationTimeSource */
/* [uuid][object] */ /* [uuid][object] */
EXTERN_C const IID IID_IMFPresentationTimeSource; EXTERN_C const IID IID_IMFPresentationTimeSource;
#if defined(__cplusplus) && !defined(CINTERFACE) #if defined(__cplusplus) && !defined(CINTERFACE)
skipping to change at line 3385 skipping to change at line 4234
#else /* C style interface */ #else /* C style interface */
typedef struct IMFPresentationTimeSourceVtbl typedef struct IMFPresentationTimeSourceVtbl
{ {
BEGIN_INTERFACE BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )( HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
__RPC__in IMFPresentationTimeSource * This, __RPC__in IMFPresentationTimeSource * This,
/* [in] */ __RPC__in REFIID riid, /* [in] */ __RPC__in REFIID riid,
/* [annotation][iid_is][out] */ /* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject); _COM_Outptr_ void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )( ULONG ( STDMETHODCALLTYPE *AddRef )(
__RPC__in IMFPresentationTimeSource * This); __RPC__in IMFPresentationTimeSource * This);
ULONG ( STDMETHODCALLTYPE *Release )( ULONG ( STDMETHODCALLTYPE *Release )(
__RPC__in IMFPresentationTimeSource * This); __RPC__in IMFPresentationTimeSource * This);
HRESULT ( STDMETHODCALLTYPE *GetClockCharacteristics )( HRESULT ( STDMETHODCALLTYPE *GetClockCharacteristics )(
__RPC__in IMFPresentationTimeSource * This, __RPC__in IMFPresentationTimeSource * This,
/* [out] */ __RPC__out DWORD *pdwCharacteristics); /* [out] */ __RPC__out DWORD *pdwCharacteristics);
skipping to change at line 3463 skipping to change at line 4312
#define IMFPresentationTimeSource_GetUnderlyingClock(This,ppClock) \ #define IMFPresentationTimeSource_GetUnderlyingClock(This,ppClock) \
( (This)->lpVtbl -> GetUnderlyingClock(This,ppClock) ) ( (This)->lpVtbl -> GetUnderlyingClock(This,ppClock) )
#endif /* COBJMACROS */ #endif /* COBJMACROS */
#endif /* C style interface */ #endif /* C style interface */
#endif /* __IMFPresentationTimeSource_INTERFACE_DEFINED__ */ #endif /* __IMFPresentationTimeSource_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_mfidl_0000_0015 */ /* interface __MIDL_itf_mfidl_0000_0019 */
/* [local] */ /* [local] */
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
#pragma endregion
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
STDAPI STDAPI
MFCreateSystemTimeSource( MFCreateSystemTimeSource(
__out IMFPresentationTimeSource** ppSystemTimeSource _Outptr_ IMFPresentationTimeSource** ppSystemTimeSource
); );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0015_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0019_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0015_v0_0_s_ifspec; extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0019_v0_0_s_ifspec;
#ifndef __IMFClockStateSink_INTERFACE_DEFINED__ #ifndef __IMFClockStateSink_INTERFACE_DEFINED__
#define __IMFClockStateSink_INTERFACE_DEFINED__ #define __IMFClockStateSink_INTERFACE_DEFINED__
/* interface IMFClockStateSink */ /* interface IMFClockStateSink */
/* [uuid][object] */ /* [uuid][object] */
EXTERN_C const IID IID_IMFClockStateSink; EXTERN_C const IID IID_IMFClockStateSink;
#if defined(__cplusplus) && !defined(CINTERFACE) #if defined(__cplusplus) && !defined(CINTERFACE)
skipping to change at line 3517 skipping to change at line 4374
#else /* C style interface */ #else /* C style interface */
typedef struct IMFClockStateSinkVtbl typedef struct IMFClockStateSinkVtbl
{ {
BEGIN_INTERFACE BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )( HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
__RPC__in IMFClockStateSink * This, __RPC__in IMFClockStateSink * This,
/* [in] */ __RPC__in REFIID riid, /* [in] */ __RPC__in REFIID riid,
/* [annotation][iid_is][out] */ /* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject); _COM_Outptr_ void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )( ULONG ( STDMETHODCALLTYPE *AddRef )(
__RPC__in IMFClockStateSink * This); __RPC__in IMFClockStateSink * This);
ULONG ( STDMETHODCALLTYPE *Release )( ULONG ( STDMETHODCALLTYPE *Release )(
__RPC__in IMFClockStateSink * This); __RPC__in IMFClockStateSink * This);
HRESULT ( STDMETHODCALLTYPE *OnClockStart )( HRESULT ( STDMETHODCALLTYPE *OnClockStart )(
__RPC__in IMFClockStateSink * This, __RPC__in IMFClockStateSink * This,
/* [in] */ MFTIME hnsSystemTime, /* [in] */ MFTIME hnsSystemTime,
skipping to change at line 3587 skipping to change at line 4444
#define IMFClockStateSink_OnClockSetRate(This,hnsSystemTime,flRate) \ #define IMFClockStateSink_OnClockSetRate(This,hnsSystemTime,flRate) \
( (This)->lpVtbl -> OnClockSetRate(This,hnsSystemTime,flRate) ) ( (This)->lpVtbl -> OnClockSetRate(This,hnsSystemTime,flRate) )
#endif /* COBJMACROS */ #endif /* COBJMACROS */
#endif /* C style interface */ #endif /* C style interface */
#endif /* __IMFClockStateSink_INTERFACE_DEFINED__ */ #endif /* __IMFClockStateSink_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_mfidl_0000_0016 */ /* interface __MIDL_itf_mfidl_0000_0020 */
/* [local] */ /* [local] */
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
#pragma endregion
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
EXTERN_GUID( MF_PD_PMPHOST_CONTEXT, 0x6c990d31, 0xbb8e, 0x477a, 0x85, 0x98, 0xd, 0x5d, 0x96, 0xfc, 0xd8, 0x8a ); 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, 0x5 d, 0x96, 0xfc, 0xd8, 0x8a ); EXTERN_GUID( MF_PD_APP_CONTEXT, 0x6c990d32, 0xbb8e, 0x477a, 0x85, 0x98, 0xd, 0x5 d, 0x96, 0xfc, 0xd8, 0x8a );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
EXTERN_GUID( MF_PD_DURATION, 0x6c990d33, 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_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, 0x9 8, 0xd, 0x5d, 0x96, 0xfc, 0xd8, 0x8a ); EXTERN_GUID( MF_PD_AUDIO_ENCODING_BITRATE, 0x6c990d35, 0xbb8e, 0x477a, 0x85, 0x9 8, 0xd, 0x5d, 0x96, 0xfc, 0xd8, 0x8a );
EXTERN_GUID( MF_PD_VIDEO_ENCODING_BITRATE, 0x6c990d36, 0xbb8e, 0x477a, 0x85, 0x9 8, 0xd, 0x5d, 0x96, 0xfc, 0xd8, 0x8a ); EXTERN_GUID( MF_PD_VIDEO_ENCODING_BITRATE, 0x6c990d36, 0xbb8e, 0x477a, 0x85, 0x9 8, 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_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, 0x d, 0x5d, 0x96, 0xfc, 0xd8, 0x8a ); EXTERN_GUID(MF_PD_LAST_MODIFIED_TIME, 0x6c990d38, 0xbb8e, 0x477a, 0x85, 0x98, 0x d, 0x5d, 0x96, 0xfc, 0xd8, 0x8a );
#if (WINVER >= _WIN32_WINNT_WIN7) #if (WINVER >= _WIN32_WINNT_WIN7)
EXTERN_GUID(MF_PD_PLAYBACK_ELEMENT_ID, 0x6c990d39, 0xbb8e, 0x477a, 0x85, 0x98, 0 xd, 0x5d, 0x96, 0xfc, 0xd8, 0x8a ); EXTERN_GUID(MF_PD_PLAYBACK_ELEMENT_ID, 0x6c990d39, 0xbb8e, 0x477a, 0x85, 0x98, 0 xd, 0x5d, 0x96, 0xfc, 0xd8, 0x8a );
EXTERN_GUID( MF_PD_PREFERRED_LANGUAGE, 0x6c990d3A, 0xbb8e, 0x477a, 0x85, 0x98, 0 xd, 0x5d, 0x96, 0xfc, 0xd8, 0x8a ); EXTERN_GUID( MF_PD_PREFERRED_LANGUAGE, 0x6c990d3A, 0xbb8e, 0x477a, 0x85, 0x98, 0 xd, 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_PLAYBACK_BOUNDARY_TIME, 0x6c990d3b, 0xbb8e, 0x477a, 0x85, 0x98 , 0xd, 0x5d, 0x96, 0xfc, 0xd8, 0x8a );
EXTERN_GUID( MF_PD_AUDIO_ISVARIABLEBITRATE, 0x33026ee0, 0xe387, 0x4582, 0xae, 0x 0a, 0x34, 0xa2, 0xad, 0x3b, 0xaa, 0x18 ); EXTERN_GUID( MF_PD_AUDIO_ISVARIABLEBITRATE, 0x33026ee0, 0xe387, 0x4582, 0xae, 0x 0a, 0x34, 0xa2, 0xad, 0x3b, 0xaa, 0x18 );
#endif // (WINVER >= _WIN32_WINNT_WIN7) #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_0020_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0016_v0_0_s_ifspec; extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0020_v0_0_s_ifspec;
#ifndef __IMFPresentationDescriptor_INTERFACE_DEFINED__ #ifndef __IMFPresentationDescriptor_INTERFACE_DEFINED__
#define __IMFPresentationDescriptor_INTERFACE_DEFINED__ #define __IMFPresentationDescriptor_INTERFACE_DEFINED__
/* interface IMFPresentationDescriptor */ /* interface IMFPresentationDescriptor */
/* [uuid][object] */ /* [uuid][object] */
EXTERN_C const IID IID_IMFPresentationDescriptor; EXTERN_C const IID IID_IMFPresentationDescriptor;
#if defined(__cplusplus) && !defined(CINTERFACE) #if defined(__cplusplus) && !defined(CINTERFACE)
skipping to change at line 3651 skipping to change at line 4516
#else /* C style interface */ #else /* C style interface */
typedef struct IMFPresentationDescriptorVtbl typedef struct IMFPresentationDescriptorVtbl
{ {
BEGIN_INTERFACE BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )( HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
__RPC__in IMFPresentationDescriptor * This, __RPC__in IMFPresentationDescriptor * This,
/* [in] */ __RPC__in REFIID riid, /* [in] */ __RPC__in REFIID riid,
/* [annotation][iid_is][out] */ /* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject); _COM_Outptr_ void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )( ULONG ( STDMETHODCALLTYPE *AddRef )(
__RPC__in IMFPresentationDescriptor * This); __RPC__in IMFPresentationDescriptor * This);
ULONG ( STDMETHODCALLTYPE *Release )( ULONG ( STDMETHODCALLTYPE *Release )(
__RPC__in IMFPresentationDescriptor * This); __RPC__in IMFPresentationDescriptor * This);
HRESULT ( STDMETHODCALLTYPE *GetItem )( HRESULT ( STDMETHODCALLTYPE *GetItem )(
__RPC__in IMFPresentationDescriptor * This, __RPC__in IMFPresentationDescriptor * This,
__RPC__in REFGUID guidKey, __RPC__in REFGUID guidKey,
skipping to change at line 3963 skipping to change at line 4828
#define IMFPresentationDescriptor_Clone(This,ppPresentationDescriptor) \ #define IMFPresentationDescriptor_Clone(This,ppPresentationDescriptor) \
( (This)->lpVtbl -> Clone(This,ppPresentationDescriptor) ) ( (This)->lpVtbl -> Clone(This,ppPresentationDescriptor) )
#endif /* COBJMACROS */ #endif /* COBJMACROS */
#endif /* C style interface */ #endif /* C style interface */
#endif /* __IMFPresentationDescriptor_INTERFACE_DEFINED__ */ #endif /* __IMFPresentationDescriptor_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_mfidl_0000_0017 */ /* interface __MIDL_itf_mfidl_0000_0021 */
/* [local] */ /* [local] */
STDAPI MFCreatePresentationDescriptor( STDAPI MFCreatePresentationDescriptor(
DWORD cStreamDescriptors, DWORD cStreamDescriptors,
__in_ecount_opt( cStreamDescriptors ) IMFStreamDescriptor** apStreamDescript _In_reads_opt_( cStreamDescriptors ) IMFStreamDescriptor** apStreamDescripto
ors, rs,
__deref_out IMFPresentationDescriptor** ppPresentationDescriptor _Outptr_ IMFPresentationDescriptor** ppPresentationDescriptor
); );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
#pragma endregion
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
STDAPI MFRequireProtectedEnvironment( STDAPI MFRequireProtectedEnvironment(
__in IMFPresentationDescriptor* pPresentationDescriptor _In_ IMFPresentationDescriptor* pPresentationDescriptor
); );
STDAPI MFSerializePresentationDescriptor( STDAPI MFSerializePresentationDescriptor(
__in IMFPresentationDescriptor * pPD, _In_ IMFPresentationDescriptor * pPD,
__out DWORD * pcbData, _Out_ DWORD * pcbData,
__deref_out_bcount_full(*pcbData) BYTE ** ppbData); _Outptr_result_bytebuffer_to_(*pcbData, *pcbData) BYTE ** ppbData);
STDAPI MFDeserializePresentationDescriptor( STDAPI MFDeserializePresentationDescriptor(
__in DWORD cbData, _In_ DWORD cbData,
__in_ecount( cbData ) BYTE * pbData, _In_reads_( cbData ) BYTE * pbData,
__deref_out IMFPresentationDescriptor ** ppPD); _Outptr_ IMFPresentationDescriptor ** ppPD);
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
EXTERN_GUID(MF_SD_LANGUAGE, 0xaf2180, 0xbdc2, 0x423c, 0xab, 0xca, 0xf5, 0x3, 0x5 9, 0x3b, 0xc1, 0x21); EXTERN_GUID(MF_SD_LANGUAGE, 0xaf2180, 0xbdc2, 0x423c, 0xab, 0xca, 0xf5, 0x3, 0x5 9, 0x3b, 0xc1, 0x21);
EXTERN_GUID(MF_SD_PROTECTED, 0xaf2181, 0xbdc2, 0x423c, 0xab, 0xca, 0xf5, 0x3, 0x 59, 0x3b, 0xc1, 0x21); EXTERN_GUID(MF_SD_PROTECTED, 0xaf2181, 0xbdc2, 0x423c, 0xab, 0xca, 0xf5, 0x3, 0x 59, 0x3b, 0xc1, 0x21);
EXTERN_GUID(MF_SD_STREAM_NAME, 0x4f1b099d, 0xd314, 0x41e5, 0xa7, 0x81, 0x7f, 0xe f, 0xaa, 0x4c, 0x50, 0x1f); EXTERN_GUID(MF_SD_STREAM_NAME, 0x4f1b099d, 0xd314, 0x41e5, 0xa7, 0x81, 0x7f, 0xe f, 0xaa, 0x4c, 0x50, 0x1f);
EXTERN_GUID(MF_SD_MUTUALLY_EXCLUSIVE, 0x23ef79c, 0x388d, 0x487f, 0xac, 0x17, 0x6 9, 0x6c, 0xd6, 0xe3, 0xc6, 0xf5); EXTERN_GUID(MF_SD_MUTUALLY_EXCLUSIVE, 0x23ef79c, 0x388d, 0x487f, 0xac, 0x17, 0x6 9, 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_0021_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0017_v0_0_s_ifspec; extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0021_v0_0_s_ifspec;
#ifndef __IMFStreamDescriptor_INTERFACE_DEFINED__ #ifndef __IMFStreamDescriptor_INTERFACE_DEFINED__
#define __IMFStreamDescriptor_INTERFACE_DEFINED__ #define __IMFStreamDescriptor_INTERFACE_DEFINED__
/* interface IMFStreamDescriptor */ /* interface IMFStreamDescriptor */
/* [uuid][object] */ /* [uuid][object] */
EXTERN_C const IID IID_IMFStreamDescriptor; EXTERN_C const IID IID_IMFStreamDescriptor;
#if defined(__cplusplus) && !defined(CINTERFACE) #if defined(__cplusplus) && !defined(CINTERFACE)
skipping to change at line 4026 skipping to change at line 4899
#else /* C style interface */ #else /* C style interface */
typedef struct IMFStreamDescriptorVtbl typedef struct IMFStreamDescriptorVtbl
{ {
BEGIN_INTERFACE BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )( HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
__RPC__in IMFStreamDescriptor * This, __RPC__in IMFStreamDescriptor * This,
/* [in] */ __RPC__in REFIID riid, /* [in] */ __RPC__in REFIID riid,
/* [annotation][iid_is][out] */ /* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject); _COM_Outptr_ void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )( ULONG ( STDMETHODCALLTYPE *AddRef )(
__RPC__in IMFStreamDescriptor * This); __RPC__in IMFStreamDescriptor * This);
ULONG ( STDMETHODCALLTYPE *Release )( ULONG ( STDMETHODCALLTYPE *Release )(
__RPC__in IMFStreamDescriptor * This); __RPC__in IMFStreamDescriptor * This);
HRESULT ( STDMETHODCALLTYPE *GetItem )( HRESULT ( STDMETHODCALLTYPE *GetItem )(
__RPC__in IMFStreamDescriptor * This, __RPC__in IMFStreamDescriptor * This,
__RPC__in REFGUID guidKey, __RPC__in REFGUID guidKey,
skipping to change at line 4315 skipping to change at line 5188
#define IMFStreamDescriptor_GetMediaTypeHandler(This,ppMediaTypeHandler) \ #define IMFStreamDescriptor_GetMediaTypeHandler(This,ppMediaTypeHandler) \
( (This)->lpVtbl -> GetMediaTypeHandler(This,ppMediaTypeHandler) ) ( (This)->lpVtbl -> GetMediaTypeHandler(This,ppMediaTypeHandler) )
#endif /* COBJMACROS */ #endif /* COBJMACROS */
#endif /* C style interface */ #endif /* C style interface */
#endif /* __IMFStreamDescriptor_INTERFACE_DEFINED__ */ #endif /* __IMFStreamDescriptor_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_mfidl_0000_0018 */ /* interface __MIDL_itf_mfidl_0000_0022 */
/* [local] */ /* [local] */
STDAPI MFCreateStreamDescriptor( STDAPI MFCreateStreamDescriptor(
DWORD dwStreamIdentifier, DWORD dwStreamIdentifier,
DWORD cMediaTypes, DWORD cMediaTypes,
__in_ecount(cMediaTypes) IMFMediaType** apMediaTypes, _In_reads_(cMediaTypes) IMFMediaType** apMediaTypes,
__out IMFStreamDescriptor** ppDescriptor _Outptr_ IMFStreamDescriptor** ppDescriptor
); );
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0018_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0022_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0018_v0_0_s_ifspec; extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0022_v0_0_s_ifspec;
#ifndef __IMFMediaTypeHandler_INTERFACE_DEFINED__ #ifndef __IMFMediaTypeHandler_INTERFACE_DEFINED__
#define __IMFMediaTypeHandler_INTERFACE_DEFINED__ #define __IMFMediaTypeHandler_INTERFACE_DEFINED__
/* interface IMFMediaTypeHandler */ /* interface IMFMediaTypeHandler */
/* [uuid][object] */ /* [uuid][object] */
EXTERN_C const IID IID_IMFMediaTypeHandler; EXTERN_C const IID IID_IMFMediaTypeHandler;
#if defined(__cplusplus) && !defined(CINTERFACE) #if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("e93dcf6c-4b07-4e1e-8123-aa16ed6eadf5") MIDL_INTERFACE("e93dcf6c-4b07-4e1e-8123-aa16ed6eadf5")
IMFMediaTypeHandler : public IUnknown IMFMediaTypeHandler : public IUnknown
{ {
public: public:
virtual /* [local] */ HRESULT STDMETHODCALLTYPE IsMediaTypeSupported( virtual /* [local] */ HRESULT STDMETHODCALLTYPE IsMediaTypeSupported(
/* [in] */ IMFMediaType *pMediaType, /* [in] */ IMFMediaType *pMediaType,
/* [annotation][out] */ /* [annotation][out] */
__out IMFMediaType **ppMediaType) = 0; _Outptr_opt_result_maybenull_ IMFMediaType **ppMediaType) = 0;
virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetMediaTypeCount( virtual HRESULT STDMETHODCALLTYPE GetMediaTypeCount(
/* [annotation][out] */ /* [out] */ __RPC__out DWORD *pdwTypeCount) = 0;
__out DWORD *pdwTypeCount) = 0;
virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetMediaTypeByIndex( virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetMediaTypeByIndex(
/* [in] */ DWORD dwIndex, /* [in] */ DWORD dwIndex,
/* [annotation][out] */ /* [annotation][out] */
__out IMFMediaType **ppType) = 0; _Outptr_ IMFMediaType **ppType) = 0;
virtual /* [local] */ HRESULT STDMETHODCALLTYPE SetCurrentMediaType( virtual /* [local] */ HRESULT STDMETHODCALLTYPE SetCurrentMediaType(
/* [in] */ IMFMediaType *pMediaType) = 0; /* [in] */ IMFMediaType *pMediaType) = 0;
virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetCurrentMediaType( virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetCurrentMediaType(
/* [annotation][out] */ /* [annotation][out] */
__out IMFMediaType **ppMediaType) = 0; _Outptr_ IMFMediaType **ppMediaType) = 0;
virtual HRESULT STDMETHODCALLTYPE GetMajorType( virtual HRESULT STDMETHODCALLTYPE GetMajorType(
/* [annotation][out] */ /* [out] */ __RPC__out GUID *pguidMajorType) = 0;
__out GUID *pguidMajorType) = 0;
}; };
#else /* C style interface */ #else /* C style interface */
typedef struct IMFMediaTypeHandlerVtbl typedef struct IMFMediaTypeHandlerVtbl
{ {
BEGIN_INTERFACE BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )( HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
__RPC__in IMFMediaTypeHandler * This, __RPC__in IMFMediaTypeHandler * This,
/* [in] */ __RPC__in REFIID riid, /* [in] */ __RPC__in REFIID riid,
/* [annotation][iid_is][out] */ /* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject); _COM_Outptr_ void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )( ULONG ( STDMETHODCALLTYPE *AddRef )(
__RPC__in IMFMediaTypeHandler * This); __RPC__in IMFMediaTypeHandler * This);
ULONG ( STDMETHODCALLTYPE *Release )( ULONG ( STDMETHODCALLTYPE *Release )(
__RPC__in IMFMediaTypeHandler * This); __RPC__in IMFMediaTypeHandler * This);
/* [local] */ HRESULT ( STDMETHODCALLTYPE *IsMediaTypeSupported )( /* [local] */ HRESULT ( STDMETHODCALLTYPE *IsMediaTypeSupported )(
IMFMediaTypeHandler * This, IMFMediaTypeHandler * This,
/* [in] */ IMFMediaType *pMediaType, /* [in] */ IMFMediaType *pMediaType,
/* [annotation][out] */ /* [annotation][out] */
__out IMFMediaType **ppMediaType); _Outptr_opt_result_maybenull_ IMFMediaType **ppMediaType);
/* [local] */ HRESULT ( STDMETHODCALLTYPE *GetMediaTypeCount )( HRESULT ( STDMETHODCALLTYPE *GetMediaTypeCount )(
IMFMediaTypeHandler * This, __RPC__in IMFMediaTypeHandler * This,
/* [annotation][out] */ /* [out] */ __RPC__out DWORD *pdwTypeCount);
__out DWORD *pdwTypeCount);
/* [local] */ HRESULT ( STDMETHODCALLTYPE *GetMediaTypeByIndex )( /* [local] */ HRESULT ( STDMETHODCALLTYPE *GetMediaTypeByIndex )(
IMFMediaTypeHandler * This, IMFMediaTypeHandler * This,
/* [in] */ DWORD dwIndex, /* [in] */ DWORD dwIndex,
/* [annotation][out] */ /* [annotation][out] */
__out IMFMediaType **ppType); _Outptr_ IMFMediaType **ppType);
/* [local] */ HRESULT ( STDMETHODCALLTYPE *SetCurrentMediaType )( /* [local] */ HRESULT ( STDMETHODCALLTYPE *SetCurrentMediaType )(
IMFMediaTypeHandler * This, IMFMediaTypeHandler * This,
/* [in] */ IMFMediaType *pMediaType); /* [in] */ IMFMediaType *pMediaType);
/* [local] */ HRESULT ( STDMETHODCALLTYPE *GetCurrentMediaType )( /* [local] */ HRESULT ( STDMETHODCALLTYPE *GetCurrentMediaType )(
IMFMediaTypeHandler * This, IMFMediaTypeHandler * This,
/* [annotation][out] */ /* [annotation][out] */
__out IMFMediaType **ppMediaType); _Outptr_ IMFMediaType **ppMediaType);
HRESULT ( STDMETHODCALLTYPE *GetMajorType )( HRESULT ( STDMETHODCALLTYPE *GetMajorType )(
__RPC__in IMFMediaTypeHandler * This, __RPC__in IMFMediaTypeHandler * This,
/* [annotation][out] */ /* [out] */ __RPC__out GUID *pguidMajorType);
__out GUID *pguidMajorType);
END_INTERFACE END_INTERFACE
} IMFMediaTypeHandlerVtbl; } IMFMediaTypeHandlerVtbl;
interface IMFMediaTypeHandler interface IMFMediaTypeHandler
{ {
CONST_VTBL struct IMFMediaTypeHandlerVtbl *lpVtbl; CONST_VTBL struct IMFMediaTypeHandlerVtbl *lpVtbl;
}; };
#ifdef COBJMACROS #ifdef COBJMACROS
skipping to change at line 4459 skipping to change at line 5328
#define IMFMediaTypeHandler_GetCurrentMediaType(This,ppMediaType) \ #define IMFMediaTypeHandler_GetCurrentMediaType(This,ppMediaType) \
( (This)->lpVtbl -> GetCurrentMediaType(This,ppMediaType) ) ( (This)->lpVtbl -> GetCurrentMediaType(This,ppMediaType) )
#define IMFMediaTypeHandler_GetMajorType(This,pguidMajorType) \ #define IMFMediaTypeHandler_GetMajorType(This,pguidMajorType) \
( (This)->lpVtbl -> GetMajorType(This,pguidMajorType) ) ( (This)->lpVtbl -> GetMajorType(This,pguidMajorType) )
#endif /* COBJMACROS */ #endif /* COBJMACROS */
#endif /* C style interface */ #endif /* C style interface */
/* [call_as] */ HRESULT STDMETHODCALLTYPE IMFMediaTypeHandler_RemoteIsMediaTypeS
upported_Proxy(
__RPC__in IMFMediaTypeHandler * This,
/* [size_is][in] */ __RPC__in_ecount_full(cbData) BYTE *pbData,
/* [in] */ DWORD cbData,
/* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pcbBestMatch
) BYTE **ppbBestMatch,
/* [out] */ __RPC__out DWORD *pcbBestMatch);
void __RPC_STUB IMFMediaTypeHandler_RemoteIsMediaTypeSupported_Stub(
IRpcStubBuffer *This,
IRpcChannelBuffer *_pRpcChannelBuffer,
PRPC_MESSAGE _pRpcMessage,
DWORD *_pdwStubPhase);
/* [call_as] */ HRESULT STDMETHODCALLTYPE IMFMediaTypeHandler_RemoteGetMediaType
ByIndex_Proxy(
__RPC__in IMFMediaTypeHandler * This,
/* [in] */ DWORD dwIndex,
/* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pcbData) BYT
E **ppbData,
/* [out] */ __RPC__out DWORD *pcbData);
void __RPC_STUB IMFMediaTypeHandler_RemoteGetMediaTypeByIndex_Stub(
IRpcStubBuffer *This,
IRpcChannelBuffer *_pRpcChannelBuffer,
PRPC_MESSAGE _pRpcMessage,
DWORD *_pdwStubPhase);
/* [call_as] */ HRESULT STDMETHODCALLTYPE IMFMediaTypeHandler_RemoteSetCurrentMe
diaType_Proxy(
__RPC__in IMFMediaTypeHandler * This,
/* [size_is][in] */ __RPC__in_ecount_full(cbData) BYTE *pbData,
/* [in] */ DWORD cbData);
void __RPC_STUB IMFMediaTypeHandler_RemoteSetCurrentMediaType_Stub(
IRpcStubBuffer *This,
IRpcChannelBuffer *_pRpcChannelBuffer,
PRPC_MESSAGE _pRpcMessage,
DWORD *_pdwStubPhase);
/* [call_as] */ HRESULT STDMETHODCALLTYPE IMFMediaTypeHandler_RemoteGetCurrentMe diaType_Proxy( /* [call_as] */ HRESULT STDMETHODCALLTYPE IMFMediaTypeHandler_RemoteGetCurrentMe diaType_Proxy(
__RPC__in IMFMediaTypeHandler * This, __RPC__in IMFMediaTypeHandler * This,
/* [size_is][size_is][annotation][out] */ /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pcbData) BYT
__out BYTE **ppbData, E **ppbData,
/* [out] */ __RPC__out DWORD *pcbData); /* [out] */ __RPC__out DWORD *pcbData);
void __RPC_STUB IMFMediaTypeHandler_RemoteGetCurrentMediaType_Stub( void __RPC_STUB IMFMediaTypeHandler_RemoteGetCurrentMediaType_Stub(
IRpcStubBuffer *This, IRpcStubBuffer *This,
IRpcChannelBuffer *_pRpcChannelBuffer, IRpcChannelBuffer *_pRpcChannelBuffer,
PRPC_MESSAGE _pRpcMessage, PRPC_MESSAGE _pRpcMessage,
DWORD *_pdwStubPhase); DWORD *_pdwStubPhase);
#endif /* __IMFMediaTypeHandler_INTERFACE_DEFINED__ */ #endif /* __IMFMediaTypeHandler_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_mfidl_0000_0019 */ /* interface __MIDL_itf_mfidl_0000_0023 */
/* [local] */ /* [local] */
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
#pragma endregion
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
STDAPI MFCreateSimpleTypeHandler( STDAPI MFCreateSimpleTypeHandler(
__out IMFMediaTypeHandler ** ppHandler ); _Outptr_ IMFMediaTypeHandler ** ppHandler );
typedef typedef
enum MFTIMER_FLAGS enum MFTIMER_FLAGS
{ MFTIMER_RELATIVE = 0x1 {
MFTIMER_RELATIVE = 0x1
} MFTIMER_FLAGS; } MFTIMER_FLAGS;
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0019_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0023_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0019_v0_0_s_ifspec; extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0023_v0_0_s_ifspec;
#ifndef __IMFTimer_INTERFACE_DEFINED__ #ifndef __IMFTimer_INTERFACE_DEFINED__
#define __IMFTimer_INTERFACE_DEFINED__ #define __IMFTimer_INTERFACE_DEFINED__
/* interface IMFTimer */ /* interface IMFTimer */
/* [local][uuid][object] */ /* [local][uuid][object] */
EXTERN_C const IID IID_IMFTimer; EXTERN_C const IID IID_IMFTimer;
#if defined(__cplusplus) && !defined(CINTERFACE) #if defined(__cplusplus) && !defined(CINTERFACE)
skipping to change at line 4522 skipping to change at line 5431
#else /* C style interface */ #else /* C style interface */
typedef struct IMFTimerVtbl typedef struct IMFTimerVtbl
{ {
BEGIN_INTERFACE BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )( HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IMFTimer * This, IMFTimer * This,
/* [in] */ REFIID riid, /* [in] */ REFIID riid,
/* [annotation][iid_is][out] */ /* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject); _COM_Outptr_ void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )( ULONG ( STDMETHODCALLTYPE *AddRef )(
IMFTimer * This); IMFTimer * This);
ULONG ( STDMETHODCALLTYPE *Release )( ULONG ( STDMETHODCALLTYPE *Release )(
IMFTimer * This); IMFTimer * This);
HRESULT ( STDMETHODCALLTYPE *SetTimer )( HRESULT ( STDMETHODCALLTYPE *SetTimer )(
IMFTimer * This, IMFTimer * This,
/* [in] */ DWORD dwFlags, /* [in] */ DWORD dwFlags,
skipping to change at line 4573 skipping to change at line 5482
#define IMFTimer_CancelTimer(This,punkKey) \ #define IMFTimer_CancelTimer(This,punkKey) \
( (This)->lpVtbl -> CancelTimer(This,punkKey) ) ( (This)->lpVtbl -> CancelTimer(This,punkKey) )
#endif /* COBJMACROS */ #endif /* COBJMACROS */
#endif /* C style interface */ #endif /* C style interface */
#endif /* __IMFTimer_INTERFACE_DEFINED__ */ #endif /* __IMFTimer_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_mfidl_0000_0020 */ /* interface __MIDL_itf_mfidl_0000_0024 */
/* [local] */ /* [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_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_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_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_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_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 ); 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 enum __MIDL___MIDL_itf_mfidl_0000_0024_0001
{ MF_ACTIVATE_CUSTOM_MIXER_ALLOWFAIL = 0x1 {
MF_ACTIVATE_CUSTOM_MIXER_ALLOWFAIL = 0x1
} ; } ;
enum __MIDL___MIDL_itf_mfidl_0000_0020_0002 enum __MIDL___MIDL_itf_mfidl_0000_0024_0002
{ MF_ACTIVATE_CUSTOM_PRESENTER_ALLOWFAIL = 0x1 {
MF_ACTIVATE_CUSTOM_PRESENTER_ALLOWFAIL = 0x1
} ; } ;
EXTERN_GUID( MF_ACTIVATE_MFT_LOCKED, 0xc1f6093c, 0x7f65, 0x4fbd, 0x9e, 0x39, 0x 5f, 0xae, 0xc3, 0xc4, 0xfb, 0xd7 ); EXTERN_GUID( MF_ACTIVATE_MFT_LOCKED, 0xc1f6093c, 0x7f65, 0x4fbd, 0x9e, 0x39, 0x 5f, 0xae, 0xc3, 0xc4, 0xfb, 0xd7 );
EXTERN_GUID( MF_ACTIVATE_VIDEO_WINDOW, 0x9a2dbbdd, 0xf57e, 0x4162, 0x82, 0xb9, 0 x68, 0x31, 0x37, 0x76, 0x82, 0xd3 ); EXTERN_GUID( MF_ACTIVATE_VIDEO_WINDOW, 0x9a2dbbdd, 0xf57e, 0x4162, 0x82, 0xb9, 0 x68, 0x31, 0x37, 0x76, 0x82, 0xd3 );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
typedef typedef
enum _MFSHUTDOWN_STATUS enum _MFSHUTDOWN_STATUS
{ MFSHUTDOWN_INITIATED = 0, {
MFSHUTDOWN_COMPLETED = ( MFSHUTDOWN_INITIATED + 1 ) MFSHUTDOWN_INITIATED = 0,
MFSHUTDOWN_COMPLETED = ( MFSHUTDOWN_INITIATED + 1 )
} MFSHUTDOWN_STATUS; } MFSHUTDOWN_STATUS;
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0020_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0024_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0020_v0_0_s_ifspec; extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0024_v0_0_s_ifspec;
#ifndef __IMFShutdown_INTERFACE_DEFINED__ #ifndef __IMFShutdown_INTERFACE_DEFINED__
#define __IMFShutdown_INTERFACE_DEFINED__ #define __IMFShutdown_INTERFACE_DEFINED__
/* interface IMFShutdown */ /* interface IMFShutdown */
/* [uuid][object] */ /* [uuid][object] */
EXTERN_C const IID IID_IMFShutdown; EXTERN_C const IID IID_IMFShutdown;
#if defined(__cplusplus) && !defined(CINTERFACE) #if defined(__cplusplus) && !defined(CINTERFACE)
skipping to change at line 4632 skipping to change at line 5548
#else /* C style interface */ #else /* C style interface */
typedef struct IMFShutdownVtbl typedef struct IMFShutdownVtbl
{ {
BEGIN_INTERFACE BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )( HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
__RPC__in IMFShutdown * This, __RPC__in IMFShutdown * This,
/* [in] */ __RPC__in REFIID riid, /* [in] */ __RPC__in REFIID riid,
/* [annotation][iid_is][out] */ /* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject); _COM_Outptr_ void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )( ULONG ( STDMETHODCALLTYPE *AddRef )(
__RPC__in IMFShutdown * This); __RPC__in IMFShutdown * This);
ULONG ( STDMETHODCALLTYPE *Release )( ULONG ( STDMETHODCALLTYPE *Release )(
__RPC__in IMFShutdown * This); __RPC__in IMFShutdown * This);
HRESULT ( STDMETHODCALLTYPE *Shutdown )( HRESULT ( STDMETHODCALLTYPE *Shutdown )(
__RPC__in IMFShutdown * This); __RPC__in IMFShutdown * This);
skipping to change at line 4678 skipping to change at line 5594
#define IMFShutdown_GetShutdownStatus(This,pStatus) \ #define IMFShutdown_GetShutdownStatus(This,pStatus) \
( (This)->lpVtbl -> GetShutdownStatus(This,pStatus) ) ( (This)->lpVtbl -> GetShutdownStatus(This,pStatus) )
#endif /* COBJMACROS */ #endif /* COBJMACROS */
#endif /* C style interface */ #endif /* C style interface */
#endif /* __IMFShutdown_INTERFACE_DEFINED__ */ #endif /* __IMFShutdown_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_mfidl_0000_0021 */ /* interface __MIDL_itf_mfidl_0000_0025 */
/* [local] */ /* [local] */
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
#pragma endregion
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
STDAPI STDAPI
MFShutdownObject( MFShutdownObject(
IUnknown * pUnk ); IUnknown * pUnk );
STDAPI STDAPI
MFCreateAudioRenderer( MFCreateAudioRenderer(
IMFAttributes* pAudioAttributes, IMFAttributes* pAudioAttributes,
__out IMFMediaSink** ppSink _Outptr_ IMFMediaSink** ppSink
); );
STDAPI STDAPI
MFCreateAudioRendererActivate( MFCreateAudioRendererActivate(
__out IMFActivate ** ppActivate _Outptr_ IMFActivate ** ppActivate
); );
EXTERN_GUID( MF_AUDIO_RENDERER_ATTRIBUTE_FLAGS, 0xede4b5e0, 0xf805, 0x4d6c, 0x99 , 0xb3, 0xdb, 0x01, 0xbf, 0x95, 0xdf, 0xab); 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_CROSSPROCESS 0x00000001
#define MF_AUDIO_RENDERER_ATTRIBUTE_FLAGS_NOPERSIST 0x00000002 #define MF_AUDIO_RENDERER_ATTRIBUTE_FLAGS_NOPERSIST 0x00000002
#if (WINVER >= _WIN32_WINNT_WIN7) #if (WINVER >= _WIN32_WINNT_WIN7)
#define MF_AUDIO_RENDERER_ATTRIBUTE_FLAGS_DONT_ALLOW_FORMAT_CHANGES 0x00000004 #define MF_AUDIO_RENDERER_ATTRIBUTE_FLAGS_DONT_ALLOW_FORMAT_CHANGES 0x00000004
#endif // (WINVER >= _WIN32_WINNT_WIN7) #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_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_ID, 0xb10aaec3, 0xef71, 0x4cc3 , 0xb8, 0x73, 0x5, 0xa9, 0xa0, 0x8b, 0x9f, 0x8e);
EXTERN_GUID( MF_AUDIO_RENDERER_ATTRIBUTE_ENDPOINT_ROLE, 0x6ba644ff, 0x27c5, 0x4d 02, 0x98, 0x87, 0xc2, 0x86, 0x19, 0xfd, 0xb9, 0x1b); EXTERN_GUID( MF_AUDIO_RENDERER_ATTRIBUTE_ENDPOINT_ROLE, 0x6ba644ff, 0x27c5, 0x4d 02, 0x98, 0x87, 0xc2, 0x86, 0x19, 0xfd, 0xb9, 0x1b);
EXTERN_GUID( MF_AUDIO_RENDERER_ATTRIBUTE_STREAM_CATEGORY, 0xa9770471, 0x92ec, 0x 4df4, 0x94, 0xfe, 0x81, 0xc3, 0x6f, 0xc, 0x3a, 0x7a);
STDAPI STDAPI
MFCreateVideoRendererActivate( MFCreateVideoRendererActivate(
__in HWND hwndVideo, _In_ HWND hwndVideo,
__out IMFActivate ** ppActivate _Outptr_ IMFActivate ** ppActivate
); );
#if (WINVER >= _WIN32_WINNT_WIN7) #if (WINVER >= _WIN32_WINNT_WIN7)
STDAPI STDAPI
MFCreateMPEG4MediaSink( MFCreateMPEG4MediaSink(
__in IMFByteStream* pIByteStream, _In_ IMFByteStream* pIByteStream,
__in_opt IMFMediaType* pVideoMediaType, _In_opt_ IMFMediaType* pVideoMediaType,
__in_opt IMFMediaType* pAudioMediaType, _In_opt_ IMFMediaType* pAudioMediaType,
__out IMFMediaSink** ppIMediaSink _Outptr_ IMFMediaSink** ppIMediaSink
); );
STDAPI STDAPI
MFCreate3GPMediaSink( MFCreate3GPMediaSink(
__in IMFByteStream* pIByteStream, _In_ IMFByteStream* pIByteStream,
__in_opt IMFMediaType* pVideoMediaType, _In_opt_ IMFMediaType* pVideoMediaType,
__in_opt IMFMediaType* pAudioMediaType, _In_opt_ IMFMediaType* pAudioMediaType,
__out IMFMediaSink** ppIMediaSink _Outptr_ IMFMediaSink** ppIMediaSink
); );
STDAPI STDAPI
MFCreateMP3MediaSink( MFCreateMP3MediaSink(
__in IMFByteStream* pTargetByteStream, _In_ IMFByteStream* pTargetByteStream,
__deref_out IMFMediaSink** ppMediaSink _Outptr_ IMFMediaSink** ppMediaSink
); );
#endif // (WINVER >= _WIN32_WINNT_WIN7) #endif // (WINVER >= _WIN32_WINNT_WIN7)
#if (WINVER >= _WIN32_WINNT_WIN8)
STDAPI
MFCreateAC3MediaSink(
_In_ IMFByteStream* pTargetByteStream,
_In_ IMFMediaType* pAudioMediaType,
_Outptr_ IMFMediaSink** ppMediaSink
);
STDAPI
MFCreateADTSMediaSink(
_In_ IMFByteStream* pTargetByteStream,
_In_ IMFMediaType* pAudioMediaType,
_Outptr_ IMFMediaSink** ppMediaSink
);
STDAPI
MFCreateMuxSink(
_In_ GUID guidOutputSubType,
_In_opt_ IMFAttributes* pOutputAttributes,
_In_opt_ IMFByteStream* pOutputByteStream,
_Outptr_ IMFMediaSink** ppMuxSink
);
STDAPI
MFCreateFMPEG4MediaSink(
_In_ IMFByteStream* pIByteStream,
_In_opt_ IMFMediaType* pVideoMediaType,
_In_opt_ IMFMediaType* pAudioMediaType,
_Outptr_ IMFMediaSink** ppIMediaSink
);
#endif // (WINVER >= _WIN32_WINNT_WIN8)
#if (WINVER >= _WIN32_WINNT_WINBLUE)
STDAPI
MFCreateAVIMediaSink(
_In_ IMFByteStream* pIByteStream,
_In_ IMFMediaType* pVideoMediaType,
_In_opt_ IMFMediaType* pAudioMediaType,
_Outptr_ IMFMediaSink** ppIMediaSink
);
#endif // (WINVER >= _WIN32_WINNT_WINBLUE)
#if (WINVER >= _WIN32_WINNT_WINBLUE)
STDAPI
MFCreateWAVEMediaSink(
_In_ IMFByteStream* pTargetByteStream,
_In_ IMFMediaType* pAudioMediaType,
_Outptr_ IMFMediaSink** ppMediaSink
);
#endif // (WINVER >= _WIN32_WINNT_WINBLUE)
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0021_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0025_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0021_v0_0_s_ifspec; extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0025_v0_0_s_ifspec;
#ifndef __IMFTopoLoader_INTERFACE_DEFINED__ #ifndef __IMFTopoLoader_INTERFACE_DEFINED__
#define __IMFTopoLoader_INTERFACE_DEFINED__ #define __IMFTopoLoader_INTERFACE_DEFINED__
/* interface IMFTopoLoader */ /* interface IMFTopoLoader */
/* [local][uuid][object] */ /* [local][uuid][object] */
EXTERN_C const IID IID_IMFTopoLoader; EXTERN_C const IID IID_IMFTopoLoader;
#if defined(__cplusplus) && !defined(CINTERFACE) #if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("DE9A6157-F660-4643-B56A-DF9F7998C7CD") MIDL_INTERFACE("DE9A6157-F660-4643-B56A-DF9F7998C7CD")
IMFTopoLoader : public IUnknown IMFTopoLoader : public IUnknown
{ {
public: public:
virtual HRESULT STDMETHODCALLTYPE Load( virtual HRESULT STDMETHODCALLTYPE Load(
/* [in] */ IMFTopology *pInputTopo, /* [in] */ IMFTopology *pInputTopo,
/* [annotation][out] */ /* [annotation][out] */
__out IMFTopology **ppOutputTopo, _Outptr_ IMFTopology **ppOutputTopo,
/* [in] */ IMFTopology *pCurrentTopo) = 0; /* [in] */ IMFTopology *pCurrentTopo) = 0;
}; };
#else /* C style interface */ #else /* C style interface */
typedef struct IMFTopoLoaderVtbl typedef struct IMFTopoLoaderVtbl
{ {
BEGIN_INTERFACE BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )( HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IMFTopoLoader * This, IMFTopoLoader * This,
/* [in] */ REFIID riid, /* [in] */ REFIID riid,
/* [annotation][iid_is][out] */ /* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject); _COM_Outptr_ void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )( ULONG ( STDMETHODCALLTYPE *AddRef )(
IMFTopoLoader * This); IMFTopoLoader * This);
ULONG ( STDMETHODCALLTYPE *Release )( ULONG ( STDMETHODCALLTYPE *Release )(
IMFTopoLoader * This); IMFTopoLoader * This);
HRESULT ( STDMETHODCALLTYPE *Load )( HRESULT ( STDMETHODCALLTYPE *Load )(
IMFTopoLoader * This, IMFTopoLoader * This,
/* [in] */ IMFTopology *pInputTopo, /* [in] */ IMFTopology *pInputTopo,
/* [annotation][out] */ /* [annotation][out] */
__out IMFTopology **ppOutputTopo, _Outptr_ IMFTopology **ppOutputTopo,
/* [in] */ IMFTopology *pCurrentTopo); /* [in] */ IMFTopology *pCurrentTopo);
END_INTERFACE END_INTERFACE
} IMFTopoLoaderVtbl; } IMFTopoLoaderVtbl;
interface IMFTopoLoader interface IMFTopoLoader
{ {
CONST_VTBL struct IMFTopoLoaderVtbl *lpVtbl; CONST_VTBL struct IMFTopoLoaderVtbl *lpVtbl;
}; };
skipping to change at line 4807 skipping to change at line 5773
#define IMFTopoLoader_Load(This,pInputTopo,ppOutputTopo,pCurrentTopo) \ #define IMFTopoLoader_Load(This,pInputTopo,ppOutputTopo,pCurrentTopo) \
( (This)->lpVtbl -> Load(This,pInputTopo,ppOutputTopo,pCurrentTopo) ) ( (This)->lpVtbl -> Load(This,pInputTopo,ppOutputTopo,pCurrentTopo) )
#endif /* COBJMACROS */ #endif /* COBJMACROS */
#endif /* C style interface */ #endif /* C style interface */
#endif /* __IMFTopoLoader_INTERFACE_DEFINED__ */ #endif /* __IMFTopoLoader_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_mfidl_0000_0022 */ /* interface __MIDL_itf_mfidl_0000_0026 */
/* [local] */ /* [local] */
STDAPI MFCreateTopoLoader( STDAPI MFCreateTopoLoader(
__out IMFTopoLoader ** ppObj ); _Outptr_ IMFTopoLoader ** ppObj );
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0022_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0026_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0022_v0_0_s_ifspec; extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0026_v0_0_s_ifspec;
#ifndef __IMFContentProtectionManager_INTERFACE_DEFINED__ #ifndef __IMFContentProtectionManager_INTERFACE_DEFINED__
#define __IMFContentProtectionManager_INTERFACE_DEFINED__ #define __IMFContentProtectionManager_INTERFACE_DEFINED__
/* interface IMFContentProtectionManager */ /* interface IMFContentProtectionManager */
/* [unique][helpstring][uuid][object] */ /* [unique][helpstring][uuid][object] */
EXTERN_C const IID IID_IMFContentProtectionManager; EXTERN_C const IID IID_IMFContentProtectionManager;
#if defined(__cplusplus) && !defined(CINTERFACE) #if defined(__cplusplus) && !defined(CINTERFACE)
skipping to change at line 4851 skipping to change at line 5817
#else /* C style interface */ #else /* C style interface */
typedef struct IMFContentProtectionManagerVtbl typedef struct IMFContentProtectionManagerVtbl
{ {
BEGIN_INTERFACE BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )( HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
__RPC__in IMFContentProtectionManager * This, __RPC__in IMFContentProtectionManager * This,
/* [in] */ __RPC__in REFIID riid, /* [in] */ __RPC__in REFIID riid,
/* [annotation][iid_is][out] */ /* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject); _COM_Outptr_ void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )( ULONG ( STDMETHODCALLTYPE *AddRef )(
__RPC__in IMFContentProtectionManager * This); __RPC__in IMFContentProtectionManager * This);
ULONG ( STDMETHODCALLTYPE *Release )( ULONG ( STDMETHODCALLTYPE *Release )(
__RPC__in IMFContentProtectionManager * This); __RPC__in IMFContentProtectionManager * This);
/* [local] */ HRESULT ( STDMETHODCALLTYPE *BeginEnableContent )( /* [local] */ HRESULT ( STDMETHODCALLTYPE *BeginEnableContent )(
IMFContentProtectionManager * This, IMFContentProtectionManager * This,
/* [in] */ IMFActivate *pEnablerActivate, /* [in] */ IMFActivate *pEnablerActivate,
skipping to change at line 4924 skipping to change at line 5890
/* [in] */ __RPC__in_opt IUnknown *pResult); /* [in] */ __RPC__in_opt IUnknown *pResult);
void __RPC_STUB IMFContentProtectionManager_RemoteEndEnableContent_Stub( void __RPC_STUB IMFContentProtectionManager_RemoteEndEnableContent_Stub(
IRpcStubBuffer *This, IRpcStubBuffer *This,
IRpcChannelBuffer *_pRpcChannelBuffer, IRpcChannelBuffer *_pRpcChannelBuffer,
PRPC_MESSAGE _pRpcMessage, PRPC_MESSAGE _pRpcMessage,
DWORD *_pdwStubPhase); DWORD *_pdwStubPhase);
#endif /* __IMFContentProtectionManager_INTERFACE_DEFINED__ */ #endif /* __IMFContentProtectionManager_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_mfidl_0000_0023 */ /* interface __MIDL_itf_mfidl_0000_0027 */
/* [local] */ /* [local] */
typedef /* [public][public] */ typedef /* [public][public] */
enum __MIDL___MIDL_itf_mfidl_0000_0023_0001 enum __MIDL___MIDL_itf_mfidl_0000_0027_0001
{ MF_LICENSE_URL_UNTRUSTED = 0, {
MF_LICENSE_URL_TRUSTED = ( MF_LICENSE_URL_UNTRUSTED + 1 ) , MF_LICENSE_URL_UNTRUSTED = 0,
MF_LICENSE_URL_TAMPERED = ( MF_LICENSE_URL_TRUSTED + 1 ) MF_LICENSE_URL_TRUSTED = ( MF_LICENSE_URL_UNTRUSTED + 1 ) ,
MF_LICENSE_URL_TAMPERED = ( MF_LICENSE_URL_TRUSTED + 1 )
} MF_URL_TRUST_STATUS; } 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_0027_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0023_v0_0_s_ifspec; extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0027_v0_0_s_ifspec;
#ifndef __IMFContentEnabler_INTERFACE_DEFINED__ #ifndef __IMFContentEnabler_INTERFACE_DEFINED__
#define __IMFContentEnabler_INTERFACE_DEFINED__ #define __IMFContentEnabler_INTERFACE_DEFINED__
/* interface IMFContentEnabler */ /* interface IMFContentEnabler */
/* [unique][helpstring][uuid][object] */ /* [unique][helpstring][uuid][object] */
EXTERN_C const IID IID_IMFContentEnabler; EXTERN_C const IID IID_IMFContentEnabler;
#if defined(__cplusplus) && !defined(CINTERFACE) #if defined(__cplusplus) && !defined(CINTERFACE)
skipping to change at line 4984 skipping to change at line 5951
#else /* C style interface */ #else /* C style interface */
typedef struct IMFContentEnablerVtbl typedef struct IMFContentEnablerVtbl
{ {
BEGIN_INTERFACE BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )( HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
__RPC__in IMFContentEnabler * This, __RPC__in IMFContentEnabler * This,
/* [in] */ __RPC__in REFIID riid, /* [in] */ __RPC__in REFIID riid,
/* [annotation][iid_is][out] */ /* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject); _COM_Outptr_ void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )( ULONG ( STDMETHODCALLTYPE *AddRef )(
__RPC__in IMFContentEnabler * This); __RPC__in IMFContentEnabler * This);
ULONG ( STDMETHODCALLTYPE *Release )( ULONG ( STDMETHODCALLTYPE *Release )(
__RPC__in IMFContentEnabler * This); __RPC__in IMFContentEnabler * This);
HRESULT ( STDMETHODCALLTYPE *GetEnableType )( HRESULT ( STDMETHODCALLTYPE *GetEnableType )(
__RPC__in IMFContentEnabler * This, __RPC__in IMFContentEnabler * This,
/* [out] */ __RPC__out GUID *pType); /* [out] */ __RPC__out GUID *pType);
skipping to change at line 5066 skipping to change at line 6033
#define IMFContentEnabler_Cancel(This) \ #define IMFContentEnabler_Cancel(This) \
( (This)->lpVtbl -> Cancel(This) ) ( (This)->lpVtbl -> Cancel(This) )
#endif /* COBJMACROS */ #endif /* COBJMACROS */
#endif /* C style interface */ #endif /* C style interface */
#endif /* __IMFContentEnabler_INTERFACE_DEFINED__ */ #endif /* __IMFContentEnabler_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_mfidl_0000_0024 */ /* interface __MIDL_itf_mfidl_0000_0028 */
/* [local] */ /* [local] */
EXTERN_GUID( MFENABLETYPE_WMDRMV1_LicenseAcquisition, 0x4ff6eeaf, 0xb43, 0x4797, 0x9b, 0x85, 0xab, 0xf3, 0x18, 0x15, 0xe7, 0xb0); EXTERN_GUID( MFENABLETYPE_WMDRMV1_LicenseAcquisition, 0x4ff6eeaf, 0xb43, 0x4797, 0x9b, 0x85, 0xab, 0xf3, 0x18, 0x15, 0xe7, 0xb0);
EXTERN_GUID( MFENABLETYPE_WMDRMV7_LicenseAcquisition, 0x3306df, 0x4a06, 0x4884,0 xa0, 0x97, 0xef, 0x6d, 0x22, 0xec, 0x84, 0xa3); EXTERN_GUID( MFENABLETYPE_WMDRMV7_LicenseAcquisition, 0x3306df, 0x4a06, 0x4884,0 xa0, 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_WMDRMV7_Individualization, 0xacd2c84a, 0xb303, 0x4f65, 0xbc, 0x2c, 0x2c, 0x84, 0x8d, 0x1, 0xa9, 0x89);
EXTERN_GUID( MFENABLETYPE_MF_UpdateRevocationInformation, 0xe558b0b5, 0xb3c4, 0x 44a0, 0x92, 0x4c, 0x50, 0xd1, 0x78, 0x93, 0x23, 0x85); EXTERN_GUID( MFENABLETYPE_MF_UpdateRevocationInformation, 0xe558b0b5, 0xb3c4, 0x 44a0, 0x92, 0x4c, 0x50, 0xd1, 0x78, 0x93, 0x23, 0x85);
EXTERN_GUID( MFENABLETYPE_MF_UpdateUntrustedComponent, 0x9879f3d6, 0xcee2, 0x48e 6, 0xb5, 0x73, 0x97, 0x67, 0xab, 0x17, 0x2f, 0x16); EXTERN_GUID( MFENABLETYPE_MF_UpdateUntrustedComponent, 0x9879f3d6, 0xcee2, 0x48e 6, 0xb5, 0x73, 0x97, 0x67, 0xab, 0x17, 0x2f, 0x16);
EXTERN_GUID( MFENABLETYPE_MF_RebootRequired, 0x6d4d3d4b, 0x0ece, 0x4652, 0x8b, 0 x3a, 0xf2, 0xd2, 0x42, 0x60, 0xd8, 0x87); EXTERN_GUID( MFENABLETYPE_MF_RebootRequired, 0x6d4d3d4b, 0x0ece, 0x4652, 0x8b, 0 x3a, 0xf2, 0xd2, 0x42, 0x60, 0xd8, 0x87);
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
// //
// Structs that contain information about revoked or unsigned binaries, // Structs that contain information about revoked or unsigned binaries,
// returned by the IMFContentEnabler::GetEnableData() method of // returned by the IMFContentEnabler::GetEnableData() method of
// the Revocation content enabler // the Revocation content enabler
// //
#ifndef MFRR_INFO_VERSION #ifndef MFRR_INFO_VERSION
#define MFRR_INFO_VERSION 0 #define MFRR_INFO_VERSION 0
#endif #endif
// //
// The values for MFRR_COMPONENT_HASH_INFO.ulReason // The values for MFRR_COMPONENT_HASH_INFO.ulReason
skipping to change at line 5100 skipping to change at line 6071
#define MF_GRL_ABSENT 0x00001000 #define MF_GRL_ABSENT 0x00001000
#define MF_COMPONENT_REVOKED 0x00002000 #define MF_COMPONENT_REVOKED 0x00002000
#define MF_COMPONENT_INVALID_EKU 0x00004000 #define MF_COMPONENT_INVALID_EKU 0x00004000
#define MF_COMPONENT_CERT_REVOKED 0x00008000 #define MF_COMPONENT_CERT_REVOKED 0x00008000
#define MF_COMPONENT_INVALID_ROOT 0x00010000 #define MF_COMPONENT_INVALID_ROOT 0x00010000
#define MF_COMPONENT_HS_CERT_REVOKED 0x00020000 #define MF_COMPONENT_HS_CERT_REVOKED 0x00020000
#define MF_COMPONENT_LS_CERT_REVOKED 0x00040000 #define MF_COMPONENT_LS_CERT_REVOKED 0x00040000
#define MF_BOOT_DRIVER_VERIFICATION_FAILED 0x00100000 #define MF_BOOT_DRIVER_VERIFICATION_FAILED 0x00100000
#define MF_TEST_SIGNED_COMPONENT_LOADING 0x01000000 #define MF_TEST_SIGNED_COMPONENT_LOADING 0x01000000
#define MF_MINCRYPT_FAILURE 0x10000000 #define MF_MINCRYPT_FAILURE 0x10000000
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
#pragma endregion
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
// //
// STR_HASH_LEN: Number of characters required to represent a SHA-1 hash // 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..." // (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 // 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 // we add in two leading characters "0x" as well as the NULL terminator
// //
#define SHA_HASH_LEN 20 #define SHA_HASH_LEN 20
#define STR_HASH_LEN (SHA_HASH_LEN*2 + 3) #define STR_HASH_LEN (SHA_HASH_LEN*2 + 3)
typedef struct _MFRR_COMPONENT_HASH_INFO typedef struct _MFRR_COMPONENT_HASH_INFO
{ {
skipping to change at line 5161 skipping to change at line 6136
typedef struct _ASFFlatSynchronisedLyrics typedef struct _ASFFlatSynchronisedLyrics
{ {
// //
// Direct mapped fields // Direct mapped fields
// //
BYTE bTimeStampFormat; BYTE bTimeStampFormat;
BYTE bContentType; BYTE bContentType;
DWORD dwLyricsLen; DWORD dwLyricsLen;
} ASF_FLAT_SYNCHRONISED_LYRICS; } ASF_FLAT_SYNCHRONISED_LYRICS;
#pragma pack ( pop ) #pragma pack ( pop )
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0024_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0028_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0024_v0_0_s_ifspec; extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0028_v0_0_s_ifspec;
#ifndef __IMFMetadata_INTERFACE_DEFINED__ #ifndef __IMFMetadata_INTERFACE_DEFINED__
#define __IMFMetadata_INTERFACE_DEFINED__ #define __IMFMetadata_INTERFACE_DEFINED__
/* interface IMFMetadata */ /* interface IMFMetadata */
/* [uuid][object] */ /* [uuid][object] */
EXTERN_C const IID IID_IMFMetadata; EXTERN_C const IID IID_IMFMetadata;
#if defined(__cplusplus) && !defined(CINTERFACE) #if defined(__cplusplus) && !defined(CINTERFACE)
skipping to change at line 5214 skipping to change at line 6193
#else /* C style interface */ #else /* C style interface */
typedef struct IMFMetadataVtbl typedef struct IMFMetadataVtbl
{ {
BEGIN_INTERFACE BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )( HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
__RPC__in IMFMetadata * This, __RPC__in IMFMetadata * This,
/* [in] */ __RPC__in REFIID riid, /* [in] */ __RPC__in REFIID riid,
/* [annotation][iid_is][out] */ /* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject); _COM_Outptr_ void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )( ULONG ( STDMETHODCALLTYPE *AddRef )(
__RPC__in IMFMetadata * This); __RPC__in IMFMetadata * This);
ULONG ( STDMETHODCALLTYPE *Release )( ULONG ( STDMETHODCALLTYPE *Release )(
__RPC__in IMFMetadata * This); __RPC__in IMFMetadata * This);
HRESULT ( STDMETHODCALLTYPE *SetLanguage )( HRESULT ( STDMETHODCALLTYPE *SetLanguage )(
__RPC__in IMFMetadata * This, __RPC__in IMFMetadata * This,
/* [in] */ __RPC__in LPCWSTR pwszRFC1766); /* [in] */ __RPC__in LPCWSTR pwszRFC1766);
skipping to change at line 5330 skipping to change at line 6309
#else /* C style interface */ #else /* C style interface */
typedef struct IMFMetadataProviderVtbl typedef struct IMFMetadataProviderVtbl
{ {
BEGIN_INTERFACE BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )( HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
__RPC__in IMFMetadataProvider * This, __RPC__in IMFMetadataProvider * This,
/* [in] */ __RPC__in REFIID riid, /* [in] */ __RPC__in REFIID riid,
/* [annotation][iid_is][out] */ /* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject); _COM_Outptr_ void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )( ULONG ( STDMETHODCALLTYPE *AddRef )(
__RPC__in IMFMetadataProvider * This); __RPC__in IMFMetadataProvider * This);
ULONG ( STDMETHODCALLTYPE *Release )( ULONG ( STDMETHODCALLTYPE *Release )(
__RPC__in IMFMetadataProvider * This); __RPC__in IMFMetadataProvider * This);
HRESULT ( STDMETHODCALLTYPE *GetMFMetadata )( HRESULT ( STDMETHODCALLTYPE *GetMFMetadata )(
__RPC__in IMFMetadataProvider * This, __RPC__in IMFMetadataProvider * This,
/* [in] */ __RPC__in_opt IMFPresentationDescriptor *pPresentationDes criptor, /* [in] */ __RPC__in_opt IMFPresentationDescriptor *pPresentationDes criptor,
skipping to change at line 5373 skipping to change at line 6352
#define IMFMetadataProvider_GetMFMetadata(This,pPresentationDescriptor,dwStreamI dentifier,dwFlags,ppMFMetadata) \ #define IMFMetadataProvider_GetMFMetadata(This,pPresentationDescriptor,dwStreamI dentifier,dwFlags,ppMFMetadata) \
( (This)->lpVtbl -> GetMFMetadata(This,pPresentationDescriptor,dwStreamIdent ifier,dwFlags,ppMFMetadata) ) ( (This)->lpVtbl -> GetMFMetadata(This,pPresentationDescriptor,dwStreamIdent ifier,dwFlags,ppMFMetadata) )
#endif /* COBJMACROS */ #endif /* COBJMACROS */
#endif /* C style interface */ #endif /* C style interface */
#endif /* __IMFMetadataProvider_INTERFACE_DEFINED__ */ #endif /* __IMFMetadataProvider_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_mfidl_0000_0026 */ /* interface __MIDL_itf_mfidl_0000_0030 */
/* [local] */ /* [local] */
EXTERN_GUID( MF_METADATA_PROVIDER_SERVICE, 0xdb214084, 0x58a4, 0x4d2e, 0xb8, 0x4 f, 0x6f, 0x75, 0x5b, 0x2f, 0x7a, 0xd); EXTERN_GUID( MF_METADATA_PROVIDER_SERVICE, 0xdb214084, 0x58a4, 0x4d2e, 0xb8, 0x4 f, 0x6f, 0x75, 0x5b, 0x2f, 0x7a, 0xd);
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
#pragma endregion
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
#if (WINVER >= _WIN32_WINNT_WIN7) #if (WINVER >= _WIN32_WINNT_WIN7)
EXTERN_GUID( MF_PROPERTY_HANDLER_SERVICE, 0xa3face02, 0x32b8, 0x41dd, 0x90, 0xe7 , 0x5f, 0xef, 0x7c, 0x89, 0x91, 0xb5); EXTERN_GUID( MF_PROPERTY_HANDLER_SERVICE, 0xa3face02, 0x32b8, 0x41dd, 0x90, 0xe7 , 0x5f, 0xef, 0x7c, 0x89, 0x91, 0xb5);
#endif // (WINVER >= _WIN32_WINNT_WIN7) #endif // (WINVER >= _WIN32_WINNT_WIN7)
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
typedef typedef
enum _MFRATE_DIRECTION enum _MFRATE_DIRECTION
{ MFRATE_FORWARD = 0, {
MFRATE_REVERSE = ( MFRATE_FORWARD + 1 ) MFRATE_FORWARD = 0,
MFRATE_REVERSE = ( MFRATE_FORWARD + 1 )
} MFRATE_DIRECTION; } MFRATE_DIRECTION;
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0026_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0030_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0026_v0_0_s_ifspec; extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0030_v0_0_s_ifspec;
#ifndef __IMFRateSupport_INTERFACE_DEFINED__ #ifndef __IMFRateSupport_INTERFACE_DEFINED__
#define __IMFRateSupport_INTERFACE_DEFINED__ #define __IMFRateSupport_INTERFACE_DEFINED__
/* interface IMFRateSupport */ /* interface IMFRateSupport */
/* [unique][uuid][object] */ /* [unique][uuid][object] */
EXTERN_C const IID IID_IMFRateSupport; EXTERN_C const IID IID_IMFRateSupport;
#if defined(__cplusplus) && !defined(CINTERFACE) #if defined(__cplusplus) && !defined(CINTERFACE)
skipping to change at line 5430 skipping to change at line 6418
#else /* C style interface */ #else /* C style interface */
typedef struct IMFRateSupportVtbl typedef struct IMFRateSupportVtbl
{ {
BEGIN_INTERFACE BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )( HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
__RPC__in IMFRateSupport * This, __RPC__in IMFRateSupport * This,
/* [in] */ __RPC__in REFIID riid, /* [in] */ __RPC__in REFIID riid,
/* [annotation][iid_is][out] */ /* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject); _COM_Outptr_ void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )( ULONG ( STDMETHODCALLTYPE *AddRef )(
__RPC__in IMFRateSupport * This); __RPC__in IMFRateSupport * This);
ULONG ( STDMETHODCALLTYPE *Release )( ULONG ( STDMETHODCALLTYPE *Release )(
__RPC__in IMFRateSupport * This); __RPC__in IMFRateSupport * This);
HRESULT ( STDMETHODCALLTYPE *GetSlowestRate )( HRESULT ( STDMETHODCALLTYPE *GetSlowestRate )(
__RPC__in IMFRateSupport * This, __RPC__in IMFRateSupport * This,
/* [in] */ MFRATE_DIRECTION eDirection, /* [in] */ MFRATE_DIRECTION eDirection,
skipping to change at line 5490 skipping to change at line 6478
#define IMFRateSupport_IsRateSupported(This,fThin,flRate,pflNearestSupportedRate ) \ #define IMFRateSupport_IsRateSupported(This,fThin,flRate,pflNearestSupportedRate ) \
( (This)->lpVtbl -> IsRateSupported(This,fThin,flRate,pflNearestSupportedRat e) ) ( (This)->lpVtbl -> IsRateSupported(This,fThin,flRate,pflNearestSupportedRat e) )
#endif /* COBJMACROS */ #endif /* COBJMACROS */
#endif /* C style interface */ #endif /* C style interface */
#endif /* __IMFRateSupport_INTERFACE_DEFINED__ */ #endif /* __IMFRateSupport_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_mfidl_0000_0027 */ /* interface __MIDL_itf_mfidl_0000_0031 */
/* [local] */ /* [local] */
EXTERN_GUID( MF_RATE_CONTROL_SERVICE, 0x866fa297, 0xb802, 0x4bf8, 0x9d, 0xc9, 0x 5e, 0x3b, 0x6a, 0x9f, 0x53, 0xc9); EXTERN_GUID( MF_RATE_CONTROL_SERVICE, 0x866fa297, 0xb802, 0x4bf8, 0x9d, 0xc9, 0x 5e, 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_0031_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0027_v0_0_s_ifspec; extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0031_v0_0_s_ifspec;
#ifndef __IMFRateControl_INTERFACE_DEFINED__ #ifndef __IMFRateControl_INTERFACE_DEFINED__
#define __IMFRateControl_INTERFACE_DEFINED__ #define __IMFRateControl_INTERFACE_DEFINED__
/* interface IMFRateControl */ /* interface IMFRateControl */
/* [unique][uuid][object] */ /* [unique][uuid][object] */
EXTERN_C const IID IID_IMFRateControl; EXTERN_C const IID IID_IMFRateControl;
#if defined(__cplusplus) && !defined(CINTERFACE) #if defined(__cplusplus) && !defined(CINTERFACE)
skipping to change at line 5532 skipping to change at line 6520
#else /* C style interface */ #else /* C style interface */
typedef struct IMFRateControlVtbl typedef struct IMFRateControlVtbl
{ {
BEGIN_INTERFACE BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )( HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
__RPC__in IMFRateControl * This, __RPC__in IMFRateControl * This,
/* [in] */ __RPC__in REFIID riid, /* [in] */ __RPC__in REFIID riid,
/* [annotation][iid_is][out] */ /* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject); _COM_Outptr_ void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )( ULONG ( STDMETHODCALLTYPE *AddRef )(
__RPC__in IMFRateControl * This); __RPC__in IMFRateControl * This);
ULONG ( STDMETHODCALLTYPE *Release )( ULONG ( STDMETHODCALLTYPE *Release )(
__RPC__in IMFRateControl * This); __RPC__in IMFRateControl * This);
HRESULT ( STDMETHODCALLTYPE *SetRate )( HRESULT ( STDMETHODCALLTYPE *SetRate )(
__RPC__in IMFRateControl * This, __RPC__in IMFRateControl * This,
/* [in] */ BOOL fThin, /* [in] */ BOOL fThin,
skipping to change at line 5581 skipping to change at line 6569
#define IMFRateControl_GetRate(This,pfThin,pflRate) \ #define IMFRateControl_GetRate(This,pfThin,pflRate) \
( (This)->lpVtbl -> GetRate(This,pfThin,pflRate) ) ( (This)->lpVtbl -> GetRate(This,pfThin,pflRate) )
#endif /* COBJMACROS */ #endif /* COBJMACROS */
#endif /* C style interface */ #endif /* C style interface */
#endif /* __IMFRateControl_INTERFACE_DEFINED__ */ #endif /* __IMFRateControl_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_mfidl_0000_0028 */ /* interface __MIDL_itf_mfidl_0000_0032 */
/* [local] */ /* [local] */
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
#pragma endregion
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
#if (WINVER >= _WIN32_WINNT_WIN7) #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_0032_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0028_v0_0_s_ifspec; extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0032_v0_0_s_ifspec;
#ifndef __IMFTimecodeTranslate_INTERFACE_DEFINED__ #ifndef __IMFTimecodeTranslate_INTERFACE_DEFINED__
#define __IMFTimecodeTranslate_INTERFACE_DEFINED__ #define __IMFTimecodeTranslate_INTERFACE_DEFINED__
/* interface IMFTimecodeTranslate */ /* interface IMFTimecodeTranslate */
/* [local][uuid][object] */ /* [local][uuid][object] */
EXTERN_C const IID IID_IMFTimecodeTranslate; EXTERN_C const IID IID_IMFTimecodeTranslate;
#if defined(__cplusplus) && !defined(CINTERFACE) #if defined(__cplusplus) && !defined(CINTERFACE)
skipping to change at line 5633 skipping to change at line 6625
#else /* C style interface */ #else /* C style interface */
typedef struct IMFTimecodeTranslateVtbl typedef struct IMFTimecodeTranslateVtbl
{ {
BEGIN_INTERFACE BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )( HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IMFTimecodeTranslate * This, IMFTimecodeTranslate * This,
/* [in] */ REFIID riid, /* [in] */ REFIID riid,
/* [annotation][iid_is][out] */ /* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject); _COM_Outptr_ void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )( ULONG ( STDMETHODCALLTYPE *AddRef )(
IMFTimecodeTranslate * This); IMFTimecodeTranslate * This);
ULONG ( STDMETHODCALLTYPE *Release )( ULONG ( STDMETHODCALLTYPE *Release )(
IMFTimecodeTranslate * This); IMFTimecodeTranslate * This);
HRESULT ( STDMETHODCALLTYPE *BeginConvertTimecodeToHNS )( HRESULT ( STDMETHODCALLTYPE *BeginConvertTimecodeToHNS )(
IMFTimecodeTranslate * This, IMFTimecodeTranslate * This,
/* [in] */ const PROPVARIANT *pPropVarTimecode, /* [in] */ const PROPVARIANT *pPropVarTimecode,
skipping to change at line 5700 skipping to change at line 6692
#define IMFTimecodeTranslate_EndConvertHNSToTimecode(This,pResult,pPropVarTimeco de) \ #define IMFTimecodeTranslate_EndConvertHNSToTimecode(This,pResult,pPropVarTimeco de) \
( (This)->lpVtbl -> EndConvertHNSToTimecode(This,pResult,pPropVarTimecode) ) ( (This)->lpVtbl -> EndConvertHNSToTimecode(This,pResult,pPropVarTimecode) )
#endif /* COBJMACROS */ #endif /* COBJMACROS */
#endif /* C style interface */ #endif /* C style interface */
#endif /* __IMFTimecodeTranslate_INTERFACE_DEFINED__ */ #endif /* __IMFTimecodeTranslate_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_mfidl_0000_0029 */ /* interface __MIDL_itf_mfidl_0000_0033 */
/* [local] */ /* [local] */
EXTERN_GUID( MF_TIMECODE_SERVICE, 0xa0d502a7, 0x0eb3, 0x4885, 0xb1, 0xb9, 0x9f, 0xeb, 0x0d, 0x08, 0x34, 0x54 ); EXTERN_GUID( MF_TIMECODE_SERVICE, 0xa0d502a7, 0x0eb3, 0x4885, 0xb1, 0xb9, 0x9f, 0xeb, 0x0d, 0x08, 0x34, 0x54 );
#endif // (WINVER >= _WIN32_WINNT_WIN7) #endif // (WINVER >= _WIN32_WINNT_WIN7)
#if (WINVER >= _WIN32_WINNT_WIN8)
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0029_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0033_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0029_v0_0_s_ifspec; extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0033_v0_0_s_ifspec;
#ifndef __IMFSeekInfo_INTERFACE_DEFINED__
#define __IMFSeekInfo_INTERFACE_DEFINED__
/* interface IMFSeekInfo */
/* [local][uuid][object] */
EXTERN_C const IID IID_IMFSeekInfo;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("26AFEA53-D9ED-42B5-AB80-E64F9EE34779")
IMFSeekInfo : public IUnknown
{
public:
virtual HRESULT STDMETHODCALLTYPE GetNearestKeyFrames(
/* [annotation][in] */
_In_ const GUID *pguidTimeFormat,
/* [annotation][in] */
_In_ const PROPVARIANT *pvarStartPosition,
/* [annotation][out] */
_Out_ PROPVARIANT *pvarPreviousKeyFrame,
/* [annotation][out] */
_Out_ PROPVARIANT *pvarNextKeyFrame) = 0;
};
#else /* C style interface */
typedef struct IMFSeekInfoVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IMFSeekInfo * This,
/* [in] */ REFIID riid,
/* [annotation][iid_is][out] */
_COM_Outptr_ void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
IMFSeekInfo * This);
ULONG ( STDMETHODCALLTYPE *Release )(
IMFSeekInfo * This);
HRESULT ( STDMETHODCALLTYPE *GetNearestKeyFrames )(
IMFSeekInfo * This,
/* [annotation][in] */
_In_ const GUID *pguidTimeFormat,
/* [annotation][in] */
_In_ const PROPVARIANT *pvarStartPosition,
/* [annotation][out] */
_Out_ PROPVARIANT *pvarPreviousKeyFrame,
/* [annotation][out] */
_Out_ PROPVARIANT *pvarNextKeyFrame);
END_INTERFACE
} IMFSeekInfoVtbl;
interface IMFSeekInfo
{
CONST_VTBL struct IMFSeekInfoVtbl *lpVtbl;
};
#ifdef COBJMACROS
#define IMFSeekInfo_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
#define IMFSeekInfo_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
#define IMFSeekInfo_Release(This) \
( (This)->lpVtbl -> Release(This) )
#define IMFSeekInfo_GetNearestKeyFrames(This,pguidTimeFormat,pvarStartPosition,p
varPreviousKeyFrame,pvarNextKeyFrame) \
( (This)->lpVtbl -> GetNearestKeyFrames(This,pguidTimeFormat,pvarStartPositi
on,pvarPreviousKeyFrame,pvarNextKeyFrame) )
#endif /* COBJMACROS */
#endif /* C style interface */
#endif /* __IMFSeekInfo_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_mfidl_0000_0034 */
/* [local] */
EXTERN_C const GUID MF_SCRUBBING_SERVICE;
#endif // (WINVER >= _WIN32_WINNT_WIN8)
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 __IMFSimpleAudioVolume_INTERFACE_DEFINED__ #ifndef __IMFSimpleAudioVolume_INTERFACE_DEFINED__
#define __IMFSimpleAudioVolume_INTERFACE_DEFINED__ #define __IMFSimpleAudioVolume_INTERFACE_DEFINED__
/* interface IMFSimpleAudioVolume */ /* interface IMFSimpleAudioVolume */
/* [uuid][object] */ /* [uuid][object] */
EXTERN_C const IID IID_IMFSimpleAudioVolume; EXTERN_C const IID IID_IMFSimpleAudioVolume;
#if defined(__cplusplus) && !defined(CINTERFACE) #if defined(__cplusplus) && !defined(CINTERFACE)
skipping to change at line 5747 skipping to change at line 6832
#else /* C style interface */ #else /* C style interface */
typedef struct IMFSimpleAudioVolumeVtbl typedef struct IMFSimpleAudioVolumeVtbl
{ {
BEGIN_INTERFACE BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )( HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
__RPC__in IMFSimpleAudioVolume * This, __RPC__in IMFSimpleAudioVolume * This,
/* [in] */ __RPC__in REFIID riid, /* [in] */ __RPC__in REFIID riid,
/* [annotation][iid_is][out] */ /* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject); _COM_Outptr_ void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )( ULONG ( STDMETHODCALLTYPE *AddRef )(
__RPC__in IMFSimpleAudioVolume * This); __RPC__in IMFSimpleAudioVolume * This);
ULONG ( STDMETHODCALLTYPE *Release )( ULONG ( STDMETHODCALLTYPE *Release )(
__RPC__in IMFSimpleAudioVolume * This); __RPC__in IMFSimpleAudioVolume * This);
HRESULT ( STDMETHODCALLTYPE *SetMasterVolume )( HRESULT ( STDMETHODCALLTYPE *SetMasterVolume )(
__RPC__in IMFSimpleAudioVolume * This, __RPC__in IMFSimpleAudioVolume * This,
/* [in] */ float fLevel); /* [in] */ float fLevel);
skipping to change at line 5808 skipping to change at line 6893
#define IMFSimpleAudioVolume_GetMute(This,pbMute) \ #define IMFSimpleAudioVolume_GetMute(This,pbMute) \
( (This)->lpVtbl -> GetMute(This,pbMute) ) ( (This)->lpVtbl -> GetMute(This,pbMute) )
#endif /* COBJMACROS */ #endif /* COBJMACROS */
#endif /* C style interface */ #endif /* C style interface */
#endif /* __IMFSimpleAudioVolume_INTERFACE_DEFINED__ */ #endif /* __IMFSimpleAudioVolume_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_mfidl_0000_0030 */ /* interface __MIDL_itf_mfidl_0000_0035 */
/* [local] */ /* [local] */
EXTERN_GUID( MR_POLICY_VOLUME_SERVICE, 0x1abaa2ac, 0x9d3b, 0x47c6, 0xab, 0x48, 0 xc5, 0x95, 0x6, 0xde, 0x78, 0x4d); EXTERN_GUID( MR_POLICY_VOLUME_SERVICE, 0x1abaa2ac, 0x9d3b, 0x47c6, 0xab, 0x48, 0 xc5, 0x95, 0x6, 0xde, 0x78, 0x4d);
#if (WINVER >= _WIN32_WINNT_WIN8)
EXTERN_GUID( MR_CAPTURE_POLICY_VOLUME_SERVICE, 0x24030acd, 0x107a, 0x4265, 0x97,
0x5c, 0x41, 0x4e, 0x33, 0xe6, 0x5f, 0x2a);
#endif // (WINVER >= _WIN32_WINNT_WIN8)
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0030_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0035_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0030_v0_0_s_ifspec; extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0035_v0_0_s_ifspec;
#ifndef __IMFAudioStreamVolume_INTERFACE_DEFINED__ #ifndef __IMFAudioStreamVolume_INTERFACE_DEFINED__
#define __IMFAudioStreamVolume_INTERFACE_DEFINED__ #define __IMFAudioStreamVolume_INTERFACE_DEFINED__
/* interface IMFAudioStreamVolume */ /* interface IMFAudioStreamVolume */
/* [uuid][object] */ /* [uuid][object] */
EXTERN_C const IID IID_IMFAudioStreamVolume; EXTERN_C const IID IID_IMFAudioStreamVolume;
#if defined(__cplusplus) && !defined(CINTERFACE) #if defined(__cplusplus) && !defined(CINTERFACE)
skipping to change at line 5861 skipping to change at line 6949
#else /* C style interface */ #else /* C style interface */
typedef struct IMFAudioStreamVolumeVtbl typedef struct IMFAudioStreamVolumeVtbl
{ {
BEGIN_INTERFACE BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )( HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
__RPC__in IMFAudioStreamVolume * This, __RPC__in IMFAudioStreamVolume * This,
/* [in] */ __RPC__in REFIID riid, /* [in] */ __RPC__in REFIID riid,
/* [annotation][iid_is][out] */ /* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject); _COM_Outptr_ void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )( ULONG ( STDMETHODCALLTYPE *AddRef )(
__RPC__in IMFAudioStreamVolume * This); __RPC__in IMFAudioStreamVolume * This);
ULONG ( STDMETHODCALLTYPE *Release )( ULONG ( STDMETHODCALLTYPE *Release )(
__RPC__in IMFAudioStreamVolume * This); __RPC__in IMFAudioStreamVolume * This);
HRESULT ( STDMETHODCALLTYPE *GetChannelCount )( HRESULT ( STDMETHODCALLTYPE *GetChannelCount )(
__RPC__in IMFAudioStreamVolume * This, __RPC__in IMFAudioStreamVolume * This,
/* [out] */ __RPC__out UINT32 *pdwCount); /* [out] */ __RPC__out UINT32 *pdwCount);
skipping to change at line 5933 skipping to change at line 7021
#define IMFAudioStreamVolume_GetAllVolumes(This,dwCount,pfVolumes) \ #define IMFAudioStreamVolume_GetAllVolumes(This,dwCount,pfVolumes) \
( (This)->lpVtbl -> GetAllVolumes(This,dwCount,pfVolumes) ) ( (This)->lpVtbl -> GetAllVolumes(This,dwCount,pfVolumes) )
#endif /* COBJMACROS */ #endif /* COBJMACROS */
#endif /* C style interface */ #endif /* C style interface */
#endif /* __IMFAudioStreamVolume_INTERFACE_DEFINED__ */ #endif /* __IMFAudioStreamVolume_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_mfidl_0000_0031 */ /* interface __MIDL_itf_mfidl_0000_0036 */
/* [local] */ /* [local] */
EXTERN_GUID( MR_STREAM_VOLUME_SERVICE, 0xf8b5fa2f, 0x32ef, 0x46f5, 0xb1, 0x72, 0 x13, 0x21, 0x21, 0x2f, 0xb2, 0xc4); EXTERN_GUID( MR_STREAM_VOLUME_SERVICE, 0xf8b5fa2f, 0x32ef, 0x46f5, 0xb1, 0x72, 0 x13, 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_0036_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0031_v0_0_s_ifspec; extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0036_v0_0_s_ifspec;
#ifndef __IMFAudioPolicy_INTERFACE_DEFINED__ #ifndef __IMFAudioPolicy_INTERFACE_DEFINED__
#define __IMFAudioPolicy_INTERFACE_DEFINED__ #define __IMFAudioPolicy_INTERFACE_DEFINED__
/* interface IMFAudioPolicy */ /* interface IMFAudioPolicy */
/* [local][uuid][object] */ /* [local][uuid][object] */
EXTERN_C const IID IID_IMFAudioPolicy; EXTERN_C const IID IID_IMFAudioPolicy;
#if defined(__cplusplus) && !defined(CINTERFACE) #if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("a0638c2b-6465-4395-9ae7-a321a9fd2856") MIDL_INTERFACE("a0638c2b-6465-4395-9ae7-a321a9fd2856")
IMFAudioPolicy : public IUnknown IMFAudioPolicy : public IUnknown
{ {
public: public:
virtual HRESULT STDMETHODCALLTYPE SetGroupingParam( virtual HRESULT STDMETHODCALLTYPE SetGroupingParam(
/* [in] */ REFGUID rguidClass) = 0; /* [in] */ REFGUID rguidClass) = 0;
virtual HRESULT STDMETHODCALLTYPE GetGroupingParam( virtual HRESULT STDMETHODCALLTYPE GetGroupingParam(
/* [annotation][out] */ /* [annotation][out] */
__out GUID *pguidClass) = 0; _Out_ GUID *pguidClass) = 0;
virtual HRESULT STDMETHODCALLTYPE SetDisplayName( virtual HRESULT STDMETHODCALLTYPE SetDisplayName(
/* [in] */ LPCWSTR pszName) = 0; /* [in] */ LPCWSTR pszName) = 0;
virtual HRESULT STDMETHODCALLTYPE GetDisplayName( virtual HRESULT STDMETHODCALLTYPE GetDisplayName(
/* [annotation][out] */ /* [annotation][out] */
__deref_out LPWSTR *pszName) = 0; _Outptr_ LPWSTR *pszName) = 0;
virtual HRESULT STDMETHODCALLTYPE SetIconPath( virtual HRESULT STDMETHODCALLTYPE SetIconPath(
/* [in] */ LPCWSTR pszPath) = 0; /* [in] */ LPCWSTR pszPath) = 0;
virtual HRESULT STDMETHODCALLTYPE GetIconPath( virtual HRESULT STDMETHODCALLTYPE GetIconPath(
/* [annotation][out] */ /* [annotation][out] */
__deref_out LPWSTR *pszPath) = 0; _Outptr_ LPWSTR *pszPath) = 0;
}; };
#else /* C style interface */ #else /* C style interface */
typedef struct IMFAudioPolicyVtbl typedef struct IMFAudioPolicyVtbl
{ {
BEGIN_INTERFACE BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )( HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IMFAudioPolicy * This, IMFAudioPolicy * This,
/* [in] */ REFIID riid, /* [in] */ REFIID riid,
/* [annotation][iid_is][out] */ /* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject); _COM_Outptr_ void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )( ULONG ( STDMETHODCALLTYPE *AddRef )(
IMFAudioPolicy * This); IMFAudioPolicy * This);
ULONG ( STDMETHODCALLTYPE *Release )( ULONG ( STDMETHODCALLTYPE *Release )(
IMFAudioPolicy * This); IMFAudioPolicy * This);
HRESULT ( STDMETHODCALLTYPE *SetGroupingParam )( HRESULT ( STDMETHODCALLTYPE *SetGroupingParam )(
IMFAudioPolicy * This, IMFAudioPolicy * This,
/* [in] */ REFGUID rguidClass); /* [in] */ REFGUID rguidClass);
HRESULT ( STDMETHODCALLTYPE *GetGroupingParam )( HRESULT ( STDMETHODCALLTYPE *GetGroupingParam )(
IMFAudioPolicy * This, IMFAudioPolicy * This,
/* [annotation][out] */ /* [annotation][out] */
__out GUID *pguidClass); _Out_ GUID *pguidClass);
HRESULT ( STDMETHODCALLTYPE *SetDisplayName )( HRESULT ( STDMETHODCALLTYPE *SetDisplayName )(
IMFAudioPolicy * This, IMFAudioPolicy * This,
/* [in] */ LPCWSTR pszName); /* [in] */ LPCWSTR pszName);
HRESULT ( STDMETHODCALLTYPE *GetDisplayName )( HRESULT ( STDMETHODCALLTYPE *GetDisplayName )(
IMFAudioPolicy * This, IMFAudioPolicy * This,
/* [annotation][out] */ /* [annotation][out] */
__deref_out LPWSTR *pszName); _Outptr_ LPWSTR *pszName);
HRESULT ( STDMETHODCALLTYPE *SetIconPath )( HRESULT ( STDMETHODCALLTYPE *SetIconPath )(
IMFAudioPolicy * This, IMFAudioPolicy * This,
/* [in] */ LPCWSTR pszPath); /* [in] */ LPCWSTR pszPath);
HRESULT ( STDMETHODCALLTYPE *GetIconPath )( HRESULT ( STDMETHODCALLTYPE *GetIconPath )(
IMFAudioPolicy * This, IMFAudioPolicy * This,
/* [annotation][out] */ /* [annotation][out] */
__deref_out LPWSTR *pszPath); _Outptr_ LPWSTR *pszPath);
END_INTERFACE END_INTERFACE
} IMFAudioPolicyVtbl; } IMFAudioPolicyVtbl;
interface IMFAudioPolicy interface IMFAudioPolicy
{ {
CONST_VTBL struct IMFAudioPolicyVtbl *lpVtbl; CONST_VTBL struct IMFAudioPolicyVtbl *lpVtbl;
}; };
#ifdef COBJMACROS #ifdef COBJMACROS
skipping to change at line 6066 skipping to change at line 7154
#define IMFAudioPolicy_GetIconPath(This,pszPath) \ #define IMFAudioPolicy_GetIconPath(This,pszPath) \
( (This)->lpVtbl -> GetIconPath(This,pszPath) ) ( (This)->lpVtbl -> GetIconPath(This,pszPath) )
#endif /* COBJMACROS */ #endif /* COBJMACROS */
#endif /* C style interface */ #endif /* C style interface */
#endif /* __IMFAudioPolicy_INTERFACE_DEFINED__ */ #endif /* __IMFAudioPolicy_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_mfidl_0000_0032 */ /* interface __MIDL_itf_mfidl_0000_0037 */
/* [local] */ /* [local] */
EXTERN_GUID( MR_AUDIO_POLICY_SERVICE, 0x911fd737, 0x6775, 0x4ab0, 0xa6, 0x14, 0x 29, 0x78, 0x62, 0xfd, 0xac, 0x88); EXTERN_GUID( MR_AUDIO_POLICY_SERVICE, 0x911fd737, 0x6775, 0x4ab0, 0xa6, 0x14, 0x 29, 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_0037_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0032_v0_0_s_ifspec; extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0037_v0_0_s_ifspec;
#ifndef __IMFSampleGrabberSinkCallback_INTERFACE_DEFINED__ #ifndef __IMFSampleGrabberSinkCallback_INTERFACE_DEFINED__
#define __IMFSampleGrabberSinkCallback_INTERFACE_DEFINED__ #define __IMFSampleGrabberSinkCallback_INTERFACE_DEFINED__
/* interface IMFSampleGrabberSinkCallback */ /* interface IMFSampleGrabberSinkCallback */
/* [local][uuid][object] */ /* [local][uuid][object] */
EXTERN_C const IID IID_IMFSampleGrabberSinkCallback; EXTERN_C const IID IID_IMFSampleGrabberSinkCallback;
#if defined(__cplusplus) && !defined(CINTERFACE) #if defined(__cplusplus) && !defined(CINTERFACE)
skipping to change at line 6097 skipping to change at line 7185
public: public:
virtual HRESULT STDMETHODCALLTYPE OnSetPresentationClock( virtual HRESULT STDMETHODCALLTYPE OnSetPresentationClock(
/* [in] */ IMFPresentationClock *pPresentationClock) = 0; /* [in] */ IMFPresentationClock *pPresentationClock) = 0;
virtual HRESULT STDMETHODCALLTYPE OnProcessSample( virtual HRESULT STDMETHODCALLTYPE OnProcessSample(
/* [in] */ REFGUID guidMajorMediaType, /* [in] */ REFGUID guidMajorMediaType,
/* [in] */ DWORD dwSampleFlags, /* [in] */ DWORD dwSampleFlags,
/* [in] */ LONGLONG llSampleTime, /* [in] */ LONGLONG llSampleTime,
/* [in] */ LONGLONG llSampleDuration, /* [in] */ LONGLONG llSampleDuration,
/* [annotation][in] */ /* [annotation][in] */
__in_bcount(dwSampleSize) const BYTE *pSampleBuffer, _In_reads_bytes_(dwSampleSize) const BYTE *pSampleBuffer,
/* [in] */ DWORD dwSampleSize) = 0; /* [in] */ DWORD dwSampleSize) = 0;
virtual HRESULT STDMETHODCALLTYPE OnShutdown( void) = 0; virtual HRESULT STDMETHODCALLTYPE OnShutdown( void) = 0;
}; };
#else /* C style interface */ #else /* C style interface */
typedef struct IMFSampleGrabberSinkCallbackVtbl typedef struct IMFSampleGrabberSinkCallbackVtbl
{ {
BEGIN_INTERFACE BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )( HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IMFSampleGrabberSinkCallback * This, IMFSampleGrabberSinkCallback * This,
/* [in] */ REFIID riid, /* [in] */ REFIID riid,
/* [annotation][iid_is][out] */ /* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject); _COM_Outptr_ void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )( ULONG ( STDMETHODCALLTYPE *AddRef )(
IMFSampleGrabberSinkCallback * This); IMFSampleGrabberSinkCallback * This);
ULONG ( STDMETHODCALLTYPE *Release )( ULONG ( STDMETHODCALLTYPE *Release )(
IMFSampleGrabberSinkCallback * This); IMFSampleGrabberSinkCallback * This);
HRESULT ( STDMETHODCALLTYPE *OnClockStart )( HRESULT ( STDMETHODCALLTYPE *OnClockStart )(
IMFSampleGrabberSinkCallback * This, IMFSampleGrabberSinkCallback * This,
/* [in] */ MFTIME hnsSystemTime, /* [in] */ MFTIME hnsSystemTime,
skipping to change at line 6155 skipping to change at line 7243
IMFSampleGrabberSinkCallback * This, IMFSampleGrabberSinkCallback * This,
/* [in] */ IMFPresentationClock *pPresentationClock); /* [in] */ IMFPresentationClock *pPresentationClock);
HRESULT ( STDMETHODCALLTYPE *OnProcessSample )( HRESULT ( STDMETHODCALLTYPE *OnProcessSample )(
IMFSampleGrabberSinkCallback * This, IMFSampleGrabberSinkCallback * This,
/* [in] */ REFGUID guidMajorMediaType, /* [in] */ REFGUID guidMajorMediaType,
/* [in] */ DWORD dwSampleFlags, /* [in] */ DWORD dwSampleFlags,
/* [in] */ LONGLONG llSampleTime, /* [in] */ LONGLONG llSampleTime,
/* [in] */ LONGLONG llSampleDuration, /* [in] */ LONGLONG llSampleDuration,
/* [annotation][in] */ /* [annotation][in] */
__in_bcount(dwSampleSize) const BYTE *pSampleBuffer, _In_reads_bytes_(dwSampleSize) const BYTE *pSampleBuffer,
/* [in] */ DWORD dwSampleSize); /* [in] */ DWORD dwSampleSize);
HRESULT ( STDMETHODCALLTYPE *OnShutdown )( HRESULT ( STDMETHODCALLTYPE *OnShutdown )(
IMFSampleGrabberSinkCallback * This); IMFSampleGrabberSinkCallback * This);
END_INTERFACE END_INTERFACE
} IMFSampleGrabberSinkCallbackVtbl; } IMFSampleGrabberSinkCallbackVtbl;
interface IMFSampleGrabberSinkCallback interface IMFSampleGrabberSinkCallback
{ {
skipping to change at line 6210 skipping to change at line 7298
#define IMFSampleGrabberSinkCallback_OnShutdown(This) \ #define IMFSampleGrabberSinkCallback_OnShutdown(This) \
( (This)->lpVtbl -> OnShutdown(This) ) ( (This)->lpVtbl -> OnShutdown(This) )
#endif /* COBJMACROS */ #endif /* COBJMACROS */
#endif /* C style interface */ #endif /* C style interface */
#endif /* __IMFSampleGrabberSinkCallback_INTERFACE_DEFINED__ */ #endif /* __IMFSampleGrabberSinkCallback_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_mfidl_0000_0033 */ /* interface __MIDL_itf_mfidl_0000_0038 */
/* [local] */ /* [local] */
STDAPI STDAPI
MFCreateSampleGrabberSinkActivate( MFCreateSampleGrabberSinkActivate(
IMFMediaType *pIMFMediaType, IMFMediaType *pIMFMediaType,
IMFSampleGrabberSinkCallback* pIMFSampleGrabberSinkCallback, IMFSampleGrabberSinkCallback* pIMFSampleGrabberSinkCallback,
__out IMFActivate** ppIActivate _Outptr_ IMFActivate** ppIActivate
); );
EXTERN_GUID( MF_SAMPLEGRABBERSINK_SAMPLE_TIME_OFFSET, 0x62e3d776, 0x8100, 0x4e03 , 0xa6, 0xe8, 0xbd, 0x38, 0x57, 0xac, 0x9c, 0x47); EXTERN_GUID( MF_SAMPLEGRABBERSINK_SAMPLE_TIME_OFFSET, 0x62e3d776, 0x8100, 0x4e03 , 0xa6, 0xe8, 0xbd, 0x38, 0x57, 0xac, 0x9c, 0x47);
#if (WINVER >= _WIN32_WINNT_WIN7) #if (WINVER >= _WIN32_WINNT_WIN7)
EXTERN_GUID( MF_SAMPLEGRABBERSINK_IGNORE_CLOCK, 0x0efda2c0, 0x2b69, 0x4e2e, 0xab , 0x8d, 0x46, 0xdc, 0xbf, 0xf7, 0xd2, 0x5d); 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_0038_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0033_v0_0_s_ifspec; extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0038_v0_0_s_ifspec;
#ifndef __IMFSampleGrabberSinkCallback2_INTERFACE_DEFINED__ #ifndef __IMFSampleGrabberSinkCallback2_INTERFACE_DEFINED__
#define __IMFSampleGrabberSinkCallback2_INTERFACE_DEFINED__ #define __IMFSampleGrabberSinkCallback2_INTERFACE_DEFINED__
/* interface IMFSampleGrabberSinkCallback2 */ /* interface IMFSampleGrabberSinkCallback2 */
/* [local][uuid][object] */ /* [local][uuid][object] */
EXTERN_C const IID IID_IMFSampleGrabberSinkCallback2; EXTERN_C const IID IID_IMFSampleGrabberSinkCallback2;
#if defined(__cplusplus) && !defined(CINTERFACE) #if defined(__cplusplus) && !defined(CINTERFACE)
skipping to change at line 6246 skipping to change at line 7334
MIDL_INTERFACE("ca86aa50-c46e-429e-ab27-16d6ac6844cb") MIDL_INTERFACE("ca86aa50-c46e-429e-ab27-16d6ac6844cb")
IMFSampleGrabberSinkCallback2 : public IMFSampleGrabberSinkCallback IMFSampleGrabberSinkCallback2 : public IMFSampleGrabberSinkCallback
{ {
public: public:
virtual HRESULT STDMETHODCALLTYPE OnProcessSampleEx( virtual HRESULT STDMETHODCALLTYPE OnProcessSampleEx(
/* [in] */ REFGUID guidMajorMediaType, /* [in] */ REFGUID guidMajorMediaType,
/* [in] */ DWORD dwSampleFlags, /* [in] */ DWORD dwSampleFlags,
/* [in] */ LONGLONG llSampleTime, /* [in] */ LONGLONG llSampleTime,
/* [in] */ LONGLONG llSampleDuration, /* [in] */ LONGLONG llSampleDuration,
/* [annotation][in] */ /* [annotation][in] */
__in_bcount(dwSampleSize) const BYTE *pSampleBuffer, _In_reads_bytes_(dwSampleSize) const BYTE *pSampleBuffer,
/* [in] */ DWORD dwSampleSize, /* [in] */ DWORD dwSampleSize,
/* [annotation][in] */ /* [annotation][in] */
__in IMFAttributes *pAttributes) = 0; _In_ IMFAttributes *pAttributes) = 0;
}; };
#else /* C style interface */ #else /* C style interface */
typedef struct IMFSampleGrabberSinkCallback2Vtbl typedef struct IMFSampleGrabberSinkCallback2Vtbl
{ {
BEGIN_INTERFACE BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )( HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IMFSampleGrabberSinkCallback2 * This, IMFSampleGrabberSinkCallback2 * This,
/* [in] */ REFIID riid, /* [in] */ REFIID riid,
/* [annotation][iid_is][out] */ /* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject); _COM_Outptr_ void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )( ULONG ( STDMETHODCALLTYPE *AddRef )(
IMFSampleGrabberSinkCallback2 * This); IMFSampleGrabberSinkCallback2 * This);
ULONG ( STDMETHODCALLTYPE *Release )( ULONG ( STDMETHODCALLTYPE *Release )(
IMFSampleGrabberSinkCallback2 * This); IMFSampleGrabberSinkCallback2 * This);
HRESULT ( STDMETHODCALLTYPE *OnClockStart )( HRESULT ( STDMETHODCALLTYPE *OnClockStart )(
IMFSampleGrabberSinkCallback2 * This, IMFSampleGrabberSinkCallback2 * This,
/* [in] */ MFTIME hnsSystemTime, /* [in] */ MFTIME hnsSystemTime,
skipping to change at line 6304 skipping to change at line 7392
IMFSampleGrabberSinkCallback2 * This, IMFSampleGrabberSinkCallback2 * This,
/* [in] */ IMFPresentationClock *pPresentationClock); /* [in] */ IMFPresentationClock *pPresentationClock);
HRESULT ( STDMETHODCALLTYPE *OnProcessSample )( HRESULT ( STDMETHODCALLTYPE *OnProcessSample )(
IMFSampleGrabberSinkCallback2 * This, IMFSampleGrabberSinkCallback2 * This,
/* [in] */ REFGUID guidMajorMediaType, /* [in] */ REFGUID guidMajorMediaType,
/* [in] */ DWORD dwSampleFlags, /* [in] */ DWORD dwSampleFlags,
/* [in] */ LONGLONG llSampleTime, /* [in] */ LONGLONG llSampleTime,
/* [in] */ LONGLONG llSampleDuration, /* [in] */ LONGLONG llSampleDuration,
/* [annotation][in] */ /* [annotation][in] */
__in_bcount(dwSampleSize) const BYTE *pSampleBuffer, _In_reads_bytes_(dwSampleSize) const BYTE *pSampleBuffer,
/* [in] */ DWORD dwSampleSize); /* [in] */ DWORD dwSampleSize);
HRESULT ( STDMETHODCALLTYPE *OnShutdown )( HRESULT ( STDMETHODCALLTYPE *OnShutdown )(
IMFSampleGrabberSinkCallback2 * This); IMFSampleGrabberSinkCallback2 * This);
HRESULT ( STDMETHODCALLTYPE *OnProcessSampleEx )( HRESULT ( STDMETHODCALLTYPE *OnProcessSampleEx )(
IMFSampleGrabberSinkCallback2 * This, IMFSampleGrabberSinkCallback2 * This,
/* [in] */ REFGUID guidMajorMediaType, /* [in] */ REFGUID guidMajorMediaType,
/* [in] */ DWORD dwSampleFlags, /* [in] */ DWORD dwSampleFlags,
/* [in] */ LONGLONG llSampleTime, /* [in] */ LONGLONG llSampleTime,
/* [in] */ LONGLONG llSampleDuration, /* [in] */ LONGLONG llSampleDuration,
/* [annotation][in] */ /* [annotation][in] */
__in_bcount(dwSampleSize) const BYTE *pSampleBuffer, _In_reads_bytes_(dwSampleSize) const BYTE *pSampleBuffer,
/* [in] */ DWORD dwSampleSize, /* [in] */ DWORD dwSampleSize,
/* [annotation][in] */ /* [annotation][in] */
__in IMFAttributes *pAttributes); _In_ IMFAttributes *pAttributes);
END_INTERFACE END_INTERFACE
} IMFSampleGrabberSinkCallback2Vtbl; } IMFSampleGrabberSinkCallback2Vtbl;
interface IMFSampleGrabberSinkCallback2 interface IMFSampleGrabberSinkCallback2
{ {
CONST_VTBL struct IMFSampleGrabberSinkCallback2Vtbl *lpVtbl; CONST_VTBL struct IMFSampleGrabberSinkCallback2Vtbl *lpVtbl;
}; };
#ifdef COBJMACROS #ifdef COBJMACROS
skipping to change at line 6374 skipping to change at line 7462
#define IMFSampleGrabberSinkCallback2_OnProcessSampleEx(This,guidMajorMediaType, dwSampleFlags,llSampleTime,llSampleDuration,pSampleBuffer,dwSampleSize,pAttribut es) \ #define IMFSampleGrabberSinkCallback2_OnProcessSampleEx(This,guidMajorMediaType, dwSampleFlags,llSampleTime,llSampleDuration,pSampleBuffer,dwSampleSize,pAttribut es) \
( (This)->lpVtbl -> OnProcessSampleEx(This,guidMajorMediaType,dwSampleFlags, llSampleTime,llSampleDuration,pSampleBuffer,dwSampleSize,pAttributes) ) ( (This)->lpVtbl -> OnProcessSampleEx(This,guidMajorMediaType,dwSampleFlags, llSampleTime,llSampleDuration,pSampleBuffer,dwSampleSize,pAttributes) )
#endif /* COBJMACROS */ #endif /* COBJMACROS */
#endif /* C style interface */ #endif /* C style interface */
#endif /* __IMFSampleGrabberSinkCallback2_INTERFACE_DEFINED__ */ #endif /* __IMFSampleGrabberSinkCallback2_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_mfidl_0000_0034 */ /* interface __MIDL_itf_mfidl_0000_0039 */
/* [local] */ /* [local] */
#endif // (WINVER >= _WIN32_WINNT_WIN7) #endif // (WINVER >= _WIN32_WINNT_WIN7)
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
EXTERN_GUID( MF_QUALITY_SERVICES, 0xb7e2be11, 0x2f96, 0x4640, 0xb5, 0x2c, 0x28, 0x23, 0x65, 0xbd, 0xf1, 0x6c); EXTERN_GUID( MF_QUALITY_SERVICES, 0xb7e2be11, 0x2f96, 0x4640, 0xb5, 0x2c, 0x28, 0x23, 0x65, 0xbd, 0xf1, 0x6c);
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
#pragma endregion
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0034_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0039_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0034_v0_0_s_ifspec; extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0039_v0_0_s_ifspec;
#ifndef __IMFWorkQueueServices_INTERFACE_DEFINED__ #ifndef __IMFWorkQueueServices_INTERFACE_DEFINED__
#define __IMFWorkQueueServices_INTERFACE_DEFINED__ #define __IMFWorkQueueServices_INTERFACE_DEFINED__
/* interface IMFWorkQueueServices */ /* interface IMFWorkQueueServices */
/* [uuid][object] */ /* [uuid][object] */
EXTERN_C const IID IID_IMFWorkQueueServices; EXTERN_C const IID IID_IMFWorkQueueServices;
#if defined(__cplusplus) && !defined(CINTERFACE) #if defined(__cplusplus) && !defined(CINTERFACE)
skipping to change at line 6430 skipping to change at line 7526
virtual /* [local] */ HRESULT STDMETHODCALLTYPE BeginRegisterPlatformWor kQueueWithMMCSS( virtual /* [local] */ HRESULT STDMETHODCALLTYPE BeginRegisterPlatformWor kQueueWithMMCSS(
/* [in] */ DWORD dwPlatformWorkQueue, /* [in] */ DWORD dwPlatformWorkQueue,
/* [in] */ LPCWSTR wszClass, /* [in] */ LPCWSTR wszClass,
/* [in] */ DWORD dwTaskId, /* [in] */ DWORD dwTaskId,
/* [in] */ IMFAsyncCallback *pCallback, /* [in] */ IMFAsyncCallback *pCallback,
/* [in] */ IUnknown *pState) = 0; /* [in] */ IUnknown *pState) = 0;
virtual /* [local] */ HRESULT STDMETHODCALLTYPE EndRegisterPlatformWorkQ ueueWithMMCSS( virtual /* [local] */ HRESULT STDMETHODCALLTYPE EndRegisterPlatformWorkQ ueueWithMMCSS(
/* [in] */ IMFAsyncResult *pResult, /* [in] */ IMFAsyncResult *pResult,
/* [annotation][out] */ /* [annotation][out] */
__out DWORD *pdwTaskId) = 0; _Out_ DWORD *pdwTaskId) = 0;
virtual /* [local] */ HRESULT STDMETHODCALLTYPE BeginUnregisterPlatformW orkQueueWithMMCSS( virtual /* [local] */ HRESULT STDMETHODCALLTYPE BeginUnregisterPlatformW orkQueueWithMMCSS(
/* [in] */ DWORD dwPlatformWorkQueue, /* [in] */ DWORD dwPlatformWorkQueue,
/* [in] */ IMFAsyncCallback *pCallback, /* [in] */ IMFAsyncCallback *pCallback,
/* [in] */ IUnknown *pState) = 0; /* [in] */ IUnknown *pState) = 0;
virtual /* [local] */ HRESULT STDMETHODCALLTYPE EndUnregisterPlatformWor kQueueWithMMCSS( virtual /* [local] */ HRESULT STDMETHODCALLTYPE EndUnregisterPlatformWor kQueueWithMMCSS(
/* [in] */ IMFAsyncResult *pResult) = 0; /* [in] */ IMFAsyncResult *pResult) = 0;
virtual HRESULT STDMETHODCALLTYPE GetPlaftormWorkQueueMMCSSClass( virtual HRESULT STDMETHODCALLTYPE GetPlaftormWorkQueueMMCSSClass(
skipping to change at line 6461 skipping to change at line 7557
#else /* C style interface */ #else /* C style interface */
typedef struct IMFWorkQueueServicesVtbl typedef struct IMFWorkQueueServicesVtbl
{ {
BEGIN_INTERFACE BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )( HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
__RPC__in IMFWorkQueueServices * This, __RPC__in IMFWorkQueueServices * This,
/* [in] */ __RPC__in REFIID riid, /* [in] */ __RPC__in REFIID riid,
/* [annotation][iid_is][out] */ /* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject); _COM_Outptr_ void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )( ULONG ( STDMETHODCALLTYPE *AddRef )(
__RPC__in IMFWorkQueueServices * This); __RPC__in IMFWorkQueueServices * This);
ULONG ( STDMETHODCALLTYPE *Release )( ULONG ( STDMETHODCALLTYPE *Release )(
__RPC__in IMFWorkQueueServices * This); __RPC__in IMFWorkQueueServices * This);
/* [local] */ HRESULT ( STDMETHODCALLTYPE *BeginRegisterTopologyWorkQueu esWithMMCSS )( /* [local] */ HRESULT ( STDMETHODCALLTYPE *BeginRegisterTopologyWorkQueu esWithMMCSS )(
IMFWorkQueueServices * This, IMFWorkQueueServices * This,
/* [in] */ IMFAsyncCallback *pCallback, /* [in] */ IMFAsyncCallback *pCallback,
skipping to change at line 6510 skipping to change at line 7606
/* [in] */ DWORD dwPlatformWorkQueue, /* [in] */ DWORD dwPlatformWorkQueue,
/* [in] */ LPCWSTR wszClass, /* [in] */ LPCWSTR wszClass,
/* [in] */ DWORD dwTaskId, /* [in] */ DWORD dwTaskId,
/* [in] */ IMFAsyncCallback *pCallback, /* [in] */ IMFAsyncCallback *pCallback,
/* [in] */ IUnknown *pState); /* [in] */ IUnknown *pState);
/* [local] */ HRESULT ( STDMETHODCALLTYPE *EndRegisterPlatformWorkQueueW ithMMCSS )( /* [local] */ HRESULT ( STDMETHODCALLTYPE *EndRegisterPlatformWorkQueueW ithMMCSS )(
IMFWorkQueueServices * This, IMFWorkQueueServices * This,
/* [in] */ IMFAsyncResult *pResult, /* [in] */ IMFAsyncResult *pResult,
/* [annotation][out] */ /* [annotation][out] */
__out DWORD *pdwTaskId); _Out_ DWORD *pdwTaskId);
/* [local] */ HRESULT ( STDMETHODCALLTYPE *BeginUnregisterPlatformWorkQu eueWithMMCSS )( /* [local] */ HRESULT ( STDMETHODCALLTYPE *BeginUnregisterPlatformWorkQu eueWithMMCSS )(
IMFWorkQueueServices * This, IMFWorkQueueServices * This,
/* [in] */ DWORD dwPlatformWorkQueue, /* [in] */ DWORD dwPlatformWorkQueue,
/* [in] */ IMFAsyncCallback *pCallback, /* [in] */ IMFAsyncCallback *pCallback,
/* [in] */ IUnknown *pState); /* [in] */ IUnknown *pState);
/* [local] */ HRESULT ( STDMETHODCALLTYPE *EndUnregisterPlatformWorkQueu eWithMMCSS )( /* [local] */ HRESULT ( STDMETHODCALLTYPE *EndUnregisterPlatformWorkQueu eWithMMCSS )(
IMFWorkQueueServices * This, IMFWorkQueueServices * This,
/* [in] */ IMFAsyncResult *pResult); /* [in] */ IMFAsyncResult *pResult);
skipping to change at line 6679 skipping to change at line 7775
/* [in] */ __RPC__in_opt IUnknown *pResult); /* [in] */ __RPC__in_opt IUnknown *pResult);
void __RPC_STUB IMFWorkQueueServices_RemoteEndUnregisterPlatformWorkQueueWithMMC SS_Stub( void __RPC_STUB IMFWorkQueueServices_RemoteEndUnregisterPlatformWorkQueueWithMMC SS_Stub(
IRpcStubBuffer *This, IRpcStubBuffer *This,
IRpcChannelBuffer *_pRpcChannelBuffer, IRpcChannelBuffer *_pRpcChannelBuffer,
PRPC_MESSAGE _pRpcMessage, PRPC_MESSAGE _pRpcMessage,
DWORD *_pdwStubPhase); DWORD *_pdwStubPhase);
#endif /* __IMFWorkQueueServices_INTERFACE_DEFINED__ */ #endif /* __IMFWorkQueueServices_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_mfidl_0000_0035 */ /* interface __MIDL_itf_mfidl_0000_0040 */
/* [local] */ /* [local] */
EXTERN_GUID( MF_WORKQUEUE_SERVICES, 0x8e37d489, 0x41e0, 0x413a, 0x90, 0x68, 0x28 , 0x7c, 0x88, 0x6d, 0x8d, 0xda); EXTERN_GUID( MF_WORKQUEUE_SERVICES, 0x8e37d489, 0x41e0, 0x413a, 0x90, 0x68, 0x28 , 0x7c, 0x88, 0x6d, 0x8d, 0xda);
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 __IMFWorkQueueServicesEx_INTERFACE_DEFINED__
#define __IMFWorkQueueServicesEx_INTERFACE_DEFINED__
/* interface IMFWorkQueueServicesEx */
/* [uuid][object] */
EXTERN_C const IID IID_IMFWorkQueueServicesEx;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("96bf961b-40fe-42f1-ba9d-320238b49700")
IMFWorkQueueServicesEx : public IMFWorkQueueServices
{
public:
virtual HRESULT STDMETHODCALLTYPE GetTopologyWorkQueueMMCSSPriority(
/* [in] */ DWORD dwTopologyWorkQueueId,
/* [out] */ __RPC__out LONG *plPriority) = 0;
virtual /* [local] */ HRESULT STDMETHODCALLTYPE BeginRegisterPlatformWor
kQueueWithMMCSSEx(
/* [in] */ DWORD dwPlatformWorkQueue,
/* [in] */ LPCWSTR wszClass,
/* [in] */ DWORD dwTaskId,
/* [in] */ LONG lPriority,
/* [in] */ IMFAsyncCallback *pCallback,
/* [in] */ IUnknown *pState) = 0;
virtual HRESULT STDMETHODCALLTYPE GetPlatformWorkQueueMMCSSPriority(
/* [in] */ DWORD dwPlatformWorkQueueId,
/* [out] */ __RPC__out LONG *plPriority) = 0;
};
#else /* C style interface */
typedef struct IMFWorkQueueServicesExVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
__RPC__in IMFWorkQueueServicesEx * This,
/* [in] */ __RPC__in REFIID riid,
/* [annotation][iid_is][out] */
_COM_Outptr_ void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
__RPC__in IMFWorkQueueServicesEx * This);
ULONG ( STDMETHODCALLTYPE *Release )(
__RPC__in IMFWorkQueueServicesEx * This);
/* [local] */ HRESULT ( STDMETHODCALLTYPE *BeginRegisterTopologyWorkQueu
esWithMMCSS )(
IMFWorkQueueServicesEx * This,
/* [in] */ IMFAsyncCallback *pCallback,
/* [in] */ IUnknown *pState);
/* [local] */ HRESULT ( STDMETHODCALLTYPE *EndRegisterTopologyWorkQueues
WithMMCSS )(
IMFWorkQueueServicesEx * This,
/* [in] */ IMFAsyncResult *pResult);
/* [local] */ HRESULT ( STDMETHODCALLTYPE *BeginUnregisterTopologyWorkQu
euesWithMMCSS )(
IMFWorkQueueServicesEx * This,
/* [in] */ IMFAsyncCallback *pCallback,
/* [in] */ IUnknown *pState);
/* [local] */ HRESULT ( STDMETHODCALLTYPE *EndUnregisterTopologyWorkQueu
esWithMMCSS )(
IMFWorkQueueServicesEx * This,
/* [in] */ IMFAsyncResult *pResult);
HRESULT ( STDMETHODCALLTYPE *GetTopologyWorkQueueMMCSSClass )(
__RPC__in IMFWorkQueueServicesEx * This,
/* [in] */ DWORD dwTopologyWorkQueueId,
/* [size_is][out] */ __RPC__out_ecount_full(*pcchClass) LPWSTR pwszC
lass,
/* [out][in] */ __RPC__inout DWORD *pcchClass);
HRESULT ( STDMETHODCALLTYPE *GetTopologyWorkQueueMMCSSTaskId )(
__RPC__in IMFWorkQueueServicesEx * This,
/* [in] */ DWORD dwTopologyWorkQueueId,
/* [out] */ __RPC__out DWORD *pdwTaskId);
/* [local] */ HRESULT ( STDMETHODCALLTYPE *BeginRegisterPlatformWorkQueu
eWithMMCSS )(
IMFWorkQueueServicesEx * This,
/* [in] */ DWORD dwPlatformWorkQueue,
/* [in] */ LPCWSTR wszClass,
/* [in] */ DWORD dwTaskId,
/* [in] */ IMFAsyncCallback *pCallback,
/* [in] */ IUnknown *pState);
/* [local] */ HRESULT ( STDMETHODCALLTYPE *EndRegisterPlatformWorkQueueW
ithMMCSS )(
IMFWorkQueueServicesEx * This,
/* [in] */ IMFAsyncResult *pResult,
/* [annotation][out] */
_Out_ DWORD *pdwTaskId);
/* [local] */ HRESULT ( STDMETHODCALLTYPE *BeginUnregisterPlatformWorkQu
eueWithMMCSS )(
IMFWorkQueueServicesEx * This,
/* [in] */ DWORD dwPlatformWorkQueue,
/* [in] */ IMFAsyncCallback *pCallback,
/* [in] */ IUnknown *pState);
/* [local] */ HRESULT ( STDMETHODCALLTYPE *EndUnregisterPlatformWorkQueu
eWithMMCSS )(
IMFWorkQueueServicesEx * This,
/* [in] */ IMFAsyncResult *pResult);
HRESULT ( STDMETHODCALLTYPE *GetPlaftormWorkQueueMMCSSClass )(
__RPC__in IMFWorkQueueServicesEx * This,
/* [in] */ DWORD dwPlatformWorkQueueId,
/* [size_is][out] */ __RPC__out_ecount_full(*pcchClass) LPWSTR pwszC
lass,
/* [out][in] */ __RPC__inout DWORD *pcchClass);
HRESULT ( STDMETHODCALLTYPE *GetPlatformWorkQueueMMCSSTaskId )(
__RPC__in IMFWorkQueueServicesEx * This,
/* [in] */ DWORD dwPlatformWorkQueueId,
/* [out] */ __RPC__out DWORD *pdwTaskId);
HRESULT ( STDMETHODCALLTYPE *GetTopologyWorkQueueMMCSSPriority )(
__RPC__in IMFWorkQueueServicesEx * This,
/* [in] */ DWORD dwTopologyWorkQueueId,
/* [out] */ __RPC__out LONG *plPriority);
/* [local] */ HRESULT ( STDMETHODCALLTYPE *BeginRegisterPlatformWorkQueu
eWithMMCSSEx )(
IMFWorkQueueServicesEx * This,
/* [in] */ DWORD dwPlatformWorkQueue,
/* [in] */ LPCWSTR wszClass,
/* [in] */ DWORD dwTaskId,
/* [in] */ LONG lPriority,
/* [in] */ IMFAsyncCallback *pCallback,
/* [in] */ IUnknown *pState);
HRESULT ( STDMETHODCALLTYPE *GetPlatformWorkQueueMMCSSPriority )(
__RPC__in IMFWorkQueueServicesEx * This,
/* [in] */ DWORD dwPlatformWorkQueueId,
/* [out] */ __RPC__out LONG *plPriority);
END_INTERFACE
} IMFWorkQueueServicesExVtbl;
interface IMFWorkQueueServicesEx
{
CONST_VTBL struct IMFWorkQueueServicesExVtbl *lpVtbl;
};
#ifdef COBJMACROS
#define IMFWorkQueueServicesEx_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
#define IMFWorkQueueServicesEx_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
#define IMFWorkQueueServicesEx_Release(This) \
( (This)->lpVtbl -> Release(This) )
#define IMFWorkQueueServicesEx_BeginRegisterTopologyWorkQueuesWithMMCSS(This,pCa
llback,pState) \
( (This)->lpVtbl -> BeginRegisterTopologyWorkQueuesWithMMCSS(This,pCallback,
pState) )
#define IMFWorkQueueServicesEx_EndRegisterTopologyWorkQueuesWithMMCSS(This,pResu
lt) \
( (This)->lpVtbl -> EndRegisterTopologyWorkQueuesWithMMCSS(This,pResult) )
#define IMFWorkQueueServicesEx_BeginUnregisterTopologyWorkQueuesWithMMCSS(This,p
Callback,pState) \
( (This)->lpVtbl -> BeginUnregisterTopologyWorkQueuesWithMMCSS(This,pCallbac
k,pState) )
#define IMFWorkQueueServicesEx_EndUnregisterTopologyWorkQueuesWithMMCSS(This,pRe
sult) \
( (This)->lpVtbl -> EndUnregisterTopologyWorkQueuesWithMMCSS(This,pResult) )
#define IMFWorkQueueServicesEx_GetTopologyWorkQueueMMCSSClass(This,dwTopologyWor
kQueueId,pwszClass,pcchClass) \
( (This)->lpVtbl -> GetTopologyWorkQueueMMCSSClass(This,dwTopologyWorkQueueI
d,pwszClass,pcchClass) )
#define IMFWorkQueueServicesEx_GetTopologyWorkQueueMMCSSTaskId(This,dwTopologyWo
rkQueueId,pdwTaskId) \
( (This)->lpVtbl -> GetTopologyWorkQueueMMCSSTaskId(This,dwTopologyWorkQueue
Id,pdwTaskId) )
#define IMFWorkQueueServicesEx_BeginRegisterPlatformWorkQueueWithMMCSS(This,dwPl
atformWorkQueue,wszClass,dwTaskId,pCallback,pState) \
( (This)->lpVtbl -> BeginRegisterPlatformWorkQueueWithMMCSS(This,dwPlatformW
orkQueue,wszClass,dwTaskId,pCallback,pState) )
#define IMFWorkQueueServicesEx_EndRegisterPlatformWorkQueueWithMMCSS(This,pResul
t,pdwTaskId) \
( (This)->lpVtbl -> EndRegisterPlatformWorkQueueWithMMCSS(This,pResult,pdwTa
skId) )
#define IMFWorkQueueServicesEx_BeginUnregisterPlatformWorkQueueWithMMCSS(This,dw
PlatformWorkQueue,pCallback,pState) \
( (This)->lpVtbl -> BeginUnregisterPlatformWorkQueueWithMMCSS(This,dwPlatfor
mWorkQueue,pCallback,pState) )
#define IMFWorkQueueServicesEx_EndUnregisterPlatformWorkQueueWithMMCSS(This,pRes
ult) \
( (This)->lpVtbl -> EndUnregisterPlatformWorkQueueWithMMCSS(This,pResult) )
#define IMFWorkQueueServicesEx_GetPlaftormWorkQueueMMCSSClass(This,dwPlatformWor
kQueueId,pwszClass,pcchClass) \
( (This)->lpVtbl -> GetPlaftormWorkQueueMMCSSClass(This,dwPlatformWorkQueueI
d,pwszClass,pcchClass) )
#define IMFWorkQueueServicesEx_GetPlatformWorkQueueMMCSSTaskId(This,dwPlatformWo
rkQueueId,pdwTaskId) \
( (This)->lpVtbl -> GetPlatformWorkQueueMMCSSTaskId(This,dwPlatformWorkQueue
Id,pdwTaskId) )
#define IMFWorkQueueServicesEx_GetTopologyWorkQueueMMCSSPriority(This,dwTopology
WorkQueueId,plPriority) \
( (This)->lpVtbl -> GetTopologyWorkQueueMMCSSPriority(This,dwTopologyWorkQue
ueId,plPriority) )
#define IMFWorkQueueServicesEx_BeginRegisterPlatformWorkQueueWithMMCSSEx(This,dw
PlatformWorkQueue,wszClass,dwTaskId,lPriority,pCallback,pState) \
( (This)->lpVtbl -> BeginRegisterPlatformWorkQueueWithMMCSSEx(This,dwPlatfor
mWorkQueue,wszClass,dwTaskId,lPriority,pCallback,pState) )
#define IMFWorkQueueServicesEx_GetPlatformWorkQueueMMCSSPriority(This,dwPlatform
WorkQueueId,plPriority) \
( (This)->lpVtbl -> GetPlatformWorkQueueMMCSSPriority(This,dwPlatformWorkQue
ueId,plPriority) )
#endif /* COBJMACROS */
#endif /* C style interface */
/* [call_as] */ HRESULT STDMETHODCALLTYPE IMFWorkQueueServicesEx_RemoteBeginRegi
sterPlatformWorkQueueWithMMCSSEx_Proxy(
__RPC__in IMFWorkQueueServicesEx * This,
/* [in] */ DWORD dwPlatformWorkQueue,
/* [in] */ __RPC__in LPCWSTR wszClass,
/* [in] */ DWORD dwTaskId,
/* [in] */ LONG lPriority,
/* [in] */ __RPC__in_opt IMFRemoteAsyncCallback *pCallback);
void __RPC_STUB IMFWorkQueueServicesEx_RemoteBeginRegisterPlatformWorkQueueWithM
MCSSEx_Stub(
IRpcStubBuffer *This,
IRpcChannelBuffer *_pRpcChannelBuffer,
PRPC_MESSAGE _pRpcMessage,
DWORD *_pdwStubPhase);
#endif /* __IMFWorkQueueServicesEx_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_mfidl_0000_0041 */
/* [local] */
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
typedef typedef
enum _MF_QUALITY_DROP_MODE enum _MF_QUALITY_DROP_MODE
{ MF_DROP_MODE_NONE = 0, {
MF_DROP_MODE_1 = 0x1, MF_DROP_MODE_NONE = 0,
MF_DROP_MODE_2 = 0x2, MF_DROP_MODE_1 = 0x1,
MF_DROP_MODE_3 = 0x3, MF_DROP_MODE_2 = 0x2,
MF_DROP_MODE_4 = 0x4, MF_DROP_MODE_3 = 0x3,
MF_DROP_MODE_5 = 0x5, MF_DROP_MODE_4 = 0x4,
MF_NUM_DROP_MODES = 0x6 MF_DROP_MODE_5 = 0x5,
MF_NUM_DROP_MODES = 0x6
} MF_QUALITY_DROP_MODE; } MF_QUALITY_DROP_MODE;
typedef typedef
enum _MF_QUALITY_LEVEL enum _MF_QUALITY_LEVEL
{ MF_QUALITY_NORMAL = 0, {
MF_QUALITY_NORMAL_MINUS_1 = 0x1, MF_QUALITY_NORMAL = 0,
MF_QUALITY_NORMAL_MINUS_2 = 0x2, MF_QUALITY_NORMAL_MINUS_1 = 0x1,
MF_QUALITY_NORMAL_MINUS_3 = 0x3, MF_QUALITY_NORMAL_MINUS_2 = 0x2,
MF_QUALITY_NORMAL_MINUS_4 = 0x4, MF_QUALITY_NORMAL_MINUS_3 = 0x3,
MF_QUALITY_NORMAL_MINUS_5 = 0x5, MF_QUALITY_NORMAL_MINUS_4 = 0x4,
MF_NUM_QUALITY_LEVELS = 0x6 MF_QUALITY_NORMAL_MINUS_5 = 0x5,
MF_NUM_QUALITY_LEVELS = 0x6
} MF_QUALITY_LEVEL; } MF_QUALITY_LEVEL;
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
#pragma endregion
#if (WINVER >= _WIN32_WINNT_WIN7) #if (WINVER >= _WIN32_WINNT_WIN7)
#pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
typedef typedef
enum _MF_QUALITY_ADVISE_FLAGS enum _MF_QUALITY_ADVISE_FLAGS
{ MF_QUALITY_CANNOT_KEEP_UP = 0x1 {
MF_QUALITY_CANNOT_KEEP_UP = 0x1
} MF_QUALITY_ADVISE_FLAGS; } MF_QUALITY_ADVISE_FLAGS;
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
#pragma endregion
#endif // (WINVER >= _WIN32_WINNT_WIN7) #endif // (WINVER >= _WIN32_WINNT_WIN7)
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0035_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0041_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0035_v0_0_s_ifspec; extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0041_v0_0_s_ifspec;
#ifndef __IMFQualityManager_INTERFACE_DEFINED__ #ifndef __IMFQualityManager_INTERFACE_DEFINED__
#define __IMFQualityManager_INTERFACE_DEFINED__ #define __IMFQualityManager_INTERFACE_DEFINED__
/* interface IMFQualityManager */ /* interface IMFQualityManager */
/* [local][uuid][object] */ /* [local][uuid][object] */
EXTERN_C const IID IID_IMFQualityManager; EXTERN_C const IID IID_IMFQualityManager;
#if defined(__cplusplus) && !defined(CINTERFACE) #if defined(__cplusplus) && !defined(CINTERFACE)
skipping to change at line 6764 skipping to change at line 8099
#else /* C style interface */ #else /* C style interface */
typedef struct IMFQualityManagerVtbl typedef struct IMFQualityManagerVtbl
{ {
BEGIN_INTERFACE BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )( HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IMFQualityManager * This, IMFQualityManager * This,
/* [in] */ REFIID riid, /* [in] */ REFIID riid,
/* [annotation][iid_is][out] */ /* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject); _COM_Outptr_ void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )( ULONG ( STDMETHODCALLTYPE *AddRef )(
IMFQualityManager * This); IMFQualityManager * This);
ULONG ( STDMETHODCALLTYPE *Release )( ULONG ( STDMETHODCALLTYPE *Release )(
IMFQualityManager * This); IMFQualityManager * This);
HRESULT ( STDMETHODCALLTYPE *NotifyTopology )( HRESULT ( STDMETHODCALLTYPE *NotifyTopology )(
IMFQualityManager * This, IMFQualityManager * This,
/* [in] */ IMFTopology *pTopology); /* [in] */ IMFTopology *pTopology);
skipping to change at line 6843 skipping to change at line 8178
#define IMFQualityManager_Shutdown(This) \ #define IMFQualityManager_Shutdown(This) \
( (This)->lpVtbl -> Shutdown(This) ) ( (This)->lpVtbl -> Shutdown(This) )
#endif /* COBJMACROS */ #endif /* COBJMACROS */
#endif /* C style interface */ #endif /* C style interface */
#endif /* __IMFQualityManager_INTERFACE_DEFINED__ */ #endif /* __IMFQualityManager_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_mfidl_0000_0036 */ /* interface __MIDL_itf_mfidl_0000_0042 */
/* [local] */ /* [local] */
STDAPI MFCreateStandardQualityManager( STDAPI MFCreateStandardQualityManager(
__out IMFQualityManager **ppQualityManager ); _Outptr_ IMFQualityManager **ppQualityManager );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
EXTERN_GUID( MF_QUALITY_NOTIFY_PROCESSING_LATENCY, 0xf6b44af8, 0x604d, 0x46fe, 0 xa9, 0x5d, 0x45, 0x47, 0x9b, 0x10, 0xc9, 0xbc ); EXTERN_GUID( MF_QUALITY_NOTIFY_PROCESSING_LATENCY, 0xf6b44af8, 0x604d, 0x46fe, 0 xa9, 0x5d, 0x45, 0x47, 0x9b, 0x10, 0xc9, 0xbc );
EXTERN_GUID( MF_QUALITY_NOTIFY_SAMPLE_LAG, 0x30d15206, 0xed2a, 0x4760, 0xbe, 0x1 7, 0xeb, 0x4a, 0x9f, 0x12, 0x29, 0x5c ); EXTERN_GUID( MF_QUALITY_NOTIFY_SAMPLE_LAG, 0x30d15206, 0xed2a, 0x4760, 0xbe, 0x1 7, 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_0042_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0036_v0_0_s_ifspec; extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0042_v0_0_s_ifspec;
#ifndef __IMFQualityAdvise_INTERFACE_DEFINED__ #ifndef __IMFQualityAdvise_INTERFACE_DEFINED__
#define __IMFQualityAdvise_INTERFACE_DEFINED__ #define __IMFQualityAdvise_INTERFACE_DEFINED__
/* interface IMFQualityAdvise */ /* interface IMFQualityAdvise */
/* [uuid][object] */ /* [uuid][object] */
EXTERN_C const IID IID_IMFQualityAdvise; EXTERN_C const IID IID_IMFQualityAdvise;
#if defined(__cplusplus) && !defined(CINTERFACE) #if defined(__cplusplus) && !defined(CINTERFACE)
skipping to change at line 6876 skipping to change at line 8215
{ {
public: public:
virtual HRESULT STDMETHODCALLTYPE SetDropMode( virtual HRESULT STDMETHODCALLTYPE SetDropMode(
/* [in] */ MF_QUALITY_DROP_MODE eDropMode) = 0; /* [in] */ MF_QUALITY_DROP_MODE eDropMode) = 0;
virtual HRESULT STDMETHODCALLTYPE SetQualityLevel( virtual HRESULT STDMETHODCALLTYPE SetQualityLevel(
/* [in] */ MF_QUALITY_LEVEL eQualityLevel) = 0; /* [in] */ MF_QUALITY_LEVEL eQualityLevel) = 0;
virtual HRESULT STDMETHODCALLTYPE GetDropMode( virtual HRESULT STDMETHODCALLTYPE GetDropMode(
/* [annotation][out] */ /* [annotation][out] */
__out MF_QUALITY_DROP_MODE *peDropMode) = 0; _Out_ MF_QUALITY_DROP_MODE *peDropMode) = 0;
virtual HRESULT STDMETHODCALLTYPE GetQualityLevel( virtual HRESULT STDMETHODCALLTYPE GetQualityLevel(
/* [annotation][out] */ /* [annotation][out] */
__out MF_QUALITY_LEVEL *peQualityLevel) = 0; _Out_ MF_QUALITY_LEVEL *peQualityLevel) = 0;
virtual HRESULT STDMETHODCALLTYPE DropTime( virtual HRESULT STDMETHODCALLTYPE DropTime(
/* [in] */ LONGLONG hnsAmountToDrop) = 0; /* [in] */ LONGLONG hnsAmountToDrop) = 0;
}; };
#else /* C style interface */ #else /* C style interface */
typedef struct IMFQualityAdviseVtbl typedef struct IMFQualityAdviseVtbl
{ {
BEGIN_INTERFACE BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )( HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
__RPC__in IMFQualityAdvise * This, __RPC__in IMFQualityAdvise * This,
/* [in] */ __RPC__in REFIID riid, /* [in] */ __RPC__in REFIID riid,
/* [annotation][iid_is][out] */ /* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject); _COM_Outptr_ void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )( ULONG ( STDMETHODCALLTYPE *AddRef )(
__RPC__in IMFQualityAdvise * This); __RPC__in IMFQualityAdvise * This);
ULONG ( STDMETHODCALLTYPE *Release )( ULONG ( STDMETHODCALLTYPE *Release )(
__RPC__in IMFQualityAdvise * This); __RPC__in IMFQualityAdvise * This);
HRESULT ( STDMETHODCALLTYPE *SetDropMode )( HRESULT ( STDMETHODCALLTYPE *SetDropMode )(
__RPC__in IMFQualityAdvise * This, __RPC__in IMFQualityAdvise * This,
/* [in] */ MF_QUALITY_DROP_MODE eDropMode); /* [in] */ MF_QUALITY_DROP_MODE eDropMode);
HRESULT ( STDMETHODCALLTYPE *SetQualityLevel )( HRESULT ( STDMETHODCALLTYPE *SetQualityLevel )(
__RPC__in IMFQualityAdvise * This, __RPC__in IMFQualityAdvise * This,
/* [in] */ MF_QUALITY_LEVEL eQualityLevel); /* [in] */ MF_QUALITY_LEVEL eQualityLevel);
HRESULT ( STDMETHODCALLTYPE *GetDropMode )( HRESULT ( STDMETHODCALLTYPE *GetDropMode )(
__RPC__in IMFQualityAdvise * This, __RPC__in IMFQualityAdvise * This,
/* [annotation][out] */ /* [annotation][out] */
__out MF_QUALITY_DROP_MODE *peDropMode); _Out_ MF_QUALITY_DROP_MODE *peDropMode);
HRESULT ( STDMETHODCALLTYPE *GetQualityLevel )( HRESULT ( STDMETHODCALLTYPE *GetQualityLevel )(
__RPC__in IMFQualityAdvise * This, __RPC__in IMFQualityAdvise * This,
/* [annotation][out] */ /* [annotation][out] */
__out MF_QUALITY_LEVEL *peQualityLevel); _Out_ MF_QUALITY_LEVEL *peQualityLevel);
HRESULT ( STDMETHODCALLTYPE *DropTime )( HRESULT ( STDMETHODCALLTYPE *DropTime )(
__RPC__in IMFQualityAdvise * This, __RPC__in IMFQualityAdvise * This,
/* [in] */ LONGLONG hnsAmountToDrop); /* [in] */ LONGLONG hnsAmountToDrop);
END_INTERFACE END_INTERFACE
} IMFQualityAdviseVtbl; } IMFQualityAdviseVtbl;
interface IMFQualityAdvise interface IMFQualityAdvise
{ {
skipping to change at line 6967 skipping to change at line 8306
#define IMFQualityAdvise_DropTime(This,hnsAmountToDrop) \ #define IMFQualityAdvise_DropTime(This,hnsAmountToDrop) \
( (This)->lpVtbl -> DropTime(This,hnsAmountToDrop) ) ( (This)->lpVtbl -> DropTime(This,hnsAmountToDrop) )
#endif /* COBJMACROS */ #endif /* COBJMACROS */
#endif /* C style interface */ #endif /* C style interface */
#endif /* __IMFQualityAdvise_INTERFACE_DEFINED__ */ #endif /* __IMFQualityAdvise_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_mfidl_0000_0037 */ /* interface __MIDL_itf_mfidl_0000_0043 */
/* [local] */ /* [local] */
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
#pragma endregion
#if (WINVER >= _WIN32_WINNT_WIN7) #if (WINVER >= _WIN32_WINNT_WIN7)
#pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0037_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0043_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0037_v0_0_s_ifspec; extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0043_v0_0_s_ifspec;
#ifndef __IMFQualityAdvise2_INTERFACE_DEFINED__ #ifndef __IMFQualityAdvise2_INTERFACE_DEFINED__
#define __IMFQualityAdvise2_INTERFACE_DEFINED__ #define __IMFQualityAdvise2_INTERFACE_DEFINED__
/* interface IMFQualityAdvise2 */ /* interface IMFQualityAdvise2 */
/* [uuid][object] */ /* [uuid][object] */
EXTERN_C const IID IID_IMFQualityAdvise2; EXTERN_C const IID IID_IMFQualityAdvise2;
#if defined(__cplusplus) && !defined(CINTERFACE) #if defined(__cplusplus) && !defined(CINTERFACE)
skipping to change at line 7005 skipping to change at line 8348
#else /* C style interface */ #else /* C style interface */
typedef struct IMFQualityAdvise2Vtbl typedef struct IMFQualityAdvise2Vtbl
{ {
BEGIN_INTERFACE BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )( HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
__RPC__in IMFQualityAdvise2 * This, __RPC__in IMFQualityAdvise2 * This,
/* [in] */ __RPC__in REFIID riid, /* [in] */ __RPC__in REFIID riid,
/* [annotation][iid_is][out] */ /* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject); _COM_Outptr_ void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )( ULONG ( STDMETHODCALLTYPE *AddRef )(
__RPC__in IMFQualityAdvise2 * This); __RPC__in IMFQualityAdvise2 * This);
ULONG ( STDMETHODCALLTYPE *Release )( ULONG ( STDMETHODCALLTYPE *Release )(
__RPC__in IMFQualityAdvise2 * This); __RPC__in IMFQualityAdvise2 * This);
HRESULT ( STDMETHODCALLTYPE *SetDropMode )( HRESULT ( STDMETHODCALLTYPE *SetDropMode )(
__RPC__in IMFQualityAdvise2 * This, __RPC__in IMFQualityAdvise2 * This,
/* [in] */ MF_QUALITY_DROP_MODE eDropMode); /* [in] */ MF_QUALITY_DROP_MODE eDropMode);
HRESULT ( STDMETHODCALLTYPE *SetQualityLevel )( HRESULT ( STDMETHODCALLTYPE *SetQualityLevel )(
__RPC__in IMFQualityAdvise2 * This, __RPC__in IMFQualityAdvise2 * This,
/* [in] */ MF_QUALITY_LEVEL eQualityLevel); /* [in] */ MF_QUALITY_LEVEL eQualityLevel);
HRESULT ( STDMETHODCALLTYPE *GetDropMode )( HRESULT ( STDMETHODCALLTYPE *GetDropMode )(
__RPC__in IMFQualityAdvise2 * This, __RPC__in IMFQualityAdvise2 * This,
/* [annotation][out] */ /* [annotation][out] */
__out MF_QUALITY_DROP_MODE *peDropMode); _Out_ MF_QUALITY_DROP_MODE *peDropMode);
HRESULT ( STDMETHODCALLTYPE *GetQualityLevel )( HRESULT ( STDMETHODCALLTYPE *GetQualityLevel )(
__RPC__in IMFQualityAdvise2 * This, __RPC__in IMFQualityAdvise2 * This,
/* [annotation][out] */ /* [annotation][out] */
__out MF_QUALITY_LEVEL *peQualityLevel); _Out_ MF_QUALITY_LEVEL *peQualityLevel);
HRESULT ( STDMETHODCALLTYPE *DropTime )( HRESULT ( STDMETHODCALLTYPE *DropTime )(
__RPC__in IMFQualityAdvise2 * This, __RPC__in IMFQualityAdvise2 * This,
/* [in] */ LONGLONG hnsAmountToDrop); /* [in] */ LONGLONG hnsAmountToDrop);
HRESULT ( STDMETHODCALLTYPE *NotifyQualityEvent )( HRESULT ( STDMETHODCALLTYPE *NotifyQualityEvent )(
__RPC__in IMFQualityAdvise2 * This, __RPC__in IMFQualityAdvise2 * This,
/* [in] */ __RPC__in_opt IMFMediaEvent *pEvent, /* [in] */ __RPC__in_opt IMFMediaEvent *pEvent,
/* [out] */ __RPC__out DWORD *pdwFlags); /* [out] */ __RPC__out DWORD *pdwFlags);
skipping to change at line 7099 skipping to change at line 8442
EXTERN_C const IID IID_IMFQualityAdviseLimits; EXTERN_C const IID IID_IMFQualityAdviseLimits;
#if defined(__cplusplus) && !defined(CINTERFACE) #if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("dfcd8e4d-30b5-4567-acaa-8eb5b7853dc9") MIDL_INTERFACE("dfcd8e4d-30b5-4567-acaa-8eb5b7853dc9")
IMFQualityAdviseLimits : public IUnknown IMFQualityAdviseLimits : public IUnknown
{ {
public: public:
virtual HRESULT STDMETHODCALLTYPE GetMaximumDropMode( virtual HRESULT STDMETHODCALLTYPE GetMaximumDropMode(
/* [annotation][out] */ /* [annotation][out] */
__out MF_QUALITY_DROP_MODE *peDropMode) = 0; _Out_ MF_QUALITY_DROP_MODE *peDropMode) = 0;
virtual HRESULT STDMETHODCALLTYPE GetMinimumQualityLevel( virtual HRESULT STDMETHODCALLTYPE GetMinimumQualityLevel(
/* [annotation][out] */ /* [annotation][out] */
__out MF_QUALITY_LEVEL *peQualityLevel) = 0; _Out_ MF_QUALITY_LEVEL *peQualityLevel) = 0;
}; };
#else /* C style interface */ #else /* C style interface */
typedef struct IMFQualityAdviseLimitsVtbl typedef struct IMFQualityAdviseLimitsVtbl
{ {
BEGIN_INTERFACE BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )( HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
__RPC__in IMFQualityAdviseLimits * This, __RPC__in IMFQualityAdviseLimits * This,
/* [in] */ __RPC__in REFIID riid, /* [in] */ __RPC__in REFIID riid,
/* [annotation][iid_is][out] */ /* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject); _COM_Outptr_ void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )( ULONG ( STDMETHODCALLTYPE *AddRef )(
__RPC__in IMFQualityAdviseLimits * This); __RPC__in IMFQualityAdviseLimits * This);
ULONG ( STDMETHODCALLTYPE *Release )( ULONG ( STDMETHODCALLTYPE *Release )(
__RPC__in IMFQualityAdviseLimits * This); __RPC__in IMFQualityAdviseLimits * This);
HRESULT ( STDMETHODCALLTYPE *GetMaximumDropMode )( HRESULT ( STDMETHODCALLTYPE *GetMaximumDropMode )(
__RPC__in IMFQualityAdviseLimits * This, __RPC__in IMFQualityAdviseLimits * This,
/* [annotation][out] */ /* [annotation][out] */
__out MF_QUALITY_DROP_MODE *peDropMode); _Out_ MF_QUALITY_DROP_MODE *peDropMode);
HRESULT ( STDMETHODCALLTYPE *GetMinimumQualityLevel )( HRESULT ( STDMETHODCALLTYPE *GetMinimumQualityLevel )(
__RPC__in IMFQualityAdviseLimits * This, __RPC__in IMFQualityAdviseLimits * This,
/* [annotation][out] */ /* [annotation][out] */
__out MF_QUALITY_LEVEL *peQualityLevel); _Out_ MF_QUALITY_LEVEL *peQualityLevel);
END_INTERFACE END_INTERFACE
} IMFQualityAdviseLimitsVtbl; } IMFQualityAdviseLimitsVtbl;
interface IMFQualityAdviseLimits interface IMFQualityAdviseLimits
{ {
CONST_VTBL struct IMFQualityAdviseLimitsVtbl *lpVtbl; CONST_VTBL struct IMFQualityAdviseLimitsVtbl *lpVtbl;
}; };
#ifdef COBJMACROS #ifdef COBJMACROS
skipping to change at line 7166 skipping to change at line 8509
#define IMFQualityAdviseLimits_GetMinimumQualityLevel(This,peQualityLevel) \ #define IMFQualityAdviseLimits_GetMinimumQualityLevel(This,peQualityLevel) \
( (This)->lpVtbl -> GetMinimumQualityLevel(This,peQualityLevel) ) ( (This)->lpVtbl -> GetMinimumQualityLevel(This,peQualityLevel) )
#endif /* COBJMACROS */ #endif /* COBJMACROS */
#endif /* C style interface */ #endif /* C style interface */
#endif /* __IMFQualityAdviseLimits_INTERFACE_DEFINED__ */ #endif /* __IMFQualityAdviseLimits_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_mfidl_0000_0039 */ /* interface __MIDL_itf_mfidl_0000_0045 */
/* [local] */ /* [local] */
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
#pragma endregion
#endif // (WINVER >= _WIN32_WINNT_WIN7) #endif // (WINVER >= _WIN32_WINNT_WIN7)
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0039_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0045_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0039_v0_0_s_ifspec; extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0045_v0_0_s_ifspec;
#ifndef __IMFRealTimeClient_INTERFACE_DEFINED__ #ifndef __IMFRealTimeClient_INTERFACE_DEFINED__
#define __IMFRealTimeClient_INTERFACE_DEFINED__ #define __IMFRealTimeClient_INTERFACE_DEFINED__
/* interface IMFRealTimeClient */ /* interface IMFRealTimeClient */
/* [local][uuid][object] */ /* [local][uuid][object] */
EXTERN_C const IID IID_IMFRealTimeClient; EXTERN_C const IID IID_IMFRealTimeClient;
#if defined(__cplusplus) && !defined(CINTERFACE) #if defined(__cplusplus) && !defined(CINTERFACE)
skipping to change at line 7209 skipping to change at line 8556
#else /* C style interface */ #else /* C style interface */
typedef struct IMFRealTimeClientVtbl typedef struct IMFRealTimeClientVtbl
{ {
BEGIN_INTERFACE BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )( HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IMFRealTimeClient * This, IMFRealTimeClient * This,
/* [in] */ REFIID riid, /* [in] */ REFIID riid,
/* [annotation][iid_is][out] */ /* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject); _COM_Outptr_ void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )( ULONG ( STDMETHODCALLTYPE *AddRef )(
IMFRealTimeClient * This); IMFRealTimeClient * This);
ULONG ( STDMETHODCALLTYPE *Release )( ULONG ( STDMETHODCALLTYPE *Release )(
IMFRealTimeClient * This); IMFRealTimeClient * This);
HRESULT ( STDMETHODCALLTYPE *RegisterThreads )( HRESULT ( STDMETHODCALLTYPE *RegisterThreads )(
IMFRealTimeClient * This, IMFRealTimeClient * This,
/* [in] */ DWORD dwTaskIndex, /* [in] */ DWORD dwTaskIndex,
skipping to change at line 7263 skipping to change at line 8610
#define IMFRealTimeClient_SetWorkQueue(This,dwWorkQueueId) \ #define IMFRealTimeClient_SetWorkQueue(This,dwWorkQueueId) \
( (This)->lpVtbl -> SetWorkQueue(This,dwWorkQueueId) ) ( (This)->lpVtbl -> SetWorkQueue(This,dwWorkQueueId) )
#endif /* COBJMACROS */ #endif /* COBJMACROS */
#endif /* C style interface */ #endif /* C style interface */
#endif /* __IMFRealTimeClient_INTERFACE_DEFINED__ */ #endif /* __IMFRealTimeClient_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_mfidl_0000_0040 */ /* interface __MIDL_itf_mfidl_0000_0046 */
/* [local] */ /* [local] */
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#if (WINVER >= _WIN32_WINNT_WIN8)
#pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0046_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0046_v0_0_s_ifspec;
#ifndef __IMFRealTimeClientEx_INTERFACE_DEFINED__
#define __IMFRealTimeClientEx_INTERFACE_DEFINED__
/* interface IMFRealTimeClientEx */
/* [local][uuid][object] */
EXTERN_C const IID IID_IMFRealTimeClientEx;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("03910848-AB16-4611-B100-17B88AE2F248")
IMFRealTimeClientEx : public IUnknown
{
public:
virtual HRESULT STDMETHODCALLTYPE RegisterThreadsEx(
/* [annotation][out][in] */
_Inout_ DWORD *pdwTaskIndex,
/* [annotation][in] */
_In_ LPCWSTR wszClassName,
/* [annotation][in] */
_In_ LONG lBasePriority) = 0;
virtual HRESULT STDMETHODCALLTYPE UnregisterThreads( void) = 0;
virtual HRESULT STDMETHODCALLTYPE SetWorkQueueEx(
/* [annotation][in] */
_In_ DWORD dwMultithreadedWorkQueueId,
/* [annotation][in] */
_In_ LONG lWorkItemBasePriority) = 0;
};
#else /* C style interface */
typedef struct IMFRealTimeClientExVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IMFRealTimeClientEx * This,
/* [in] */ REFIID riid,
/* [annotation][iid_is][out] */
_COM_Outptr_ void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
IMFRealTimeClientEx * This);
ULONG ( STDMETHODCALLTYPE *Release )(
IMFRealTimeClientEx * This);
HRESULT ( STDMETHODCALLTYPE *RegisterThreadsEx )(
IMFRealTimeClientEx * This,
/* [annotation][out][in] */
_Inout_ DWORD *pdwTaskIndex,
/* [annotation][in] */
_In_ LPCWSTR wszClassName,
/* [annotation][in] */
_In_ LONG lBasePriority);
HRESULT ( STDMETHODCALLTYPE *UnregisterThreads )(
IMFRealTimeClientEx * This);
HRESULT ( STDMETHODCALLTYPE *SetWorkQueueEx )(
IMFRealTimeClientEx * This,
/* [annotation][in] */
_In_ DWORD dwMultithreadedWorkQueueId,
/* [annotation][in] */
_In_ LONG lWorkItemBasePriority);
END_INTERFACE
} IMFRealTimeClientExVtbl;
interface IMFRealTimeClientEx
{
CONST_VTBL struct IMFRealTimeClientExVtbl *lpVtbl;
};
#ifdef COBJMACROS
#define IMFRealTimeClientEx_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
#define IMFRealTimeClientEx_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
#define IMFRealTimeClientEx_Release(This) \
( (This)->lpVtbl -> Release(This) )
#define IMFRealTimeClientEx_RegisterThreadsEx(This,pdwTaskIndex,wszClassName,lBa
sePriority) \
( (This)->lpVtbl -> RegisterThreadsEx(This,pdwTaskIndex,wszClassName,lBasePr
iority) )
#define IMFRealTimeClientEx_UnregisterThreads(This) \
( (This)->lpVtbl -> UnregisterThreads(This) )
#define IMFRealTimeClientEx_SetWorkQueueEx(This,dwMultithreadedWorkQueueId,lWork
ItemBasePriority) \
( (This)->lpVtbl -> SetWorkQueueEx(This,dwMultithreadedWorkQueueId,lWorkItem
BasePriority) )
#endif /* COBJMACROS */
#endif /* C style interface */
#endif /* __IMFRealTimeClientEx_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_mfidl_0000_0047 */
/* [local] */
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
#pragma endregion
#endif // (WINVER >= _WIN32_WINNT_WIN8)
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
typedef DWORD MFSequencerElementId; typedef DWORD MFSequencerElementId;
#define MFSEQUENCER_INVALID_ELEMENT_ID ( 0xffffffff ) #define MFSEQUENCER_INVALID_ELEMENT_ID ( 0xffffffff )
typedef typedef
enum _MFSequencerTopologyFlags enum _MFSequencerTopologyFlags
{ SequencerTopologyFlags_Last = 0x1 {
SequencerTopologyFlags_Last = 0x1
} MFSequencerTopologyFlags; } MFSequencerTopologyFlags;
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0040_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0047_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0040_v0_0_s_ifspec; extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0047_v0_0_s_ifspec;
#ifndef __IMFSequencerSource_INTERFACE_DEFINED__ #ifndef __IMFSequencerSource_INTERFACE_DEFINED__
#define __IMFSequencerSource_INTERFACE_DEFINED__ #define __IMFSequencerSource_INTERFACE_DEFINED__
/* interface IMFSequencerSource */ /* interface IMFSequencerSource */
/* [local][uuid][object] */ /* [local][uuid][object] */
EXTERN_C const IID IID_IMFSequencerSource; EXTERN_C const IID IID_IMFSequencerSource;
#if defined(__cplusplus) && !defined(CINTERFACE) #if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("197CD219-19CB-4de1-A64C-ACF2EDCBE59E") MIDL_INTERFACE("197CD219-19CB-4de1-A64C-ACF2EDCBE59E")
IMFSequencerSource : public IUnknown IMFSequencerSource : public IUnknown
{ {
public: public:
virtual HRESULT STDMETHODCALLTYPE AppendTopology( virtual HRESULT STDMETHODCALLTYPE AppendTopology(
/* [in] */ IMFTopology *pTopology, /* [in] */ IMFTopology *pTopology,
/* [in] */ DWORD dwFlags, /* [in] */ DWORD dwFlags,
/* [annotation][out] */ /* [annotation][out] */
__out MFSequencerElementId *pdwId) = 0; _Out_ MFSequencerElementId *pdwId) = 0;
virtual HRESULT STDMETHODCALLTYPE DeleteTopology( virtual HRESULT STDMETHODCALLTYPE DeleteTopology(
/* [in] */ MFSequencerElementId dwId) = 0; /* [in] */ MFSequencerElementId dwId) = 0;
virtual HRESULT STDMETHODCALLTYPE GetPresentationContext( virtual HRESULT STDMETHODCALLTYPE GetPresentationContext(
/* [in] */ IMFPresentationDescriptor *pPD, /* [in] */ IMFPresentationDescriptor *pPD,
/* [annotation][optional][out] */ /* [annotation][optional][out] */
__out_opt MFSequencerElementId *pId, _Out_opt_ MFSequencerElementId *pId,
/* [annotation][optional][out] */ /* [annotation][optional][out] */
__out_opt IMFTopology **ppTopology) = 0; _Out_opt_ IMFTopology **ppTopology) = 0;
virtual HRESULT STDMETHODCALLTYPE UpdateTopology( virtual HRESULT STDMETHODCALLTYPE UpdateTopology(
/* [in] */ MFSequencerElementId dwId, /* [in] */ MFSequencerElementId dwId,
/* [in] */ IMFTopology *pTopology) = 0; /* [in] */ IMFTopology *pTopology) = 0;
virtual HRESULT STDMETHODCALLTYPE UpdateTopologyFlags( virtual HRESULT STDMETHODCALLTYPE UpdateTopologyFlags(
/* [in] */ MFSequencerElementId dwId, /* [in] */ MFSequencerElementId dwId,
/* [in] */ DWORD dwFlags) = 0; /* [in] */ DWORD dwFlags) = 0;
}; };
skipping to change at line 7328 skipping to change at line 8796
#else /* C style interface */ #else /* C style interface */
typedef struct IMFSequencerSourceVtbl typedef struct IMFSequencerSourceVtbl
{ {
BEGIN_INTERFACE BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )( HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IMFSequencerSource * This, IMFSequencerSource * This,
/* [in] */ REFIID riid, /* [in] */ REFIID riid,
/* [annotation][iid_is][out] */ /* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject); _COM_Outptr_ void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )( ULONG ( STDMETHODCALLTYPE *AddRef )(
IMFSequencerSource * This); IMFSequencerSource * This);
ULONG ( STDMETHODCALLTYPE *Release )( ULONG ( STDMETHODCALLTYPE *Release )(
IMFSequencerSource * This); IMFSequencerSource * This);
HRESULT ( STDMETHODCALLTYPE *AppendTopology )( HRESULT ( STDMETHODCALLTYPE *AppendTopology )(
IMFSequencerSource * This, IMFSequencerSource * This,
/* [in] */ IMFTopology *pTopology, /* [in] */ IMFTopology *pTopology,
/* [in] */ DWORD dwFlags, /* [in] */ DWORD dwFlags,
/* [annotation][out] */ /* [annotation][out] */
__out MFSequencerElementId *pdwId); _Out_ MFSequencerElementId *pdwId);
HRESULT ( STDMETHODCALLTYPE *DeleteTopology )( HRESULT ( STDMETHODCALLTYPE *DeleteTopology )(
IMFSequencerSource * This, IMFSequencerSource * This,
/* [in] */ MFSequencerElementId dwId); /* [in] */ MFSequencerElementId dwId);
HRESULT ( STDMETHODCALLTYPE *GetPresentationContext )( HRESULT ( STDMETHODCALLTYPE *GetPresentationContext )(
IMFSequencerSource * This, IMFSequencerSource * This,
/* [in] */ IMFPresentationDescriptor *pPD, /* [in] */ IMFPresentationDescriptor *pPD,
/* [annotation][optional][out] */ /* [annotation][optional][out] */
__out_opt MFSequencerElementId *pId, _Out_opt_ MFSequencerElementId *pId,
/* [annotation][optional][out] */ /* [annotation][optional][out] */
__out_opt IMFTopology **ppTopology); _Out_opt_ IMFTopology **ppTopology);
HRESULT ( STDMETHODCALLTYPE *UpdateTopology )( HRESULT ( STDMETHODCALLTYPE *UpdateTopology )(
IMFSequencerSource * This, IMFSequencerSource * This,
/* [in] */ MFSequencerElementId dwId, /* [in] */ MFSequencerElementId dwId,
/* [in] */ IMFTopology *pTopology); /* [in] */ IMFTopology *pTopology);
HRESULT ( STDMETHODCALLTYPE *UpdateTopologyFlags )( HRESULT ( STDMETHODCALLTYPE *UpdateTopologyFlags )(
IMFSequencerSource * This, IMFSequencerSource * This,
/* [in] */ MFSequencerElementId dwId, /* [in] */ MFSequencerElementId dwId,
/* [in] */ DWORD dwFlags); /* [in] */ DWORD dwFlags);
skipping to change at line 7405 skipping to change at line 8873
#define IMFSequencerSource_UpdateTopologyFlags(This,dwId,dwFlags) \ #define IMFSequencerSource_UpdateTopologyFlags(This,dwId,dwFlags) \
( (This)->lpVtbl -> UpdateTopologyFlags(This,dwId,dwFlags) ) ( (This)->lpVtbl -> UpdateTopologyFlags(This,dwId,dwFlags) )
#endif /* COBJMACROS */ #endif /* COBJMACROS */
#endif /* C style interface */ #endif /* C style interface */
#endif /* __IMFSequencerSource_INTERFACE_DEFINED__ */ #endif /* __IMFSequencerSource_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_mfidl_0000_0041 */ /* interface __MIDL_itf_mfidl_0000_0048 */
/* [local] */ /* [local] */
EXTERN_GUID( MF_TIME_FORMAT_SEGMENT_OFFSET, 0xc8b8be77, 0x869c, 0x431d, 0x81, 0x 2e, 0x16, 0x96, 0x93, 0xf6, 0x5a, 0x39 ); EXTERN_GUID( MF_TIME_FORMAT_SEGMENT_OFFSET, 0xc8b8be77, 0x869c, 0x431d, 0x81, 0x 2e, 0x16, 0x96, 0x93, 0xf6, 0x5a, 0x39 );
STDAPI MFCreateSequencerSource( STDAPI MFCreateSequencerSource(
IUnknown *pReserved, IUnknown *pReserved,
__out IMFSequencerSource **ppSequencerSource _Outptr_ IMFSequencerSource **ppSequencerSource
); );
STDAPI MFCreateSequencerSegmentOffset( STDAPI MFCreateSequencerSegmentOffset(
MFSequencerElementId dwId, MFSequencerElementId dwId,
MFTIME hnsOffset, MFTIME hnsOffset,
__out PROPVARIANT *pvarSegmentOffset _Out_ PROPVARIANT *pvarSegmentOffset
); );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
#if (WINVER >= _WIN32_WINNT_WIN7) #if (WINVER >= _WIN32_WINNT_WIN7)
STDAPI MFCreateAggregateSource( STDAPI MFCreateAggregateSource(
__in IMFCollection *pSourceCollection, _In_ IMFCollection *pSourceCollection,
__deref_out IMFMediaSource **ppAggSource _Outptr_ IMFMediaSource **ppAggSource
); );
#endif // (WINVER >= _WIN32_WINNT_WIN7) #endif // (WINVER >= _WIN32_WINNT_WIN7)
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
#pragma endregion
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0041_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0048_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0041_v0_0_s_ifspec; extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0048_v0_0_s_ifspec;
#ifndef __IMFMediaSourceTopologyProvider_INTERFACE_DEFINED__ #ifndef __IMFMediaSourceTopologyProvider_INTERFACE_DEFINED__
#define __IMFMediaSourceTopologyProvider_INTERFACE_DEFINED__ #define __IMFMediaSourceTopologyProvider_INTERFACE_DEFINED__
/* interface IMFMediaSourceTopologyProvider */ /* interface IMFMediaSourceTopologyProvider */
/* [uuid][object] */ /* [uuid][object] */
EXTERN_C const IID IID_IMFMediaSourceTopologyProvider; EXTERN_C const IID IID_IMFMediaSourceTopologyProvider;
#if defined(__cplusplus) && !defined(CINTERFACE) #if defined(__cplusplus) && !defined(CINTERFACE)
skipping to change at line 7458 skipping to change at line 8934
#else /* C style interface */ #else /* C style interface */
typedef struct IMFMediaSourceTopologyProviderVtbl typedef struct IMFMediaSourceTopologyProviderVtbl
{ {
BEGIN_INTERFACE BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )( HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
__RPC__in IMFMediaSourceTopologyProvider * This, __RPC__in IMFMediaSourceTopologyProvider * This,
/* [in] */ __RPC__in REFIID riid, /* [in] */ __RPC__in REFIID riid,
/* [annotation][iid_is][out] */ /* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject); _COM_Outptr_ void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )( ULONG ( STDMETHODCALLTYPE *AddRef )(
__RPC__in IMFMediaSourceTopologyProvider * This); __RPC__in IMFMediaSourceTopologyProvider * This);
ULONG ( STDMETHODCALLTYPE *Release )( ULONG ( STDMETHODCALLTYPE *Release )(
__RPC__in IMFMediaSourceTopologyProvider * This); __RPC__in IMFMediaSourceTopologyProvider * This);
HRESULT ( STDMETHODCALLTYPE *GetMediaSourceTopology )( HRESULT ( STDMETHODCALLTYPE *GetMediaSourceTopology )(
__RPC__in IMFMediaSourceTopologyProvider * This, __RPC__in IMFMediaSourceTopologyProvider * This,
/* [in] */ __RPC__in_opt IMFPresentationDescriptor *pPresentationDes criptor, /* [in] */ __RPC__in_opt IMFPresentationDescriptor *pPresentationDes criptor,
skipping to change at line 7528 skipping to change at line 9004
#else /* C style interface */ #else /* C style interface */
typedef struct IMFMediaSourcePresentationProviderVtbl typedef struct IMFMediaSourcePresentationProviderVtbl
{ {
BEGIN_INTERFACE BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )( HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
__RPC__in IMFMediaSourcePresentationProvider * This, __RPC__in IMFMediaSourcePresentationProvider * This,
/* [in] */ __RPC__in REFIID riid, /* [in] */ __RPC__in REFIID riid,
/* [annotation][iid_is][out] */ /* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject); _COM_Outptr_ void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )( ULONG ( STDMETHODCALLTYPE *AddRef )(
__RPC__in IMFMediaSourcePresentationProvider * This); __RPC__in IMFMediaSourcePresentationProvider * This);
ULONG ( STDMETHODCALLTYPE *Release )( ULONG ( STDMETHODCALLTYPE *Release )(
__RPC__in IMFMediaSourcePresentationProvider * This); __RPC__in IMFMediaSourcePresentationProvider * This);
HRESULT ( STDMETHODCALLTYPE *ForceEndOfPresentation )( HRESULT ( STDMETHODCALLTYPE *ForceEndOfPresentation )(
__RPC__in IMFMediaSourcePresentationProvider * This, __RPC__in IMFMediaSourcePresentationProvider * This,
/* [in] */ __RPC__in_opt IMFPresentationDescriptor *pPresentationDes criptor); /* [in] */ __RPC__in_opt IMFPresentationDescriptor *pPresentationDes criptor);
skipping to change at line 7568 skipping to change at line 9044
#define IMFMediaSourcePresentationProvider_ForceEndOfPresentation(This,pPresenta tionDescriptor) \ #define IMFMediaSourcePresentationProvider_ForceEndOfPresentation(This,pPresenta tionDescriptor) \
( (This)->lpVtbl -> ForceEndOfPresentation(This,pPresentationDescriptor) ) ( (This)->lpVtbl -> ForceEndOfPresentation(This,pPresentationDescriptor) )
#endif /* COBJMACROS */ #endif /* COBJMACROS */
#endif /* C style interface */ #endif /* C style interface */
#endif /* __IMFMediaSourcePresentationProvider_INTERFACE_DEFINED__ */ #endif /* __IMFMediaSourcePresentationProvider_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_mfidl_0000_0043 */ /* interface __MIDL_itf_mfidl_0000_0050 */
/* [local] */ /* [local] */
EXTERN_GUID( MF_SOURCE_PRESENTATION_PROVIDER_SERVICE, 0xe002aadc, 0xf4af, 0x4ee5 , 0x98, 0x47, 0x05, 0x3e, 0xdf, 0x84, 0x04, 0x26 ); EXTERN_GUID( MF_SOURCE_PRESENTATION_PROVIDER_SERVICE, 0xe002aadc, 0xf4af, 0x4ee5 , 0x98, 0x47, 0x05, 0x3e, 0xdf, 0x84, 0x04, 0x26 );
#if defined(_MSC_VER) && (_MSC_VER >= 1600)
#pragma warning(push)
#pragma warning(disable:4820) // Disable C4820: padding after data member
#endif
typedef struct _MFTOPONODE_ATTRIBUTE_UPDATE typedef struct _MFTOPONODE_ATTRIBUTE_UPDATE
{ {
TOPOID NodeId; TOPOID NodeId;
GUID guidAttributeKey; GUID guidAttributeKey;
MF_ATTRIBUTE_TYPE attrType; MF_ATTRIBUTE_TYPE attrType;
union /* [switch_type][switch_is] */ union
{ {
UINT32 u32; /* [case()] */ UINT32 u32;
UINT64 u64; /* [case()] */ UINT64 u64;
double d; /* [case()] */ double d;
/* Empty union arm */ /* [default] */ /* Empty union arm */
} ; } ;
} MFTOPONODE_ATTRIBUTE_UPDATE; } MFTOPONODE_ATTRIBUTE_UPDATE;
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0043_v0_0_c_ifspec; #if defined(_MSC_VER) && (_MSC_VER >= 1600)
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0043_v0_0_s_ifspec; #pragma warning(pop)
#endif
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 __IMFTopologyNodeAttributeEditor_INTERFACE_DEFINED__ #ifndef __IMFTopologyNodeAttributeEditor_INTERFACE_DEFINED__
#define __IMFTopologyNodeAttributeEditor_INTERFACE_DEFINED__ #define __IMFTopologyNodeAttributeEditor_INTERFACE_DEFINED__
/* interface IMFTopologyNodeAttributeEditor */ /* interface IMFTopologyNodeAttributeEditor */
/* [uuid][object] */ /* [uuid][object] */
EXTERN_C const IID IID_IMFTopologyNodeAttributeEditor; EXTERN_C const IID IID_IMFTopologyNodeAttributeEditor;
#if defined(__cplusplus) && !defined(CINTERFACE) #if defined(__cplusplus) && !defined(CINTERFACE)
skipping to change at line 7620 skipping to change at line 9104
#else /* C style interface */ #else /* C style interface */
typedef struct IMFTopologyNodeAttributeEditorVtbl typedef struct IMFTopologyNodeAttributeEditorVtbl
{ {
BEGIN_INTERFACE BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )( HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
__RPC__in IMFTopologyNodeAttributeEditor * This, __RPC__in IMFTopologyNodeAttributeEditor * This,
/* [in] */ __RPC__in REFIID riid, /* [in] */ __RPC__in REFIID riid,
/* [annotation][iid_is][out] */ /* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject); _COM_Outptr_ void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )( ULONG ( STDMETHODCALLTYPE *AddRef )(
__RPC__in IMFTopologyNodeAttributeEditor * This); __RPC__in IMFTopologyNodeAttributeEditor * This);
ULONG ( STDMETHODCALLTYPE *Release )( ULONG ( STDMETHODCALLTYPE *Release )(
__RPC__in IMFTopologyNodeAttributeEditor * This); __RPC__in IMFTopologyNodeAttributeEditor * This);
HRESULT ( STDMETHODCALLTYPE *UpdateNodeAttributes )( HRESULT ( STDMETHODCALLTYPE *UpdateNodeAttributes )(
__RPC__in IMFTopologyNodeAttributeEditor * This, __RPC__in IMFTopologyNodeAttributeEditor * This,
/* [in] */ TOPOID TopoId, /* [in] */ TOPOID TopoId,
skipping to change at line 7662 skipping to change at line 9146
#define IMFTopologyNodeAttributeEditor_UpdateNodeAttributes(This,TopoId,cUpdates ,pUpdates) \ #define IMFTopologyNodeAttributeEditor_UpdateNodeAttributes(This,TopoId,cUpdates ,pUpdates) \
( (This)->lpVtbl -> UpdateNodeAttributes(This,TopoId,cUpdates,pUpdates) ) ( (This)->lpVtbl -> UpdateNodeAttributes(This,TopoId,cUpdates,pUpdates) )
#endif /* COBJMACROS */ #endif /* COBJMACROS */
#endif /* C style interface */ #endif /* C style interface */
#endif /* __IMFTopologyNodeAttributeEditor_INTERFACE_DEFINED__ */ #endif /* __IMFTopologyNodeAttributeEditor_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_mfidl_0000_0044 */ /* interface __MIDL_itf_mfidl_0000_0051 */
/* [local] */ /* [local] */
EXTERN_GUID( MF_TOPONODE_ATTRIBUTE_EDITOR_SERVICE, 0x65656e1a, 0x077f, 0x4472, 0 x83, 0xef, 0x31, 0x6f, 0x11, 0xd5, 0x08, 0x7a ); EXTERN_GUID( MF_TOPONODE_ATTRIBUTE_EDITOR_SERVICE, 0x65656e1a, 0x077f, 0x4472, 0 x83, 0xef, 0x31, 0x6f, 0x11, 0xd5, 0x08, 0x7a );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
typedef /* [public] */ struct _MF_LEAKY_BUCKET_PAIR typedef /* [public] */ struct _MF_LEAKY_BUCKET_PAIR
{ {
DWORD dwBitrate; DWORD dwBitrate;
DWORD msBufferWindow; DWORD msBufferWindow;
} MF_LEAKY_BUCKET_PAIR; } MF_LEAKY_BUCKET_PAIR;
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
#pragma endregion
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
#if defined(_MSC_VER) && (_MSC_VER >= 1600)
#pragma warning(push)
#pragma warning(disable:4820) // Disable C4820: padding after data member
#endif
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
typedef /* [public] */ struct _MFBYTESTREAM_BUFFERING_PARAMS typedef /* [public] */ struct _MFBYTESTREAM_BUFFERING_PARAMS
{ {
QWORD cbTotalFileSize; QWORD cbTotalFileSize;
QWORD cbPlayableDataSize; QWORD cbPlayableDataSize;
MF_LEAKY_BUCKET_PAIR *prgBuckets; MF_LEAKY_BUCKET_PAIR *prgBuckets;
DWORD cBuckets; DWORD cBuckets;
QWORD qwNetBufferingTime; QWORD qwNetBufferingTime;
QWORD qwExtraBufferingTimeDuringSeek; QWORD qwExtraBufferingTimeDuringSeek;
QWORD qwPlayDuration; QWORD qwPlayDuration;
float dRate; float dRate;
} MFBYTESTREAM_BUFFERING_PARAMS; } MFBYTESTREAM_BUFFERING_PARAMS;
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0044_v0_0_c_ifspec; #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0044_v0_0_s_ifspec; #pragma endregion
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
#if defined(_MSC_VER) && (_MSC_VER >= 1600)
#pragma warning(pop)
#endif
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0051_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0051_v0_0_s_ifspec;
#ifndef __IMFByteStreamBuffering_INTERFACE_DEFINED__ #ifndef __IMFByteStreamBuffering_INTERFACE_DEFINED__
#define __IMFByteStreamBuffering_INTERFACE_DEFINED__ #define __IMFByteStreamBuffering_INTERFACE_DEFINED__
/* interface IMFByteStreamBuffering */ /* interface IMFByteStreamBuffering */
/* [local][uuid][object] */ /* [uuid][object] */
EXTERN_C const IID IID_IMFByteStreamBuffering; EXTERN_C const IID IID_IMFByteStreamBuffering;
#if defined(__cplusplus) && !defined(CINTERFACE) #if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("6d66d782-1d4f-4db7-8c63-cb8c77f1ef5e") MIDL_INTERFACE("6d66d782-1d4f-4db7-8c63-cb8c77f1ef5e")
IMFByteStreamBuffering : public IUnknown IMFByteStreamBuffering : public IUnknown
{ {
public: public:
virtual HRESULT STDMETHODCALLTYPE SetBufferingParams( virtual HRESULT STDMETHODCALLTYPE SetBufferingParams(
/* [annotation][in] */ /* [in] */ __RPC__in MFBYTESTREAM_BUFFERING_PARAMS *pParams) = 0;
__in MFBYTESTREAM_BUFFERING_PARAMS *pParams) = 0;
virtual HRESULT STDMETHODCALLTYPE EnableBuffering( virtual HRESULT STDMETHODCALLTYPE EnableBuffering(
/* [in] */ BOOL fEnable) = 0; /* [in] */ BOOL fEnable) = 0;
virtual HRESULT STDMETHODCALLTYPE StopBuffering( void) = 0; virtual HRESULT STDMETHODCALLTYPE StopBuffering( void) = 0;
}; };
#else /* C style interface */ #else /* C style interface */
typedef struct IMFByteStreamBufferingVtbl typedef struct IMFByteStreamBufferingVtbl
{ {
BEGIN_INTERFACE BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )( HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IMFByteStreamBuffering * This, __RPC__in IMFByteStreamBuffering * This,
/* [in] */ REFIID riid, /* [in] */ __RPC__in REFIID riid,
/* [annotation][iid_is][out] */ /* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject); _COM_Outptr_ void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )( ULONG ( STDMETHODCALLTYPE *AddRef )(
IMFByteStreamBuffering * This); __RPC__in IMFByteStreamBuffering * This);
ULONG ( STDMETHODCALLTYPE *Release )( ULONG ( STDMETHODCALLTYPE *Release )(
IMFByteStreamBuffering * This); __RPC__in IMFByteStreamBuffering * This);
HRESULT ( STDMETHODCALLTYPE *SetBufferingParams )( HRESULT ( STDMETHODCALLTYPE *SetBufferingParams )(
IMFByteStreamBuffering * This, __RPC__in IMFByteStreamBuffering * This,
/* [annotation][in] */ /* [in] */ __RPC__in MFBYTESTREAM_BUFFERING_PARAMS *pParams);
__in MFBYTESTREAM_BUFFERING_PARAMS *pParams);
HRESULT ( STDMETHODCALLTYPE *EnableBuffering )( HRESULT ( STDMETHODCALLTYPE *EnableBuffering )(
IMFByteStreamBuffering * This, __RPC__in IMFByteStreamBuffering * This,
/* [in] */ BOOL fEnable); /* [in] */ BOOL fEnable);
HRESULT ( STDMETHODCALLTYPE *StopBuffering )( HRESULT ( STDMETHODCALLTYPE *StopBuffering )(
IMFByteStreamBuffering * This); __RPC__in IMFByteStreamBuffering * This);
END_INTERFACE END_INTERFACE
} IMFByteStreamBufferingVtbl; } IMFByteStreamBufferingVtbl;
interface IMFByteStreamBuffering interface IMFByteStreamBuffering
{ {
CONST_VTBL struct IMFByteStreamBufferingVtbl *lpVtbl; CONST_VTBL struct IMFByteStreamBufferingVtbl *lpVtbl;
}; };
#ifdef COBJMACROS #ifdef COBJMACROS
skipping to change at line 7780 skipping to change at line 9290
#endif /* COBJMACROS */ #endif /* COBJMACROS */
#endif /* C style interface */ #endif /* C style interface */
#endif /* __IMFByteStreamBuffering_INTERFACE_DEFINED__ */ #endif /* __IMFByteStreamBuffering_INTERFACE_DEFINED__ */
#ifndef __IMFByteStreamCacheControl_INTERFACE_DEFINED__ #ifndef __IMFByteStreamCacheControl_INTERFACE_DEFINED__
#define __IMFByteStreamCacheControl_INTERFACE_DEFINED__ #define __IMFByteStreamCacheControl_INTERFACE_DEFINED__
/* interface IMFByteStreamCacheControl */ /* interface IMFByteStreamCacheControl */
/* [local][uuid][object] */ /* [uuid][object] */
EXTERN_C const IID IID_IMFByteStreamCacheControl; EXTERN_C const IID IID_IMFByteStreamCacheControl;
#if defined(__cplusplus) && !defined(CINTERFACE) #if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("F5042EA4-7A96-4a75-AA7B-2BE1EF7F88D5") MIDL_INTERFACE("F5042EA4-7A96-4a75-AA7B-2BE1EF7F88D5")
IMFByteStreamCacheControl : public IUnknown IMFByteStreamCacheControl : public IUnknown
{ {
public: public:
virtual HRESULT STDMETHODCALLTYPE StopBackgroundTransfer( void) = 0; virtual HRESULT STDMETHODCALLTYPE StopBackgroundTransfer( void) = 0;
}; };
#else /* C style interface */ #else /* C style interface */
typedef struct IMFByteStreamCacheControlVtbl typedef struct IMFByteStreamCacheControlVtbl
{ {
BEGIN_INTERFACE BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )( HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IMFByteStreamCacheControl * This, __RPC__in IMFByteStreamCacheControl * This,
/* [in] */ REFIID riid, /* [in] */ __RPC__in REFIID riid,
/* [annotation][iid_is][out] */ /* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject); _COM_Outptr_ void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )( ULONG ( STDMETHODCALLTYPE *AddRef )(
IMFByteStreamCacheControl * This); __RPC__in IMFByteStreamCacheControl * This);
ULONG ( STDMETHODCALLTYPE *Release )( ULONG ( STDMETHODCALLTYPE *Release )(
IMFByteStreamCacheControl * This); __RPC__in IMFByteStreamCacheControl * This);
HRESULT ( STDMETHODCALLTYPE *StopBackgroundTransfer )( HRESULT ( STDMETHODCALLTYPE *StopBackgroundTransfer )(
IMFByteStreamCacheControl * This); __RPC__in IMFByteStreamCacheControl * This);
END_INTERFACE END_INTERFACE
} IMFByteStreamCacheControlVtbl; } IMFByteStreamCacheControlVtbl;
interface IMFByteStreamCacheControl interface IMFByteStreamCacheControl
{ {
CONST_VTBL struct IMFByteStreamCacheControlVtbl *lpVtbl; CONST_VTBL struct IMFByteStreamCacheControlVtbl *lpVtbl;
}; };
#ifdef COBJMACROS #ifdef COBJMACROS
skipping to change at line 7843 skipping to change at line 9353
#define IMFByteStreamCacheControl_StopBackgroundTransfer(This) \ #define IMFByteStreamCacheControl_StopBackgroundTransfer(This) \
( (This)->lpVtbl -> StopBackgroundTransfer(This) ) ( (This)->lpVtbl -> StopBackgroundTransfer(This) )
#endif /* COBJMACROS */ #endif /* COBJMACROS */
#endif /* C style interface */ #endif /* C style interface */
#endif /* __IMFByteStreamCacheControl_INTERFACE_DEFINED__ */ #endif /* __IMFByteStreamCacheControl_INTERFACE_DEFINED__ */
#ifndef __IMFByteStreamTimeSeek_INTERFACE_DEFINED__
#define __IMFByteStreamTimeSeek_INTERFACE_DEFINED__
/* interface IMFByteStreamTimeSeek */
/* [uuid][object] */
EXTERN_C const IID IID_IMFByteStreamTimeSeek;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("64976BFA-FB61-4041-9069-8C9A5F659BEB")
IMFByteStreamTimeSeek : public IUnknown
{
public:
virtual HRESULT STDMETHODCALLTYPE IsTimeSeekSupported(
/* [out] */ __RPC__out BOOL *pfTimeSeekIsSupported) = 0;
virtual HRESULT STDMETHODCALLTYPE TimeSeek(
/* [in] */ QWORD qwTimePosition) = 0;
virtual HRESULT STDMETHODCALLTYPE GetTimeSeekResult(
/* [out] */ __RPC__out QWORD *pqwStartTime,
/* [out] */ __RPC__out QWORD *pqwStopTime,
/* [out] */ __RPC__out QWORD *pqwDuration) = 0;
};
#else /* C style interface */
typedef struct IMFByteStreamTimeSeekVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
__RPC__in IMFByteStreamTimeSeek * This,
/* [in] */ __RPC__in REFIID riid,
/* [annotation][iid_is][out] */
_COM_Outptr_ void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
__RPC__in IMFByteStreamTimeSeek * This);
ULONG ( STDMETHODCALLTYPE *Release )(
__RPC__in IMFByteStreamTimeSeek * This);
HRESULT ( STDMETHODCALLTYPE *IsTimeSeekSupported )(
__RPC__in IMFByteStreamTimeSeek * This,
/* [out] */ __RPC__out BOOL *pfTimeSeekIsSupported);
HRESULT ( STDMETHODCALLTYPE *TimeSeek )(
__RPC__in IMFByteStreamTimeSeek * This,
/* [in] */ QWORD qwTimePosition);
HRESULT ( STDMETHODCALLTYPE *GetTimeSeekResult )(
__RPC__in IMFByteStreamTimeSeek * This,
/* [out] */ __RPC__out QWORD *pqwStartTime,
/* [out] */ __RPC__out QWORD *pqwStopTime,
/* [out] */ __RPC__out QWORD *pqwDuration);
END_INTERFACE
} IMFByteStreamTimeSeekVtbl;
interface IMFByteStreamTimeSeek
{
CONST_VTBL struct IMFByteStreamTimeSeekVtbl *lpVtbl;
};
#ifdef COBJMACROS
#define IMFByteStreamTimeSeek_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
#define IMFByteStreamTimeSeek_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
#define IMFByteStreamTimeSeek_Release(This) \
( (This)->lpVtbl -> Release(This) )
#define IMFByteStreamTimeSeek_IsTimeSeekSupported(This,pfTimeSeekIsSupported) \
( (This)->lpVtbl -> IsTimeSeekSupported(This,pfTimeSeekIsSupported) )
#define IMFByteStreamTimeSeek_TimeSeek(This,qwTimePosition) \
( (This)->lpVtbl -> TimeSeek(This,qwTimePosition) )
#define IMFByteStreamTimeSeek_GetTimeSeekResult(This,pqwStartTime,pqwStopTime,pq
wDuration) \
( (This)->lpVtbl -> GetTimeSeekResult(This,pqwStartTime,pqwStopTime,pqwDurat
ion) )
#endif /* COBJMACROS */
#endif /* C style interface */
#endif /* __IMFByteStreamTimeSeek_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_mfidl_0000_0054 */
/* [local] */
#if (WINVER >= _WIN32_WINNT_WIN8)
typedef /* [public][public] */ struct __MIDL___MIDL_itf_mfidl_0000_0054_0001
{
QWORD qwStartOffset;
QWORD qwEndOffset;
} MF_BYTE_STREAM_CACHE_RANGE;
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 __IMFByteStreamCacheControl2_INTERFACE_DEFINED__
#define __IMFByteStreamCacheControl2_INTERFACE_DEFINED__
/* interface IMFByteStreamCacheControl2 */
/* [uuid][object] */
EXTERN_C const IID IID_IMFByteStreamCacheControl2;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("71CE469C-F34B-49EA-A56B-2D2A10E51149")
IMFByteStreamCacheControl2 : public IMFByteStreamCacheControl
{
public:
virtual HRESULT STDMETHODCALLTYPE GetByteRanges(
/* [out] */ __RPC__out DWORD *pcRanges,
/* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pcRa
nges) MF_BYTE_STREAM_CACHE_RANGE **ppRanges) = 0;
virtual HRESULT STDMETHODCALLTYPE SetCacheLimit(
/* [in] */ QWORD qwBytes) = 0;
virtual HRESULT STDMETHODCALLTYPE IsBackgroundTransferActive(
/* [out] */ __RPC__out BOOL *pfActive) = 0;
};
#else /* C style interface */
typedef struct IMFByteStreamCacheControl2Vtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
__RPC__in IMFByteStreamCacheControl2 * This,
/* [in] */ __RPC__in REFIID riid,
/* [annotation][iid_is][out] */
_COM_Outptr_ void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
__RPC__in IMFByteStreamCacheControl2 * This);
ULONG ( STDMETHODCALLTYPE *Release )(
__RPC__in IMFByteStreamCacheControl2 * This);
HRESULT ( STDMETHODCALLTYPE *StopBackgroundTransfer )(
__RPC__in IMFByteStreamCacheControl2 * This);
HRESULT ( STDMETHODCALLTYPE *GetByteRanges )(
__RPC__in IMFByteStreamCacheControl2 * This,
/* [out] */ __RPC__out DWORD *pcRanges,
/* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pcRa
nges) MF_BYTE_STREAM_CACHE_RANGE **ppRanges);
HRESULT ( STDMETHODCALLTYPE *SetCacheLimit )(
__RPC__in IMFByteStreamCacheControl2 * This,
/* [in] */ QWORD qwBytes);
HRESULT ( STDMETHODCALLTYPE *IsBackgroundTransferActive )(
__RPC__in IMFByteStreamCacheControl2 * This,
/* [out] */ __RPC__out BOOL *pfActive);
END_INTERFACE
} IMFByteStreamCacheControl2Vtbl;
interface IMFByteStreamCacheControl2
{
CONST_VTBL struct IMFByteStreamCacheControl2Vtbl *lpVtbl;
};
#ifdef COBJMACROS
#define IMFByteStreamCacheControl2_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
#define IMFByteStreamCacheControl2_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
#define IMFByteStreamCacheControl2_Release(This) \
( (This)->lpVtbl -> Release(This) )
#define IMFByteStreamCacheControl2_StopBackgroundTransfer(This) \
( (This)->lpVtbl -> StopBackgroundTransfer(This) )
#define IMFByteStreamCacheControl2_GetByteRanges(This,pcRanges,ppRanges) \
( (This)->lpVtbl -> GetByteRanges(This,pcRanges,ppRanges) )
#define IMFByteStreamCacheControl2_SetCacheLimit(This,qwBytes) \
( (This)->lpVtbl -> SetCacheLimit(This,qwBytes) )
#define IMFByteStreamCacheControl2_IsBackgroundTransferActive(This,pfActive) \
( (This)->lpVtbl -> IsBackgroundTransferActive(This,pfActive) )
#endif /* COBJMACROS */
#endif /* C style interface */
#endif /* __IMFByteStreamCacheControl2_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_mfidl_0000_0055 */
/* [local] */
#endif // (WINVER >= _WIN32_WINNT_WIN8)
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
#pragma endregion
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
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 __IMFNetCredential_INTERFACE_DEFINED__ #ifndef __IMFNetCredential_INTERFACE_DEFINED__
#define __IMFNetCredential_INTERFACE_DEFINED__ #define __IMFNetCredential_INTERFACE_DEFINED__
/* interface IMFNetCredential */ /* interface IMFNetCredential */
/* [local][uuid][object] */ /* [local][uuid][object] */
EXTERN_C const IID IID_IMFNetCredential; EXTERN_C const IID IID_IMFNetCredential;
#if defined(__cplusplus) && !defined(CINTERFACE) #if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("5b87ef6a-7ed8-434f-ba0e-184fac1628d1") MIDL_INTERFACE("5b87ef6a-7ed8-434f-ba0e-184fac1628d1")
IMFNetCredential : public IUnknown IMFNetCredential : public IUnknown
{ {
public: public:
virtual HRESULT STDMETHODCALLTYPE SetUser( virtual HRESULT STDMETHODCALLTYPE SetUser(
/* [annotation][size_is][in] */ /* [annotation][size_is][in] */
__in_bcount(cbData) BYTE *pbData, _In_reads_bytes_(cbData) BYTE *pbData,
/* [in] */ DWORD cbData, /* [in] */ DWORD cbData,
/* [in] */ BOOL fDataIsEncrypted) = 0; /* [in] */ BOOL fDataIsEncrypted) = 0;
virtual HRESULT STDMETHODCALLTYPE SetPassword( virtual HRESULT STDMETHODCALLTYPE SetPassword(
/* [annotation][size_is][in] */ /* [annotation][size_is][in] */
__in_bcount(cbData) BYTE *pbData, _In_reads_bytes_(cbData) BYTE *pbData,
/* [in] */ DWORD cbData, /* [in] */ DWORD cbData,
/* [in] */ BOOL fDataIsEncrypted) = 0; /* [in] */ BOOL fDataIsEncrypted) = 0;
virtual HRESULT STDMETHODCALLTYPE GetUser( virtual HRESULT STDMETHODCALLTYPE GetUser(
/* [annotation][size_is][out] */ /* [annotation][size_is][out] */
__out_ecount_part_opt(*pcbData,*pcbData) BYTE *pbData, _Out_writes_to_opt_(*pcbData,*pcbData) BYTE *pbData,
/* [annotation][out][in] */ /* [annotation][out][in] */
__inout DWORD *pcbData, _Inout_ DWORD *pcbData,
/* [in] */ BOOL fEncryptData) = 0; /* [in] */ BOOL fEncryptData) = 0;
virtual HRESULT STDMETHODCALLTYPE GetPassword( virtual HRESULT STDMETHODCALLTYPE GetPassword(
/* [annotation][size_is][out] */ /* [annotation][size_is][out] */
__out_ecount_part_opt(*pcbData,*pcbData) BYTE *pbData, _Out_writes_to_opt_(*pcbData,*pcbData) BYTE *pbData,
/* [annotation][out][in] */ /* [annotation][out][in] */
__inout DWORD *pcbData, _Inout_ DWORD *pcbData,
/* [in] */ BOOL fEncryptData) = 0; /* [in] */ BOOL fEncryptData) = 0;
virtual HRESULT STDMETHODCALLTYPE LoggedOnUser( virtual HRESULT STDMETHODCALLTYPE LoggedOnUser(
/* [annotation][out] */ /* [annotation][out] */
__out BOOL *pfLoggedOnUser) = 0; _Out_ BOOL *pfLoggedOnUser) = 0;
}; };
#else /* C style interface */ #else /* C style interface */
typedef struct IMFNetCredentialVtbl typedef struct IMFNetCredentialVtbl
{ {
BEGIN_INTERFACE BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )( HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IMFNetCredential * This, IMFNetCredential * This,
/* [in] */ REFIID riid, /* [in] */ REFIID riid,
/* [annotation][iid_is][out] */ /* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject); _COM_Outptr_ void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )( ULONG ( STDMETHODCALLTYPE *AddRef )(
IMFNetCredential * This); IMFNetCredential * This);
ULONG ( STDMETHODCALLTYPE *Release )( ULONG ( STDMETHODCALLTYPE *Release )(
IMFNetCredential * This); IMFNetCredential * This);
HRESULT ( STDMETHODCALLTYPE *SetUser )( HRESULT ( STDMETHODCALLTYPE *SetUser )(
IMFNetCredential * This, IMFNetCredential * This,
/* [annotation][size_is][in] */ /* [annotation][size_is][in] */
__in_bcount(cbData) BYTE *pbData, _In_reads_bytes_(cbData) BYTE *pbData,
/* [in] */ DWORD cbData, /* [in] */ DWORD cbData,
/* [in] */ BOOL fDataIsEncrypted); /* [in] */ BOOL fDataIsEncrypted);
HRESULT ( STDMETHODCALLTYPE *SetPassword )( HRESULT ( STDMETHODCALLTYPE *SetPassword )(
IMFNetCredential * This, IMFNetCredential * This,
/* [annotation][size_is][in] */ /* [annotation][size_is][in] */
__in_bcount(cbData) BYTE *pbData, _In_reads_bytes_(cbData) BYTE *pbData,
/* [in] */ DWORD cbData, /* [in] */ DWORD cbData,
/* [in] */ BOOL fDataIsEncrypted); /* [in] */ BOOL fDataIsEncrypted);
HRESULT ( STDMETHODCALLTYPE *GetUser )( HRESULT ( STDMETHODCALLTYPE *GetUser )(
IMFNetCredential * This, IMFNetCredential * This,
/* [annotation][size_is][out] */ /* [annotation][size_is][out] */
__out_ecount_part_opt(*pcbData,*pcbData) BYTE *pbData, _Out_writes_to_opt_(*pcbData,*pcbData) BYTE *pbData,
/* [annotation][out][in] */ /* [annotation][out][in] */
__inout DWORD *pcbData, _Inout_ DWORD *pcbData,
/* [in] */ BOOL fEncryptData); /* [in] */ BOOL fEncryptData);
HRESULT ( STDMETHODCALLTYPE *GetPassword )( HRESULT ( STDMETHODCALLTYPE *GetPassword )(
IMFNetCredential * This, IMFNetCredential * This,
/* [annotation][size_is][out] */ /* [annotation][size_is][out] */
__out_ecount_part_opt(*pcbData,*pcbData) BYTE *pbData, _Out_writes_to_opt_(*pcbData,*pcbData) BYTE *pbData,
/* [annotation][out][in] */ /* [annotation][out][in] */
__inout DWORD *pcbData, _Inout_ DWORD *pcbData,
/* [in] */ BOOL fEncryptData); /* [in] */ BOOL fEncryptData);
HRESULT ( STDMETHODCALLTYPE *LoggedOnUser )( HRESULT ( STDMETHODCALLTYPE *LoggedOnUser )(
IMFNetCredential * This, IMFNetCredential * This,
/* [annotation][out] */ /* [annotation][out] */
__out BOOL *pfLoggedOnUser); _Out_ BOOL *pfLoggedOnUser);
END_INTERFACE END_INTERFACE
} IMFNetCredentialVtbl; } IMFNetCredentialVtbl;
interface IMFNetCredential interface IMFNetCredential
{ {
CONST_VTBL struct IMFNetCredentialVtbl *lpVtbl; CONST_VTBL struct IMFNetCredentialVtbl *lpVtbl;
}; };
#ifdef COBJMACROS #ifdef COBJMACROS
skipping to change at line 8016 skipping to change at line 9741
{ {
public: public:
virtual HRESULT STDMETHODCALLTYPE BeginGetCredentials( virtual HRESULT STDMETHODCALLTYPE BeginGetCredentials(
/* [in] */ MFNetCredentialManagerGetParam *pParam, /* [in] */ MFNetCredentialManagerGetParam *pParam,
/* [in] */ IMFAsyncCallback *pCallback, /* [in] */ IMFAsyncCallback *pCallback,
/* [in] */ IUnknown *pState) = 0; /* [in] */ IUnknown *pState) = 0;
virtual HRESULT STDMETHODCALLTYPE EndGetCredentials( virtual HRESULT STDMETHODCALLTYPE EndGetCredentials(
/* [in] */ IMFAsyncResult *pResult, /* [in] */ IMFAsyncResult *pResult,
/* [annotation][out] */ /* [annotation][out] */
__out IMFNetCredential **ppCred) = 0; _Outptr_ IMFNetCredential **ppCred) = 0;
virtual HRESULT STDMETHODCALLTYPE SetGood( virtual HRESULT STDMETHODCALLTYPE SetGood(
/* [in] */ IMFNetCredential *pCred, /* [in] */ IMFNetCredential *pCred,
/* [in] */ BOOL fGood) = 0; /* [in] */ BOOL fGood) = 0;
}; };
#else /* C style interface */ #else /* C style interface */
typedef struct IMFNetCredentialManagerVtbl typedef struct IMFNetCredentialManagerVtbl
{ {
BEGIN_INTERFACE BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )( HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IMFNetCredentialManager * This, IMFNetCredentialManager * This,
/* [in] */ REFIID riid, /* [in] */ REFIID riid,
/* [annotation][iid_is][out] */ /* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject); _COM_Outptr_ void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )( ULONG ( STDMETHODCALLTYPE *AddRef )(
IMFNetCredentialManager * This); IMFNetCredentialManager * This);
ULONG ( STDMETHODCALLTYPE *Release )( ULONG ( STDMETHODCALLTYPE *Release )(
IMFNetCredentialManager * This); IMFNetCredentialManager * This);
HRESULT ( STDMETHODCALLTYPE *BeginGetCredentials )( HRESULT ( STDMETHODCALLTYPE *BeginGetCredentials )(
IMFNetCredentialManager * This, IMFNetCredentialManager * This,
/* [in] */ MFNetCredentialManagerGetParam *pParam, /* [in] */ MFNetCredentialManagerGetParam *pParam,
/* [in] */ IMFAsyncCallback *pCallback, /* [in] */ IMFAsyncCallback *pCallback,
/* [in] */ IUnknown *pState); /* [in] */ IUnknown *pState);
HRESULT ( STDMETHODCALLTYPE *EndGetCredentials )( HRESULT ( STDMETHODCALLTYPE *EndGetCredentials )(
IMFNetCredentialManager * This, IMFNetCredentialManager * This,
/* [in] */ IMFAsyncResult *pResult, /* [in] */ IMFAsyncResult *pResult,
/* [annotation][out] */ /* [annotation][out] */
__out IMFNetCredential **ppCred); _Outptr_ IMFNetCredential **ppCred);
HRESULT ( STDMETHODCALLTYPE *SetGood )( HRESULT ( STDMETHODCALLTYPE *SetGood )(
IMFNetCredentialManager * This, IMFNetCredentialManager * This,
/* [in] */ IMFNetCredential *pCred, /* [in] */ IMFNetCredential *pCred,
/* [in] */ BOOL fGood); /* [in] */ BOOL fGood);
END_INTERFACE END_INTERFACE
} IMFNetCredentialManagerVtbl; } IMFNetCredentialManagerVtbl;
interface IMFNetCredentialManager interface IMFNetCredentialManager
skipping to change at line 8101 skipping to change at line 9826
#endif /* __IMFNetCredentialManager_INTERFACE_DEFINED__ */ #endif /* __IMFNetCredentialManager_INTERFACE_DEFINED__ */
#ifndef __IMFNetCredentialCache_INTERFACE_DEFINED__ #ifndef __IMFNetCredentialCache_INTERFACE_DEFINED__
#define __IMFNetCredentialCache_INTERFACE_DEFINED__ #define __IMFNetCredentialCache_INTERFACE_DEFINED__
/* interface IMFNetCredentialCache */ /* interface IMFNetCredentialCache */
/* [local][uuid][object] */ /* [local][uuid][object] */
typedef typedef
enum _MFNetCredentialRequirements enum _MFNetCredentialRequirements
{ REQUIRE_PROMPT = 0x1, {
REQUIRE_SAVE_SELECTED = 0x2 REQUIRE_PROMPT = 0x1,
REQUIRE_SAVE_SELECTED = 0x2
} MFNetCredentialRequirements; } MFNetCredentialRequirements;
typedef typedef
enum _MFNetCredentialOptions enum _MFNetCredentialOptions
{ MFNET_CREDENTIAL_SAVE = 0x1, {
MFNET_CREDENTIAL_DONT_CACHE = 0x2, MFNET_CREDENTIAL_SAVE = 0x1,
MFNET_CREDENTIAL_ALLOW_CLEAR_TEXT = 0x4 MFNET_CREDENTIAL_DONT_CACHE = 0x2,
MFNET_CREDENTIAL_ALLOW_CLEAR_TEXT = 0x4
} MFNetCredentialOptions; } MFNetCredentialOptions;
typedef typedef
enum _MFNetAuthenticationFlags enum _MFNetAuthenticationFlags
{ MFNET_AUTHENTICATION_PROXY = 0x1, {
MFNET_AUTHENTICATION_CLEAR_TEXT = 0x2, MFNET_AUTHENTICATION_PROXY = 0x1,
MFNET_AUTHENTICATION_LOGGED_ON_USER = 0x4 MFNET_AUTHENTICATION_CLEAR_TEXT = 0x2,
MFNET_AUTHENTICATION_LOGGED_ON_USER = 0x4
} MFNetAuthenticationFlags; } MFNetAuthenticationFlags;
EXTERN_C const IID IID_IMFNetCredentialCache; EXTERN_C const IID IID_IMFNetCredentialCache;
#if defined(__cplusplus) && !defined(CINTERFACE) #if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("5b87ef6c-7ed8-434f-ba0e-184fac1628d1") MIDL_INTERFACE("5b87ef6c-7ed8-434f-ba0e-184fac1628d1")
IMFNetCredentialCache : public IUnknown IMFNetCredentialCache : public IUnknown
{ {
public: public:
virtual HRESULT STDMETHODCALLTYPE GetCredential( virtual HRESULT STDMETHODCALLTYPE GetCredential(
/* [in] */ LPCWSTR pszUrl, /* [in] */ LPCWSTR pszUrl,
/* [in] */ LPCWSTR pszRealm, /* [in] */ LPCWSTR pszRealm,
/* [in] */ DWORD dwAuthenticationFlags, /* [in] */ DWORD dwAuthenticationFlags,
/* [annotation][out] */ /* [annotation][out] */
__out IMFNetCredential **ppCred, _Outptr_ IMFNetCredential **ppCred,
/* [annotation][out] */ /* [annotation][out] */
__out DWORD *pdwRequirementsFlags) = 0; _Out_ DWORD *pdwRequirementsFlags) = 0;
virtual HRESULT STDMETHODCALLTYPE SetGood( virtual HRESULT STDMETHODCALLTYPE SetGood(
/* [in] */ IMFNetCredential *pCred, /* [in] */ IMFNetCredential *pCred,
/* [in] */ BOOL fGood) = 0; /* [in] */ BOOL fGood) = 0;
virtual HRESULT STDMETHODCALLTYPE SetUserOptions( virtual HRESULT STDMETHODCALLTYPE SetUserOptions(
/* [in] */ IMFNetCredential *pCred, /* [in] */ IMFNetCredential *pCred,
/* [in] */ DWORD dwOptionsFlags) = 0; /* [in] */ DWORD dwOptionsFlags) = 0;
}; };
skipping to change at line 8156 skipping to change at line 9884
#else /* C style interface */ #else /* C style interface */
typedef struct IMFNetCredentialCacheVtbl typedef struct IMFNetCredentialCacheVtbl
{ {
BEGIN_INTERFACE BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )( HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IMFNetCredentialCache * This, IMFNetCredentialCache * This,
/* [in] */ REFIID riid, /* [in] */ REFIID riid,
/* [annotation][iid_is][out] */ /* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject); _COM_Outptr_ void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )( ULONG ( STDMETHODCALLTYPE *AddRef )(
IMFNetCredentialCache * This); IMFNetCredentialCache * This);
ULONG ( STDMETHODCALLTYPE *Release )( ULONG ( STDMETHODCALLTYPE *Release )(
IMFNetCredentialCache * This); IMFNetCredentialCache * This);
HRESULT ( STDMETHODCALLTYPE *GetCredential )( HRESULT ( STDMETHODCALLTYPE *GetCredential )(
IMFNetCredentialCache * This, IMFNetCredentialCache * This,
/* [in] */ LPCWSTR pszUrl, /* [in] */ LPCWSTR pszUrl,
/* [in] */ LPCWSTR pszRealm, /* [in] */ LPCWSTR pszRealm,
/* [in] */ DWORD dwAuthenticationFlags, /* [in] */ DWORD dwAuthenticationFlags,
/* [annotation][out] */ /* [annotation][out] */
__out IMFNetCredential **ppCred, _Outptr_ IMFNetCredential **ppCred,
/* [annotation][out] */ /* [annotation][out] */
__out DWORD *pdwRequirementsFlags); _Out_ DWORD *pdwRequirementsFlags);
HRESULT ( STDMETHODCALLTYPE *SetGood )( HRESULT ( STDMETHODCALLTYPE *SetGood )(
IMFNetCredentialCache * This, IMFNetCredentialCache * This,
/* [in] */ IMFNetCredential *pCred, /* [in] */ IMFNetCredential *pCred,
/* [in] */ BOOL fGood); /* [in] */ BOOL fGood);
HRESULT ( STDMETHODCALLTYPE *SetUserOptions )( HRESULT ( STDMETHODCALLTYPE *SetUserOptions )(
IMFNetCredentialCache * This, IMFNetCredentialCache * This,
/* [in] */ IMFNetCredential *pCred, /* [in] */ IMFNetCredential *pCred,
/* [in] */ DWORD dwOptionsFlags); /* [in] */ DWORD dwOptionsFlags);
skipping to change at line 8218 skipping to change at line 9946
#define IMFNetCredentialCache_SetUserOptions(This,pCred,dwOptionsFlags) \ #define IMFNetCredentialCache_SetUserOptions(This,pCred,dwOptionsFlags) \
( (This)->lpVtbl -> SetUserOptions(This,pCred,dwOptionsFlags) ) ( (This)->lpVtbl -> SetUserOptions(This,pCred,dwOptionsFlags) )
#endif /* COBJMACROS */ #endif /* COBJMACROS */
#endif /* C style interface */ #endif /* C style interface */
#endif /* __IMFNetCredentialCache_INTERFACE_DEFINED__ */ #endif /* __IMFNetCredentialCache_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_mfidl_0000_0049 */ /* interface __MIDL_itf_mfidl_0000_0058 */
/* [local] */ /* [local] */
STDAPI STDAPI
MFCreateCredentialCache( MFCreateCredentialCache(
__out IMFNetCredentialCache ** ppCache); _Outptr_ IMFNetCredentialCache ** ppCache);
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#if (WINVER >= _WIN32_WINNT_WIN7) #if (WINVER >= _WIN32_WINNT_WIN7)
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0049_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0058_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0049_v0_0_s_ifspec; extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0058_v0_0_s_ifspec;
#ifndef __IMFSSLCertificateManager_INTERFACE_DEFINED__ #ifndef __IMFSSLCertificateManager_INTERFACE_DEFINED__
#define __IMFSSLCertificateManager_INTERFACE_DEFINED__ #define __IMFSSLCertificateManager_INTERFACE_DEFINED__
/* interface IMFSSLCertificateManager */ /* interface IMFSSLCertificateManager */
/* [local][uuid][object] */ /* [local][uuid][object] */
EXTERN_C const IID IID_IMFSSLCertificateManager; EXTERN_C const IID IID_IMFSSLCertificateManager;
#if defined(__cplusplus) && !defined(CINTERFACE) #if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("61f7d887-1230-4a8b-aeba-8ad434d1a64d") MIDL_INTERFACE("61f7d887-1230-4a8b-aeba-8ad434d1a64d")
IMFSSLCertificateManager : public IUnknown IMFSSLCertificateManager : public IUnknown
{ {
public: public:
virtual HRESULT STDMETHODCALLTYPE GetClientCertificate( virtual HRESULT STDMETHODCALLTYPE GetClientCertificate(
/* [in] */ LPCWSTR pszURL, /* [in] */ LPCWSTR pszURL,
/* [annotation][size_is][size_is][out] */ /* [annotation][size_is][size_is][out] */
__deref_out_bcount(*pcbData) BYTE **ppbData, _Outptr_result_bytebuffer_(*pcbData) BYTE **ppbData,
/* [annotation][out] */ /* [annotation][out] */
__out DWORD *pcbData) = 0; _Out_ DWORD *pcbData) = 0;
virtual HRESULT STDMETHODCALLTYPE BeginGetClientCertificate( virtual HRESULT STDMETHODCALLTYPE BeginGetClientCertificate(
/* [in] */ LPCWSTR pszURL, /* [in] */ LPCWSTR pszURL,
/* [in] */ IMFAsyncCallback *pCallback, /* [in] */ IMFAsyncCallback *pCallback,
/* [in] */ IUnknown *pState) = 0; /* [in] */ IUnknown *pState) = 0;
virtual HRESULT STDMETHODCALLTYPE EndGetClientCertificate( virtual HRESULT STDMETHODCALLTYPE EndGetClientCertificate(
/* [in] */ IMFAsyncResult *pResult, /* [in] */ IMFAsyncResult *pResult,
/* [annotation][size_is][size_is][out] */ /* [annotation][size_is][size_is][out] */
__deref_out_bcount(*pcbData) BYTE **ppbData, _Outptr_result_bytebuffer_(*pcbData) BYTE **ppbData,
/* [annotation][out] */ /* [annotation][out] */
__out DWORD *pcbData) = 0; _Out_ DWORD *pcbData) = 0;
virtual HRESULT STDMETHODCALLTYPE GetCertificatePolicy( virtual HRESULT STDMETHODCALLTYPE GetCertificatePolicy(
/* [in] */ LPCWSTR pszURL, /* [in] */ LPCWSTR pszURL,
/* [out] */ BOOL *pfOverrideAutomaticCheck, /* [out] */ BOOL *pfOverrideAutomaticCheck,
/* [out] */ BOOL *pfClientCertificateAvailable) = 0; /* [out] */ BOOL *pfClientCertificateAvailable) = 0;
virtual HRESULT STDMETHODCALLTYPE OnServerCertificate( virtual HRESULT STDMETHODCALLTYPE OnServerCertificate(
/* [in] */ LPCWSTR pszURL, /* [in] */ LPCWSTR pszURL,
/* [annotation][size_is][in] */ /* [annotation][size_is][in] */
__in_bcount(cbData) BYTE *pbData, _In_reads_bytes_(cbData) BYTE *pbData,
/* [in] */ DWORD cbData, /* [in] */ DWORD cbData,
/* [out] */ BOOL *pfIsGood) = 0; /* [out] */ BOOL *pfIsGood) = 0;
}; };
#else /* C style interface */ #else /* C style interface */
typedef struct IMFSSLCertificateManagerVtbl typedef struct IMFSSLCertificateManagerVtbl
{ {
BEGIN_INTERFACE BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )( HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IMFSSLCertificateManager * This, IMFSSLCertificateManager * This,
/* [in] */ REFIID riid, /* [in] */ REFIID riid,
/* [annotation][iid_is][out] */ /* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject); _COM_Outptr_ void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )( ULONG ( STDMETHODCALLTYPE *AddRef )(
IMFSSLCertificateManager * This); IMFSSLCertificateManager * This);
ULONG ( STDMETHODCALLTYPE *Release )( ULONG ( STDMETHODCALLTYPE *Release )(
IMFSSLCertificateManager * This); IMFSSLCertificateManager * This);
HRESULT ( STDMETHODCALLTYPE *GetClientCertificate )( HRESULT ( STDMETHODCALLTYPE *GetClientCertificate )(
IMFSSLCertificateManager * This, IMFSSLCertificateManager * This,
/* [in] */ LPCWSTR pszURL, /* [in] */ LPCWSTR pszURL,
/* [annotation][size_is][size_is][out] */ /* [annotation][size_is][size_is][out] */
__deref_out_bcount(*pcbData) BYTE **ppbData, _Outptr_result_bytebuffer_(*pcbData) BYTE **ppbData,
/* [annotation][out] */ /* [annotation][out] */
__out DWORD *pcbData); _Out_ DWORD *pcbData);
HRESULT ( STDMETHODCALLTYPE *BeginGetClientCertificate )( HRESULT ( STDMETHODCALLTYPE *BeginGetClientCertificate )(
IMFSSLCertificateManager * This, IMFSSLCertificateManager * This,
/* [in] */ LPCWSTR pszURL, /* [in] */ LPCWSTR pszURL,
/* [in] */ IMFAsyncCallback *pCallback, /* [in] */ IMFAsyncCallback *pCallback,
/* [in] */ IUnknown *pState); /* [in] */ IUnknown *pState);
HRESULT ( STDMETHODCALLTYPE *EndGetClientCertificate )( HRESULT ( STDMETHODCALLTYPE *EndGetClientCertificate )(
IMFSSLCertificateManager * This, IMFSSLCertificateManager * This,
/* [in] */ IMFAsyncResult *pResult, /* [in] */ IMFAsyncResult *pResult,
/* [annotation][size_is][size_is][out] */ /* [annotation][size_is][size_is][out] */
__deref_out_bcount(*pcbData) BYTE **ppbData, _Outptr_result_bytebuffer_(*pcbData) BYTE **ppbData,
/* [annotation][out] */ /* [annotation][out] */
__out DWORD *pcbData); _Out_ DWORD *pcbData);
HRESULT ( STDMETHODCALLTYPE *GetCertificatePolicy )( HRESULT ( STDMETHODCALLTYPE *GetCertificatePolicy )(
IMFSSLCertificateManager * This, IMFSSLCertificateManager * This,
/* [in] */ LPCWSTR pszURL, /* [in] */ LPCWSTR pszURL,
/* [out] */ BOOL *pfOverrideAutomaticCheck, /* [out] */ BOOL *pfOverrideAutomaticCheck,
/* [out] */ BOOL *pfClientCertificateAvailable); /* [out] */ BOOL *pfClientCertificateAvailable);
HRESULT ( STDMETHODCALLTYPE *OnServerCertificate )( HRESULT ( STDMETHODCALLTYPE *OnServerCertificate )(
IMFSSLCertificateManager * This, IMFSSLCertificateManager * This,
/* [in] */ LPCWSTR pszURL, /* [in] */ LPCWSTR pszURL,
/* [annotation][size_is][in] */ /* [annotation][size_is][in] */
__in_bcount(cbData) BYTE *pbData, _In_reads_bytes_(cbData) BYTE *pbData,
/* [in] */ DWORD cbData, /* [in] */ DWORD cbData,
/* [out] */ BOOL *pfIsGood); /* [out] */ BOOL *pfIsGood);
END_INTERFACE END_INTERFACE
} IMFSSLCertificateManagerVtbl; } IMFSSLCertificateManagerVtbl;
interface IMFSSLCertificateManager interface IMFSSLCertificateManager
{ {
CONST_VTBL struct IMFSSLCertificateManagerVtbl *lpVtbl; CONST_VTBL struct IMFSSLCertificateManagerVtbl *lpVtbl;
}; };
skipping to change at line 8370 skipping to change at line 10102
#define IMFSSLCertificateManager_OnServerCertificate(This,pszURL,pbData,cbData,p fIsGood) \ #define IMFSSLCertificateManager_OnServerCertificate(This,pszURL,pbData,cbData,p fIsGood) \
( (This)->lpVtbl -> OnServerCertificate(This,pszURL,pbData,cbData,pfIsGood) ) ( (This)->lpVtbl -> OnServerCertificate(This,pszURL,pbData,cbData,pfIsGood) )
#endif /* COBJMACROS */ #endif /* COBJMACROS */
#endif /* C style interface */ #endif /* C style interface */
#endif /* __IMFSSLCertificateManager_INTERFACE_DEFINED__ */ #endif /* __IMFSSLCertificateManager_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_mfidl_0000_0050 */ /* interface __MIDL_itf_mfidl_0000_0059 */
/* [local] */ /* [local] */
EXTERN_GUID( MFNETSOURCE_SSLCERTIFICATE_MANAGER, 0x55e6cb27, 0xe69b, 0x4267, 0x9 4, 0x0c, 0x2d, 0x7e, 0xc5, 0xbb, 0x8a, 0x0f ); EXTERN_GUID( MFNETSOURCE_SSLCERTIFICATE_MANAGER, 0x55e6cb27, 0xe69b, 0x4267, 0x9 4, 0x0c, 0x2d, 0x7e, 0xc5, 0xbb, 0x8a, 0x0f );
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 __IMFNetResourceFilter_INTERFACE_DEFINED__
#define __IMFNetResourceFilter_INTERFACE_DEFINED__
/* interface IMFNetResourceFilter */
/* [local][unique][helpstring][uuid][object] */
EXTERN_C const IID IID_IMFNetResourceFilter;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("091878a3-bf11-4a5c-bc9f-33995b06ef2d")
IMFNetResourceFilter : public IUnknown
{
public:
virtual HRESULT STDMETHODCALLTYPE OnRedirect(
/* [annotation][in] */
_In_ LPCWSTR pszUrl,
/* [annotation][out] */
_Out_ VARIANT_BOOL *pvbCancel) = 0;
virtual HRESULT STDMETHODCALLTYPE OnSendingRequest(
/* [annotation][in] */
_In_ LPCWSTR pszUrl) = 0;
};
#else /* C style interface */
typedef struct IMFNetResourceFilterVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IMFNetResourceFilter * This,
/* [in] */ REFIID riid,
/* [annotation][iid_is][out] */
_COM_Outptr_ void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
IMFNetResourceFilter * This);
ULONG ( STDMETHODCALLTYPE *Release )(
IMFNetResourceFilter * This);
HRESULT ( STDMETHODCALLTYPE *OnRedirect )(
IMFNetResourceFilter * This,
/* [annotation][in] */
_In_ LPCWSTR pszUrl,
/* [annotation][out] */
_Out_ VARIANT_BOOL *pvbCancel);
HRESULT ( STDMETHODCALLTYPE *OnSendingRequest )(
IMFNetResourceFilter * This,
/* [annotation][in] */
_In_ LPCWSTR pszUrl);
END_INTERFACE
} IMFNetResourceFilterVtbl;
interface IMFNetResourceFilter
{
CONST_VTBL struct IMFNetResourceFilterVtbl *lpVtbl;
};
#ifdef COBJMACROS
#define IMFNetResourceFilter_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
#define IMFNetResourceFilter_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
#define IMFNetResourceFilter_Release(This) \
( (This)->lpVtbl -> Release(This) )
#define IMFNetResourceFilter_OnRedirect(This,pszUrl,pvbCancel) \
( (This)->lpVtbl -> OnRedirect(This,pszUrl,pvbCancel) )
#define IMFNetResourceFilter_OnSendingRequest(This,pszUrl) \
( (This)->lpVtbl -> OnSendingRequest(This,pszUrl) )
#endif /* COBJMACROS */
#endif /* C style interface */
#endif /* __IMFNetResourceFilter_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_mfidl_0000_0060 */
/* [local] */
EXTERN_GUID( MFNETSOURCE_RESOURCE_FILTER, 0x815d0ff6, 0x265a, 0x4477, 0x9e, 0x46
, 0x7b, 0x80, 0xad, 0x80, 0xb5, 0xfb);
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#endif // (WINVER >= _WIN32_WINNT_WIN7) #endif // (WINVER >= _WIN32_WINNT_WIN7)
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0050_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0060_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0050_v0_0_s_ifspec; extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0060_v0_0_s_ifspec;
#ifndef __IMFSourceOpenMonitor_INTERFACE_DEFINED__ #ifndef __IMFSourceOpenMonitor_INTERFACE_DEFINED__
#define __IMFSourceOpenMonitor_INTERFACE_DEFINED__ #define __IMFSourceOpenMonitor_INTERFACE_DEFINED__
/* interface IMFSourceOpenMonitor */ /* interface IMFSourceOpenMonitor */
/* [uuid][object] */ /* [uuid][object] */
EXTERN_C const IID IID_IMFSourceOpenMonitor; EXTERN_C const IID IID_IMFSourceOpenMonitor;
#if defined(__cplusplus) && !defined(CINTERFACE) #if defined(__cplusplus) && !defined(CINTERFACE)
skipping to change at line 8408 skipping to change at line 10239
#else /* C style interface */ #else /* C style interface */
typedef struct IMFSourceOpenMonitorVtbl typedef struct IMFSourceOpenMonitorVtbl
{ {
BEGIN_INTERFACE BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )( HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
__RPC__in IMFSourceOpenMonitor * This, __RPC__in IMFSourceOpenMonitor * This,
/* [in] */ __RPC__in REFIID riid, /* [in] */ __RPC__in REFIID riid,
/* [annotation][iid_is][out] */ /* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject); _COM_Outptr_ void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )( ULONG ( STDMETHODCALLTYPE *AddRef )(
__RPC__in IMFSourceOpenMonitor * This); __RPC__in IMFSourceOpenMonitor * This);
ULONG ( STDMETHODCALLTYPE *Release )( ULONG ( STDMETHODCALLTYPE *Release )(
__RPC__in IMFSourceOpenMonitor * This); __RPC__in IMFSourceOpenMonitor * This);
HRESULT ( STDMETHODCALLTYPE *OnSourceEvent )( HRESULT ( STDMETHODCALLTYPE *OnSourceEvent )(
__RPC__in IMFSourceOpenMonitor * This, __RPC__in IMFSourceOpenMonitor * This,
/* [in] */ __RPC__in_opt IMFMediaEvent *pEvent); /* [in] */ __RPC__in_opt IMFMediaEvent *pEvent);
skipping to change at line 8474 skipping to change at line 10305
/* [in] */ LPCWSTR pszUrl, /* [in] */ LPCWSTR pszUrl,
/* [in] */ BOOL fReserved) = 0; /* [in] */ BOOL fReserved) = 0;
virtual HRESULT STDMETHODCALLTYPE FindNextProxy( void) = 0; virtual HRESULT STDMETHODCALLTYPE FindNextProxy( void) = 0;
virtual HRESULT STDMETHODCALLTYPE RegisterProxyResult( virtual HRESULT STDMETHODCALLTYPE RegisterProxyResult(
/* [in] */ HRESULT hrOp) = 0; /* [in] */ HRESULT hrOp) = 0;
virtual HRESULT STDMETHODCALLTYPE GetCurrentProxy( virtual HRESULT STDMETHODCALLTYPE GetCurrentProxy(
/* [annotation][size_is][out] */ /* [annotation][size_is][out] */
__out_ecount_opt(*pcchStr) LPWSTR pszStr, _Out_writes_opt_(*pcchStr) LPWSTR pszStr,
/* [out][in] */ DWORD *pcchStr) = 0; /* [out][in] */ DWORD *pcchStr) = 0;
virtual HRESULT STDMETHODCALLTYPE Clone( virtual HRESULT STDMETHODCALLTYPE Clone(
/* [out] */ IMFNetProxyLocator **ppProxyLocator) = 0; /* [out] */ IMFNetProxyLocator **ppProxyLocator) = 0;
}; };
#else /* C style interface */ #else /* C style interface */
typedef struct IMFNetProxyLocatorVtbl typedef struct IMFNetProxyLocatorVtbl
{ {
BEGIN_INTERFACE BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )( HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IMFNetProxyLocator * This, IMFNetProxyLocator * This,
/* [in] */ REFIID riid, /* [in] */ REFIID riid,
/* [annotation][iid_is][out] */ /* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject); _COM_Outptr_ void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )( ULONG ( STDMETHODCALLTYPE *AddRef )(
IMFNetProxyLocator * This); IMFNetProxyLocator * This);
ULONG ( STDMETHODCALLTYPE *Release )( ULONG ( STDMETHODCALLTYPE *Release )(
IMFNetProxyLocator * This); IMFNetProxyLocator * This);
HRESULT ( STDMETHODCALLTYPE *FindFirstProxy )( HRESULT ( STDMETHODCALLTYPE *FindFirstProxy )(
IMFNetProxyLocator * This, IMFNetProxyLocator * This,
/* [in] */ LPCWSTR pszHost, /* [in] */ LPCWSTR pszHost,
skipping to change at line 8516 skipping to change at line 10347
HRESULT ( STDMETHODCALLTYPE *FindNextProxy )( HRESULT ( STDMETHODCALLTYPE *FindNextProxy )(
IMFNetProxyLocator * This); IMFNetProxyLocator * This);
HRESULT ( STDMETHODCALLTYPE *RegisterProxyResult )( HRESULT ( STDMETHODCALLTYPE *RegisterProxyResult )(
IMFNetProxyLocator * This, IMFNetProxyLocator * This,
/* [in] */ HRESULT hrOp); /* [in] */ HRESULT hrOp);
HRESULT ( STDMETHODCALLTYPE *GetCurrentProxy )( HRESULT ( STDMETHODCALLTYPE *GetCurrentProxy )(
IMFNetProxyLocator * This, IMFNetProxyLocator * This,
/* [annotation][size_is][out] */ /* [annotation][size_is][out] */
__out_ecount_opt(*pcchStr) LPWSTR pszStr, _Out_writes_opt_(*pcchStr) LPWSTR pszStr,
/* [out][in] */ DWORD *pcchStr); /* [out][in] */ DWORD *pcchStr);
HRESULT ( STDMETHODCALLTYPE *Clone )( HRESULT ( STDMETHODCALLTYPE *Clone )(
IMFNetProxyLocator * This, IMFNetProxyLocator * This,
/* [out] */ IMFNetProxyLocator **ppProxyLocator); /* [out] */ IMFNetProxyLocator **ppProxyLocator);
END_INTERFACE END_INTERFACE
} IMFNetProxyLocatorVtbl; } IMFNetProxyLocatorVtbl;
interface IMFNetProxyLocator interface IMFNetProxyLocator
skipping to change at line 8563 skipping to change at line 10394
#define IMFNetProxyLocator_Clone(This,ppProxyLocator) \ #define IMFNetProxyLocator_Clone(This,ppProxyLocator) \
( (This)->lpVtbl -> Clone(This,ppProxyLocator) ) ( (This)->lpVtbl -> Clone(This,ppProxyLocator) )
#endif /* COBJMACROS */ #endif /* COBJMACROS */
#endif /* C style interface */ #endif /* C style interface */
#endif /* __IMFNetProxyLocator_INTERFACE_DEFINED__ */ #endif /* __IMFNetProxyLocator_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_mfidl_0000_0052 */ /* interface __MIDL_itf_mfidl_0000_0062 */
/* [local] */ /* [local] */
STDAPI MFCreateProxyLocator( STDAPI MFCreateProxyLocator(
LPCWSTR pszProtocol, LPCWSTR pszProtocol,
IPropertyStore* pProxyConfig, IPropertyStore* pProxyConfig,
__out IMFNetProxyLocator** ppProxyLocator ); _Outptr_ IMFNetProxyLocator** ppProxyLocator );
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0052_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0062_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0052_v0_0_s_ifspec; extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0062_v0_0_s_ifspec;
#ifndef __IMFNetProxyLocatorFactory_INTERFACE_DEFINED__ #ifndef __IMFNetProxyLocatorFactory_INTERFACE_DEFINED__
#define __IMFNetProxyLocatorFactory_INTERFACE_DEFINED__ #define __IMFNetProxyLocatorFactory_INTERFACE_DEFINED__
/* interface IMFNetProxyLocatorFactory */ /* interface IMFNetProxyLocatorFactory */
/* [local][uuid][object] */ /* [local][uuid][object] */
EXTERN_C const IID IID_IMFNetProxyLocatorFactory; EXTERN_C const IID IID_IMFNetProxyLocatorFactory;
#if defined(__cplusplus) && !defined(CINTERFACE) #if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("e9cd0384-a268-4bb4-82de-658d53574d41") MIDL_INTERFACE("e9cd0384-a268-4bb4-82de-658d53574d41")
IMFNetProxyLocatorFactory : public IUnknown IMFNetProxyLocatorFactory : public IUnknown
{ {
public: public:
virtual HRESULT STDMETHODCALLTYPE CreateProxyLocator( virtual HRESULT STDMETHODCALLTYPE CreateProxyLocator(
/* [in] */ LPCWSTR pszProtocol, /* [in] */ LPCWSTR pszProtocol,
/* [annotation][out] */ /* [annotation][out] */
__out IMFNetProxyLocator **ppProxyLocator) = 0; _Outptr_ IMFNetProxyLocator **ppProxyLocator) = 0;
}; };
#else /* C style interface */ #else /* C style interface */
typedef struct IMFNetProxyLocatorFactoryVtbl typedef struct IMFNetProxyLocatorFactoryVtbl
{ {
BEGIN_INTERFACE BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )( HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IMFNetProxyLocatorFactory * This, IMFNetProxyLocatorFactory * This,
/* [in] */ REFIID riid, /* [in] */ REFIID riid,
/* [annotation][iid_is][out] */ /* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject); _COM_Outptr_ void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )( ULONG ( STDMETHODCALLTYPE *AddRef )(
IMFNetProxyLocatorFactory * This); IMFNetProxyLocatorFactory * This);
ULONG ( STDMETHODCALLTYPE *Release )( ULONG ( STDMETHODCALLTYPE *Release )(
IMFNetProxyLocatorFactory * This); IMFNetProxyLocatorFactory * This);
HRESULT ( STDMETHODCALLTYPE *CreateProxyLocator )( HRESULT ( STDMETHODCALLTYPE *CreateProxyLocator )(
IMFNetProxyLocatorFactory * This, IMFNetProxyLocatorFactory * This,
/* [in] */ LPCWSTR pszProtocol, /* [in] */ LPCWSTR pszProtocol,
/* [annotation][out] */ /* [annotation][out] */
__out IMFNetProxyLocator **ppProxyLocator); _Outptr_ IMFNetProxyLocator **ppProxyLocator);
END_INTERFACE END_INTERFACE
} IMFNetProxyLocatorFactoryVtbl; } IMFNetProxyLocatorFactoryVtbl;
interface IMFNetProxyLocatorFactory interface IMFNetProxyLocatorFactory
{ {
CONST_VTBL struct IMFNetProxyLocatorFactoryVtbl *lpVtbl; CONST_VTBL struct IMFNetProxyLocatorFactoryVtbl *lpVtbl;
}; };
#ifdef COBJMACROS #ifdef COBJMACROS
skipping to change at line 8673 skipping to change at line 10504
/* [in] */ IMFAsyncCallback *pCallback, /* [in] */ IMFAsyncCallback *pCallback,
/* [in] */ IUnknown *pState) = 0; /* [in] */ IUnknown *pState) = 0;
virtual HRESULT STDMETHODCALLTYPE EndSave( virtual HRESULT STDMETHODCALLTYPE EndSave(
/* [in] */ IMFAsyncResult *pResult) = 0; /* [in] */ IMFAsyncResult *pResult) = 0;
virtual HRESULT STDMETHODCALLTYPE CancelSave( void) = 0; virtual HRESULT STDMETHODCALLTYPE CancelSave( void) = 0;
virtual HRESULT STDMETHODCALLTYPE GetProgress( virtual HRESULT STDMETHODCALLTYPE GetProgress(
/* [annotation][out] */ /* [annotation][out] */
__out DWORD *pdwPercentComplete) = 0; _Out_ DWORD *pdwPercentComplete) = 0;
}; };
#else /* C style interface */ #else /* C style interface */
typedef struct IMFSaveJobVtbl typedef struct IMFSaveJobVtbl
{ {
BEGIN_INTERFACE BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )( HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IMFSaveJob * This, IMFSaveJob * This,
/* [in] */ REFIID riid, /* [in] */ REFIID riid,
/* [annotation][iid_is][out] */ /* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject); _COM_Outptr_ void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )( ULONG ( STDMETHODCALLTYPE *AddRef )(
IMFSaveJob * This); IMFSaveJob * This);
ULONG ( STDMETHODCALLTYPE *Release )( ULONG ( STDMETHODCALLTYPE *Release )(
IMFSaveJob * This); IMFSaveJob * This);
HRESULT ( STDMETHODCALLTYPE *BeginSave )( HRESULT ( STDMETHODCALLTYPE *BeginSave )(
IMFSaveJob * This, IMFSaveJob * This,
/* [in] */ IMFByteStream *pStream, /* [in] */ IMFByteStream *pStream,
skipping to change at line 8711 skipping to change at line 10542
HRESULT ( STDMETHODCALLTYPE *EndSave )( HRESULT ( STDMETHODCALLTYPE *EndSave )(
IMFSaveJob * This, IMFSaveJob * This,
/* [in] */ IMFAsyncResult *pResult); /* [in] */ IMFAsyncResult *pResult);
HRESULT ( STDMETHODCALLTYPE *CancelSave )( HRESULT ( STDMETHODCALLTYPE *CancelSave )(
IMFSaveJob * This); IMFSaveJob * This);
HRESULT ( STDMETHODCALLTYPE *GetProgress )( HRESULT ( STDMETHODCALLTYPE *GetProgress )(
IMFSaveJob * This, IMFSaveJob * This,
/* [annotation][out] */ /* [annotation][out] */
__out DWORD *pdwPercentComplete); _Out_ DWORD *pdwPercentComplete);
END_INTERFACE END_INTERFACE
} IMFSaveJobVtbl; } IMFSaveJobVtbl;
interface IMFSaveJob interface IMFSaveJob
{ {
CONST_VTBL struct IMFSaveJobVtbl *lpVtbl; CONST_VTBL struct IMFSaveJobVtbl *lpVtbl;
}; };
#ifdef COBJMACROS #ifdef COBJMACROS
skipping to change at line 8750 skipping to change at line 10581
#define IMFSaveJob_GetProgress(This,pdwPercentComplete) \ #define IMFSaveJob_GetProgress(This,pdwPercentComplete) \
( (This)->lpVtbl -> GetProgress(This,pdwPercentComplete) ) ( (This)->lpVtbl -> GetProgress(This,pdwPercentComplete) )
#endif /* COBJMACROS */ #endif /* COBJMACROS */
#endif /* C style interface */ #endif /* C style interface */
#endif /* __IMFSaveJob_INTERFACE_DEFINED__ */ #endif /* __IMFSaveJob_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_mfidl_0000_0054 */ /* interface __MIDL_itf_mfidl_0000_0064 */
/* [local] */ /* [local] */
EXTERN_GUID( MFNET_SAVEJOB_SERVICE, 0xb85a587f, 0x3d02, 0x4e52, 0x95, 0x65, 0x55 , 0xd3, 0xec, 0x1e, 0x7f, 0xf7 ); EXTERN_GUID( MFNET_SAVEJOB_SERVICE, 0xb85a587f, 0x3d02, 0x4e52, 0x95, 0x65, 0x55 , 0xd3, 0xec, 0x1e, 0x7f, 0xf7 );
typedef typedef
enum _MFNETSOURCE_PROTOCOL_TYPE enum _MFNETSOURCE_PROTOCOL_TYPE
{ MFNETSOURCE_UNDEFINED = 0, {
MFNETSOURCE_HTTP = 0x1, MFNETSOURCE_UNDEFINED = 0,
MFNETSOURCE_RTSP = 0x2, MFNETSOURCE_HTTP = 0x1,
MFNETSOURCE_FILE = 0x3, MFNETSOURCE_RTSP = 0x2,
MFNETSOURCE_MULTICAST = 0x4 MFNETSOURCE_FILE = 0x3,
MFNETSOURCE_MULTICAST = 0x4
} MFNETSOURCE_PROTOCOL_TYPE; } MFNETSOURCE_PROTOCOL_TYPE;
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0054_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0064_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0054_v0_0_s_ifspec; extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0064_v0_0_s_ifspec;
#ifndef __IMFNetSchemeHandlerConfig_INTERFACE_DEFINED__ #ifndef __IMFNetSchemeHandlerConfig_INTERFACE_DEFINED__
#define __IMFNetSchemeHandlerConfig_INTERFACE_DEFINED__ #define __IMFNetSchemeHandlerConfig_INTERFACE_DEFINED__
/* interface IMFNetSchemeHandlerConfig */ /* interface IMFNetSchemeHandlerConfig */
/* [local][uuid][object] */ /* [local][uuid][object] */
EXTERN_C const IID IID_IMFNetSchemeHandlerConfig; EXTERN_C const IID IID_IMFNetSchemeHandlerConfig;
#if defined(__cplusplus) && !defined(CINTERFACE) #if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("7BE19E73-C9BF-468a-AC5A-A5E8653BEC87") MIDL_INTERFACE("7BE19E73-C9BF-468a-AC5A-A5E8653BEC87")
IMFNetSchemeHandlerConfig : public IUnknown IMFNetSchemeHandlerConfig : public IUnknown
{ {
public: public:
virtual HRESULT STDMETHODCALLTYPE GetNumberOfSupportedProtocols( virtual HRESULT STDMETHODCALLTYPE GetNumberOfSupportedProtocols(
/* [annotation][out] */ /* [annotation][out] */
__out ULONG *pcProtocols) = 0; _Out_ ULONG *pcProtocols) = 0;
virtual HRESULT STDMETHODCALLTYPE GetSupportedProtocolType( virtual HRESULT STDMETHODCALLTYPE GetSupportedProtocolType(
/* [in] */ ULONG nProtocolIndex, /* [in] */ ULONG nProtocolIndex,
/* [annotation][out] */ /* [annotation][out] */
__out MFNETSOURCE_PROTOCOL_TYPE *pnProtocolType) = 0; _Out_ MFNETSOURCE_PROTOCOL_TYPE *pnProtocolType) = 0;
virtual HRESULT STDMETHODCALLTYPE ResetProtocolRolloverSettings( void) = 0; virtual HRESULT STDMETHODCALLTYPE ResetProtocolRolloverSettings( void) = 0;
}; };
#else /* C style interface */ #else /* C style interface */
typedef struct IMFNetSchemeHandlerConfigVtbl typedef struct IMFNetSchemeHandlerConfigVtbl
{ {
BEGIN_INTERFACE BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )( HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IMFNetSchemeHandlerConfig * This, IMFNetSchemeHandlerConfig * This,
/* [in] */ REFIID riid, /* [in] */ REFIID riid,
/* [annotation][iid_is][out] */ /* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject); _COM_Outptr_ void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )( ULONG ( STDMETHODCALLTYPE *AddRef )(
IMFNetSchemeHandlerConfig * This); IMFNetSchemeHandlerConfig * This);
ULONG ( STDMETHODCALLTYPE *Release )( ULONG ( STDMETHODCALLTYPE *Release )(
IMFNetSchemeHandlerConfig * This); IMFNetSchemeHandlerConfig * This);
HRESULT ( STDMETHODCALLTYPE *GetNumberOfSupportedProtocols )( HRESULT ( STDMETHODCALLTYPE *GetNumberOfSupportedProtocols )(
IMFNetSchemeHandlerConfig * This, IMFNetSchemeHandlerConfig * This,
/* [annotation][out] */ /* [annotation][out] */
__out ULONG *pcProtocols); _Out_ ULONG *pcProtocols);
HRESULT ( STDMETHODCALLTYPE *GetSupportedProtocolType )( HRESULT ( STDMETHODCALLTYPE *GetSupportedProtocolType )(
IMFNetSchemeHandlerConfig * This, IMFNetSchemeHandlerConfig * This,
/* [in] */ ULONG nProtocolIndex, /* [in] */ ULONG nProtocolIndex,
/* [annotation][out] */ /* [annotation][out] */
__out MFNETSOURCE_PROTOCOL_TYPE *pnProtocolType); _Out_ MFNETSOURCE_PROTOCOL_TYPE *pnProtocolType);
HRESULT ( STDMETHODCALLTYPE *ResetProtocolRolloverSettings )( HRESULT ( STDMETHODCALLTYPE *ResetProtocolRolloverSettings )(
IMFNetSchemeHandlerConfig * This); IMFNetSchemeHandlerConfig * This);
END_INTERFACE END_INTERFACE
} IMFNetSchemeHandlerConfigVtbl; } IMFNetSchemeHandlerConfigVtbl;
interface IMFNetSchemeHandlerConfig interface IMFNetSchemeHandlerConfig
{ {
CONST_VTBL struct IMFNetSchemeHandlerConfigVtbl *lpVtbl; CONST_VTBL struct IMFNetSchemeHandlerConfigVtbl *lpVtbl;
skipping to change at line 8859 skipping to change at line 10691
#define IMFNetSchemeHandlerConfig_ResetProtocolRolloverSettings(This) \ #define IMFNetSchemeHandlerConfig_ResetProtocolRolloverSettings(This) \
( (This)->lpVtbl -> ResetProtocolRolloverSettings(This) ) ( (This)->lpVtbl -> ResetProtocolRolloverSettings(This) )
#endif /* COBJMACROS */ #endif /* COBJMACROS */
#endif /* C style interface */ #endif /* C style interface */
#endif /* __IMFNetSchemeHandlerConfig_INTERFACE_DEFINED__ */ #endif /* __IMFNetSchemeHandlerConfig_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_mfidl_0000_0055 */ /* interface __MIDL_itf_mfidl_0000_0065 */
/* [local] */ /* [local] */
STDAPI MFCreateNetSchemePlugin( STDAPI MFCreateNetSchemePlugin(
REFIID riid, REFIID riid,
LPVOID *ppvHandler ); LPVOID *ppvHandler );
typedef typedef
enum _MFNETSOURCE_TRANSPORT_TYPE enum _MFNETSOURCE_TRANSPORT_TYPE
{ MFNETSOURCE_UDP = 0, {
MFNETSOURCE_TCP = ( MFNETSOURCE_UDP + 1 ) MFNETSOURCE_UDP = 0,
MFNETSOURCE_TCP = ( MFNETSOURCE_UDP + 1 )
} MFNETSOURCE_TRANSPORT_TYPE; } MFNETSOURCE_TRANSPORT_TYPE;
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
typedef typedef
enum _MFNETSOURCE_CACHE_STATE enum _MFNETSOURCE_CACHE_STATE
{ MFNETSOURCE_CACHE_UNAVAILABLE = 0, {
MFNETSOURCE_CACHE_ACTIVE_WRITING = ( MFNETSOURCE_CACHE_UNAVAILABLE MFNETSOURCE_CACHE_UNAVAILABLE = 0,
+ 1 ) , MFNETSOURCE_CACHE_ACTIVE_WRITING = ( MFNETSOURCE_CACHE_UNAVAILABLE
MFNETSOURCE_CACHE_ACTIVE_COMPLETE = ( MFNETSOURCE_CACHE_ACTIVE_WRIT + 1 ) ,
ING + 1 ) MFNETSOURCE_CACHE_ACTIVE_COMPLETE = ( MFNETSOURCE_CACHE_ACTIVE_WRIT
ING + 1 )
} MFNETSOURCE_CACHE_STATE; } MFNETSOURCE_CACHE_STATE;
typedef typedef
enum _MFNETSOURCE_STATISTICS_IDS enum _MFNETSOURCE_STATISTICS_IDS
{ MFNETSOURCE_RECVPACKETS_ID = 0, {
MFNETSOURCE_LOSTPACKETS_ID = ( MFNETSOURCE_RECVPACKETS_ID + 1 ) , MFNETSOURCE_RECVPACKETS_ID = 0,
MFNETSOURCE_RESENDSREQUESTED_ID = ( MFNETSOURCE_LOSTPACKETS_ID + 1 ) , MFNETSOURCE_LOSTPACKETS_ID = ( MFNETSOURCE_RECVPACKETS_ID + 1 ) ,
MFNETSOURCE_RESENDSRECEIVED_ID = ( MFNETSOURCE_RESENDSREQUESTED_ID + 1 ) MFNETSOURCE_RESENDSREQUESTED_ID = ( MFNETSOURCE_LOSTPACKETS_ID +
, 1 ) ,
MFNETSOURCE_RECOVEREDBYECCPACKETS_ID = ( MFNETSOURCE_RESENDSRECEIVED_I MFNETSOURCE_RESENDSRECEIVED_ID = ( MFNETSOURCE_RESENDSREQUESTED_ID + 1 )
D + 1 ) , ,
MFNETSOURCE_RECOVEREDBYRTXPACKETS_ID = ( MFNETSOURCE_RECOVEREDBYECCPAC MFNETSOURCE_RECOVEREDBYECCPACKETS_ID = ( MFNETSOURCE_RESENDSRECEIVED_I
KETS_ID + 1 ) , D + 1 ) ,
MFNETSOURCE_OUTPACKETS_ID = ( MFNETSOURCE_RECOVEREDBYRTXPACKETS_ID MFNETSOURCE_RECOVEREDBYRTXPACKETS_ID = ( MFNETSOURCE_RECOVEREDBYECCPAC
+ 1 ) , KETS_ID + 1 ) ,
MFNETSOURCE_RECVRATE_ID = ( MFNETSOURCE_OUTPACKETS_ID + 1 ) , MFNETSOURCE_OUTPACKETS_ID = ( MFNETSOURCE_RECOVEREDBYRTXPACKETS_ID
MFNETSOURCE_AVGBANDWIDTHBPS_ID = ( MFNETSOURCE_RECVRATE_ID + 1 ) , + 1 ) ,
MFNETSOURCE_BYTESRECEIVED_ID = ( MFNETSOURCE_AVGBANDWIDTHBPS_ID + 1 ) MFNETSOURCE_RECVRATE_ID = ( MFNETSOURCE_OUTPACKETS_ID + 1 ) ,
, MFNETSOURCE_AVGBANDWIDTHBPS_ID = ( MFNETSOURCE_RECVRATE_ID + 1 ) ,
MFNETSOURCE_PROTOCOL_ID = ( MFNETSOURCE_BYTESRECEIVED_ID + 1 ) , MFNETSOURCE_BYTESRECEIVED_ID = ( MFNETSOURCE_AVGBANDWIDTHBPS_ID + 1 )
MFNETSOURCE_TRANSPORT_ID = ( MFNETSOURCE_PROTOCOL_ID + 1 ) , ,
MFNETSOURCE_CACHE_STATE_ID = ( MFNETSOURCE_TRANSPORT_ID + 1 ) , MFNETSOURCE_PROTOCOL_ID = ( MFNETSOURCE_BYTESRECEIVED_ID + 1 ) ,
MFNETSOURCE_LINKBANDWIDTH_ID = ( MFNETSOURCE_CACHE_STATE_ID + 1 ) , MFNETSOURCE_TRANSPORT_ID = ( MFNETSOURCE_PROTOCOL_ID + 1 ) ,
MFNETSOURCE_CONTENTBITRATE_ID = ( MFNETSOURCE_LINKBANDWIDTH_ID + 1 ) , MFNETSOURCE_CACHE_STATE_ID = ( MFNETSOURCE_TRANSPORT_ID + 1 ) ,
MFNETSOURCE_SPEEDFACTOR_ID = ( MFNETSOURCE_CONTENTBITRATE_ID + 1 ) , MFNETSOURCE_LINKBANDWIDTH_ID = ( MFNETSOURCE_CACHE_STATE_ID + 1 ) ,
MFNETSOURCE_BUFFERSIZE_ID = ( MFNETSOURCE_SPEEDFACTOR_ID + 1 ) , MFNETSOURCE_CONTENTBITRATE_ID = ( MFNETSOURCE_LINKBANDWIDTH_ID + 1 ) ,
MFNETSOURCE_BUFFERPROGRESS_ID = ( MFNETSOURCE_BUFFERSIZE_ID + 1 ) , MFNETSOURCE_SPEEDFACTOR_ID = ( MFNETSOURCE_CONTENTBITRATE_ID + 1 ) ,
MFNETSOURCE_LASTBWSWITCHTS_ID = ( MFNETSOURCE_BUFFERPROGRESS_ID + 1 ) , MFNETSOURCE_BUFFERSIZE_ID = ( MFNETSOURCE_SPEEDFACTOR_ID + 1 ) ,
MFNETSOURCE_SEEKRANGESTART_ID = ( MFNETSOURCE_LASTBWSWITCHTS_ID + 1 ) , MFNETSOURCE_BUFFERPROGRESS_ID = ( MFNETSOURCE_BUFFERSIZE_ID + 1 ) ,
MFNETSOURCE_SEEKRANGEEND_ID = ( MFNETSOURCE_SEEKRANGESTART_ID + 1 ) , MFNETSOURCE_LASTBWSWITCHTS_ID = ( MFNETSOURCE_BUFFERPROGRESS_ID + 1 ) ,
MFNETSOURCE_BUFFERINGCOUNT_ID = ( MFNETSOURCE_SEEKRANGEEND_ID + 1 ) , MFNETSOURCE_SEEKRANGESTART_ID = ( MFNETSOURCE_LASTBWSWITCHTS_ID + 1 ) ,
MFNETSOURCE_INCORRECTLYSIGNEDPACKETS_ID = ( MFNETSOURCE_BUFFERINGCOUNT_ID MFNETSOURCE_SEEKRANGEEND_ID = ( MFNETSOURCE_SEEKRANGESTART_ID + 1 ) ,
+ 1 ) , MFNETSOURCE_BUFFERINGCOUNT_ID = ( MFNETSOURCE_SEEKRANGEEND_ID + 1 ) ,
MFNETSOURCE_SIGNEDSESSION_ID = ( MFNETSOURCE_INCORRECTLYSIGNEDPACKETS_ MFNETSOURCE_INCORRECTLYSIGNEDPACKETS_ID = ( MFNETSOURCE_BUFFERING
ID + 1 ) , COUNT_ID + 1 ) ,
MFNETSOURCE_MAXBITRATE_ID = ( MFNETSOURCE_SIGNEDSESSION_ID + 1 ) , MFNETSOURCE_SIGNEDSESSION_ID = ( MFNETSOURCE_INCORRECTLYSIGNEDPACKETS_
MFNETSOURCE_RECEPTION_QUALITY_ID = ( MFNETSOURCE_MAXBITRATE_ID + 1 ID + 1 ) ,
) , MFNETSOURCE_MAXBITRATE_ID = ( MFNETSOURCE_SIGNEDSESSION_ID + 1 ) ,
MFNETSOURCE_RECOVEREDPACKETS_ID = ( MFNETSOURCE_RECEPTION_QUALITY_ID + 1 MFNETSOURCE_RECEPTION_QUALITY_ID = ( MFNETSOURCE_MAXBITRATE_ID + 1
) , ) ,
MFNETSOURCE_VBR_ID = ( MFNETSOURCE_RECOVEREDPACKETS_ID + 1 ) , MFNETSOURCE_RECOVEREDPACKETS_ID = ( MFNETSOURCE_RECEPTION_QUALITY
MFNETSOURCE_DOWNLOADPROGRESS_ID = ( MFNETSOURCE_VBR_ID + 1 ) , _ID + 1 ) ,
MFNETSOURCE_UNPREDEFINEDPROTOCOLNAME_ID = ( MFNETSOURCE_DOWNLOADPROGRESS_ MFNETSOURCE_VBR_ID = ( MFNETSOURCE_RECOVEREDPACKETS_ID + 1 ) ,
ID + 1 ) MFNETSOURCE_DOWNLOADPROGRESS_ID = ( MFNETSOURCE_VBR_ID + 1 ) ,
MFNETSOURCE_UNPREDEFINEDPROTOCOLNAME_ID = ( MFNETSOURCE_DOWNLOADP
ROGRESS_ID + 1 )
} MFNETSOURCE_STATISTICS_IDS; } MFNETSOURCE_STATISTICS_IDS;
EXTERN_GUID( MFNETSOURCE_STATISTICS_SERVICE, 0x3cb1f275, 0x0505, 0x4c5d, 0xae, 0 x71, 0x0a, 0x55, 0x63, 0x44, 0xef, 0xa1 ); EXTERN_GUID( MFNETSOURCE_STATISTICS_SERVICE, 0x3cb1f275, 0x0505, 0x4c5d, 0xae, 0 x71, 0x0a, 0x55, 0x63, 0x44, 0xef, 0xa1 );
EXTERN_GUID( MFNETSOURCE_STATISTICS, 0x3cb1f274, 0x0505, 0x4c5d, 0xae, 0x71, 0x0 a, 0x55, 0x63, 0x44, 0xef, 0xa1 ); EXTERN_GUID( MFNETSOURCE_STATISTICS, 0x3cb1f274, 0x0505, 0x4c5d, 0xae, 0x71, 0x0 a, 0x55, 0x63, 0x44, 0xef, 0xa1 );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
#pragma endregion
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
EXTERN_GUID( MFNETSOURCE_BUFFERINGTIME, 0x3cb1f276, 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, 0x4c5 d, 0xae, 0x71, 0x0a, 0x55, 0x63, 0x44, 0xef, 0xa1 ); EXTERN_GUID( MFNETSOURCE_ACCELERATEDSTREAMINGDURATION, 0x3cb1f277, 0x0505, 0x4c5 d, 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_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_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_CONNECTIONBANDWIDTH, 0x3cb1f278, 0x0505, 0x4c5d, 0xae, 0x71, 0x0a, 0x55, 0x63, 0x44, 0xef, 0xa1 );
EXTERN_GUID( MFNETSOURCE_CACHEENABLED, 0x3cb1f279, 0x0505, 0x4c5d, 0xae, 0x71, 0 x0a, 0x55, 0x63, 0x44, 0xef, 0xa1 ); EXTERN_GUID( MFNETSOURCE_CACHEENABLED, 0x3cb1f279, 0x0505, 0x4c5d, 0xae, 0x71, 0 x0a, 0x55, 0x63, 0x44, 0xef, 0xa1 );
EXTERN_GUID( MFNETSOURCE_AUTORECONNECTLIMIT, 0x3cb1f27a, 0x0505, 0x4c5d, 0xae, 0 x71, 0x0a, 0x55, 0x63, 0x44, 0xef, 0xa1 ); EXTERN_GUID( MFNETSOURCE_AUTORECONNECTLIMIT, 0x3cb1f27a, 0x0505, 0x4c5d, 0xae, 0 x71, 0x0a, 0x55, 0x63, 0x44, 0xef, 0xa1 );
EXTERN_GUID( MFNETSOURCE_RESENDSENABLED, 0x3cb1f27b, 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_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_PROTOCOL, 0x3cb1f27d, 0x0505, 0x4c5d, 0xae, 0x71, 0x0a, 0x55, 0x63, 0x44, 0xef, 0xa1 );
skipping to change at line 8950 skipping to change at line 10793
EXTERN_GUID( MFNETSOURCE_CLIENTGUID, 0x60a2c4a6, 0xf197, 0x4c14, 0xa5, 0xbf, 0x8 8, 0x83, 0xd, 0x24, 0x58, 0xaf ); EXTERN_GUID( MFNETSOURCE_CLIENTGUID, 0x60a2c4a6, 0xf197, 0x4c14, 0xa5, 0xbf, 0x8 8, 0x83, 0xd, 0x24, 0x58, 0xaf );
#endif // (WINVER >= _WIN32_WINNT_WIN7) #endif // (WINVER >= _WIN32_WINNT_WIN7)
EXTERN_GUID( MFNETSOURCE_LOGURL, 0x3cb1f293, 0x0505, 0x4c5d, 0xae, 0x71, 0x0a, 0 x55, 0x63, 0x44, 0xef, 0xa1 ); EXTERN_GUID( MFNETSOURCE_LOGURL, 0x3cb1f293, 0x0505, 0x4c5d, 0xae, 0x71, 0x0a, 0 x55, 0x63, 0x44, 0xef, 0xa1 );
EXTERN_GUID( MFNETSOURCE_ENABLE_UDP, 0x3cb1f294, 0x0505, 0x4c5d, 0xae, 0x71, 0x0 a, 0x55, 0x63, 0x44, 0xef, 0xa1 ); EXTERN_GUID( MFNETSOURCE_ENABLE_UDP, 0x3cb1f294, 0x0505, 0x4c5d, 0xae, 0x71, 0x0 a, 0x55, 0x63, 0x44, 0xef, 0xa1 );
EXTERN_GUID( MFNETSOURCE_ENABLE_TCP, 0x3cb1f295, 0x0505, 0x4c5d, 0xae, 0x71, 0x0 a, 0x55, 0x63, 0x44, 0xef, 0xa1 ); EXTERN_GUID( MFNETSOURCE_ENABLE_TCP, 0x3cb1f295, 0x0505, 0x4c5d, 0xae, 0x71, 0x0 a, 0x55, 0x63, 0x44, 0xef, 0xa1 );
EXTERN_GUID( MFNETSOURCE_ENABLE_MSB, 0x3cb1f296, 0x0505, 0x4c5d, 0xae, 0x71, 0x0 a, 0x55, 0x63, 0x44, 0xef, 0xa1 ); EXTERN_GUID( MFNETSOURCE_ENABLE_MSB, 0x3cb1f296, 0x0505, 0x4c5d, 0xae, 0x71, 0x0 a, 0x55, 0x63, 0x44, 0xef, 0xa1 );
EXTERN_GUID( MFNETSOURCE_ENABLE_RTSP, 0x3cb1f298, 0x0505, 0x4c5d, 0xae, 0x71, 0x 0a, 0x55, 0x63, 0x44, 0xef, 0xa1 ); EXTERN_GUID( MFNETSOURCE_ENABLE_RTSP, 0x3cb1f298, 0x0505, 0x4c5d, 0xae, 0x71, 0x 0a, 0x55, 0x63, 0x44, 0xef, 0xa1 );
EXTERN_GUID( MFNETSOURCE_ENABLE_HTTP, 0x3cb1f299, 0x0505, 0x4c5d, 0xae, 0x71, 0x 0a, 0x55, 0x63, 0x44, 0xef, 0xa1 ); EXTERN_GUID( MFNETSOURCE_ENABLE_HTTP, 0x3cb1f299, 0x0505, 0x4c5d, 0xae, 0x71, 0x 0a, 0x55, 0x63, 0x44, 0xef, 0xa1 );
EXTERN_GUID( MFNETSOURCE_ENABLE_STREAMING, 0x3cb1f29c, 0x0505, 0x4c5d, 0xae, 0x7 1, 0x0a, 0x55, 0x63, 0x44, 0xef, 0xa1 ); EXTERN_GUID( MFNETSOURCE_ENABLE_STREAMING, 0x3cb1f29c, 0x0505, 0x4c5d, 0xae, 0x7 1, 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_ENABLE_DOWNLOAD, 0x3cb1f29d, 0x0505, 0x4c5d, 0xae, 0x71 , 0x0a, 0x55, 0x63, 0x44, 0xef, 0xa1 );
EXTERN_GUID( MFNETSOURCE_ENABLE_PRIVATEMODE, 0x824779d8, 0xf18b, 0x4405, 0x8c, 0 xf1, 0x46, 0x4f, 0xb5, 0xaa, 0x8f, 0x71 );
EXTERN_GUID( MFNETSOURCE_UDP_PORT_RANGE, 0x3cb1f29a, 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_PROXYINFO, 0x3cb1f29b, 0x0505, 0x4c5d, 0xae, 0x71, 0x0a , 0x55, 0x63, 0x44, 0xef, 0xa1 );
EXTERN_GUID( MFNETSOURCE_DRMNET_LICENSE_REPRESENTATION, 0x47eae1bd, 0xbdfe, 0x42 e2, 0x82, 0xf3, 0x54, 0xa4, 0x8c, 0x17, 0x96, 0x2d ); EXTERN_GUID( MFNETSOURCE_DRMNET_LICENSE_REPRESENTATION, 0x47eae1bd, 0xbdfe, 0x42 e2, 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_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_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_PROXYPORT, 0x3cb1f288, 0x0505, 0x4c5d, 0xae, 0x71, 0x0a , 0x55, 0x63, 0x44, 0xef, 0xa1 );
EXTERN_GUID( MFNETSOURCE_PROXYEXCEPTIONLIST, 0x3cb1f285, 0x0505, 0x4c5d, 0xae, 0 x71, 0x0a, 0x55, 0x63, 0x44, 0xef, 0xa1 ); EXTERN_GUID( MFNETSOURCE_PROXYEXCEPTIONLIST, 0x3cb1f285, 0x0505, 0x4c5d, 0xae, 0 x71, 0x0a, 0x55, 0x63, 0x44, 0xef, 0xa1 );
EXTERN_GUID( MFNETSOURCE_PROXYBYPASSFORLOCAL, 0x3cb1f286, 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, 0x ae, 0x71, 0x0a, 0x55, 0x63, 0x44, 0xef, 0xa1 ); EXTERN_GUID( MFNETSOURCE_PROXYRERUNAUTODETECTION, 0x3cb1f289, 0x0505, 0x4c5d, 0x ae, 0x71, 0x0a, 0x55, 0x63, 0x44, 0xef, 0xa1 );
#if (WINVER >= _WIN32_WINNT_WIN7) #if (WINVER >= _WIN32_WINNT_WIN7)
EXTERN_GUID( MFNETSOURCE_STREAM_LANGUAGE, 0x9ab44318, 0xf7cd, 0x4f2d, 0x8d, 0x6d , 0xfa, 0x35, 0xb4, 0x92, 0xce, 0xcb ); 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 ); EXTERN_GUID( MFNETSOURCE_LOGPARAMS, 0x64936ae8, 0x9418, 0x453a, 0x8c, 0xda, 0x3e , 0xa, 0x66, 0x8b, 0x35, 0x3b );
#endif // (WINVER >= _WIN32_WINNT_WIN7) #endif // (WINVER >= _WIN32_WINNT_WIN7)
#if (WINVER >= _WIN32_WINNT_WIN8)
EXTERN_GUID( MFNETSOURCE_PEERMANAGER, 0x48b29adb, 0xfebf, 0x45ee, 0xa9, 0xbf, 0x
ef, 0xb8, 0x1c, 0x49, 0x2e, 0xfc );
EXTERN_GUID( MFNETSOURCE_FRIENDLYNAME, 0x5b2a7757, 0xbc6b, 0x447e, 0xaa, 0x06, 0
x0d, 0xda, 0x1c, 0x64, 0x6e, 0x2f );
#endif // (WINVER >= _WIN32_WINNT_WIN8)
typedef typedef
enum _MFNET_PROXYSETTINGS enum _MFNET_PROXYSETTINGS
{ MFNET_PROXYSETTING_NONE = 0, {
MFNET_PROXYSETTING_MANUAL = 1, MFNET_PROXYSETTING_NONE = 0,
MFNET_PROXYSETTING_AUTO = 2, MFNET_PROXYSETTING_MANUAL = 1,
MFNET_PROXYSETTING_BROWSER = 3 MFNET_PROXYSETTING_AUTO = 2,
MFNET_PROXYSETTING_BROWSER = 3
} MFNET_PROXYSETTINGS; } MFNET_PROXYSETTINGS;
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0055_v0_0_c_ifspec; #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0055_v0_0_s_ifspec; #pragma endregion
#pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0065_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0065_v0_0_s_ifspec;
#ifndef __IMFSchemeHandler_INTERFACE_DEFINED__ #ifndef __IMFSchemeHandler_INTERFACE_DEFINED__
#define __IMFSchemeHandler_INTERFACE_DEFINED__ #define __IMFSchemeHandler_INTERFACE_DEFINED__
/* interface IMFSchemeHandler */ /* interface IMFSchemeHandler */
/* [local][uuid][object] */ /* [local][uuid][object] */
EXTERN_C const IID IID_IMFSchemeHandler; EXTERN_C const IID IID_IMFSchemeHandler;
#if defined(__cplusplus) && !defined(CINTERFACE) #if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("6D4C7B74-52A0-4bb7-B0DB-55F29F47A668") MIDL_INTERFACE("6D4C7B74-52A0-4bb7-B0DB-55F29F47A668")
IMFSchemeHandler : public IUnknown IMFSchemeHandler : public IUnknown
{ {
public: public:
virtual HRESULT STDMETHODCALLTYPE BeginCreateObject( virtual HRESULT STDMETHODCALLTYPE BeginCreateObject(
/* [in] */ LPCWSTR pwszURL, /* [in] */ LPCWSTR pwszURL,
/* [in] */ DWORD dwFlags, /* [in] */ DWORD dwFlags,
/* [in] */ IPropertyStore *pProps, /* [in] */ IPropertyStore *pProps,
/* [annotation][out] */ /* [annotation][out] */
__out_opt IUnknown **ppIUnknownCancelCookie, _Outptr_opt_ IUnknown **ppIUnknownCancelCookie,
/* [in] */ IMFAsyncCallback *pCallback, /* [in] */ IMFAsyncCallback *pCallback,
/* [in] */ IUnknown *punkState) = 0; /* [in] */ IUnknown *punkState) = 0;
virtual HRESULT STDMETHODCALLTYPE EndCreateObject( virtual HRESULT STDMETHODCALLTYPE EndCreateObject(
/* [in] */ IMFAsyncResult *pResult, /* [in] */ IMFAsyncResult *pResult,
/* [annotation][out] */ /* [annotation][out] */
__out MF_OBJECT_TYPE *pObjectType, _Out_ MF_OBJECT_TYPE *pObjectType,
/* [annotation][out] */ /* [annotation][out] */
__out IUnknown **ppObject) = 0; _Outptr_ IUnknown **ppObject) = 0;
virtual HRESULT STDMETHODCALLTYPE CancelObjectCreation( virtual HRESULT STDMETHODCALLTYPE CancelObjectCreation(
/* [in] */ IUnknown *pIUnknownCancelCookie) = 0; /* [in] */ IUnknown *pIUnknownCancelCookie) = 0;
}; };
#else /* C style interface */ #else /* C style interface */
typedef struct IMFSchemeHandlerVtbl typedef struct IMFSchemeHandlerVtbl
{ {
BEGIN_INTERFACE BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )( HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IMFSchemeHandler * This, IMFSchemeHandler * This,
/* [in] */ REFIID riid, /* [in] */ REFIID riid,
/* [annotation][iid_is][out] */ /* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject); _COM_Outptr_ void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )( ULONG ( STDMETHODCALLTYPE *AddRef )(
IMFSchemeHandler * This); IMFSchemeHandler * This);
ULONG ( STDMETHODCALLTYPE *Release )( ULONG ( STDMETHODCALLTYPE *Release )(
IMFSchemeHandler * This); IMFSchemeHandler * This);
HRESULT ( STDMETHODCALLTYPE *BeginCreateObject )( HRESULT ( STDMETHODCALLTYPE *BeginCreateObject )(
IMFSchemeHandler * This, IMFSchemeHandler * This,
/* [in] */ LPCWSTR pwszURL, /* [in] */ LPCWSTR pwszURL,
/* [in] */ DWORD dwFlags, /* [in] */ DWORD dwFlags,
/* [in] */ IPropertyStore *pProps, /* [in] */ IPropertyStore *pProps,
/* [annotation][out] */ /* [annotation][out] */
__out_opt IUnknown **ppIUnknownCancelCookie, _Outptr_opt_ IUnknown **ppIUnknownCancelCookie,
/* [in] */ IMFAsyncCallback *pCallback, /* [in] */ IMFAsyncCallback *pCallback,
/* [in] */ IUnknown *punkState); /* [in] */ IUnknown *punkState);
HRESULT ( STDMETHODCALLTYPE *EndCreateObject )( HRESULT ( STDMETHODCALLTYPE *EndCreateObject )(
IMFSchemeHandler * This, IMFSchemeHandler * This,
/* [in] */ IMFAsyncResult *pResult, /* [in] */ IMFAsyncResult *pResult,
/* [annotation][out] */ /* [annotation][out] */
__out MF_OBJECT_TYPE *pObjectType, _Out_ MF_OBJECT_TYPE *pObjectType,
/* [annotation][out] */ /* [annotation][out] */
__out IUnknown **ppObject); _Outptr_ IUnknown **ppObject);
HRESULT ( STDMETHODCALLTYPE *CancelObjectCreation )( HRESULT ( STDMETHODCALLTYPE *CancelObjectCreation )(
IMFSchemeHandler * This, IMFSchemeHandler * This,
/* [in] */ IUnknown *pIUnknownCancelCookie); /* [in] */ IUnknown *pIUnknownCancelCookie);
END_INTERFACE END_INTERFACE
} IMFSchemeHandlerVtbl; } IMFSchemeHandlerVtbl;
interface IMFSchemeHandler interface IMFSchemeHandler
{ {
skipping to change at line 9083 skipping to change at line 10937
#define IMFSchemeHandler_CancelObjectCreation(This,pIUnknownCancelCookie) \ #define IMFSchemeHandler_CancelObjectCreation(This,pIUnknownCancelCookie) \
( (This)->lpVtbl -> CancelObjectCreation(This,pIUnknownCancelCookie) ) ( (This)->lpVtbl -> CancelObjectCreation(This,pIUnknownCancelCookie) )
#endif /* COBJMACROS */ #endif /* COBJMACROS */
#endif /* C style interface */ #endif /* C style interface */
#endif /* __IMFSchemeHandler_INTERFACE_DEFINED__ */ #endif /* __IMFSchemeHandler_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_mfidl_0000_0056 */ /* interface __MIDL_itf_mfidl_0000_0066 */
/* [local] */ /* [local] */
#if (WINVER >= _WIN32_WINNT_WIN7) #if (WINVER >= _WIN32_WINNT_WIN7)
EXTERN_GUID(MF_BYTESTREAMHANDLER_ACCEPTS_SHARE_WRITE, 0xa6e1f733, 0x3001, 0x4915 , 0x81, 0x50, 0x15, 0x58, 0xa2, 0x18, 0xe, 0xc8); EXTERN_GUID(MF_BYTESTREAMHANDLER_ACCEPTS_SHARE_WRITE, 0xa6e1f733, 0x3001, 0x4915 , 0x81, 0x50, 0x15, 0x58, 0xa2, 0x18, 0xe, 0xc8);
#endif // (WINVER >= _WIN32_WINNT_WIN7) #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_0066_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0056_v0_0_s_ifspec; extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0066_v0_0_s_ifspec;
#ifndef __IMFByteStreamHandler_INTERFACE_DEFINED__ #ifndef __IMFByteStreamHandler_INTERFACE_DEFINED__
#define __IMFByteStreamHandler_INTERFACE_DEFINED__ #define __IMFByteStreamHandler_INTERFACE_DEFINED__
/* interface IMFByteStreamHandler */ /* interface IMFByteStreamHandler */
/* [local][uuid][object] */ /* [local][uuid][object] */
EXTERN_C const IID IID_IMFByteStreamHandler; EXTERN_C const IID IID_IMFByteStreamHandler;
#if defined(__cplusplus) && !defined(CINTERFACE) #if defined(__cplusplus) && !defined(CINTERFACE)
skipping to change at line 9113 skipping to change at line 10967
MIDL_INTERFACE("BB420AA4-765B-4a1f-91FE-D6A8A143924C") MIDL_INTERFACE("BB420AA4-765B-4a1f-91FE-D6A8A143924C")
IMFByteStreamHandler : public IUnknown IMFByteStreamHandler : public IUnknown
{ {
public: public:
virtual HRESULT STDMETHODCALLTYPE BeginCreateObject( virtual HRESULT STDMETHODCALLTYPE BeginCreateObject(
/* [in] */ IMFByteStream *pByteStream, /* [in] */ IMFByteStream *pByteStream,
/* [in] */ LPCWSTR pwszURL, /* [in] */ LPCWSTR pwszURL,
/* [in] */ DWORD dwFlags, /* [in] */ DWORD dwFlags,
/* [in] */ IPropertyStore *pProps, /* [in] */ IPropertyStore *pProps,
/* [annotation][out] */ /* [annotation][out] */
__out_opt IUnknown **ppIUnknownCancelCookie, _Outptr_opt_ IUnknown **ppIUnknownCancelCookie,
/* [in] */ IMFAsyncCallback *pCallback, /* [in] */ IMFAsyncCallback *pCallback,
/* [in] */ IUnknown *punkState) = 0; /* [in] */ IUnknown *punkState) = 0;
virtual HRESULT STDMETHODCALLTYPE EndCreateObject( virtual HRESULT STDMETHODCALLTYPE EndCreateObject(
/* [in] */ IMFAsyncResult *pResult, /* [in] */ IMFAsyncResult *pResult,
/* [annotation][out] */ /* [annotation][out] */
__out MF_OBJECT_TYPE *pObjectType, _Out_ MF_OBJECT_TYPE *pObjectType,
/* [annotation][out] */ /* [annotation][out] */
__out IUnknown **ppObject) = 0; _Outptr_ IUnknown **ppObject) = 0;
virtual HRESULT STDMETHODCALLTYPE CancelObjectCreation( virtual HRESULT STDMETHODCALLTYPE CancelObjectCreation(
/* [in] */ IUnknown *pIUnknownCancelCookie) = 0; /* [in] */ IUnknown *pIUnknownCancelCookie) = 0;
virtual HRESULT STDMETHODCALLTYPE GetMaxNumberOfBytesRequiredForResoluti on( virtual HRESULT STDMETHODCALLTYPE GetMaxNumberOfBytesRequiredForResoluti on(
/* [annotation][out] */ /* [annotation][out] */
__out QWORD *pqwBytes) = 0; _Out_ QWORD *pqwBytes) = 0;
}; };
#else /* C style interface */ #else /* C style interface */
typedef struct IMFByteStreamHandlerVtbl typedef struct IMFByteStreamHandlerVtbl
{ {
BEGIN_INTERFACE BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )( HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IMFByteStreamHandler * This, IMFByteStreamHandler * This,
/* [in] */ REFIID riid, /* [in] */ REFIID riid,
/* [annotation][iid_is][out] */ /* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject); _COM_Outptr_ void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )( ULONG ( STDMETHODCALLTYPE *AddRef )(
IMFByteStreamHandler * This); IMFByteStreamHandler * This);
ULONG ( STDMETHODCALLTYPE *Release )( ULONG ( STDMETHODCALLTYPE *Release )(
IMFByteStreamHandler * This); IMFByteStreamHandler * This);
HRESULT ( STDMETHODCALLTYPE *BeginCreateObject )( HRESULT ( STDMETHODCALLTYPE *BeginCreateObject )(
IMFByteStreamHandler * This, IMFByteStreamHandler * This,
/* [in] */ IMFByteStream *pByteStream, /* [in] */ IMFByteStream *pByteStream,
/* [in] */ LPCWSTR pwszURL, /* [in] */ LPCWSTR pwszURL,
/* [in] */ DWORD dwFlags, /* [in] */ DWORD dwFlags,
/* [in] */ IPropertyStore *pProps, /* [in] */ IPropertyStore *pProps,
/* [annotation][out] */ /* [annotation][out] */
__out_opt IUnknown **ppIUnknownCancelCookie, _Outptr_opt_ IUnknown **ppIUnknownCancelCookie,
/* [in] */ IMFAsyncCallback *pCallback, /* [in] */ IMFAsyncCallback *pCallback,
/* [in] */ IUnknown *punkState); /* [in] */ IUnknown *punkState);
HRESULT ( STDMETHODCALLTYPE *EndCreateObject )( HRESULT ( STDMETHODCALLTYPE *EndCreateObject )(
IMFByteStreamHandler * This, IMFByteStreamHandler * This,
/* [in] */ IMFAsyncResult *pResult, /* [in] */ IMFAsyncResult *pResult,
/* [annotation][out] */ /* [annotation][out] */
__out MF_OBJECT_TYPE *pObjectType, _Out_ MF_OBJECT_TYPE *pObjectType,
/* [annotation][out] */ /* [annotation][out] */
__out IUnknown **ppObject); _Outptr_ IUnknown **ppObject);
HRESULT ( STDMETHODCALLTYPE *CancelObjectCreation )( HRESULT ( STDMETHODCALLTYPE *CancelObjectCreation )(
IMFByteStreamHandler * This, IMFByteStreamHandler * This,
/* [in] */ IUnknown *pIUnknownCancelCookie); /* [in] */ IUnknown *pIUnknownCancelCookie);
HRESULT ( STDMETHODCALLTYPE *GetMaxNumberOfBytesRequiredForResolution )( HRESULT ( STDMETHODCALLTYPE *GetMaxNumberOfBytesRequiredForResolution )(
IMFByteStreamHandler * This, IMFByteStreamHandler * This,
/* [annotation][out] */ /* [annotation][out] */
__out QWORD *pqwBytes); _Out_ QWORD *pqwBytes);
END_INTERFACE END_INTERFACE
} IMFByteStreamHandlerVtbl; } IMFByteStreamHandlerVtbl;
interface IMFByteStreamHandler interface IMFByteStreamHandler
{ {
CONST_VTBL struct IMFByteStreamHandlerVtbl *lpVtbl; CONST_VTBL struct IMFByteStreamHandlerVtbl *lpVtbl;
}; };
#ifdef COBJMACROS #ifdef COBJMACROS
skipping to change at line 9216 skipping to change at line 11070
#define IMFByteStreamHandler_GetMaxNumberOfBytesRequiredForResolution(This,pqwBy tes) \ #define IMFByteStreamHandler_GetMaxNumberOfBytesRequiredForResolution(This,pqwBy tes) \
( (This)->lpVtbl -> GetMaxNumberOfBytesRequiredForResolution(This,pqwBytes) ) ( (This)->lpVtbl -> GetMaxNumberOfBytesRequiredForResolution(This,pqwBytes) )
#endif /* COBJMACROS */ #endif /* COBJMACROS */
#endif /* C style interface */ #endif /* C style interface */
#endif /* __IMFByteStreamHandler_INTERFACE_DEFINED__ */ #endif /* __IMFByteStreamHandler_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_mfidl_0000_0067 */
/* [local] */
EXTERN_GUID( MF_BYTESTREAM_SERVICE, 0xab025e2b, 0x16d9, 0x4180, 0xa1, 0x27, 0xba
, 0x6c, 0x70, 0x15, 0x61, 0x61 );
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 __IMFTrustedInput_INTERFACE_DEFINED__ #ifndef __IMFTrustedInput_INTERFACE_DEFINED__
#define __IMFTrustedInput_INTERFACE_DEFINED__ #define __IMFTrustedInput_INTERFACE_DEFINED__
/* interface IMFTrustedInput */ /* interface IMFTrustedInput */
/* [helpstring][uuid][object] */ /* [helpstring][uuid][object] */
EXTERN_C const IID IID_IMFTrustedInput; EXTERN_C const IID IID_IMFTrustedInput;
#if defined(__cplusplus) && !defined(CINTERFACE) #if defined(__cplusplus) && !defined(CINTERFACE)
skipping to change at line 9247 skipping to change at line 11109
#else /* C style interface */ #else /* C style interface */
typedef struct IMFTrustedInputVtbl typedef struct IMFTrustedInputVtbl
{ {
BEGIN_INTERFACE BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )( HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
__RPC__in IMFTrustedInput * This, __RPC__in IMFTrustedInput * This,
/* [in] */ __RPC__in REFIID riid, /* [in] */ __RPC__in REFIID riid,
/* [annotation][iid_is][out] */ /* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject); _COM_Outptr_ void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )( ULONG ( STDMETHODCALLTYPE *AddRef )(
__RPC__in IMFTrustedInput * This); __RPC__in IMFTrustedInput * This);
ULONG ( STDMETHODCALLTYPE *Release )( ULONG ( STDMETHODCALLTYPE *Release )(
__RPC__in IMFTrustedInput * This); __RPC__in IMFTrustedInput * This);
HRESULT ( STDMETHODCALLTYPE *GetInputTrustAuthority )( HRESULT ( STDMETHODCALLTYPE *GetInputTrustAuthority )(
__RPC__in IMFTrustedInput * This, __RPC__in IMFTrustedInput * This,
/* [in] */ DWORD dwStreamID, /* [in] */ DWORD dwStreamID,
skipping to change at line 9289 skipping to change at line 11151
#define IMFTrustedInput_GetInputTrustAuthority(This,dwStreamID,riid,ppunkObject) \ #define IMFTrustedInput_GetInputTrustAuthority(This,dwStreamID,riid,ppunkObject) \
( (This)->lpVtbl -> GetInputTrustAuthority(This,dwStreamID,riid,ppunkObject) ) ( (This)->lpVtbl -> GetInputTrustAuthority(This,dwStreamID,riid,ppunkObject) )
#endif /* COBJMACROS */ #endif /* COBJMACROS */
#endif /* C style interface */ #endif /* C style interface */
#endif /* __IMFTrustedInput_INTERFACE_DEFINED__ */ #endif /* __IMFTrustedInput_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_mfidl_0000_0058 */ /* interface __MIDL_itf_mfidl_0000_0068 */
/* [local] */ /* [local] */
typedef typedef
enum _MFPOLICYMANAGER_ACTION enum _MFPOLICYMANAGER_ACTION
{ PEACTION_NO = 0, {
PEACTION_PLAY = 1, PEACTION_NO = 0,
PEACTION_COPY = 2, PEACTION_PLAY = 1,
PEACTION_EXPORT = 3, PEACTION_COPY = 2,
PEACTION_EXTRACT = 4, PEACTION_EXPORT = 3,
PEACTION_RESERVED1 = 5, PEACTION_EXTRACT = 4,
PEACTION_RESERVED2 = 6, PEACTION_RESERVED1 = 5,
PEACTION_RESERVED3 = 7, PEACTION_RESERVED2 = 6,
PEACTION_LAST = 7 PEACTION_RESERVED3 = 7,
PEACTION_LAST = 7
} MFPOLICYMANAGER_ACTION; } MFPOLICYMANAGER_ACTION;
typedef struct _MFINPUTTRUSTAUTHORITY_ACTION typedef struct _MFINPUTTRUSTAUTHORITY_ACTION
{ {
MFPOLICYMANAGER_ACTION Action; MFPOLICYMANAGER_ACTION Action;
BYTE *pbTicket; BYTE *pbTicket;
DWORD cbTicket; DWORD cbTicket;
} MFINPUTTRUSTAUTHORITY_ACCESS_ACTION; } MFINPUTTRUSTAUTHORITY_ACCESS_ACTION;
typedef struct _MFINPUTTRUSTAUTHORITY_ACCESS_PARAMS typedef struct _MFINPUTTRUSTAUTHORITY_ACCESS_PARAMS
skipping to change at line 9324 skipping to change at line 11187
DWORD dwSize; DWORD dwSize;
DWORD dwVer; DWORD dwVer;
DWORD cbSignatureOffset; DWORD cbSignatureOffset;
DWORD cbSignatureSize; DWORD cbSignatureSize;
DWORD cbExtensionOffset; DWORD cbExtensionOffset;
DWORD cbExtensionSize; DWORD cbExtensionSize;
DWORD cActions; DWORD cActions;
MFINPUTTRUSTAUTHORITY_ACCESS_ACTION rgOutputActions[ 1 ]; MFINPUTTRUSTAUTHORITY_ACCESS_ACTION rgOutputActions[ 1 ];
} MFINPUTTRUSTAUTHORITY_ACCESS_PARAMS; } MFINPUTTRUSTAUTHORITY_ACCESS_PARAMS;
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0058_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0068_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0058_v0_0_s_ifspec; extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0068_v0_0_s_ifspec;
#ifndef __IMFInputTrustAuthority_INTERFACE_DEFINED__ #ifndef __IMFInputTrustAuthority_INTERFACE_DEFINED__
#define __IMFInputTrustAuthority_INTERFACE_DEFINED__ #define __IMFInputTrustAuthority_INTERFACE_DEFINED__
/* interface IMFInputTrustAuthority */ /* interface IMFInputTrustAuthority */
/* [helpstring][uuid][object] */ /* [helpstring][uuid][object] */
EXTERN_C const IID IID_IMFInputTrustAuthority; EXTERN_C const IID IID_IMFInputTrustAuthority;
#if defined(__cplusplus) && !defined(CINTERFACE) #if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("D19F8E98-B126-4446-890C-5DCB7AD71453") MIDL_INTERFACE("D19F8E98-B126-4446-890C-5DCB7AD71453")
IMFInputTrustAuthority : public IUnknown IMFInputTrustAuthority : public IUnknown
{ {
public: public:
virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetDecrypter( virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetDecrypter(
/* [in] */ REFIID riid, /* [in] */ REFIID riid,
/* [annotation][iid_is][out] */ /* [annotation][iid_is][out] */
__out void **ppv) = 0; _Outptr_ void **ppv) = 0;
virtual /* [local] */ HRESULT STDMETHODCALLTYPE RequestAccess( virtual /* [local] */ HRESULT STDMETHODCALLTYPE RequestAccess(
/* [in] */ MFPOLICYMANAGER_ACTION Action, /* [in] */ MFPOLICYMANAGER_ACTION Action,
/* [annotation][out] */ /* [annotation][out] */
__out IMFActivate **ppContentEnablerActivate) = 0; _Outptr_ IMFActivate **ppContentEnablerActivate) = 0;
virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetPolicy( virtual /* [local] */ HRESULT STDMETHODCALLTYPE GetPolicy(
/* [in] */ MFPOLICYMANAGER_ACTION Action, /* [in] */ MFPOLICYMANAGER_ACTION Action,
/* [annotation][out] */ /* [annotation][out] */
__out IMFOutputPolicy **ppPolicy) = 0; _Outptr_ IMFOutputPolicy **ppPolicy) = 0;
virtual /* [local] */ HRESULT STDMETHODCALLTYPE BindAccess( virtual /* [local] */ HRESULT STDMETHODCALLTYPE BindAccess(
/* [annotation][in] */ /* [annotation][in] */
__in MFINPUTTRUSTAUTHORITY_ACCESS_PARAMS *pParam) = 0; _In_ MFINPUTTRUSTAUTHORITY_ACCESS_PARAMS *pParam) = 0;
virtual /* [local] */ HRESULT STDMETHODCALLTYPE UpdateAccess( virtual /* [local] */ HRESULT STDMETHODCALLTYPE UpdateAccess(
/* [annotation][in] */ /* [annotation][in] */
__in MFINPUTTRUSTAUTHORITY_ACCESS_PARAMS *pParam) = 0; _In_ MFINPUTTRUSTAUTHORITY_ACCESS_PARAMS *pParam) = 0;
virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0; virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
}; };
#else /* C style interface */ #else /* C style interface */
typedef struct IMFInputTrustAuthorityVtbl typedef struct IMFInputTrustAuthorityVtbl
{ {
BEGIN_INTERFACE BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )( HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
__RPC__in IMFInputTrustAuthority * This, __RPC__in IMFInputTrustAuthority * This,
/* [in] */ __RPC__in REFIID riid, /* [in] */ __RPC__in REFIID riid,
/* [annotation][iid_is][out] */ /* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject); _COM_Outptr_ void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )( ULONG ( STDMETHODCALLTYPE *AddRef )(
__RPC__in IMFInputTrustAuthority * This); __RPC__in IMFInputTrustAuthority * This);
ULONG ( STDMETHODCALLTYPE *Release )( ULONG ( STDMETHODCALLTYPE *Release )(
__RPC__in IMFInputTrustAuthority * This); __RPC__in IMFInputTrustAuthority * This);
/* [local] */ HRESULT ( STDMETHODCALLTYPE *GetDecrypter )( /* [local] */ HRESULT ( STDMETHODCALLTYPE *GetDecrypter )(
IMFInputTrustAuthority * This, IMFInputTrustAuthority * This,
/* [in] */ REFIID riid, /* [in] */ REFIID riid,
/* [annotation][iid_is][out] */ /* [annotation][iid_is][out] */
__out void **ppv); _Outptr_ void **ppv);
/* [local] */ HRESULT ( STDMETHODCALLTYPE *RequestAccess )( /* [local] */ HRESULT ( STDMETHODCALLTYPE *RequestAccess )(
IMFInputTrustAuthority * This, IMFInputTrustAuthority * This,
/* [in] */ MFPOLICYMANAGER_ACTION Action, /* [in] */ MFPOLICYMANAGER_ACTION Action,
/* [annotation][out] */ /* [annotation][out] */
__out IMFActivate **ppContentEnablerActivate); _Outptr_ IMFActivate **ppContentEnablerActivate);
/* [local] */ HRESULT ( STDMETHODCALLTYPE *GetPolicy )( /* [local] */ HRESULT ( STDMETHODCALLTYPE *GetPolicy )(
IMFInputTrustAuthority * This, IMFInputTrustAuthority * This,
/* [in] */ MFPOLICYMANAGER_ACTION Action, /* [in] */ MFPOLICYMANAGER_ACTION Action,
/* [annotation][out] */ /* [annotation][out] */
__out IMFOutputPolicy **ppPolicy); _Outptr_ IMFOutputPolicy **ppPolicy);
/* [local] */ HRESULT ( STDMETHODCALLTYPE *BindAccess )( /* [local] */ HRESULT ( STDMETHODCALLTYPE *BindAccess )(
IMFInputTrustAuthority * This, IMFInputTrustAuthority * This,
/* [annotation][in] */ /* [annotation][in] */
__in MFINPUTTRUSTAUTHORITY_ACCESS_PARAMS *pParam); _In_ MFINPUTTRUSTAUTHORITY_ACCESS_PARAMS *pParam);
/* [local] */ HRESULT ( STDMETHODCALLTYPE *UpdateAccess )( /* [local] */ HRESULT ( STDMETHODCALLTYPE *UpdateAccess )(
IMFInputTrustAuthority * This, IMFInputTrustAuthority * This,
/* [annotation][in] */ /* [annotation][in] */
__in MFINPUTTRUSTAUTHORITY_ACCESS_PARAMS *pParam); _In_ MFINPUTTRUSTAUTHORITY_ACCESS_PARAMS *pParam);
HRESULT ( STDMETHODCALLTYPE *Reset )( HRESULT ( STDMETHODCALLTYPE *Reset )(
__RPC__in IMFInputTrustAuthority * This); __RPC__in IMFInputTrustAuthority * This);
END_INTERFACE END_INTERFACE
} IMFInputTrustAuthorityVtbl; } IMFInputTrustAuthorityVtbl;
interface IMFInputTrustAuthority interface IMFInputTrustAuthority
{ {
CONST_VTBL struct IMFInputTrustAuthorityVtbl *lpVtbl; CONST_VTBL struct IMFInputTrustAuthorityVtbl *lpVtbl;
skipping to change at line 9460 skipping to change at line 11323
#define IMFInputTrustAuthority_Reset(This) \ #define IMFInputTrustAuthority_Reset(This) \
( (This)->lpVtbl -> Reset(This) ) ( (This)->lpVtbl -> Reset(This) )
#endif /* COBJMACROS */ #endif /* COBJMACROS */
#endif /* C style interface */ #endif /* C style interface */
#endif /* __IMFInputTrustAuthority_INTERFACE_DEFINED__ */ #endif /* __IMFInputTrustAuthority_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_mfidl_0000_0059 */ /* interface __MIDL_itf_mfidl_0000_0069 */
/* [local] */ /* [local] */
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0059_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0069_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0059_v0_0_s_ifspec; extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0069_v0_0_s_ifspec;
#ifndef __IMFTrustedOutput_INTERFACE_DEFINED__ #ifndef __IMFTrustedOutput_INTERFACE_DEFINED__
#define __IMFTrustedOutput_INTERFACE_DEFINED__ #define __IMFTrustedOutput_INTERFACE_DEFINED__
/* interface IMFTrustedOutput */ /* interface IMFTrustedOutput */
/* [local][unique][helpstring][uuid][object] */ /* [local][unique][helpstring][uuid][object] */
EXTERN_C const IID IID_IMFTrustedOutput; EXTERN_C const IID IID_IMFTrustedOutput;
#if defined(__cplusplus) && !defined(CINTERFACE) #if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("D19F8E95-B126-4446-890C-5DCB7AD71453") MIDL_INTERFACE("D19F8E95-B126-4446-890C-5DCB7AD71453")
IMFTrustedOutput : public IUnknown IMFTrustedOutput : public IUnknown
{ {
public: public:
virtual HRESULT STDMETHODCALLTYPE GetOutputTrustAuthorityCount( virtual HRESULT STDMETHODCALLTYPE GetOutputTrustAuthorityCount(
/* [annotation][out] */ /* [annotation][out] */
__out DWORD *pcOutputTrustAuthorities) = 0; _Out_ DWORD *pcOutputTrustAuthorities) = 0;
virtual HRESULT STDMETHODCALLTYPE GetOutputTrustAuthorityByIndex( virtual HRESULT STDMETHODCALLTYPE GetOutputTrustAuthorityByIndex(
/* [in] */ DWORD dwIndex, /* [in] */ DWORD dwIndex,
/* [annotation][out] */ /* [annotation][out] */
__out IMFOutputTrustAuthority **ppauthority) = 0; _Outptr_ IMFOutputTrustAuthority **ppauthority) = 0;
virtual HRESULT STDMETHODCALLTYPE IsFinal( virtual HRESULT STDMETHODCALLTYPE IsFinal(
/* [annotation][out] */ /* [annotation][out] */
__out BOOL *pfIsFinal) = 0; _Out_ BOOL *pfIsFinal) = 0;
}; };
#else /* C style interface */ #else /* C style interface */
typedef struct IMFTrustedOutputVtbl typedef struct IMFTrustedOutputVtbl
{ {
BEGIN_INTERFACE BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )( HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IMFTrustedOutput * This, IMFTrustedOutput * This,
/* [in] */ REFIID riid, /* [in] */ REFIID riid,
/* [annotation][iid_is][out] */ /* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject); _COM_Outptr_ void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )( ULONG ( STDMETHODCALLTYPE *AddRef )(
IMFTrustedOutput * This); IMFTrustedOutput * This);
ULONG ( STDMETHODCALLTYPE *Release )( ULONG ( STDMETHODCALLTYPE *Release )(
IMFTrustedOutput * This); IMFTrustedOutput * This);
HRESULT ( STDMETHODCALLTYPE *GetOutputTrustAuthorityCount )( HRESULT ( STDMETHODCALLTYPE *GetOutputTrustAuthorityCount )(
IMFTrustedOutput * This, IMFTrustedOutput * This,
/* [annotation][out] */ /* [annotation][out] */
__out DWORD *pcOutputTrustAuthorities); _Out_ DWORD *pcOutputTrustAuthorities);
HRESULT ( STDMETHODCALLTYPE *GetOutputTrustAuthorityByIndex )( HRESULT ( STDMETHODCALLTYPE *GetOutputTrustAuthorityByIndex )(
IMFTrustedOutput * This, IMFTrustedOutput * This,
/* [in] */ DWORD dwIndex, /* [in] */ DWORD dwIndex,
/* [annotation][out] */ /* [annotation][out] */
__out IMFOutputTrustAuthority **ppauthority); _Outptr_ IMFOutputTrustAuthority **ppauthority);
HRESULT ( STDMETHODCALLTYPE *IsFinal )( HRESULT ( STDMETHODCALLTYPE *IsFinal )(
IMFTrustedOutput * This, IMFTrustedOutput * This,
/* [annotation][out] */ /* [annotation][out] */
__out BOOL *pfIsFinal); _Out_ BOOL *pfIsFinal);
END_INTERFACE END_INTERFACE
} IMFTrustedOutputVtbl; } IMFTrustedOutputVtbl;
interface IMFTrustedOutput interface IMFTrustedOutput
{ {
CONST_VTBL struct IMFTrustedOutputVtbl *lpVtbl; CONST_VTBL struct IMFTrustedOutputVtbl *lpVtbl;
}; };
#ifdef COBJMACROS #ifdef COBJMACROS
skipping to change at line 9579 skipping to change at line 11442
EXTERN_C const IID IID_IMFOutputTrustAuthority; EXTERN_C const IID IID_IMFOutputTrustAuthority;
#if defined(__cplusplus) && !defined(CINTERFACE) #if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("D19F8E94-B126-4446-890C-5DCB7AD71453") MIDL_INTERFACE("D19F8E94-B126-4446-890C-5DCB7AD71453")
IMFOutputTrustAuthority : public IUnknown IMFOutputTrustAuthority : public IUnknown
{ {
public: public:
virtual HRESULT STDMETHODCALLTYPE GetAction( virtual HRESULT STDMETHODCALLTYPE GetAction(
/* [annotation][out] */ /* [annotation][out] */
__out MFPOLICYMANAGER_ACTION *pAction) = 0; _Out_ MFPOLICYMANAGER_ACTION *pAction) = 0;
virtual HRESULT STDMETHODCALLTYPE SetPolicy( virtual HRESULT STDMETHODCALLTYPE SetPolicy(
/* [annotation][in] */ /* [annotation][in] */
__in_ecount_opt(nPolicy) IMFOutputPolicy **ppPolicy, _In_reads_opt_(nPolicy) IMFOutputPolicy **ppPolicy,
/* [in] */ DWORD nPolicy, /* [in] */ DWORD nPolicy,
/* [annotation][size_is][size_is][unique][out] */ /* [annotation][size_is][size_is][unique][out] */
__deref_opt_out_bcount(*pcbTicket) BYTE **ppbTicket, _Outptr_opt_result_bytebuffer_(*pcbTicket) BYTE **ppbTicket,
/* [annotation][out] */ /* [annotation][out] */
__out_opt DWORD *pcbTicket) = 0; _Out_opt_ DWORD *pcbTicket) = 0;
}; };
#else /* C style interface */ #else /* C style interface */
typedef struct IMFOutputTrustAuthorityVtbl typedef struct IMFOutputTrustAuthorityVtbl
{ {
BEGIN_INTERFACE BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )( HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IMFOutputTrustAuthority * This, IMFOutputTrustAuthority * This,
/* [in] */ REFIID riid, /* [in] */ REFIID riid,
/* [annotation][iid_is][out] */ /* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject); _COM_Outptr_ void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )( ULONG ( STDMETHODCALLTYPE *AddRef )(
IMFOutputTrustAuthority * This); IMFOutputTrustAuthority * This);
ULONG ( STDMETHODCALLTYPE *Release )( ULONG ( STDMETHODCALLTYPE *Release )(
IMFOutputTrustAuthority * This); IMFOutputTrustAuthority * This);
HRESULT ( STDMETHODCALLTYPE *GetAction )( HRESULT ( STDMETHODCALLTYPE *GetAction )(
IMFOutputTrustAuthority * This, IMFOutputTrustAuthority * This,
/* [annotation][out] */ /* [annotation][out] */
__out MFPOLICYMANAGER_ACTION *pAction); _Out_ MFPOLICYMANAGER_ACTION *pAction);
HRESULT ( STDMETHODCALLTYPE *SetPolicy )( HRESULT ( STDMETHODCALLTYPE *SetPolicy )(
IMFOutputTrustAuthority * This, IMFOutputTrustAuthority * This,
/* [annotation][in] */ /* [annotation][in] */
__in_ecount_opt(nPolicy) IMFOutputPolicy **ppPolicy, _In_reads_opt_(nPolicy) IMFOutputPolicy **ppPolicy,
/* [in] */ DWORD nPolicy, /* [in] */ DWORD nPolicy,
/* [annotation][size_is][size_is][unique][out] */ /* [annotation][size_is][size_is][unique][out] */
__deref_opt_out_bcount(*pcbTicket) BYTE **ppbTicket, _Outptr_opt_result_bytebuffer_(*pcbTicket) BYTE **ppbTicket,
/* [annotation][out] */ /* [annotation][out] */
__out_opt DWORD *pcbTicket); _Out_opt_ DWORD *pcbTicket);
END_INTERFACE END_INTERFACE
} IMFOutputTrustAuthorityVtbl; } IMFOutputTrustAuthorityVtbl;
interface IMFOutputTrustAuthority interface IMFOutputTrustAuthority
{ {
CONST_VTBL struct IMFOutputTrustAuthorityVtbl *lpVtbl; CONST_VTBL struct IMFOutputTrustAuthorityVtbl *lpVtbl;
}; };
#ifdef COBJMACROS #ifdef COBJMACROS
skipping to change at line 9656 skipping to change at line 11519
#define IMFOutputTrustAuthority_SetPolicy(This,ppPolicy,nPolicy,ppbTicket,pcbTic ket) \ #define IMFOutputTrustAuthority_SetPolicy(This,ppPolicy,nPolicy,ppbTicket,pcbTic ket) \
( (This)->lpVtbl -> SetPolicy(This,ppPolicy,nPolicy,ppbTicket,pcbTicket) ) ( (This)->lpVtbl -> SetPolicy(This,ppPolicy,nPolicy,ppbTicket,pcbTicket) )
#endif /* COBJMACROS */ #endif /* COBJMACROS */
#endif /* C style interface */ #endif /* C style interface */
#endif /* __IMFOutputTrustAuthority_INTERFACE_DEFINED__ */ #endif /* __IMFOutputTrustAuthority_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_mfidl_0000_0071 */
/* [local] */
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 __IMFOutputPolicy_INTERFACE_DEFINED__ #ifndef __IMFOutputPolicy_INTERFACE_DEFINED__
#define __IMFOutputPolicy_INTERFACE_DEFINED__ #define __IMFOutputPolicy_INTERFACE_DEFINED__
/* interface IMFOutputPolicy */ /* interface IMFOutputPolicy */
/* [local][unique][helpstring][uuid][object] */ /* [local][unique][helpstring][uuid][object] */
EXTERN_C const IID IID_IMFOutputPolicy; EXTERN_C const IID IID_IMFOutputPolicy;
#if defined(__cplusplus) && !defined(CINTERFACE) #if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("7F00F10A-DAED-41AF-AB26-5FDFA4DFBA3C") MIDL_INTERFACE("7F00F10A-DAED-41AF-AB26-5FDFA4DFBA3C")
IMFOutputPolicy : public IMFAttributes IMFOutputPolicy : public IMFAttributes
{ {
public: public:
virtual HRESULT STDMETHODCALLTYPE GenerateRequiredSchemas( virtual HRESULT STDMETHODCALLTYPE GenerateRequiredSchemas(
/* [in] */ DWORD dwAttributes, /* [in] */ DWORD dwAttributes,
/* [in] */ GUID guidOutputSubType, /* [in] */ GUID guidOutputSubType,
/* [in] */ GUID *rgGuidProtectionSchemasSupported, /* [in] */ GUID *rgGuidProtectionSchemasSupported,
/* [in] */ DWORD cProtectionSchemasSupported, /* [in] */ DWORD cProtectionSchemasSupported,
/* [annotation][out] */ /* [annotation][out] */
__out IMFCollection **ppRequiredProtectionSchemas) = 0; _Outptr_ IMFCollection **ppRequiredProtectionSchemas) = 0;
virtual HRESULT STDMETHODCALLTYPE GetOriginatorID( virtual HRESULT STDMETHODCALLTYPE GetOriginatorID(
/* [annotation][out] */ /* [annotation][out] */
__out GUID *pguidOriginatorID) = 0; _Out_ GUID *pguidOriginatorID) = 0;
virtual HRESULT STDMETHODCALLTYPE GetMinimumGRLVersion( virtual HRESULT STDMETHODCALLTYPE GetMinimumGRLVersion(
/* [annotation][out] */ /* [annotation][out] */
__out DWORD *pdwMinimumGRLVersion) = 0; _Out_ DWORD *pdwMinimumGRLVersion) = 0;
}; };
#else /* C style interface */ #else /* C style interface */
typedef struct IMFOutputPolicyVtbl typedef struct IMFOutputPolicyVtbl
{ {
BEGIN_INTERFACE BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )( HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IMFOutputPolicy * This, IMFOutputPolicy * This,
/* [in] */ REFIID riid, /* [in] */ REFIID riid,
/* [annotation][iid_is][out] */ /* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject); _COM_Outptr_ void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )( ULONG ( STDMETHODCALLTYPE *AddRef )(
IMFOutputPolicy * This); IMFOutputPolicy * This);
ULONG ( STDMETHODCALLTYPE *Release )( ULONG ( STDMETHODCALLTYPE *Release )(
IMFOutputPolicy * This); IMFOutputPolicy * This);
HRESULT ( STDMETHODCALLTYPE *GetItem )( HRESULT ( STDMETHODCALLTYPE *GetItem )(
IMFOutputPolicy * This, IMFOutputPolicy * This,
REFGUID guidKey, REFGUID guidKey,
skipping to change at line 9865 skipping to change at line 11734
IMFOutputPolicy * This, IMFOutputPolicy * This,
/* [in] */ IMFAttributes *pDest); /* [in] */ IMFAttributes *pDest);
HRESULT ( STDMETHODCALLTYPE *GenerateRequiredSchemas )( HRESULT ( STDMETHODCALLTYPE *GenerateRequiredSchemas )(
IMFOutputPolicy * This, IMFOutputPolicy * This,
/* [in] */ DWORD dwAttributes, /* [in] */ DWORD dwAttributes,
/* [in] */ GUID guidOutputSubType, /* [in] */ GUID guidOutputSubType,
/* [in] */ GUID *rgGuidProtectionSchemasSupported, /* [in] */ GUID *rgGuidProtectionSchemasSupported,
/* [in] */ DWORD cProtectionSchemasSupported, /* [in] */ DWORD cProtectionSchemasSupported,
/* [annotation][out] */ /* [annotation][out] */
__out IMFCollection **ppRequiredProtectionSchemas); _Outptr_ IMFCollection **ppRequiredProtectionSchemas);
HRESULT ( STDMETHODCALLTYPE *GetOriginatorID )( HRESULT ( STDMETHODCALLTYPE *GetOriginatorID )(
IMFOutputPolicy * This, IMFOutputPolicy * This,
/* [annotation][out] */ /* [annotation][out] */
__out GUID *pguidOriginatorID); _Out_ GUID *pguidOriginatorID);
HRESULT ( STDMETHODCALLTYPE *GetMinimumGRLVersion )( HRESULT ( STDMETHODCALLTYPE *GetMinimumGRLVersion )(
IMFOutputPolicy * This, IMFOutputPolicy * This,
/* [annotation][out] */ /* [annotation][out] */
__out DWORD *pdwMinimumGRLVersion); _Out_ DWORD *pdwMinimumGRLVersion);
END_INTERFACE END_INTERFACE
} IMFOutputPolicyVtbl; } IMFOutputPolicyVtbl;
interface IMFOutputPolicy interface IMFOutputPolicy
{ {
CONST_VTBL struct IMFOutputPolicyVtbl *lpVtbl; CONST_VTBL struct IMFOutputPolicyVtbl *lpVtbl;
}; };
#ifdef COBJMACROS #ifdef COBJMACROS
skipping to change at line 10001 skipping to change at line 11870
#define IMFOutputPolicy_GetMinimumGRLVersion(This,pdwMinimumGRLVersion) \ #define IMFOutputPolicy_GetMinimumGRLVersion(This,pdwMinimumGRLVersion) \
( (This)->lpVtbl -> GetMinimumGRLVersion(This,pdwMinimumGRLVersion) ) ( (This)->lpVtbl -> GetMinimumGRLVersion(This,pdwMinimumGRLVersion) )
#endif /* COBJMACROS */ #endif /* COBJMACROS */
#endif /* C style interface */ #endif /* C style interface */
#endif /* __IMFOutputPolicy_INTERFACE_DEFINED__ */ #endif /* __IMFOutputPolicy_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_mfidl_0000_0062 */ /* interface __MIDL_itf_mfidl_0000_0072 */
/* [local] */ /* [local] */
#define MFOUTPUTATTRIBUTE_DIGITAL ((DWORD) 0x00000001) #define MFOUTPUTATTRIBUTE_DIGITAL ((DWORD) 0x00000001)
#define MFOUTPUTATTRIBUTE_NONSTANDARDIMPLEMENTATION ((DWORD) 0x00000002) #define MFOUTPUTATTRIBUTE_NONSTANDARDIMPLEMENTATION ((DWORD) 0x00000002)
#define MFOUTPUTATTRIBUTE_VIDEO ((DWORD) 0x00000004) #define MFOUTPUTATTRIBUTE_VIDEO ((DWORD) 0x00000004)
#define MFOUTPUTATTRIBUTE_COMPRESSED ((DWORD) 0x00000008) #define MFOUTPUTATTRIBUTE_COMPRESSED ((DWORD) 0x00000008)
#define MFOUTPUTATTRIBUTE_SOFTWARE ((DWORD) 0x00000010) #define MFOUTPUTATTRIBUTE_SOFTWARE ((DWORD) 0x00000010)
#define MFOUTPUTATTRIBUTE_BUS ((DWORD) 0x00000020) #define MFOUTPUTATTRIBUTE_BUS ((DWORD) 0x00000020)
#define MFOUTPUTATTRIBUTE_BUSIMPLEMENTATION ((DWORD) 0x0000FF00) #define MFOUTPUTATTRIBUTE_BUSIMPLEMENTATION ((DWORD) 0x0000FF00)
EXTERN_GUID( MFCONNECTOR_SPDIF, 0xb94a712, 0xad3e, 0x4cee, 0x83, 0xce, 0xce, 0x3 2, 0xe3, 0xdb, 0x65, 0x22); EXTERN_GUID( MFCONNECTOR_SPDIF, 0xb94a712, 0xad3e, 0x4cee, 0x83, 0xce, 0xce, 0x3 2, 0xe3, 0xdb, 0x65, 0x22);
skipping to change at line 10032 skipping to change at line 11901
EXTERN_GUID( MFCONNECTOR_COMPONENT, 0x57cd596b, 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_DVI, 0x57cd596c, 0xce47, 0x11d9, 0x92, 0xdb, 0x00, 0x0b , 0xdb, 0x28, 0xff, 0x98);
EXTERN_GUID( MFCONNECTOR_HDMI, 0x57cd596d, 0xce47, 0x11d9, 0x92, 0xdb, 0x00, 0x0 b, 0xdb, 0x28, 0xff, 0x98); EXTERN_GUID( MFCONNECTOR_HDMI, 0x57cd596d, 0xce47, 0x11d9, 0x92, 0xdb, 0x00, 0x0 b, 0xdb, 0x28, 0xff, 0x98);
EXTERN_GUID( MFCONNECTOR_LVDS, 0x57cd596e, 0xce47, 0x11d9, 0x92, 0xdb, 0x00, 0x0 b, 0xdb, 0x28, 0xff, 0x98); EXTERN_GUID( MFCONNECTOR_LVDS, 0x57cd596e, 0xce47, 0x11d9, 0x92, 0xdb, 0x00, 0x0 b, 0xdb, 0x28, 0xff, 0x98);
EXTERN_GUID( MFCONNECTOR_D_JPN, 0x57cd5970, 0xce47, 0x11d9, 0x92, 0xdb, 0x00, 0x 0b, 0xdb, 0x28, 0xff, 0x98); EXTERN_GUID( MFCONNECTOR_D_JPN, 0x57cd5970, 0xce47, 0x11d9, 0x92, 0xdb, 0x00, 0x 0b, 0xdb, 0x28, 0xff, 0x98);
EXTERN_GUID( MFCONNECTOR_SDI, 0x57cd5971, 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_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_DISPLAYPORT_EMBEDDED, 0x57cd5973, 0xce47, 0x11d9, 0x92, 0xdb, 0x00, 0x0b, 0xdb, 0x28, 0xff, 0x98);
EXTERN_GUID( MFCONNECTOR_UDI_EXTERNAL, 0x57cd5974, 0xce47, 0x11d9, 0x92, 0xdb, 0 x00, 0x0b, 0xdb, 0x28, 0xff, 0x98); EXTERN_GUID( MFCONNECTOR_UDI_EXTERNAL, 0x57cd5974, 0xce47, 0x11d9, 0x92, 0xdb, 0 x00, 0x0b, 0xdb, 0x28, 0xff, 0x98);
EXTERN_GUID( MFCONNECTOR_UDI_EMBEDDED, 0x57cd5975, 0xce47, 0x11d9, 0x92, 0xdb, 0 x00, 0x0b, 0xdb, 0x28, 0xff, 0x98); EXTERN_GUID( MFCONNECTOR_UDI_EMBEDDED, 0x57cd5975, 0xce47, 0x11d9, 0x92, 0xdb, 0 x00, 0x0b, 0xdb, 0x28, 0xff, 0x98);
EXTERN_GUID( MFCONNECTOR_MIRACAST, 0x57cd5977, 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_0072_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0062_v0_0_s_ifspec; extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0072_v0_0_s_ifspec;
#ifndef __IMFOutputSchema_INTERFACE_DEFINED__ #ifndef __IMFOutputSchema_INTERFACE_DEFINED__
#define __IMFOutputSchema_INTERFACE_DEFINED__ #define __IMFOutputSchema_INTERFACE_DEFINED__
/* interface IMFOutputSchema */ /* interface IMFOutputSchema */
/* [local][unique][helpstring][uuid][object] */ /* [local][unique][helpstring][uuid][object] */
EXTERN_C const IID IID_IMFOutputSchema; EXTERN_C const IID IID_IMFOutputSchema;
#if defined(__cplusplus) && !defined(CINTERFACE) #if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("7BE0FC5B-ABD9-44FB-A5C8-F50136E71599") MIDL_INTERFACE("7BE0FC5B-ABD9-44FB-A5C8-F50136E71599")
IMFOutputSchema : public IMFAttributes IMFOutputSchema : public IMFAttributes
{ {
public: public:
virtual HRESULT STDMETHODCALLTYPE GetSchemaType( virtual HRESULT STDMETHODCALLTYPE GetSchemaType(
/* [annotation][out] */ /* [annotation][out] */
__out GUID *pguidSchemaType) = 0; _Out_ GUID *pguidSchemaType) = 0;
virtual HRESULT STDMETHODCALLTYPE GetConfigurationData( virtual HRESULT STDMETHODCALLTYPE GetConfigurationData(
/* [annotation][out] */ /* [annotation][out] */
__out DWORD *pdwVal) = 0; _Out_ DWORD *pdwVal) = 0;
virtual HRESULT STDMETHODCALLTYPE GetOriginatorID( virtual HRESULT STDMETHODCALLTYPE GetOriginatorID(
/* [annotation][out] */ /* [annotation][out] */
__out GUID *pguidOriginatorID) = 0; _Out_ GUID *pguidOriginatorID) = 0;
}; };
#else /* C style interface */ #else /* C style interface */
typedef struct IMFOutputSchemaVtbl typedef struct IMFOutputSchemaVtbl
{ {
BEGIN_INTERFACE BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )( HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IMFOutputSchema * This, IMFOutputSchema * This,
/* [in] */ REFIID riid, /* [in] */ REFIID riid,
/* [annotation][iid_is][out] */ /* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject); _COM_Outptr_ void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )( ULONG ( STDMETHODCALLTYPE *AddRef )(
IMFOutputSchema * This); IMFOutputSchema * This);
ULONG ( STDMETHODCALLTYPE *Release )( ULONG ( STDMETHODCALLTYPE *Release )(
IMFOutputSchema * This); IMFOutputSchema * This);
HRESULT ( STDMETHODCALLTYPE *GetItem )( HRESULT ( STDMETHODCALLTYPE *GetItem )(
IMFOutputSchema * This, IMFOutputSchema * This,
REFGUID guidKey, REFGUID guidKey,
skipping to change at line 10237 skipping to change at line 12107
/* [out] */ GUID *pguidKey, /* [out] */ GUID *pguidKey,
/* [full][out][in] */ PROPVARIANT *pValue); /* [full][out][in] */ PROPVARIANT *pValue);
HRESULT ( STDMETHODCALLTYPE *CopyAllItems )( HRESULT ( STDMETHODCALLTYPE *CopyAllItems )(
IMFOutputSchema * This, IMFOutputSchema * This,
/* [in] */ IMFAttributes *pDest); /* [in] */ IMFAttributes *pDest);
HRESULT ( STDMETHODCALLTYPE *GetSchemaType )( HRESULT ( STDMETHODCALLTYPE *GetSchemaType )(
IMFOutputSchema * This, IMFOutputSchema * This,
/* [annotation][out] */ /* [annotation][out] */
__out GUID *pguidSchemaType); _Out_ GUID *pguidSchemaType);
HRESULT ( STDMETHODCALLTYPE *GetConfigurationData )( HRESULT ( STDMETHODCALLTYPE *GetConfigurationData )(
IMFOutputSchema * This, IMFOutputSchema * This,
/* [annotation][out] */ /* [annotation][out] */
__out DWORD *pdwVal); _Out_ DWORD *pdwVal);
HRESULT ( STDMETHODCALLTYPE *GetOriginatorID )( HRESULT ( STDMETHODCALLTYPE *GetOriginatorID )(
IMFOutputSchema * This, IMFOutputSchema * This,
/* [annotation][out] */ /* [annotation][out] */
__out GUID *pguidOriginatorID); _Out_ GUID *pguidOriginatorID);
END_INTERFACE END_INTERFACE
} IMFOutputSchemaVtbl; } IMFOutputSchemaVtbl;
interface IMFOutputSchema interface IMFOutputSchema
{ {
CONST_VTBL struct IMFOutputSchemaVtbl *lpVtbl; CONST_VTBL struct IMFOutputSchemaVtbl *lpVtbl;
}; };
#ifdef COBJMACROS #ifdef COBJMACROS
skipping to change at line 10373 skipping to change at line 12243
#define IMFOutputSchema_GetOriginatorID(This,pguidOriginatorID) \ #define IMFOutputSchema_GetOriginatorID(This,pguidOriginatorID) \
( (This)->lpVtbl -> GetOriginatorID(This,pguidOriginatorID) ) ( (This)->lpVtbl -> GetOriginatorID(This,pguidOriginatorID) )
#endif /* COBJMACROS */ #endif /* COBJMACROS */
#endif /* C style interface */ #endif /* C style interface */
#endif /* __IMFOutputSchema_INTERFACE_DEFINED__ */ #endif /* __IMFOutputSchema_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_mfidl_0000_0063 */ /* interface __MIDL_itf_mfidl_0000_0073 */
/* [local] */ /* [local] */
EXTERN_GUID( MFPROTECTION_DISABLE, 0x8cc6d81b, 0xfec6, 0x4d8f, 0x96, 0x4b, 0xcf, 0xba, 0x0b, 0x0d, 0xad, 0x0d); 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_CONSTRICTVIDEO, 0x193370ce, 0xc5e4, 0x4c3a, 0x8a, 0x66 , 0x69, 0x59, 0xb4, 0xda, 0x44, 0x42);
EXTERN_GUID( MFPROTECTION_CONSTRICTVIDEO_NOOPM, 0xa580e8cd, 0xc247, 0x4957, 0xb9 , 0x83, 0x3c, 0x2e, 0xeb, 0xd1, 0xff, 0x59);
EXTERN_GUID( MFPROTECTION_CONSTRICTAUDIO, 0xffc99b44, 0xdf48, 0x4e16, 0x8e, 0x66 , 0x09, 0x68, 0x92, 0xc1, 0x57, 0x8a); 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_TRUSTEDAUDIODRIVERS, 0x65bdf3d2, 0x0168, 0x4816, 0xa5, 0x33, 0x55, 0xd4, 0x7b, 0x02, 0x71, 0x01);
EXTERN_GUID( MFPROTECTION_HDCP, 0xAE7CC03D, 0xC828, 0x4021, 0xac, 0xb7, 0xd5, 0x 78, 0xd2, 0x7a, 0xaf, 0x13); EXTERN_GUID( MFPROTECTION_HDCP, 0xAE7CC03D, 0xC828, 0x4021, 0xac, 0xb7, 0xd5, 0x 78, 0xd2, 0x7a, 0xaf, 0x13);
EXTERN_GUID( MFPROTECTION_CGMSA, 0xE57E69E9, 0x226B, 0x4d31, 0xB4, 0xE3, 0xD3, 0 xDB, 0x00, 0x87, 0x36, 0xDD); EXTERN_GUID( MFPROTECTION_CGMSA, 0xE57E69E9, 0x226B, 0x4d31, 0xB4, 0xE3, 0xD3, 0 xDB, 0x00, 0x87, 0x36, 0xDD);
EXTERN_GUID( MFPROTECTION_ACP, 0xc3fd11c6, 0xf8b7, 0x4d20, 0xb0, 0x08, 0x1d, 0xb 1, 0x7d, 0x61, 0xf2, 0xda); EXTERN_GUID( MFPROTECTION_ACP, 0xc3fd11c6, 0xf8b7, 0x4d20, 0xb0, 0x08, 0x1d, 0xb 1, 0x7d, 0x61, 0xf2, 0xda);
EXTERN_GUID( MFPROTECTION_WMDRMOTA, 0xa267a6a1, 0x362e, 0x47d0, 0x88, 0x05, 0x46 , 0x28, 0x59, 0x8a, 0x23, 0xe4); 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, 0x8 d, 0x9e, 0xdb, 0x1a, 0x8c); EXTERN_GUID( MFPROTECTION_FFT, 0x462a56b2, 0x2866, 0x4bb6, 0x98, 0x0d, 0x6d, 0x8 d, 0x9e, 0xdb, 0x1a, 0x8c);
EXTERN_GUID( MFPROTECTION_PROTECTED_SURFACE, 0x4f5d9566, 0xe742, 0x4a25, 0x8d, 0
x1f, 0xd2, 0x87, 0xb5, 0xfa, 0x0a, 0xde);
EXTERN_GUID( MFPROTECTION_DISABLE_SCREEN_SCRAPE, 0xa21179a4, 0xb7cd, 0x40d8, 0x9
6, 0x14, 0x8e, 0xf2, 0x37, 0x1b, 0xa7, 0x8d);
typedef
enum _MF_OPM_CGMSA_PROTECTION_LEVEL
{
MF_OPM_CGMSA_OFF = 0,
MF_OPM_CGMSA_COPY_FREELY = 0x1,
MF_OPM_CGMSA_COPY_NO_MORE = 0x2,
MF_OPM_CGMSA_COPY_ONE_GENERATION = 0x3,
MF_OPM_CGMSA_COPY_NEVER = 0x4,
MF_OPM_CGMSA_REDISTRIBUTION_CONTROL_REQUIRED = 0x8
} MF_OPM_CGMSA_PROTECTION_LEVEL;
typedef
enum _MF_OPM_ACP_PROTECTION_LEVEL
{
MF_OPM_ACP_OFF = 0,
MF_OPM_ACP_LEVEL_ONE = 1,
MF_OPM_ACP_LEVEL_TWO = 2,
MF_OPM_ACP_LEVEL_THREE = 3,
MF_OPM_ACP_FORCE_ULONG = 0x7fffffff
} MF_OPM_ACP_PROTECTION_LEVEL;
EXTERN_GUID( MFPROTECTION_VIDEO_FRAMES, 0x36a59cbc, 0x7401, 0x4a8c, 0xbc, 0x20,
0x46, 0xa7, 0xc9, 0xe5, 0x97, 0xf0);
EXTERN_GUID( MFPROTECTIONATTRIBUTE_BEST_EFFORT, 0xc8e06331, 0x75f0, 0x4ec1, 0x8e
, 0x77, 0x17, 0x57, 0x8f, 0x77, 0x3b, 0x46);
EXTERN_GUID( MFPROTECTIONATTRIBUTE_FAIL_OVER, 0x8536abc5, 0x38f1, 0x4151, 0x9c,
0xce, 0xf5, 0x5d, 0x94, 0x12, 0x29, 0xac);
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
#pragma endregion
#if (WINVER >= _WIN32_WINNT_WIN8)
#pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
EXTERN_GUID(MFPROTECTION_GRAPHICS_TRANSFER_AES_ENCRYPTION, 0xc873de64, 0xd8a5, 0
x49e6, 0x88, 0xbb, 0xfb, 0x96, 0x3f, 0xd3, 0xd4, 0xce);
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
#pragma endregion
#endif // (WINVER >= _WIN32_WINNT_WIN8)
#pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
EXTERN_GUID( MFPROTECTIONATTRIBUTE_CONSTRICTVIDEO_IMAGESIZE, 0x8476fc, 0x4b58, 0 x4d80, 0xa7, 0x90, 0xe7, 0x29, 0x76, 0x73, 0x16, 0x1d); EXTERN_GUID( MFPROTECTIONATTRIBUTE_CONSTRICTVIDEO_IMAGESIZE, 0x8476fc, 0x4b58, 0 x4d80, 0xa7, 0x90, 0xe7, 0x29, 0x76, 0x73, 0x16, 0x1d);
EXTERN_GUID( MFPROTECTIONATTRIBUTE_HDCP_SRM, 0x6f302107, 0x3477, 0x4468, 0x8a, 0 x8, 0xee, 0xf9, 0xdb, 0x10, 0xe2, 0xf); EXTERN_GUID( MFPROTECTIONATTRIBUTE_HDCP_SRM, 0x6f302107, 0x3477, 0x4468, 0x8a, 0 x8, 0xee, 0xf9, 0xdb, 0x10, 0xe2, 0xf);
#define MAKE_MFPROTECTIONDATA_DISABLE(Disable) \ #define MAKE_MFPROTECTIONDATA_DISABLE(Disable) \
((DWORD)(Disable ? 0x00000001 : 0)) ((DWORD)(Disable ? 0x00000001 : 0))
#define EXTRACT_MFPROTECTIONDATA_DISABLE_ON(Data) \ #define EXTRACT_MFPROTECTIONDATA_DISABLE_ON(Data) \
(0 != ((Data) & 0x00000001)) (0 != ((Data) & 0x00000001))
skipping to change at line 10407 skipping to change at line 12317
#define MAKE_MFPROTECTIONDATA_CONSTRICTAUDIO(Level) \ #define MAKE_MFPROTECTIONDATA_CONSTRICTAUDIO(Level) \
((DWORD)(Level)) ((DWORD)(Level))
#define EXTRACT_MFPROTECTIONDATA_CONSTRICTAUDIO_LEVEL(Data) \ #define EXTRACT_MFPROTECTIONDATA_CONSTRICTAUDIO_LEVEL(Data) \
((DWORD)((Data) & 0x000000FF)) ((DWORD)((Data) & 0x000000FF))
#define EXTRACT_MFPROTECTIONDATA_CONSTRICTAUDIO_RESERVED(Data) \ #define EXTRACT_MFPROTECTIONDATA_CONSTRICTAUDIO_RESERVED(Data) \
(((DWORD)((Data) & 0xFFFFFF00)) >> 8) (((DWORD)((Data) & 0xFFFFFF00)) >> 8)
typedef enum _MFAudioConstriction
{
MFaudioConstrictionOff = 0,
MFaudioConstriction48_16 = ( MFaudioConstrictionOff + 1 ) ,
MFaudioConstriction44_16 = ( MFaudioConstriction48_16 + 1 ) ,
MFaudioConstriction14_14 = ( MFaudioConstriction44_16 + 1 ) ,
MFaudioConstrictionMute = ( MFaudioConstriction14_14 + 1 )
} MFAudioConstriction;
#define MAKE_MFPROTECTIONDATA_TRUSTEDAUDIODRIVERS(TestCertificateEnable, Digital OutputDisable, DrmLevel) \ #define MAKE_MFPROTECTIONDATA_TRUSTEDAUDIODRIVERS(TestCertificateEnable, Digital OutputDisable, DrmLevel) \
(((DWORD)((TestCertificateEnable) ? 0x00020000 : 0)) | \ (((DWORD)((TestCertificateEnable) ? 0x00020000 : 0)) | \
((DWORD)((DigitalOutputDisable) ? 0x00010000 : 0)) | \ ((DWORD)((DigitalOutputDisable) ? 0x00010000 : 0)) | \
((DWORD)(DrmLevel))) ((DWORD)(DrmLevel)))
#if (WINVER >= _WIN32_WINNT_WIN7) #if (WINVER >= _WIN32_WINNT_WIN7)
#define MAKE_MFPROTECTIONDATA_TRUSTEDAUDIODRIVERS2(TestCertificateEnable, Digita lOutputDisable, CopyOK, DrmLevel) \ #define MAKE_MFPROTECTIONDATA_TRUSTEDAUDIODRIVERS2(TestCertificateEnable, Digita lOutputDisable, CopyOK, DrmLevel) \
(((DWORD)((TestCertificateEnable) ? 0x00020000 : 0)) | \ (((DWORD)((TestCertificateEnable) ? 0x00020000 : 0)) | \
((DWORD)((DigitalOutputDisable) ? 0x00010000 : 0)) | \ ((DWORD)((DigitalOutputDisable) ? 0x00010000 : 0)) | \
((DWORD)((CopyOK) ? 0x00040000 : 0)) | \ ((DWORD)((CopyOK) ? 0x00040000 : 0)) | \
skipping to change at line 10441 skipping to change at line 12360
(0 != ((Data) & 0x00040000)) (0 != ((Data) & 0x00040000))
#define EXTRACT_MFPROTECTIONDATA_TRUSTEDAUDIODRIVERS_RESERVED(Data) \ #define EXTRACT_MFPROTECTIONDATA_TRUSTEDAUDIODRIVERS_RESERVED(Data) \
(((DWORD)((Data) & 0xFFF80000)) >> 19) (((DWORD)((Data) & 0xFFF80000)) >> 19)
#else #else
#define EXTRACT_MFPROTECTIONDATA_TRUSTEDAUDIODRIVERS_RESERVED(Data) \ #define EXTRACT_MFPROTECTIONDATA_TRUSTEDAUDIODRIVERS_RESERVED(Data) \
(((DWORD)((Data) & 0xFFF80000)) >> 18) (((DWORD)((Data) & 0xFFF80000)) >> 18)
#endif // (WINVER >= _WIN32_WINNT_WIN7) #endif // (WINVER >= _WIN32_WINNT_WIN7)
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
#pragma endregion
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0063_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0073_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0063_v0_0_s_ifspec; extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0073_v0_0_s_ifspec;
#ifndef __IMFSecureChannel_INTERFACE_DEFINED__ #ifndef __IMFSecureChannel_INTERFACE_DEFINED__
#define __IMFSecureChannel_INTERFACE_DEFINED__ #define __IMFSecureChannel_INTERFACE_DEFINED__
/* interface IMFSecureChannel */ /* interface IMFSecureChannel */
/* [local][uuid][object] */ /* [local][uuid][object] */
EXTERN_C const IID IID_IMFSecureChannel; EXTERN_C const IID IID_IMFSecureChannel;
#if defined(__cplusplus) && !defined(CINTERFACE) #if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("d0ae555d-3b12-4d97-b060-0990bc5aeb67") MIDL_INTERFACE("d0ae555d-3b12-4d97-b060-0990bc5aeb67")
IMFSecureChannel : public IUnknown IMFSecureChannel : public IUnknown
{ {
public: public:
virtual HRESULT STDMETHODCALLTYPE GetCertificate( virtual HRESULT STDMETHODCALLTYPE GetCertificate(
/* [annotation][out] */ /* [annotation][out] */
__deref_out_bcount(*pcbCert) BYTE **ppCert, _Outptr_result_bytebuffer_(*pcbCert) BYTE **ppCert,
/* [annotation][out] */ /* [annotation][out] */
__out DWORD *pcbCert) = 0; _Out_ DWORD *pcbCert) = 0;
virtual HRESULT STDMETHODCALLTYPE SetupSession( virtual HRESULT STDMETHODCALLTYPE SetupSession(
/* [annotation][in] */ /* [annotation][in] */
__in_bcount(cbSessionKey) BYTE *pbEncryptedSessionKey, _In_reads_bytes_(cbSessionKey) BYTE *pbEncryptedSessionKey,
/* [in] */ DWORD cbSessionKey) = 0; /* [in] */ DWORD cbSessionKey) = 0;
}; };
#else /* C style interface */ #else /* C style interface */
typedef struct IMFSecureChannelVtbl typedef struct IMFSecureChannelVtbl
{ {
BEGIN_INTERFACE BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )( HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IMFSecureChannel * This, IMFSecureChannel * This,
/* [in] */ REFIID riid, /* [in] */ REFIID riid,
/* [annotation][iid_is][out] */ /* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject); _COM_Outptr_ void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )( ULONG ( STDMETHODCALLTYPE *AddRef )(
IMFSecureChannel * This); IMFSecureChannel * This);
ULONG ( STDMETHODCALLTYPE *Release )( ULONG ( STDMETHODCALLTYPE *Release )(
IMFSecureChannel * This); IMFSecureChannel * This);
HRESULT ( STDMETHODCALLTYPE *GetCertificate )( HRESULT ( STDMETHODCALLTYPE *GetCertificate )(
IMFSecureChannel * This, IMFSecureChannel * This,
/* [annotation][out] */ /* [annotation][out] */
__deref_out_bcount(*pcbCert) BYTE **ppCert, _Outptr_result_bytebuffer_(*pcbCert) BYTE **ppCert,
/* [annotation][out] */ /* [annotation][out] */
__out DWORD *pcbCert); _Out_ DWORD *pcbCert);
HRESULT ( STDMETHODCALLTYPE *SetupSession )( HRESULT ( STDMETHODCALLTYPE *SetupSession )(
IMFSecureChannel * This, IMFSecureChannel * This,
/* [annotation][in] */ /* [annotation][in] */
__in_bcount(cbSessionKey) BYTE *pbEncryptedSessionKey, _In_reads_bytes_(cbSessionKey) BYTE *pbEncryptedSessionKey,
/* [in] */ DWORD cbSessionKey); /* [in] */ DWORD cbSessionKey);
END_INTERFACE END_INTERFACE
} IMFSecureChannelVtbl; } IMFSecureChannelVtbl;
interface IMFSecureChannel interface IMFSecureChannel
{ {
CONST_VTBL struct IMFSecureChannelVtbl *lpVtbl; CONST_VTBL struct IMFSecureChannelVtbl *lpVtbl;
}; };
skipping to change at line 10534 skipping to change at line 12457
#define IMFSecureChannel_SetupSession(This,pbEncryptedSessionKey,cbSessionKey) \ #define IMFSecureChannel_SetupSession(This,pbEncryptedSessionKey,cbSessionKey) \
( (This)->lpVtbl -> SetupSession(This,pbEncryptedSessionKey,cbSessionKey) ) ( (This)->lpVtbl -> SetupSession(This,pbEncryptedSessionKey,cbSessionKey) )
#endif /* COBJMACROS */ #endif /* COBJMACROS */
#endif /* C style interface */ #endif /* C style interface */
#endif /* __IMFSecureChannel_INTERFACE_DEFINED__ */ #endif /* __IMFSecureChannel_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_mfidl_0000_0064 */ /* interface __MIDL_itf_mfidl_0000_0074 */
/* [local] */ /* [local] */
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
typedef typedef
enum SAMPLE_PROTECTION_VERSION enum SAMPLE_PROTECTION_VERSION
{ SAMPLE_PROTECTION_VERSION_NO = 0, {
SAMPLE_PROTECTION_VERSION_BASIC_LOKI = 1, SAMPLE_PROTECTION_VERSION_NO = 0,
SAMPLE_PROTECTION_VERSION_SCATTER = 2, SAMPLE_PROTECTION_VERSION_BASIC_LOKI = 1,
SAMPLE_PROTECTION_VERSION_RC4 = 3 SAMPLE_PROTECTION_VERSION_SCATTER = 2,
SAMPLE_PROTECTION_VERSION_RC4 = 3
} SAMPLE_PROTECTION_VERSION; } SAMPLE_PROTECTION_VERSION;
EXTERN_GUID( MF_SampleProtectionSalt, 0x5403deee, 0xb9ee, 0x438f, 0xaa, 0x83, 0x 38, 0x4, 0x99, 0x7e, 0x56, 0x9d); EXTERN_GUID( MF_SampleProtectionSalt, 0x5403deee, 0xb9ee, 0x438f, 0xaa, 0x83, 0x 38, 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_0074_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0064_v0_0_s_ifspec; extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0074_v0_0_s_ifspec;
#ifndef __IMFSampleProtection_INTERFACE_DEFINED__ #ifndef __IMFSampleProtection_INTERFACE_DEFINED__
#define __IMFSampleProtection_INTERFACE_DEFINED__ #define __IMFSampleProtection_INTERFACE_DEFINED__
/* interface IMFSampleProtection */ /* interface IMFSampleProtection */
/* [local][uuid][object] */ /* [local][uuid][object] */
EXTERN_C const IID IID_IMFSampleProtection; EXTERN_C const IID IID_IMFSampleProtection;
#if defined(__cplusplus) && !defined(CINTERFACE) #if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("8e36395f-c7b9-43c4-a54d-512b4af63c95") MIDL_INTERFACE("8e36395f-c7b9-43c4-a54d-512b4af63c95")
IMFSampleProtection : public IUnknown IMFSampleProtection : public IUnknown
{ {
public: public:
virtual HRESULT STDMETHODCALLTYPE GetInputProtectionVersion( virtual HRESULT STDMETHODCALLTYPE GetInputProtectionVersion(
/* [annotation][out] */ /* [annotation][out] */
__out DWORD *pdwVersion) = 0; _Out_ DWORD *pdwVersion) = 0;
virtual HRESULT STDMETHODCALLTYPE GetOutputProtectionVersion( virtual HRESULT STDMETHODCALLTYPE GetOutputProtectionVersion(
/* [annotation][out] */ /* [annotation][out] */
__out DWORD *pdwVersion) = 0; _Out_ DWORD *pdwVersion) = 0;
virtual HRESULT STDMETHODCALLTYPE GetProtectionCertificate( virtual HRESULT STDMETHODCALLTYPE GetProtectionCertificate(
/* [in] */ DWORD dwVersion, /* [in] */ DWORD dwVersion,
/* [annotation][out] */ /* [annotation][out] */
__deref_out_bcount(*pcbCert) BYTE **ppCert, _Outptr_result_bytebuffer_(*pcbCert) BYTE **ppCert,
/* [annotation][out] */ /* [annotation][out] */
__out DWORD *pcbCert) = 0; _Out_ DWORD *pcbCert) = 0;
virtual HRESULT STDMETHODCALLTYPE InitOutputProtection( virtual HRESULT STDMETHODCALLTYPE InitOutputProtection(
/* [in] */ DWORD dwVersion, /* [in] */ DWORD dwVersion,
/* [in] */ DWORD dwOutputId, /* [in] */ DWORD dwOutputId,
/* [in] */ BYTE *pbCert, /* [in] */ BYTE *pbCert,
/* [in] */ DWORD cbCert, /* [in] */ DWORD cbCert,
/* [out] */ BYTE **ppbSeed, /* [out] */ BYTE **ppbSeed,
/* [out] */ DWORD *pcbSeed) = 0; /* [out] */ DWORD *pcbSeed) = 0;
virtual HRESULT STDMETHODCALLTYPE InitInputProtection( virtual HRESULT STDMETHODCALLTYPE InitInputProtection(
skipping to change at line 10605 skipping to change at line 12533
#else /* C style interface */ #else /* C style interface */
typedef struct IMFSampleProtectionVtbl typedef struct IMFSampleProtectionVtbl
{ {
BEGIN_INTERFACE BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )( HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IMFSampleProtection * This, IMFSampleProtection * This,
/* [in] */ REFIID riid, /* [in] */ REFIID riid,
/* [annotation][iid_is][out] */ /* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject); _COM_Outptr_ void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )( ULONG ( STDMETHODCALLTYPE *AddRef )(
IMFSampleProtection * This); IMFSampleProtection * This);
ULONG ( STDMETHODCALLTYPE *Release )( ULONG ( STDMETHODCALLTYPE *Release )(
IMFSampleProtection * This); IMFSampleProtection * This);
HRESULT ( STDMETHODCALLTYPE *GetInputProtectionVersion )( HRESULT ( STDMETHODCALLTYPE *GetInputProtectionVersion )(
IMFSampleProtection * This, IMFSampleProtection * This,
/* [annotation][out] */ /* [annotation][out] */
__out DWORD *pdwVersion); _Out_ DWORD *pdwVersion);
HRESULT ( STDMETHODCALLTYPE *GetOutputProtectionVersion )( HRESULT ( STDMETHODCALLTYPE *GetOutputProtectionVersion )(
IMFSampleProtection * This, IMFSampleProtection * This,
/* [annotation][out] */ /* [annotation][out] */
__out DWORD *pdwVersion); _Out_ DWORD *pdwVersion);
HRESULT ( STDMETHODCALLTYPE *GetProtectionCertificate )( HRESULT ( STDMETHODCALLTYPE *GetProtectionCertificate )(
IMFSampleProtection * This, IMFSampleProtection * This,
/* [in] */ DWORD dwVersion, /* [in] */ DWORD dwVersion,
/* [annotation][out] */ /* [annotation][out] */
__deref_out_bcount(*pcbCert) BYTE **ppCert, _Outptr_result_bytebuffer_(*pcbCert) BYTE **ppCert,
/* [annotation][out] */ /* [annotation][out] */
__out DWORD *pcbCert); _Out_ DWORD *pcbCert);
HRESULT ( STDMETHODCALLTYPE *InitOutputProtection )( HRESULT ( STDMETHODCALLTYPE *InitOutputProtection )(
IMFSampleProtection * This, IMFSampleProtection * This,
/* [in] */ DWORD dwVersion, /* [in] */ DWORD dwVersion,
/* [in] */ DWORD dwOutputId, /* [in] */ DWORD dwOutputId,
/* [in] */ BYTE *pbCert, /* [in] */ BYTE *pbCert,
/* [in] */ DWORD cbCert, /* [in] */ DWORD cbCert,
/* [out] */ BYTE **ppbSeed, /* [out] */ BYTE **ppbSeed,
/* [out] */ DWORD *pcbSeed); /* [out] */ DWORD *pcbSeed);
skipping to change at line 10716 skipping to change at line 12644
#else /* C style interface */ #else /* C style interface */
typedef struct IMFMediaSinkPrerollVtbl typedef struct IMFMediaSinkPrerollVtbl
{ {
BEGIN_INTERFACE BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )( HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
__RPC__in IMFMediaSinkPreroll * This, __RPC__in IMFMediaSinkPreroll * This,
/* [in] */ __RPC__in REFIID riid, /* [in] */ __RPC__in REFIID riid,
/* [annotation][iid_is][out] */ /* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject); _COM_Outptr_ void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )( ULONG ( STDMETHODCALLTYPE *AddRef )(
__RPC__in IMFMediaSinkPreroll * This); __RPC__in IMFMediaSinkPreroll * This);
ULONG ( STDMETHODCALLTYPE *Release )( ULONG ( STDMETHODCALLTYPE *Release )(
__RPC__in IMFMediaSinkPreroll * This); __RPC__in IMFMediaSinkPreroll * This);
HRESULT ( STDMETHODCALLTYPE *NotifyPreroll )( HRESULT ( STDMETHODCALLTYPE *NotifyPreroll )(
__RPC__in IMFMediaSinkPreroll * This, __RPC__in IMFMediaSinkPreroll * This,
/* [in] */ MFTIME hnsUpcomingStartTime); /* [in] */ MFTIME hnsUpcomingStartTime);
skipping to change at line 10756 skipping to change at line 12684
#define IMFMediaSinkPreroll_NotifyPreroll(This,hnsUpcomingStartTime) \ #define IMFMediaSinkPreroll_NotifyPreroll(This,hnsUpcomingStartTime) \
( (This)->lpVtbl -> NotifyPreroll(This,hnsUpcomingStartTime) ) ( (This)->lpVtbl -> NotifyPreroll(This,hnsUpcomingStartTime) )
#endif /* COBJMACROS */ #endif /* COBJMACROS */
#endif /* C style interface */ #endif /* C style interface */
#endif /* __IMFMediaSinkPreroll_INTERFACE_DEFINED__ */ #endif /* __IMFMediaSinkPreroll_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_mfidl_0000_0076 */
/* [local] */
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
#pragma endregion
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
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 __IMFFinalizableMediaSink_INTERFACE_DEFINED__ #ifndef __IMFFinalizableMediaSink_INTERFACE_DEFINED__
#define __IMFFinalizableMediaSink_INTERFACE_DEFINED__ #define __IMFFinalizableMediaSink_INTERFACE_DEFINED__
/* interface IMFFinalizableMediaSink */ /* interface IMFFinalizableMediaSink */
/* [local][uuid][object] */ /* [local][uuid][object] */
EXTERN_C const IID IID_IMFFinalizableMediaSink; EXTERN_C const IID IID_IMFFinalizableMediaSink;
#if defined(__cplusplus) && !defined(CINTERFACE) #if defined(__cplusplus) && !defined(CINTERFACE)
skipping to change at line 10789 skipping to change at line 12728
#else /* C style interface */ #else /* C style interface */
typedef struct IMFFinalizableMediaSinkVtbl typedef struct IMFFinalizableMediaSinkVtbl
{ {
BEGIN_INTERFACE BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )( HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IMFFinalizableMediaSink * This, IMFFinalizableMediaSink * This,
/* [in] */ REFIID riid, /* [in] */ REFIID riid,
/* [annotation][iid_is][out] */ /* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject); _COM_Outptr_ void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )( ULONG ( STDMETHODCALLTYPE *AddRef )(
IMFFinalizableMediaSink * This); IMFFinalizableMediaSink * This);
ULONG ( STDMETHODCALLTYPE *Release )( ULONG ( STDMETHODCALLTYPE *Release )(
IMFFinalizableMediaSink * This); IMFFinalizableMediaSink * This);
HRESULT ( STDMETHODCALLTYPE *GetCharacteristics )( HRESULT ( STDMETHODCALLTYPE *GetCharacteristics )(
IMFFinalizableMediaSink * This, IMFFinalizableMediaSink * This,
/* [out] */ DWORD *pdwCharacteristics); /* [out] */ DWORD *pdwCharacteristics);
skipping to change at line 10903 skipping to change at line 12842
#define IMFFinalizableMediaSink_EndFinalize(This,pResult) \ #define IMFFinalizableMediaSink_EndFinalize(This,pResult) \
( (This)->lpVtbl -> EndFinalize(This,pResult) ) ( (This)->lpVtbl -> EndFinalize(This,pResult) )
#endif /* COBJMACROS */ #endif /* COBJMACROS */
#endif /* C style interface */ #endif /* C style interface */
#endif /* __IMFFinalizableMediaSink_INTERFACE_DEFINED__ */ #endif /* __IMFFinalizableMediaSink_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_mfidl_0000_0067 */ /* interface __MIDL_itf_mfidl_0000_0077 */
/* [local] */ /* [local] */
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#if (WINVER >= _WIN32_WINNT_WIN7) #if (WINVER >= _WIN32_WINNT_WIN7)
#pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0067_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0077_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0067_v0_0_s_ifspec; extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0077_v0_0_s_ifspec;
#ifndef __IMFStreamingSinkConfig_INTERFACE_DEFINED__ #ifndef __IMFStreamingSinkConfig_INTERFACE_DEFINED__
#define __IMFStreamingSinkConfig_INTERFACE_DEFINED__ #define __IMFStreamingSinkConfig_INTERFACE_DEFINED__
/* interface IMFStreamingSinkConfig */ /* interface IMFStreamingSinkConfig */
/* [uuid][object] */ /* [uuid][object] */
EXTERN_C const IID IID_IMFStreamingSinkConfig; EXTERN_C const IID IID_IMFStreamingSinkConfig;
#if defined(__cplusplus) && !defined(CINTERFACE) #if defined(__cplusplus) && !defined(CINTERFACE)
skipping to change at line 10941 skipping to change at line 12884
#else /* C style interface */ #else /* C style interface */
typedef struct IMFStreamingSinkConfigVtbl typedef struct IMFStreamingSinkConfigVtbl
{ {
BEGIN_INTERFACE BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )( HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
__RPC__in IMFStreamingSinkConfig * This, __RPC__in IMFStreamingSinkConfig * This,
/* [in] */ __RPC__in REFIID riid, /* [in] */ __RPC__in REFIID riid,
/* [annotation][iid_is][out] */ /* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject); _COM_Outptr_ void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )( ULONG ( STDMETHODCALLTYPE *AddRef )(
__RPC__in IMFStreamingSinkConfig * This); __RPC__in IMFStreamingSinkConfig * This);
ULONG ( STDMETHODCALLTYPE *Release )( ULONG ( STDMETHODCALLTYPE *Release )(
__RPC__in IMFStreamingSinkConfig * This); __RPC__in IMFStreamingSinkConfig * This);
HRESULT ( STDMETHODCALLTYPE *StartStreaming )( HRESULT ( STDMETHODCALLTYPE *StartStreaming )(
__RPC__in IMFStreamingSinkConfig * This, __RPC__in IMFStreamingSinkConfig * This,
/* [in] */ BOOL fSeekOffsetIsByteOffset, /* [in] */ BOOL fSeekOffsetIsByteOffset,
skipping to change at line 10982 skipping to change at line 12925
#define IMFStreamingSinkConfig_StartStreaming(This,fSeekOffsetIsByteOffset,qwSee kOffset) \ #define IMFStreamingSinkConfig_StartStreaming(This,fSeekOffsetIsByteOffset,qwSee kOffset) \
( (This)->lpVtbl -> StartStreaming(This,fSeekOffsetIsByteOffset,qwSeekOffset ) ) ( (This)->lpVtbl -> StartStreaming(This,fSeekOffsetIsByteOffset,qwSeekOffset ) )
#endif /* COBJMACROS */ #endif /* COBJMACROS */
#endif /* C style interface */ #endif /* C style interface */
#endif /* __IMFStreamingSinkConfig_INTERFACE_DEFINED__ */ #endif /* __IMFStreamingSinkConfig_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_mfidl_0000_0068 */ /* interface __MIDL_itf_mfidl_0000_0078 */
/* [local] */ /* [local] */
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
#pragma endregion
#endif // (WINVER >= _WIN32_WINNT_WIN7) #endif // (WINVER >= _WIN32_WINNT_WIN7)
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0068_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0078_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0068_v0_0_s_ifspec; extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0078_v0_0_s_ifspec;
#ifndef __IMFRemoteProxy_INTERFACE_DEFINED__ #ifndef __IMFRemoteProxy_INTERFACE_DEFINED__
#define __IMFRemoteProxy_INTERFACE_DEFINED__ #define __IMFRemoteProxy_INTERFACE_DEFINED__
/* interface IMFRemoteProxy */ /* interface IMFRemoteProxy */
/* [local][uuid][object] */ /* [local][uuid][object] */
EXTERN_C const IID IID_IMFRemoteProxy; EXTERN_C const IID IID_IMFRemoteProxy;
#if defined(__cplusplus) && !defined(CINTERFACE) #if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("994e23ad-1cc2-493c-b9fa-46f1cb040fa4") MIDL_INTERFACE("994e23ad-1cc2-493c-b9fa-46f1cb040fa4")
IMFRemoteProxy : public IUnknown IMFRemoteProxy : public IUnknown
{ {
public: public:
virtual HRESULT STDMETHODCALLTYPE GetRemoteObject( virtual HRESULT STDMETHODCALLTYPE GetRemoteObject(
/* [in] */ REFIID riid, /* [in] */ REFIID riid,
/* [annotation][iid_is][out] */ /* [annotation][iid_is][out] */
__out void **ppv) = 0; _Outptr_ void **ppv) = 0;
virtual HRESULT STDMETHODCALLTYPE GetRemoteHost( virtual HRESULT STDMETHODCALLTYPE GetRemoteHost(
/* [in] */ REFIID riid, /* [in] */ REFIID riid,
/* [annotation][iid_is][out] */ /* [annotation][iid_is][out] */
__out void **ppv) = 0; _Outptr_ void **ppv) = 0;
}; };
#else /* C style interface */ #else /* C style interface */
typedef struct IMFRemoteProxyVtbl typedef struct IMFRemoteProxyVtbl
{ {
BEGIN_INTERFACE BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )( HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IMFRemoteProxy * This, IMFRemoteProxy * This,
/* [in] */ REFIID riid, /* [in] */ REFIID riid,
/* [annotation][iid_is][out] */ /* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject); _COM_Outptr_ void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )( ULONG ( STDMETHODCALLTYPE *AddRef )(
IMFRemoteProxy * This); IMFRemoteProxy * This);
ULONG ( STDMETHODCALLTYPE *Release )( ULONG ( STDMETHODCALLTYPE *Release )(
IMFRemoteProxy * This); IMFRemoteProxy * This);
HRESULT ( STDMETHODCALLTYPE *GetRemoteObject )( HRESULT ( STDMETHODCALLTYPE *GetRemoteObject )(
IMFRemoteProxy * This, IMFRemoteProxy * This,
/* [in] */ REFIID riid, /* [in] */ REFIID riid,
/* [annotation][iid_is][out] */ /* [annotation][iid_is][out] */
__out void **ppv); _Outptr_ void **ppv);
HRESULT ( STDMETHODCALLTYPE *GetRemoteHost )( HRESULT ( STDMETHODCALLTYPE *GetRemoteHost )(
IMFRemoteProxy * This, IMFRemoteProxy * This,
/* [in] */ REFIID riid, /* [in] */ REFIID riid,
/* [annotation][iid_is][out] */ /* [annotation][iid_is][out] */
__out void **ppv); _Outptr_ void **ppv);
END_INTERFACE END_INTERFACE
} IMFRemoteProxyVtbl; } IMFRemoteProxyVtbl;
interface IMFRemoteProxy interface IMFRemoteProxy
{ {
CONST_VTBL struct IMFRemoteProxyVtbl *lpVtbl; CONST_VTBL struct IMFRemoteProxyVtbl *lpVtbl;
}; };
#ifdef COBJMACROS #ifdef COBJMACROS
skipping to change at line 11077 skipping to change at line 13024
#define IMFRemoteProxy_GetRemoteHost(This,riid,ppv) \ #define IMFRemoteProxy_GetRemoteHost(This,riid,ppv) \
( (This)->lpVtbl -> GetRemoteHost(This,riid,ppv) ) ( (This)->lpVtbl -> GetRemoteHost(This,riid,ppv) )
#endif /* COBJMACROS */ #endif /* COBJMACROS */
#endif /* C style interface */ #endif /* C style interface */
#endif /* __IMFRemoteProxy_INTERFACE_DEFINED__ */ #endif /* __IMFRemoteProxy_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_mfidl_0000_0069 */ /* interface __MIDL_itf_mfidl_0000_0079 */
/* [local] */ /* [local] */
EXTERN_GUID( MF_REMOTE_PROXY, 0x2f00c90e, 0xd2cf, 0x4278, 0x8b, 0x6a, 0xd0, 0x77 , 0xfa, 0xc3, 0xa2, 0x5f); 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_0079_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0069_v0_0_s_ifspec; extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0079_v0_0_s_ifspec;
#ifndef __IMFObjectReferenceStream_INTERFACE_DEFINED__ #ifndef __IMFObjectReferenceStream_INTERFACE_DEFINED__
#define __IMFObjectReferenceStream_INTERFACE_DEFINED__ #define __IMFObjectReferenceStream_INTERFACE_DEFINED__
/* interface IMFObjectReferenceStream */ /* interface IMFObjectReferenceStream */
/* [local][uuid][object] */ /* [local][uuid][object] */
EXTERN_C const IID IID_IMFObjectReferenceStream; EXTERN_C const IID IID_IMFObjectReferenceStream;
#if defined(__cplusplus) && !defined(CINTERFACE) #if defined(__cplusplus) && !defined(CINTERFACE)
skipping to change at line 11119 skipping to change at line 13066
#else /* C style interface */ #else /* C style interface */
typedef struct IMFObjectReferenceStreamVtbl typedef struct IMFObjectReferenceStreamVtbl
{ {
BEGIN_INTERFACE BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )( HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IMFObjectReferenceStream * This, IMFObjectReferenceStream * This,
/* [in] */ REFIID riid, /* [in] */ REFIID riid,
/* [annotation][iid_is][out] */ /* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject); _COM_Outptr_ void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )( ULONG ( STDMETHODCALLTYPE *AddRef )(
IMFObjectReferenceStream * This); IMFObjectReferenceStream * This);
ULONG ( STDMETHODCALLTYPE *Release )( ULONG ( STDMETHODCALLTYPE *Release )(
IMFObjectReferenceStream * This); IMFObjectReferenceStream * This);
HRESULT ( STDMETHODCALLTYPE *SaveReference )( HRESULT ( STDMETHODCALLTYPE *SaveReference )(
IMFObjectReferenceStream * This, IMFObjectReferenceStream * This,
/* [in] */ REFIID riid, /* [in] */ REFIID riid,
skipping to change at line 11168 skipping to change at line 13115
#define IMFObjectReferenceStream_LoadReference(This,riid,ppv) \ #define IMFObjectReferenceStream_LoadReference(This,riid,ppv) \
( (This)->lpVtbl -> LoadReference(This,riid,ppv) ) ( (This)->lpVtbl -> LoadReference(This,riid,ppv) )
#endif /* COBJMACROS */ #endif /* COBJMACROS */
#endif /* C style interface */ #endif /* C style interface */
#endif /* __IMFObjectReferenceStream_INTERFACE_DEFINED__ */ #endif /* __IMFObjectReferenceStream_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_mfidl_0000_0080 */
/* [local] */
EXTERN_GUID( CLSID_CreateMediaExtensionObject, 0xef65a54d, 0x0788, 0x45b8, 0x8b,
0x14, 0xbc, 0x0f, 0x6a, 0x6b, 0x51, 0x37);
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0080_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0080_v0_0_s_ifspec;
#ifndef __IMFPMPHost_INTERFACE_DEFINED__ #ifndef __IMFPMPHost_INTERFACE_DEFINED__
#define __IMFPMPHost_INTERFACE_DEFINED__ #define __IMFPMPHost_INTERFACE_DEFINED__
/* interface IMFPMPHost */ /* interface IMFPMPHost */
/* [uuid][object] */ /* [uuid][object] */
EXTERN_C const IID IID_IMFPMPHost; EXTERN_C const IID IID_IMFPMPHost;
#if defined(__cplusplus) && !defined(CINTERFACE) #if defined(__cplusplus) && !defined(CINTERFACE)
skipping to change at line 11204 skipping to change at line 13159
#else /* C style interface */ #else /* C style interface */
typedef struct IMFPMPHostVtbl typedef struct IMFPMPHostVtbl
{ {
BEGIN_INTERFACE BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )( HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
__RPC__in IMFPMPHost * This, __RPC__in IMFPMPHost * This,
/* [in] */ __RPC__in REFIID riid, /* [in] */ __RPC__in REFIID riid,
/* [annotation][iid_is][out] */ /* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject); _COM_Outptr_ void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )( ULONG ( STDMETHODCALLTYPE *AddRef )(
__RPC__in IMFPMPHost * This); __RPC__in IMFPMPHost * This);
ULONG ( STDMETHODCALLTYPE *Release )( ULONG ( STDMETHODCALLTYPE *Release )(
__RPC__in IMFPMPHost * This); __RPC__in IMFPMPHost * This);
HRESULT ( STDMETHODCALLTYPE *LockProcess )( HRESULT ( STDMETHODCALLTYPE *LockProcess )(
__RPC__in IMFPMPHost * This); __RPC__in IMFPMPHost * This);
skipping to change at line 11273 skipping to change at line 13228
/* [iid_is][out] */ __RPC__deref_out_opt void **ppv); /* [iid_is][out] */ __RPC__deref_out_opt void **ppv);
void __RPC_STUB IMFPMPHost_RemoteCreateObjectByCLSID_Stub( void __RPC_STUB IMFPMPHost_RemoteCreateObjectByCLSID_Stub(
IRpcStubBuffer *This, IRpcStubBuffer *This,
IRpcChannelBuffer *_pRpcChannelBuffer, IRpcChannelBuffer *_pRpcChannelBuffer,
PRPC_MESSAGE _pRpcMessage, PRPC_MESSAGE _pRpcMessage,
DWORD *_pdwStubPhase); DWORD *_pdwStubPhase);
#endif /* __IMFPMPHost_INTERFACE_DEFINED__ */ #endif /* __IMFPMPHost_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_mfidl_0000_0071 */ /* interface __MIDL_itf_mfidl_0000_0081 */
/* [local] */ /* [local] */
#if (WINVER >= _WIN32_WINNT_WIN7) #if (WINVER >= _WIN32_WINNT_WIN7)
EXTERN_C const GUID MF_PMP_SERVICE; EXTERN_C const GUID MF_PMP_SERVICE;
#endif // (WINVER >= _WIN32_WINNT_WIN7) #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_0081_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0071_v0_0_s_ifspec; extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0081_v0_0_s_ifspec;
#ifndef __IMFPMPClient_INTERFACE_DEFINED__ #ifndef __IMFPMPClient_INTERFACE_DEFINED__
#define __IMFPMPClient_INTERFACE_DEFINED__ #define __IMFPMPClient_INTERFACE_DEFINED__
/* interface IMFPMPClient */ /* interface IMFPMPClient */
/* [local][uuid][object] */ /* [local][uuid][object] */
EXTERN_C const IID IID_IMFPMPClient; EXTERN_C const IID IID_IMFPMPClient;
#if defined(__cplusplus) && !defined(CINTERFACE) #if defined(__cplusplus) && !defined(CINTERFACE)
skipping to change at line 11312 skipping to change at line 13267
#else /* C style interface */ #else /* C style interface */
typedef struct IMFPMPClientVtbl typedef struct IMFPMPClientVtbl
{ {
BEGIN_INTERFACE BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )( HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IMFPMPClient * This, IMFPMPClient * This,
/* [in] */ REFIID riid, /* [in] */ REFIID riid,
/* [annotation][iid_is][out] */ /* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject); _COM_Outptr_ void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )( ULONG ( STDMETHODCALLTYPE *AddRef )(
IMFPMPClient * This); IMFPMPClient * This);
ULONG ( STDMETHODCALLTYPE *Release )( ULONG ( STDMETHODCALLTYPE *Release )(
IMFPMPClient * This); IMFPMPClient * This);
HRESULT ( STDMETHODCALLTYPE *SetPMPHost )( HRESULT ( STDMETHODCALLTYPE *SetPMPHost )(
IMFPMPClient * This, IMFPMPClient * This,
/* [in] */ IMFPMPHost *pPMPHost); /* [in] */ IMFPMPHost *pPMPHost);
skipping to change at line 11387 skipping to change at line 13342
#else /* C style interface */ #else /* C style interface */
typedef struct IMFPMPServerVtbl typedef struct IMFPMPServerVtbl
{ {
BEGIN_INTERFACE BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )( HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
__RPC__in IMFPMPServer * This, __RPC__in IMFPMPServer * This,
/* [in] */ __RPC__in REFIID riid, /* [in] */ __RPC__in REFIID riid,
/* [annotation][iid_is][out] */ /* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject); _COM_Outptr_ void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )( ULONG ( STDMETHODCALLTYPE *AddRef )(
__RPC__in IMFPMPServer * This); __RPC__in IMFPMPServer * This);
ULONG ( STDMETHODCALLTYPE *Release )( ULONG ( STDMETHODCALLTYPE *Release )(
__RPC__in IMFPMPServer * This); __RPC__in IMFPMPServer * This);
HRESULT ( STDMETHODCALLTYPE *LockProcess )( HRESULT ( STDMETHODCALLTYPE *LockProcess )(
__RPC__in IMFPMPServer * This); __RPC__in IMFPMPServer * This);
skipping to change at line 11441 skipping to change at line 13396
#define IMFPMPServer_CreateObjectByCLSID(This,clsid,riid,ppObject) \ #define IMFPMPServer_CreateObjectByCLSID(This,clsid,riid,ppObject) \
( (This)->lpVtbl -> CreateObjectByCLSID(This,clsid,riid,ppObject) ) ( (This)->lpVtbl -> CreateObjectByCLSID(This,clsid,riid,ppObject) )
#endif /* COBJMACROS */ #endif /* COBJMACROS */
#endif /* C style interface */ #endif /* C style interface */
#endif /* __IMFPMPServer_INTERFACE_DEFINED__ */ #endif /* __IMFPMPServer_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_mfidl_0000_0073 */ /* interface __MIDL_itf_mfidl_0000_0083 */
/* [local] */ /* [local] */
STDAPI MFCreatePMPServer( STDAPI MFCreatePMPServer(
DWORD dwCreationFlags, DWORD dwCreationFlags,
__out IMFPMPServer** ppPMPServer _Outptr_ IMFPMPServer** ppPMPServer
); );
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0073_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0083_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0073_v0_0_s_ifspec; extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0083_v0_0_s_ifspec;
#ifndef __IMFRemoteDesktopPlugin_INTERFACE_DEFINED__ #ifndef __IMFRemoteDesktopPlugin_INTERFACE_DEFINED__
#define __IMFRemoteDesktopPlugin_INTERFACE_DEFINED__ #define __IMFRemoteDesktopPlugin_INTERFACE_DEFINED__
/* interface IMFRemoteDesktopPlugin */ /* interface IMFRemoteDesktopPlugin */
/* [local][uuid][object] */ /* [local][uuid][object] */
EXTERN_C const IID IID_IMFRemoteDesktopPlugin; EXTERN_C const IID IID_IMFRemoteDesktopPlugin;
#if defined(__cplusplus) && !defined(CINTERFACE) #if defined(__cplusplus) && !defined(CINTERFACE)
skipping to change at line 11481 skipping to change at line 13436
#else /* C style interface */ #else /* C style interface */
typedef struct IMFRemoteDesktopPluginVtbl typedef struct IMFRemoteDesktopPluginVtbl
{ {
BEGIN_INTERFACE BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )( HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IMFRemoteDesktopPlugin * This, IMFRemoteDesktopPlugin * This,
/* [in] */ REFIID riid, /* [in] */ REFIID riid,
/* [annotation][iid_is][out] */ /* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject); _COM_Outptr_ void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )( ULONG ( STDMETHODCALLTYPE *AddRef )(
IMFRemoteDesktopPlugin * This); IMFRemoteDesktopPlugin * This);
ULONG ( STDMETHODCALLTYPE *Release )( ULONG ( STDMETHODCALLTYPE *Release )(
IMFRemoteDesktopPlugin * This); IMFRemoteDesktopPlugin * This);
HRESULT ( STDMETHODCALLTYPE *UpdateTopology )( HRESULT ( STDMETHODCALLTYPE *UpdateTopology )(
IMFRemoteDesktopPlugin * This, IMFRemoteDesktopPlugin * This,
/* [out][in] */ IMFTopology *pTopology); /* [out][in] */ IMFTopology *pTopology);
skipping to change at line 11521 skipping to change at line 13476
#define IMFRemoteDesktopPlugin_UpdateTopology(This,pTopology) \ #define IMFRemoteDesktopPlugin_UpdateTopology(This,pTopology) \
( (This)->lpVtbl -> UpdateTopology(This,pTopology) ) ( (This)->lpVtbl -> UpdateTopology(This,pTopology) )
#endif /* COBJMACROS */ #endif /* COBJMACROS */
#endif /* C style interface */ #endif /* C style interface */
#endif /* __IMFRemoteDesktopPlugin_INTERFACE_DEFINED__ */ #endif /* __IMFRemoteDesktopPlugin_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_mfidl_0000_0074 */ /* interface __MIDL_itf_mfidl_0000_0084 */
/* [local] */ /* [local] */
STDAPI MFCreateRemoteDesktopPlugin( STDAPI MFCreateRemoteDesktopPlugin(
__out IMFRemoteDesktopPlugin** ppPlugin ); _Outptr_ IMFRemoteDesktopPlugin** ppPlugin );
EXTERN_C HRESULT STDAPICALLTYPE CreateNamedPropertyStore( EXTERN_C HRESULT STDAPICALLTYPE CreateNamedPropertyStore(
__out INamedPropertyStore **ppStore _Outptr_ INamedPropertyStore **ppStore
); );
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0074_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0084_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0074_v0_0_s_ifspec; extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0084_v0_0_s_ifspec;
#ifndef __IMFSAMIStyle_INTERFACE_DEFINED__ #ifndef __IMFSAMIStyle_INTERFACE_DEFINED__
#define __IMFSAMIStyle_INTERFACE_DEFINED__ #define __IMFSAMIStyle_INTERFACE_DEFINED__
/* interface IMFSAMIStyle */ /* interface IMFSAMIStyle */
/* [local][uuid][object] */ /* [local][uuid][object] */
EXTERN_C const IID IID_IMFSAMIStyle; EXTERN_C const IID IID_IMFSAMIStyle;
#if defined(__cplusplus) && !defined(CINTERFACE) #if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("A7E025DD-5303-4a62-89D6-E747E1EFAC73") MIDL_INTERFACE("A7E025DD-5303-4a62-89D6-E747E1EFAC73")
IMFSAMIStyle : public IUnknown IMFSAMIStyle : public IUnknown
{ {
public: public:
virtual HRESULT STDMETHODCALLTYPE GetStyleCount( virtual HRESULT STDMETHODCALLTYPE GetStyleCount(
/* [annotation][out] */ /* [annotation][out] */
__out DWORD *pdwCount) = 0; _Out_ DWORD *pdwCount) = 0;
virtual HRESULT STDMETHODCALLTYPE GetStyles( virtual HRESULT STDMETHODCALLTYPE GetStyles(
/* [annotation][out] */ /* [annotation][out] */
__out PROPVARIANT *pPropVarStyleArray) = 0; _Out_ PROPVARIANT *pPropVarStyleArray) = 0;
virtual HRESULT STDMETHODCALLTYPE SetSelectedStyle( virtual HRESULT STDMETHODCALLTYPE SetSelectedStyle(
/* [annotation][in] */ /* [annotation][in] */
__in LPCWSTR pwszStyle) = 0; _In_ LPCWSTR pwszStyle) = 0;
virtual HRESULT STDMETHODCALLTYPE GetSelectedStyle( virtual HRESULT STDMETHODCALLTYPE GetSelectedStyle(
/* [annotation][out] */ /* [annotation][out] */
__deref_out LPWSTR *ppwszStyle) = 0; _Outptr_ LPWSTR *ppwszStyle) = 0;
}; };
#else /* C style interface */ #else /* C style interface */
typedef struct IMFSAMIStyleVtbl typedef struct IMFSAMIStyleVtbl
{ {
BEGIN_INTERFACE BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )( HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IMFSAMIStyle * This, IMFSAMIStyle * This,
/* [in] */ REFIID riid, /* [in] */ REFIID riid,
/* [annotation][iid_is][out] */ /* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject); _COM_Outptr_ void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )( ULONG ( STDMETHODCALLTYPE *AddRef )(
IMFSAMIStyle * This); IMFSAMIStyle * This);
ULONG ( STDMETHODCALLTYPE *Release )( ULONG ( STDMETHODCALLTYPE *Release )(
IMFSAMIStyle * This); IMFSAMIStyle * This);
HRESULT ( STDMETHODCALLTYPE *GetStyleCount )( HRESULT ( STDMETHODCALLTYPE *GetStyleCount )(
IMFSAMIStyle * This, IMFSAMIStyle * This,
/* [annotation][out] */ /* [annotation][out] */
__out DWORD *pdwCount); _Out_ DWORD *pdwCount);
HRESULT ( STDMETHODCALLTYPE *GetStyles )( HRESULT ( STDMETHODCALLTYPE *GetStyles )(
IMFSAMIStyle * This, IMFSAMIStyle * This,
/* [annotation][out] */ /* [annotation][out] */
__out PROPVARIANT *pPropVarStyleArray); _Out_ PROPVARIANT *pPropVarStyleArray);
HRESULT ( STDMETHODCALLTYPE *SetSelectedStyle )( HRESULT ( STDMETHODCALLTYPE *SetSelectedStyle )(
IMFSAMIStyle * This, IMFSAMIStyle * This,
/* [annotation][in] */ /* [annotation][in] */
__in LPCWSTR pwszStyle); _In_ LPCWSTR pwszStyle);
HRESULT ( STDMETHODCALLTYPE *GetSelectedStyle )( HRESULT ( STDMETHODCALLTYPE *GetSelectedStyle )(
IMFSAMIStyle * This, IMFSAMIStyle * This,
/* [annotation][out] */ /* [annotation][out] */
__deref_out LPWSTR *ppwszStyle); _Outptr_ LPWSTR *ppwszStyle);
END_INTERFACE END_INTERFACE
} IMFSAMIStyleVtbl; } IMFSAMIStyleVtbl;
interface IMFSAMIStyle interface IMFSAMIStyle
{ {
CONST_VTBL struct IMFSAMIStyleVtbl *lpVtbl; CONST_VTBL struct IMFSAMIStyleVtbl *lpVtbl;
}; };
#ifdef COBJMACROS #ifdef COBJMACROS
skipping to change at line 11640 skipping to change at line 13595
#define IMFSAMIStyle_GetSelectedStyle(This,ppwszStyle) \ #define IMFSAMIStyle_GetSelectedStyle(This,ppwszStyle) \
( (This)->lpVtbl -> GetSelectedStyle(This,ppwszStyle) ) ( (This)->lpVtbl -> GetSelectedStyle(This,ppwszStyle) )
#endif /* COBJMACROS */ #endif /* COBJMACROS */
#endif /* C style interface */ #endif /* C style interface */
#endif /* __IMFSAMIStyle_INTERFACE_DEFINED__ */ #endif /* __IMFSAMIStyle_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_mfidl_0000_0075 */ /* interface __MIDL_itf_mfidl_0000_0085 */
/* [local] */ /* [local] */
EXTERN_GUID( MF_SAMI_SERVICE, 0x49a89ae7, 0xb4d9, 0x4ef2, 0xaa, 0x5c, 0xf6, 0x5a , 0x3e, 0x5, 0xae, 0x4e ); 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_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 ); EXTERN_GUID( MF_SD_SAMI_LANGUAGE, 0x36fcb98a, 0x6cd0, 0x44cb, 0xac, 0xb9, 0xa8, 0xf5, 0x60, 0xd, 0xd0, 0xbb );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#if (WINVER >= _WIN32_WINNT_WIN7) #if (WINVER >= _WIN32_WINNT_WIN7)
STDAPI MFCreateSampleCopierMFT(__deref_out IMFTransform** ppCopierMFT); #pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
STDAPI MFCreateSampleCopierMFT(_Outptr_ IMFTransform** ppCopierMFT);
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0075_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0085_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0075_v0_0_s_ifspec; extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0085_v0_0_s_ifspec;
#ifndef __IMFTranscodeProfile_INTERFACE_DEFINED__ #ifndef __IMFTranscodeProfile_INTERFACE_DEFINED__
#define __IMFTranscodeProfile_INTERFACE_DEFINED__ #define __IMFTranscodeProfile_INTERFACE_DEFINED__
/* interface IMFTranscodeProfile */ /* interface IMFTranscodeProfile */
/* [local][uuid][object] */ /* [local][uuid][object] */
EXTERN_C const IID IID_IMFTranscodeProfile; EXTERN_C const IID IID_IMFTranscodeProfile;
#if defined(__cplusplus) && !defined(CINTERFACE) #if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("4ADFDBA3-7AB0-4953-A62B-461E7FF3DA1E") MIDL_INTERFACE("4ADFDBA3-7AB0-4953-A62B-461E7FF3DA1E")
IMFTranscodeProfile : public IUnknown IMFTranscodeProfile : public IUnknown
{ {
public: public:
virtual HRESULT STDMETHODCALLTYPE SetAudioAttributes( virtual HRESULT STDMETHODCALLTYPE SetAudioAttributes(
/* [annotation][in] */ /* [annotation][in] */
__in_opt IMFAttributes *pAttrs) = 0; _In_opt_ IMFAttributes *pAttrs) = 0;
virtual HRESULT STDMETHODCALLTYPE GetAudioAttributes( virtual HRESULT STDMETHODCALLTYPE GetAudioAttributes(
/* [annotation][out] */ /* [annotation][out] */
__deref_out_opt IMFAttributes **ppAttrs) = 0; _Outptr_result_maybenull_ IMFAttributes **ppAttrs) = 0;
virtual HRESULT STDMETHODCALLTYPE SetVideoAttributes( virtual HRESULT STDMETHODCALLTYPE SetVideoAttributes(
/* [annotation][in] */ /* [annotation][in] */
__in_opt IMFAttributes *pAttrs) = 0; _In_opt_ IMFAttributes *pAttrs) = 0;
virtual HRESULT STDMETHODCALLTYPE GetVideoAttributes( virtual HRESULT STDMETHODCALLTYPE GetVideoAttributes(
/* [annotation][out] */ /* [annotation][out] */
__deref_out_opt IMFAttributes **ppAttrs) = 0; _Outptr_result_maybenull_ IMFAttributes **ppAttrs) = 0;
virtual HRESULT STDMETHODCALLTYPE SetContainerAttributes( virtual HRESULT STDMETHODCALLTYPE SetContainerAttributes(
/* [annotation][in] */ /* [annotation][in] */
__in_opt IMFAttributes *pAttrs) = 0; _In_opt_ IMFAttributes *pAttrs) = 0;
virtual HRESULT STDMETHODCALLTYPE GetContainerAttributes( virtual HRESULT STDMETHODCALLTYPE GetContainerAttributes(
/* [annotation][out] */ /* [annotation][out] */
__deref_out_opt IMFAttributes **ppAttrs) = 0; _Outptr_result_maybenull_ IMFAttributes **ppAttrs) = 0;
}; };
#else /* C style interface */ #else /* C style interface */
typedef struct IMFTranscodeProfileVtbl typedef struct IMFTranscodeProfileVtbl
{ {
BEGIN_INTERFACE BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )( HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IMFTranscodeProfile * This, IMFTranscodeProfile * This,
/* [in] */ REFIID riid, /* [in] */ REFIID riid,
/* [annotation][iid_is][out] */ /* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject); _COM_Outptr_ void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )( ULONG ( STDMETHODCALLTYPE *AddRef )(
IMFTranscodeProfile * This); IMFTranscodeProfile * This);
ULONG ( STDMETHODCALLTYPE *Release )( ULONG ( STDMETHODCALLTYPE *Release )(
IMFTranscodeProfile * This); IMFTranscodeProfile * This);
HRESULT ( STDMETHODCALLTYPE *SetAudioAttributes )( HRESULT ( STDMETHODCALLTYPE *SetAudioAttributes )(
IMFTranscodeProfile * This, IMFTranscodeProfile * This,
/* [annotation][in] */ /* [annotation][in] */
__in_opt IMFAttributes *pAttrs); _In_opt_ IMFAttributes *pAttrs);
HRESULT ( STDMETHODCALLTYPE *GetAudioAttributes )( HRESULT ( STDMETHODCALLTYPE *GetAudioAttributes )(
IMFTranscodeProfile * This, IMFTranscodeProfile * This,
/* [annotation][out] */ /* [annotation][out] */
__deref_out_opt IMFAttributes **ppAttrs); _Outptr_result_maybenull_ IMFAttributes **ppAttrs);
HRESULT ( STDMETHODCALLTYPE *SetVideoAttributes )( HRESULT ( STDMETHODCALLTYPE *SetVideoAttributes )(
IMFTranscodeProfile * This, IMFTranscodeProfile * This,
/* [annotation][in] */ /* [annotation][in] */
__in_opt IMFAttributes *pAttrs); _In_opt_ IMFAttributes *pAttrs);
HRESULT ( STDMETHODCALLTYPE *GetVideoAttributes )( HRESULT ( STDMETHODCALLTYPE *GetVideoAttributes )(
IMFTranscodeProfile * This, IMFTranscodeProfile * This,
/* [annotation][out] */ /* [annotation][out] */
__deref_out_opt IMFAttributes **ppAttrs); _Outptr_result_maybenull_ IMFAttributes **ppAttrs);
HRESULT ( STDMETHODCALLTYPE *SetContainerAttributes )( HRESULT ( STDMETHODCALLTYPE *SetContainerAttributes )(
IMFTranscodeProfile * This, IMFTranscodeProfile * This,
/* [annotation][in] */ /* [annotation][in] */
__in_opt IMFAttributes *pAttrs); _In_opt_ IMFAttributes *pAttrs);
HRESULT ( STDMETHODCALLTYPE *GetContainerAttributes )( HRESULT ( STDMETHODCALLTYPE *GetContainerAttributes )(
IMFTranscodeProfile * This, IMFTranscodeProfile * This,
/* [annotation][out] */ /* [annotation][out] */
__deref_out_opt IMFAttributes **ppAttrs); _Outptr_result_maybenull_ IMFAttributes **ppAttrs);
END_INTERFACE END_INTERFACE
} IMFTranscodeProfileVtbl; } IMFTranscodeProfileVtbl;
interface IMFTranscodeProfile interface IMFTranscodeProfile
{ {
CONST_VTBL struct IMFTranscodeProfileVtbl *lpVtbl; CONST_VTBL struct IMFTranscodeProfileVtbl *lpVtbl;
}; };
#ifdef COBJMACROS #ifdef COBJMACROS
skipping to change at line 11783 skipping to change at line 13742
#define IMFTranscodeProfile_GetContainerAttributes(This,ppAttrs) \ #define IMFTranscodeProfile_GetContainerAttributes(This,ppAttrs) \
( (This)->lpVtbl -> GetContainerAttributes(This,ppAttrs) ) ( (This)->lpVtbl -> GetContainerAttributes(This,ppAttrs) )
#endif /* COBJMACROS */ #endif /* COBJMACROS */
#endif /* C style interface */ #endif /* C style interface */
#endif /* __IMFTranscodeProfile_INTERFACE_DEFINED__ */ #endif /* __IMFTranscodeProfile_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_mfidl_0000_0076 */ /* interface __MIDL_itf_mfidl_0000_0086 */
/* [local] */ /* [local] */
EXTERN_GUID( MF_TRANSCODE_CONTAINERTYPE, 0x150ff23f, 0x4abc, 0x478b, 0xac, 0x4f, 0xe1, 0x91, 0x6f, 0xba, 0x1c, 0xca ); EXTERN_GUID( MF_TRANSCODE_CONTAINERTYPE, 0x150ff23f, 0x4abc, 0x478b, 0xac, 0x4f, 0xe1, 0x91, 0x6f, 0xba, 0x1c, 0xca );
EXTERN_GUID( MFTranscodeContainerType_ASF, 0x430f6f6e, 0xb6bf, 0x4fc1, 0xa0, 0xb d, 0x9e, 0xe4, 0x6e, 0xee, 0x2a, 0xfb ); EXTERN_GUID( MFTranscodeContainerType_ASF, 0x430f6f6e, 0xb6bf, 0x4fc1, 0xa0, 0xb d, 0x9e, 0xe4, 0x6e, 0xee, 0x2a, 0xfb );
EXTERN_GUID( MFTranscodeContainerType_MPEG4, 0xdc6cd05d, 0xb9d0, 0x40ef, 0xbd, 0 x35, 0xfa, 0x62, 0x2c, 0x1a, 0xb2, 0x8a ); EXTERN_GUID( MFTranscodeContainerType_MPEG4, 0xdc6cd05d, 0xb9d0, 0x40ef, 0xbd, 0 x35, 0xfa, 0x62, 0x2c, 0x1a, 0xb2, 0x8a );
EXTERN_GUID( MFTranscodeContainerType_MP3, 0xe438b912, 0x83f1, 0x4de6, 0x9e, 0x3 a, 0x9f, 0xfb, 0xc6, 0xdd, 0x24, 0xd1 ); EXTERN_GUID( MFTranscodeContainerType_MP3, 0xe438b912, 0x83f1, 0x4de6, 0x9e, 0x3 a, 0x9f, 0xfb, 0xc6, 0xdd, 0x24, 0xd1 );
EXTERN_GUID( MFTranscodeContainerType_3GP, 0x34c50167, 0x4472, 0x4f34, 0x9e, 0xa 0, 0xc4, 0x9f, 0xba, 0xcf, 0x03, 0x7d ); EXTERN_GUID( MFTranscodeContainerType_3GP, 0x34c50167, 0x4472, 0x4f34, 0x9e, 0xa 0, 0xc4, 0x9f, 0xba, 0xcf, 0x03, 0x7d );
EXTERN_GUID( MFTranscodeContainerType_AC3, 0x6d8d91c3, 0x8c91, 0x4ed1, 0x87, 0x4
2, 0x8c, 0x34, 0x7d, 0x5b, 0x44, 0xd0 );
EXTERN_GUID( MFTranscodeContainerType_ADTS, 0x132fd27d, 0x0f02, 0x43de, 0xa3, 0x
01, 0x38, 0xfb, 0xbb, 0xb3, 0x83, 0x4e );
EXTERN_GUID( MFTranscodeContainerType_MPEG2, 0xbfc2dbf9, 0x7bb4, 0x4f8f, 0xaf, 0
xde, 0xe1, 0x12, 0xc4, 0x4b, 0xa8, 0x82 );
EXTERN_GUID( MFTranscodeContainerType_WAVE, 0x64c3453c, 0x0f26, 0x4741, 0xbe, 0x
63, 0x87, 0xbd, 0xf8, 0xbb, 0x93, 0x5b );
EXTERN_GUID( MFTranscodeContainerType_AVI, 0x7edfe8af, 0x402f, 0x4d76, 0xa3, 0x3
c, 0x61, 0x9f, 0xd1, 0x57, 0xd0, 0xf1 );
#if (WINVER >= _WIN32_WINNT_WIN8)
EXTERN_GUID( MFTranscodeContainerType_FMPEG4, 0x9ba876f1, 0x419f, 0x4b77, 0xa1,
0xe0, 0x35, 0x95, 0x9d, 0x9d, 0x40, 0x4 );
#endif // (WINVER >= _WIN32_WINNT_WIN8)
EXTERN_GUID( MF_TRANSCODE_SKIP_METADATA_TRANSFER, 0x4e4469ef, 0xb571, 0x4959, 0x 8f, 0x83, 0x3d, 0xcf, 0xba, 0x33, 0xa3, 0x93 ); EXTERN_GUID( MF_TRANSCODE_SKIP_METADATA_TRANSFER, 0x4e4469ef, 0xb571, 0x4959, 0x 8f, 0x83, 0x3d, 0xcf, 0xba, 0x33, 0xa3, 0x93 );
EXTERN_GUID( MF_TRANSCODE_TOPOLOGYMODE, 0x3e3df610, 0x394a, 0x40b2, 0x9d, 0xea, 0x3b, 0xab, 0x65, 0xb, 0xeb, 0xf2 ); EXTERN_GUID( MF_TRANSCODE_TOPOLOGYMODE, 0x3e3df610, 0x394a, 0x40b2, 0x9d, 0xea, 0x3b, 0xab, 0x65, 0xb, 0xeb, 0xf2 );
typedef typedef
enum _MF_TRANSCODE_TOPOLOGYMODE_FLAGS enum _MF_TRANSCODE_TOPOLOGYMODE_FLAGS
{ MF_TRANSCODE_TOPOLOGYMODE_SOFTWARE_ONLY = 0, {
MF_TRANSCODE_TOPOLOGYMODE_HARDWARE_ALLOWED = 1 MF_TRANSCODE_TOPOLOGYMODE_SOFTWARE_ONLY = 0,
MF_TRANSCODE_TOPOLOGYMODE_HARDWARE_ALLOWED = 1
} MF_TRANSCODE_TOPOLOGYMODE_FLAGS; } MF_TRANSCODE_TOPOLOGYMODE_FLAGS;
EXTERN_GUID( MF_TRANSCODE_ADJUST_PROFILE, 0x9c37c21b, 0x60f, 0x487c, 0xa6, 0x90, 0x80, 0xd7, 0xf5, 0xd, 0x1c, 0x72 ); EXTERN_GUID( MF_TRANSCODE_ADJUST_PROFILE, 0x9c37c21b, 0x60f, 0x487c, 0xa6, 0x90, 0x80, 0xd7, 0xf5, 0xd, 0x1c, 0x72 );
typedef typedef
enum _MF_TRANSCODE_ADJUST_PROFILE_FLAGS enum _MF_TRANSCODE_ADJUST_PROFILE_FLAGS
{ MF_TRANSCODE_ADJUST_PROFILE_DEFAULT = 0, {
MF_TRANSCODE_ADJUST_PROFILE_USE_SOURCE_ATTRIBUTES = 1 MF_TRANSCODE_ADJUST_PROFILE_DEFAULT = 0,
MF_TRANSCODE_ADJUST_PROFILE_USE_SOURCE_ATTRIBUTES = 1
} MF_TRANSCODE_ADJUST_PROFILE_FLAGS; } MF_TRANSCODE_ADJUST_PROFILE_FLAGS;
EXTERN_GUID( MF_TRANSCODE_ENCODINGPROFILE, 0x6947787c, 0xf508, 0x4ea9, 0xb1, 0xe 9, 0xa1, 0xfe, 0x3a, 0x49, 0xfb, 0xc9 ); EXTERN_GUID( MF_TRANSCODE_ENCODINGPROFILE, 0x6947787c, 0xf508, 0x4ea9, 0xb1, 0xe 9, 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_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 ); EXTERN_GUID( MF_TRANSCODE_DONOT_INSERT_ENCODER, 0xf45aa7ce, 0xab24, 0x4012, 0xa1 , 0x1b, 0xdc, 0x82, 0x20, 0x20, 0x14, 0x10 );
typedef
enum _MF_VIDEO_PROCESSOR_ALGORITHM_TYPE
{
MF_VIDEO_PROCESSOR_ALGORITHM_DEFAULT = 0,
MF_VIDEO_PROCESSOR_ALGORITHM_MRF_CRF_444 = 1
} MF_VIDEO_PROCESSOR_ALGORITHM_TYPE;
EXTERN_GUID( MF_VIDEO_PROCESSOR_ALGORITHM, 0x4a0a1e1f, 0x272c, 0x4fb6, 0x9e, 0xb
1, 0xdb, 0x33, 0xc, 0xbc, 0x97, 0xca);
EXTERN_GUID( MF_XVP_DISABLE_FRC, 0x2c0afa19, 0x7a97, 0x4d5a, 0x9e, 0xe8, 0x16, 0
xd4, 0xfc, 0x51, 0x8d, 0x8c );
STDAPI MFCreateTranscodeProfile( STDAPI MFCreateTranscodeProfile(
__out IMFTranscodeProfile** ppTranscodeProfile _Outptr_ IMFTranscodeProfile** ppTranscodeProfile
); );
STDAPI MFCreateTranscodeTopology( STDAPI MFCreateTranscodeTopology(
__in IMFMediaSource* pSrc, _In_ IMFMediaSource* pSrc,
__in LPCWSTR pwszOutputFilePath, _In_ LPCWSTR pwszOutputFilePath,
__in IMFTranscodeProfile* pProfile, _In_ IMFTranscodeProfile* pProfile,
__out IMFTopology** ppTranscodeTopo _Outptr_ IMFTopology** ppTranscodeTopo
);
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#if (WINVER >= _WIN32_WINNT_WIN8)
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
STDAPI MFCreateTranscodeTopologyFromByteStream(
_In_ IMFMediaSource* pSrc,
_In_ IMFByteStream* pOutputStream,
_In_ IMFTranscodeProfile* pProfile,
_Out_ IMFTopology** ppTranscodeTopo
); );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#endif // (WINVER >= _WIN32_WINNT_WIN8)
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
STDAPI MFTranscodeGetAudioOutputAvailableTypes( STDAPI MFTranscodeGetAudioOutputAvailableTypes(
__in REFGUID guidSubType, _In_ REFGUID guidSubType,
__in DWORD dwMFTFlags, _In_ DWORD dwMFTFlags,
__in_opt IMFAttributes* pCodecConfig, _In_opt_ IMFAttributes* pCodecConfig,
__out IMFCollection** ppAvailableTypes ); _Outptr_ IMFCollection** ppAvailableTypes );
typedef struct _MF_TRANSCODE_SINK_INFO typedef struct _MF_TRANSCODE_SINK_INFO
{ {
DWORD dwVideoStreamID; DWORD dwVideoStreamID;
IMFMediaType *pVideoMediaType; IMFMediaType *pVideoMediaType;
DWORD dwAudioStreamID; DWORD dwAudioStreamID;
IMFMediaType *pAudioMediaType; IMFMediaType *pAudioMediaType;
} MF_TRANSCODE_SINK_INFO; } 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_0086_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0076_v0_0_s_ifspec; extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0086_v0_0_s_ifspec;
#ifndef __IMFTranscodeSinkInfoProvider_INTERFACE_DEFINED__ #ifndef __IMFTranscodeSinkInfoProvider_INTERFACE_DEFINED__
#define __IMFTranscodeSinkInfoProvider_INTERFACE_DEFINED__ #define __IMFTranscodeSinkInfoProvider_INTERFACE_DEFINED__
/* interface IMFTranscodeSinkInfoProvider */ /* interface IMFTranscodeSinkInfoProvider */
/* [local][uuid][object] */ /* [local][uuid][object] */
EXTERN_C const IID IID_IMFTranscodeSinkInfoProvider; EXTERN_C const IID IID_IMFTranscodeSinkInfoProvider;
#if defined(__cplusplus) && !defined(CINTERFACE) #if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("8CFFCD2E-5A03-4a3a-AFF7-EDCD107C620E") MIDL_INTERFACE("8CFFCD2E-5A03-4a3a-AFF7-EDCD107C620E")
IMFTranscodeSinkInfoProvider : public IUnknown IMFTranscodeSinkInfoProvider : public IUnknown
{ {
public: public:
virtual HRESULT STDMETHODCALLTYPE SetOutputFile( virtual HRESULT STDMETHODCALLTYPE SetOutputFile(
/* [annotation][in] */ /* [annotation][in] */
__in LPCWSTR pwszFileName) = 0; _In_ LPCWSTR pwszFileName) = 0;
virtual HRESULT STDMETHODCALLTYPE SetOutputByteStream( virtual HRESULT STDMETHODCALLTYPE SetOutputByteStream(
/* [annotation][in] */ /* [annotation][in] */
__in IMFActivate *pByteStreamActivate) = 0; _In_ IMFActivate *pByteStreamActivate) = 0;
virtual HRESULT STDMETHODCALLTYPE SetProfile( virtual HRESULT STDMETHODCALLTYPE SetProfile(
/* [annotation][in] */ /* [annotation][in] */
__in IMFTranscodeProfile *pProfile) = 0; _In_ IMFTranscodeProfile *pProfile) = 0;
virtual HRESULT STDMETHODCALLTYPE GetSinkInfo( virtual HRESULT STDMETHODCALLTYPE GetSinkInfo(
/* [annotation][out] */ /* [annotation][out] */
__out MF_TRANSCODE_SINK_INFO *pSinkInfo) = 0; _Out_ MF_TRANSCODE_SINK_INFO *pSinkInfo) = 0;
}; };
#else /* C style interface */ #else /* C style interface */
typedef struct IMFTranscodeSinkInfoProviderVtbl typedef struct IMFTranscodeSinkInfoProviderVtbl
{ {
BEGIN_INTERFACE BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )( HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IMFTranscodeSinkInfoProvider * This, IMFTranscodeSinkInfoProvider * This,
/* [in] */ REFIID riid, /* [in] */ REFIID riid,
/* [annotation][iid_is][out] */ /* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject); _COM_Outptr_ void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )( ULONG ( STDMETHODCALLTYPE *AddRef )(
IMFTranscodeSinkInfoProvider * This); IMFTranscodeSinkInfoProvider * This);
ULONG ( STDMETHODCALLTYPE *Release )( ULONG ( STDMETHODCALLTYPE *Release )(
IMFTranscodeSinkInfoProvider * This); IMFTranscodeSinkInfoProvider * This);
HRESULT ( STDMETHODCALLTYPE *SetOutputFile )( HRESULT ( STDMETHODCALLTYPE *SetOutputFile )(
IMFTranscodeSinkInfoProvider * This, IMFTranscodeSinkInfoProvider * This,
/* [annotation][in] */ /* [annotation][in] */
__in LPCWSTR pwszFileName); _In_ LPCWSTR pwszFileName);
HRESULT ( STDMETHODCALLTYPE *SetOutputByteStream )( HRESULT ( STDMETHODCALLTYPE *SetOutputByteStream )(
IMFTranscodeSinkInfoProvider * This, IMFTranscodeSinkInfoProvider * This,
/* [annotation][in] */ /* [annotation][in] */
__in IMFActivate *pByteStreamActivate); _In_ IMFActivate *pByteStreamActivate);
HRESULT ( STDMETHODCALLTYPE *SetProfile )( HRESULT ( STDMETHODCALLTYPE *SetProfile )(
IMFTranscodeSinkInfoProvider * This, IMFTranscodeSinkInfoProvider * This,
/* [annotation][in] */ /* [annotation][in] */
__in IMFTranscodeProfile *pProfile); _In_ IMFTranscodeProfile *pProfile);
HRESULT ( STDMETHODCALLTYPE *GetSinkInfo )( HRESULT ( STDMETHODCALLTYPE *GetSinkInfo )(
IMFTranscodeSinkInfoProvider * This, IMFTranscodeSinkInfoProvider * This,
/* [annotation][out] */ /* [annotation][out] */
__out MF_TRANSCODE_SINK_INFO *pSinkInfo); _Out_ MF_TRANSCODE_SINK_INFO *pSinkInfo);
END_INTERFACE END_INTERFACE
} IMFTranscodeSinkInfoProviderVtbl; } IMFTranscodeSinkInfoProviderVtbl;
interface IMFTranscodeSinkInfoProvider interface IMFTranscodeSinkInfoProvider
{ {
CONST_VTBL struct IMFTranscodeSinkInfoProviderVtbl *lpVtbl; CONST_VTBL struct IMFTranscodeSinkInfoProviderVtbl *lpVtbl;
}; };
#ifdef COBJMACROS #ifdef COBJMACROS
skipping to change at line 11941 skipping to change at line 13935
#define IMFTranscodeSinkInfoProvider_GetSinkInfo(This,pSinkInfo) \ #define IMFTranscodeSinkInfoProvider_GetSinkInfo(This,pSinkInfo) \
( (This)->lpVtbl -> GetSinkInfo(This,pSinkInfo) ) ( (This)->lpVtbl -> GetSinkInfo(This,pSinkInfo) )
#endif /* COBJMACROS */ #endif /* COBJMACROS */
#endif /* C style interface */ #endif /* C style interface */
#endif /* __IMFTranscodeSinkInfoProvider_INTERFACE_DEFINED__ */ #endif /* __IMFTranscodeSinkInfoProvider_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_mfidl_0000_0077 */ /* interface __MIDL_itf_mfidl_0000_0087 */
/* [local] */ /* [local] */
STDAPI MFCreateTranscodeSinkActivate( STDAPI MFCreateTranscodeSinkActivate(
__out IMFActivate** ppActivate ); _Outptr_ IMFActivate** ppActivate );
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0077_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0087_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0077_v0_0_s_ifspec; extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0087_v0_0_s_ifspec;
#ifndef __IMFFieldOfUseMFTUnlock_INTERFACE_DEFINED__ #ifndef __IMFFieldOfUseMFTUnlock_INTERFACE_DEFINED__
#define __IMFFieldOfUseMFTUnlock_INTERFACE_DEFINED__ #define __IMFFieldOfUseMFTUnlock_INTERFACE_DEFINED__
/* interface IMFFieldOfUseMFTUnlock */ /* interface IMFFieldOfUseMFTUnlock */
/* [uuid][object] */ /* [uuid][object] */
EXTERN_C const IID IID_IMFFieldOfUseMFTUnlock; EXTERN_C const IID IID_IMFFieldOfUseMFTUnlock;
#if defined(__cplusplus) && !defined(CINTERFACE) #if defined(__cplusplus) && !defined(CINTERFACE)
skipping to change at line 11979 skipping to change at line 13973
#else /* C style interface */ #else /* C style interface */
typedef struct IMFFieldOfUseMFTUnlockVtbl typedef struct IMFFieldOfUseMFTUnlockVtbl
{ {
BEGIN_INTERFACE BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )( HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
__RPC__in IMFFieldOfUseMFTUnlock * This, __RPC__in IMFFieldOfUseMFTUnlock * This,
/* [in] */ __RPC__in REFIID riid, /* [in] */ __RPC__in REFIID riid,
/* [annotation][iid_is][out] */ /* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject); _COM_Outptr_ void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )( ULONG ( STDMETHODCALLTYPE *AddRef )(
__RPC__in IMFFieldOfUseMFTUnlock * This); __RPC__in IMFFieldOfUseMFTUnlock * This);
ULONG ( STDMETHODCALLTYPE *Release )( ULONG ( STDMETHODCALLTYPE *Release )(
__RPC__in IMFFieldOfUseMFTUnlock * This); __RPC__in IMFFieldOfUseMFTUnlock * This);
HRESULT ( STDMETHODCALLTYPE *Unlock )( HRESULT ( STDMETHODCALLTYPE *Unlock )(
__RPC__in IMFFieldOfUseMFTUnlock * This, __RPC__in IMFFieldOfUseMFTUnlock * This,
/* [in] */ __RPC__in_opt IUnknown *pUnkMFT); /* [in] */ __RPC__in_opt IUnknown *pUnkMFT);
skipping to change at line 12019 skipping to change at line 14013
#define IMFFieldOfUseMFTUnlock_Unlock(This,pUnkMFT) \ #define IMFFieldOfUseMFTUnlock_Unlock(This,pUnkMFT) \
( (This)->lpVtbl -> Unlock(This,pUnkMFT) ) ( (This)->lpVtbl -> Unlock(This,pUnkMFT) )
#endif /* COBJMACROS */ #endif /* COBJMACROS */
#endif /* C style interface */ #endif /* C style interface */
#endif /* __IMFFieldOfUseMFTUnlock_INTERFACE_DEFINED__ */ #endif /* __IMFFieldOfUseMFTUnlock_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_mfidl_0000_0078 */ /* interface __MIDL_itf_mfidl_0000_0088 */
/* [local] */ /* [local] */
typedef struct _MFT_REGISTRATION_INFO typedef struct _MFT_REGISTRATION_INFO
{ {
CLSID clsid; CLSID clsid;
GUID guidCategory; GUID guidCategory;
UINT32 uiFlags; UINT32 uiFlags;
LPCWSTR pszName; LPCWSTR pszName;
DWORD cInTypes; DWORD cInTypes;
MFT_REGISTER_TYPE_INFO *pInTypes; /* [size_is] */ MFT_REGISTER_TYPE_INFO *pInTypes;
DWORD cOutTypes; DWORD cOutTypes;
MFT_REGISTER_TYPE_INFO *pOutTypes; /* [size_is] */ MFT_REGISTER_TYPE_INFO *pOutTypes;
} MFT_REGISTRATION_INFO; } MFT_REGISTRATION_INFO;
EXTERN_GUID(MF_LOCAL_MFT_REGISTRATION_SERVICE, 0xddf5cf9c, 0x4506, 0x45aa, 0xab, 0xf0, 0x6d, 0x5d, 0x94, 0xdd, 0x1b, 0x4a); 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_0088_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0078_v0_0_s_ifspec; extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0088_v0_0_s_ifspec;
#ifndef __IMFLocalMFTRegistration_INTERFACE_DEFINED__ #ifndef __IMFLocalMFTRegistration_INTERFACE_DEFINED__
#define __IMFLocalMFTRegistration_INTERFACE_DEFINED__ #define __IMFLocalMFTRegistration_INTERFACE_DEFINED__
/* interface IMFLocalMFTRegistration */ /* interface IMFLocalMFTRegistration */
/* [uuid][object] */ /* [uuid][object] */
EXTERN_C const IID IID_IMFLocalMFTRegistration; EXTERN_C const IID IID_IMFLocalMFTRegistration;
#if defined(__cplusplus) && !defined(CINTERFACE) #if defined(__cplusplus) && !defined(CINTERFACE)
skipping to change at line 12069 skipping to change at line 14063
#else /* C style interface */ #else /* C style interface */
typedef struct IMFLocalMFTRegistrationVtbl typedef struct IMFLocalMFTRegistrationVtbl
{ {
BEGIN_INTERFACE BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )( HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
__RPC__in IMFLocalMFTRegistration * This, __RPC__in IMFLocalMFTRegistration * This,
/* [in] */ __RPC__in REFIID riid, /* [in] */ __RPC__in REFIID riid,
/* [annotation][iid_is][out] */ /* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject); _COM_Outptr_ void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )( ULONG ( STDMETHODCALLTYPE *AddRef )(
__RPC__in IMFLocalMFTRegistration * This); __RPC__in IMFLocalMFTRegistration * This);
ULONG ( STDMETHODCALLTYPE *Release )( ULONG ( STDMETHODCALLTYPE *Release )(
__RPC__in IMFLocalMFTRegistration * This); __RPC__in IMFLocalMFTRegistration * This);
HRESULT ( STDMETHODCALLTYPE *RegisterMFTs )( HRESULT ( STDMETHODCALLTYPE *RegisterMFTs )(
__RPC__in IMFLocalMFTRegistration * This, __RPC__in IMFLocalMFTRegistration * This,
/* [size_is][in] */ __RPC__in_ecount_full(cMFTs) MFT_REGISTRATION_IN FO *pMFTs, /* [size_is][in] */ __RPC__in_ecount_full(cMFTs) MFT_REGISTRATION_IN FO *pMFTs,
skipping to change at line 12110 skipping to change at line 14104
#define IMFLocalMFTRegistration_RegisterMFTs(This,pMFTs,cMFTs) \ #define IMFLocalMFTRegistration_RegisterMFTs(This,pMFTs,cMFTs) \
( (This)->lpVtbl -> RegisterMFTs(This,pMFTs,cMFTs) ) ( (This)->lpVtbl -> RegisterMFTs(This,pMFTs,cMFTs) )
#endif /* COBJMACROS */ #endif /* COBJMACROS */
#endif /* C style interface */ #endif /* C style interface */
#endif /* __IMFLocalMFTRegistration_INTERFACE_DEFINED__ */ #endif /* __IMFLocalMFTRegistration_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_mfidl_0000_0079 */ /* interface __MIDL_itf_mfidl_0000_0089 */
/* [local] */
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
#if (WINVER >= _WIN32_WINNT_WIN8)
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0089_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0089_v0_0_s_ifspec;
#ifndef __IMFPMPHostApp_INTERFACE_DEFINED__
#define __IMFPMPHostApp_INTERFACE_DEFINED__
/* interface IMFPMPHostApp */
/* [uuid][object] */
EXTERN_C const IID IID_IMFPMPHostApp;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("84d2054a-3aa1-4728-a3b0-440a418cf49c")
IMFPMPHostApp : public IUnknown
{
public:
virtual HRESULT STDMETHODCALLTYPE LockProcess( void) = 0;
virtual HRESULT STDMETHODCALLTYPE UnlockProcess( void) = 0;
virtual HRESULT STDMETHODCALLTYPE ActivateClassById(
/* [in] */ __RPC__in LPCWSTR id,
/* [unique][in] */ __RPC__in_opt IStream *pStream,
/* [in] */ __RPC__in REFIID riid,
/* [iid_is][out] */ __RPC__deref_out_opt void **ppv) = 0;
};
#else /* C style interface */
typedef struct IMFPMPHostAppVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
__RPC__in IMFPMPHostApp * This,
/* [in] */ __RPC__in REFIID riid,
/* [annotation][iid_is][out] */
_COM_Outptr_ void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
__RPC__in IMFPMPHostApp * This);
ULONG ( STDMETHODCALLTYPE *Release )(
__RPC__in IMFPMPHostApp * This);
HRESULT ( STDMETHODCALLTYPE *LockProcess )(
__RPC__in IMFPMPHostApp * This);
HRESULT ( STDMETHODCALLTYPE *UnlockProcess )(
__RPC__in IMFPMPHostApp * This);
HRESULT ( STDMETHODCALLTYPE *ActivateClassById )(
__RPC__in IMFPMPHostApp * This,
/* [in] */ __RPC__in LPCWSTR id,
/* [unique][in] */ __RPC__in_opt IStream *pStream,
/* [in] */ __RPC__in REFIID riid,
/* [iid_is][out] */ __RPC__deref_out_opt void **ppv);
END_INTERFACE
} IMFPMPHostAppVtbl;
interface IMFPMPHostApp
{
CONST_VTBL struct IMFPMPHostAppVtbl *lpVtbl;
};
#ifdef COBJMACROS
#define IMFPMPHostApp_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
#define IMFPMPHostApp_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
#define IMFPMPHostApp_Release(This) \
( (This)->lpVtbl -> Release(This) )
#define IMFPMPHostApp_LockProcess(This) \
( (This)->lpVtbl -> LockProcess(This) )
#define IMFPMPHostApp_UnlockProcess(This) \
( (This)->lpVtbl -> UnlockProcess(This) )
#define IMFPMPHostApp_ActivateClassById(This,id,pStream,riid,ppv) \
( (This)->lpVtbl -> ActivateClassById(This,id,pStream,riid,ppv) )
#endif /* COBJMACROS */
#endif /* C style interface */
#endif /* __IMFPMPHostApp_INTERFACE_DEFINED__ */
#ifndef __IMFPMPClientApp_INTERFACE_DEFINED__
#define __IMFPMPClientApp_INTERFACE_DEFINED__
/* interface IMFPMPClientApp */
/* [local][uuid][object] */
EXTERN_C const IID IID_IMFPMPClientApp;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("c004f646-be2c-48f3-93a2-a0983eba1108")
IMFPMPClientApp : public IUnknown
{
public:
virtual HRESULT STDMETHODCALLTYPE SetPMPHost(
/* [in] */ IMFPMPHostApp *pPMPHost) = 0;
};
#else /* C style interface */
typedef struct IMFPMPClientAppVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IMFPMPClientApp * This,
/* [in] */ REFIID riid,
/* [annotation][iid_is][out] */
_COM_Outptr_ void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
IMFPMPClientApp * This);
ULONG ( STDMETHODCALLTYPE *Release )(
IMFPMPClientApp * This);
HRESULT ( STDMETHODCALLTYPE *SetPMPHost )(
IMFPMPClientApp * This,
/* [in] */ IMFPMPHostApp *pPMPHost);
END_INTERFACE
} IMFPMPClientAppVtbl;
interface IMFPMPClientApp
{
CONST_VTBL struct IMFPMPClientAppVtbl *lpVtbl;
};
#ifdef COBJMACROS
#define IMFPMPClientApp_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
#define IMFPMPClientApp_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
#define IMFPMPClientApp_Release(This) \
( (This)->lpVtbl -> Release(This) )
#define IMFPMPClientApp_SetPMPHost(This,pPMPHost) \
( (This)->lpVtbl -> SetPMPHost(This,pPMPHost) )
#endif /* COBJMACROS */
#endif /* C style interface */
#endif /* __IMFPMPClientApp_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_mfidl_0000_0091 */
/* [local] */
#endif
#if (WINVER >= _WIN32_WINNT_WINBLUE)
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0091_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0091_v0_0_s_ifspec;
#ifndef __IMFMediaStreamSourceSampleRequest_INTERFACE_DEFINED__
#define __IMFMediaStreamSourceSampleRequest_INTERFACE_DEFINED__
/* interface IMFMediaStreamSourceSampleRequest */
/* [unique][uuid][object] */
EXTERN_C const IID IID_IMFMediaStreamSourceSampleRequest;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("380b9af9-a85b-4e78-a2af-ea5ce645c6b4")
IMFMediaStreamSourceSampleRequest : public IUnknown
{
public:
virtual HRESULT STDMETHODCALLTYPE SetSample(
/* [in] */ __RPC__in_opt IMFSample *value) = 0;
};
#else /* C style interface */
typedef struct IMFMediaStreamSourceSampleRequestVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
__RPC__in IMFMediaStreamSourceSampleRequest * This,
/* [in] */ __RPC__in REFIID riid,
/* [annotation][iid_is][out] */
_COM_Outptr_ void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
__RPC__in IMFMediaStreamSourceSampleRequest * This);
ULONG ( STDMETHODCALLTYPE *Release )(
__RPC__in IMFMediaStreamSourceSampleRequest * This);
HRESULT ( STDMETHODCALLTYPE *SetSample )(
__RPC__in IMFMediaStreamSourceSampleRequest * This,
/* [in] */ __RPC__in_opt IMFSample *value);
END_INTERFACE
} IMFMediaStreamSourceSampleRequestVtbl;
interface IMFMediaStreamSourceSampleRequest
{
CONST_VTBL struct IMFMediaStreamSourceSampleRequestVtbl *lpVtbl;
};
#ifdef COBJMACROS
#define IMFMediaStreamSourceSampleRequest_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
#define IMFMediaStreamSourceSampleRequest_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
#define IMFMediaStreamSourceSampleRequest_Release(This) \
( (This)->lpVtbl -> Release(This) )
#define IMFMediaStreamSourceSampleRequest_SetSample(This,value) \
( (This)->lpVtbl -> SetSample(This,value) )
#endif /* COBJMACROS */
#endif /* C style interface */
#endif /* __IMFMediaStreamSourceSampleRequest_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_mfidl_0000_0092 */
/* [local] */
#endif
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0092_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0092_v0_0_s_ifspec;
#ifndef __IMFTrackedSample_INTERFACE_DEFINED__
#define __IMFTrackedSample_INTERFACE_DEFINED__
/* interface IMFTrackedSample */
/* [local][helpstring][uuid][object] */
EXTERN_C const IID IID_IMFTrackedSample;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("245BF8E9-0755-40f7-88A5-AE0F18D55E17")
IMFTrackedSample : public IUnknown
{
public:
virtual HRESULT STDMETHODCALLTYPE SetAllocator(
/* [annotation][in] */
_In_ IMFAsyncCallback *pSampleAllocator,
/* [unique][in] */ IUnknown *pUnkState) = 0;
};
#else /* C style interface */
typedef struct IMFTrackedSampleVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IMFTrackedSample * This,
/* [in] */ REFIID riid,
/* [annotation][iid_is][out] */
_COM_Outptr_ void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
IMFTrackedSample * This);
ULONG ( STDMETHODCALLTYPE *Release )(
IMFTrackedSample * This);
HRESULT ( STDMETHODCALLTYPE *SetAllocator )(
IMFTrackedSample * This,
/* [annotation][in] */
_In_ IMFAsyncCallback *pSampleAllocator,
/* [unique][in] */ IUnknown *pUnkState);
END_INTERFACE
} IMFTrackedSampleVtbl;
interface IMFTrackedSample
{
CONST_VTBL struct IMFTrackedSampleVtbl *lpVtbl;
};
#ifdef COBJMACROS
#define IMFTrackedSample_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
#define IMFTrackedSample_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
#define IMFTrackedSample_Release(This) \
( (This)->lpVtbl -> Release(This) )
#define IMFTrackedSample_SetAllocator(This,pSampleAllocator,pUnkState) \
( (This)->lpVtbl -> SetAllocator(This,pSampleAllocator,pUnkState) )
#endif /* COBJMACROS */
#endif /* C style interface */
#endif /* __IMFTrackedSample_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_mfidl_0000_0093 */
/* [local] */ /* [local] */
STDAPI MFCreateTrackedSample(
_Outptr_ IMFTrackedSample** ppMFSample);
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
#pragma endregion
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
STDAPI MFCreateMFByteStreamOnStream( STDAPI MFCreateMFByteStreamOnStream(
IStream* pStream, IStream* pStream,
__out IMFByteStream** ppByteStream); _Outptr_ IMFByteStream** ppByteStream);
STDAPI MFCreateStreamOnMFByteStream(
_In_ IMFByteStream* pByteStream,
_Outptr_ IStream** ppStream);
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
STDAPI MFCreateMFByteStreamOnStreamEx(
_In_ IUnknown* punkStream,
_Outptr_ IMFByteStream** ppByteStream );
STDAPI MFCreateStreamOnMFByteStreamEx(
_In_ IMFByteStream* pByteStream,
_In_ REFIID riid,
_Outptr_ void **ppv );
STDAPI MFCreateMediaTypeFromProperties(
_In_ IUnknown* punkStream,
_Outptr_ IMFMediaType** ppMediaType );
STDAPI MFCreatePropertiesFromMediaType(
_In_ IMFMediaType* pMediaType,
_In_ REFIID riid,
_Outptr_ void **ppv );
#if (WINVER >= _WIN32_WINNT_WINBLUE)
DEFINE_GUID(MF_WRAPPED_BUFFER_SERVICE, 0xab544072, 0xc269, 0x4ebc, 0xa5, 0x52, 0
x1c, 0x3b, 0x32, 0xbe, 0xd5, 0xca);
EXTERN_GUID(MF_WRAPPED_SAMPLE_SERVICE, 0x31f52bf2, 0xd03e, 0x4048, 0x80, 0xd0, 0
x9c, 0x10, 0x46, 0xd8, 0x7c, 0x61);
#endif // (WINVER >= _WIN32_WINNT_WINBLUE)
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
#pragma endregion
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
EXTERN_GUID( MF_WRAPPED_OBJECT, 0x2b182c4c, 0xd6ac, 0x49f4, 0x89, 0x15, 0xf7, 0x
18, 0x87, 0xdb, 0x70, 0xcd);
EXTERN_GUID(CLSID_HttpSchemePlugin, 0x44cb442b, 0x9da9, 0x49df, 0xb3, 0xfd, 0x2,
0x37, 0x77, 0xb1, 0x6e, 0x50);
EXTERN_GUID(CLSID_UrlmonSchemePlugin, 0x9ec4b4f9, 0x3029, 0x45ad, 0x94, 0x7b, 0x 34, 0x4d, 0xe2, 0xa2, 0x49, 0xe2); EXTERN_GUID(CLSID_UrlmonSchemePlugin, 0x9ec4b4f9, 0x3029, 0x45ad, 0x94, 0x7b, 0x 34, 0x4d, 0xe2, 0xa2, 0x49, 0xe2);
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
EXTERN_GUID(CLSID_NetSchemePlugin, 0xe9f4ebab, 0xd97b, 0x463e, 0xa2, 0xb1, 0xc5,
0x4e, 0xe3, 0xf9, 0x41, 0x4d);
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
#pragma endregion
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
STDAPI MFEnumDeviceSources( STDAPI MFEnumDeviceSources(
__in IMFAttributes* pAttributes, _In_ IMFAttributes* pAttributes,
__deref_out_ecount(*pcSourceActivate) IMFActivate*** pppSourceActivate, _Outptr_result_buffer_(*pcSourceActivate) IMFActivate*** pppSourceActivat
__out UINT32* pcSourceActivate e,
_Out_ UINT32* pcSourceActivate
); );
STDAPI MFCreateDeviceSource( STDAPI MFCreateDeviceSource(
__in IMFAttributes* pAttributes, _In_ IMFAttributes* pAttributes,
__out IMFMediaSource** ppSource _Outptr_ IMFMediaSource** ppSource
); );
STDAPI MFCreateDeviceSourceActivate( STDAPI MFCreateDeviceSourceActivate(
__in IMFAttributes* pAttributes, _In_ IMFAttributes* pAttributes,
__out IMFActivate** ppActivate _Outptr_ IMFActivate** ppActivate
); );
EXTERN_GUID( MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE, 0xc60ac5fe, 0x252a, 0x478f, 0xa 0, 0xef, 0xbc, 0x8f, 0xa5, 0xf7, 0xca, 0xd3); EXTERN_GUID( MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE, 0xc60ac5fe, 0x252a, 0x478f, 0xa 0, 0xef, 0xbc, 0x8f, 0xa5, 0xf7, 0xca, 0xd3);
EXTERN_GUID( MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE_VIDCAP_HW_SOURCE, 0xde7046ba, 0x 54d6, 0x4487, 0xa2, 0xa4, 0xec, 0x7c, 0xd, 0x1b, 0xd1, 0x63); EXTERN_GUID( MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE_VIDCAP_HW_SOURCE, 0xde7046ba, 0x 54d6, 0x4487, 0xa2, 0xa4, 0xec, 0x7c, 0xd, 0x1b, 0xd1, 0x63);
EXTERN_GUID( MF_DEVSOURCE_ATTRIBUTE_FRIENDLY_NAME, 0x60d0e559, 0x52f8, 0x4fa2, 0 xbb, 0xce, 0xac, 0xdb, 0x34, 0xa8, 0xec, 0x1); EXTERN_GUID( MF_DEVSOURCE_ATTRIBUTE_FRIENDLY_NAME, 0x60d0e559, 0x52f8, 0x4fa2, 0 xbb, 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_MEDIA_TYPE, 0x56a819ca, 0xc78, 0x4de4, 0xa0, 0xa7, 0x3d, 0xda, 0xba, 0xf, 0x24, 0xd4);
EXTERN_GUID( MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE_VIDCAP_CATEGORY, 0x77f0ae69, 0xc 3bd, 0x4509, 0x94, 0x1d, 0x46, 0x7e, 0x4d, 0x24, 0x89, 0x9e); EXTERN_GUID( MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE_VIDCAP_CATEGORY, 0x77f0ae69, 0xc 3bd, 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_SYMBOLIC_LINK, 0x58f0aad8 , 0x22bf, 0x4f8a, 0xbb, 0x3d, 0xd2, 0xc4, 0x97, 0x8c, 0x6e, 0x2f);
EXTERN_GUID( MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE_AUDCAP_SYMBOLIC_LINK, 0x98d24b5e , 0x5930, 0x4614, 0xb5, 0xa1, 0xf6, 0x0, 0xf9, 0x35, 0x5a, 0x78);
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_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_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_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_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(MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE_VIDCAP_GUID, 0x8ac3587a, 0x4ae7, 0x42d8, 0x99, 0xe0, 0x0a, 0x60, 0x13, 0xee, 0xf9, 0x0f);
EXTERN_GUID( MF_DEVICESTREAM_IMAGE_STREAM, 0xa7ffb865, 0xe7b2, 0x43b0, 0x9f, 0x6
f, 0x9a, 0xf2, 0xa0, 0xe5, 0xf, 0xc0);
EXTERN_GUID( MF_DEVICESTREAM_INDEPENDENT_IMAGE_STREAM, 0x3eeec7e, 0xd605, 0x4576
, 0x8b, 0x29, 0x65, 0x80, 0xb4, 0x90, 0xd7, 0xd3);
EXTERN_GUID( MF_DEVICESTREAM_STREAM_ID, 0x11bd5120, 0xd124, 0x446b, 0x88, 0xe6,
0x17, 0x6, 0x2, 0x57, 0xff, 0xf9);
EXTERN_GUID( MF_DEVICESTREAM_STREAM_CATEGORY, 0x2939e7b8, 0xa62e, 0x4579, 0xb6,
0x74, 0xd4, 0x7, 0x3d, 0xfa, 0xbb, 0xba);
EXTERN_GUID( MF_DEVICESTREAM_TRANSFORM_STREAM_ID, 0xe63937b7, 0xdaaf, 0x4d49, 0
x81, 0x5f, 0xd8, 0x26, 0xf8, 0xad, 0x31, 0xe7);
EXTERN_GUID( MF_DEVICESTREAM_EXTENSION_PLUGIN_CLSID, 0x048e6558, 0x60c4, 0x4173,
0xbd, 0x5b, 0x6a, 0x3c, 0xa2, 0x89, 0x6a, 0xee);
EXTERN_GUID( MF_DEVICESTREAM_EXTENSION_PLUGIN_CONNECTION_POINT, 0x37f9375c, 0xe
664, 0x4ea4, 0xaa, 0xe4, 0xcb, 0x6d, 0x1d, 0xac, 0xa1, 0xf4);
EXTERN_GUID( MF_DEVICESTREAM_TAKEPHOTO_TRIGGER, 0x1d180e34, 0x538c, 0x4fbb, 0xa7
, 0x5a, 0x85, 0x9a, 0xf7, 0xd2, 0x61, 0xa6 );
EXTERN_GUID( MF_DEVICESTREAM_MAX_FRAME_BUFFERS, 0x1684cebe, 0x3175, 0x4985, 0x88
, 0x2c, 0x0e, 0xfd, 0x3e, 0x8a, 0xc1, 0x1e );
EXTERN_GUID(MFSampleExtension_DeviceTimestamp, 0x8f3e35e7, 0x2dcd, 0x4887, 0x86, 0x22, 0x2a, 0x58, 0xba, 0xa6, 0x52, 0xb0); EXTERN_GUID(MFSampleExtension_DeviceTimestamp, 0x8f3e35e7, 0x2dcd, 0x4887, 0x86, 0x22, 0x2a, 0x58, 0xba, 0xa6, 0x52, 0xb0);
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#endif // (WINVER >= _WIN32_WINNT_WIN7) #endif // (WINVER >= _WIN32_WINNT_WIN7)
#pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0079_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0093_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0079_v0_0_s_ifspec; extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0093_v0_0_s_ifspec;
#ifndef __IMFProtectedEnvironmentAccess_INTERFACE_DEFINED__
#define __IMFProtectedEnvironmentAccess_INTERFACE_DEFINED__
/* interface IMFProtectedEnvironmentAccess */
/* [local][uuid][object] */
EXTERN_C const IID IID_IMFProtectedEnvironmentAccess;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("ef5dc845-f0d9-4ec9-b00c-cb5183d38434")
IMFProtectedEnvironmentAccess : public IUnknown
{
public:
virtual HRESULT STDMETHODCALLTYPE Call(
/* [annotation] */
_In_ UINT32 inputLength,
/* [annotation] */
_In_reads_bytes_(inputLength) const BYTE *input,
/* [annotation] */
_In_ UINT32 outputLength,
/* [annotation] */
_Out_writes_bytes_(outputLength) BYTE *output) = 0;
virtual HRESULT STDMETHODCALLTYPE ReadGRL(
/* [annotation] */
_Out_ UINT32 *outputLength,
/* [annotation] */
_Outptr_result_bytebuffer_(*outputLength) BYTE **output) = 0;
};
#else /* C style interface */
typedef struct IMFProtectedEnvironmentAccessVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IMFProtectedEnvironmentAccess * This,
/* [in] */ REFIID riid,
/* [annotation][iid_is][out] */
_COM_Outptr_ void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
IMFProtectedEnvironmentAccess * This);
ULONG ( STDMETHODCALLTYPE *Release )(
IMFProtectedEnvironmentAccess * This);
HRESULT ( STDMETHODCALLTYPE *Call )(
IMFProtectedEnvironmentAccess * This,
/* [annotation] */
_In_ UINT32 inputLength,
/* [annotation] */
_In_reads_bytes_(inputLength) const BYTE *input,
/* [annotation] */
_In_ UINT32 outputLength,
/* [annotation] */
_Out_writes_bytes_(outputLength) BYTE *output);
HRESULT ( STDMETHODCALLTYPE *ReadGRL )(
IMFProtectedEnvironmentAccess * This,
/* [annotation] */
_Out_ UINT32 *outputLength,
/* [annotation] */
_Outptr_result_bytebuffer_(*outputLength) BYTE **output);
END_INTERFACE
} IMFProtectedEnvironmentAccessVtbl;
interface IMFProtectedEnvironmentAccess
{
CONST_VTBL struct IMFProtectedEnvironmentAccessVtbl *lpVtbl;
};
#ifdef COBJMACROS
#define IMFProtectedEnvironmentAccess_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
#define IMFProtectedEnvironmentAccess_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
#define IMFProtectedEnvironmentAccess_Release(This) \
( (This)->lpVtbl -> Release(This) )
#define IMFProtectedEnvironmentAccess_Call(This,inputLength,input,outputLength,o
utput) \
( (This)->lpVtbl -> Call(This,inputLength,input,outputLength,output) )
#define IMFProtectedEnvironmentAccess_ReadGRL(This,outputLength,output) \
( (This)->lpVtbl -> ReadGRL(This,outputLength,output) )
#endif /* COBJMACROS */
#endif /* C style interface */
#endif /* __IMFProtectedEnvironmentAccess_INTERFACE_DEFINED__ */
#ifndef __IMFSignedLibrary_INTERFACE_DEFINED__
#define __IMFSignedLibrary_INTERFACE_DEFINED__
/* interface IMFSignedLibrary */
/* [local][uuid][object] */
EXTERN_C const IID IID_IMFSignedLibrary;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("4a724bca-ff6a-4c07-8e0d-7a358421cf06")
IMFSignedLibrary : public IUnknown
{
public:
virtual HRESULT STDMETHODCALLTYPE GetProcedureAddress(
/* [annotation] */
_In_ LPCSTR name,
/* [annotation] */
_Outptr_ PVOID *address) = 0;
};
#else /* C style interface */
typedef struct IMFSignedLibraryVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IMFSignedLibrary * This,
/* [in] */ REFIID riid,
/* [annotation][iid_is][out] */
_COM_Outptr_ void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
IMFSignedLibrary * This);
ULONG ( STDMETHODCALLTYPE *Release )(
IMFSignedLibrary * This);
HRESULT ( STDMETHODCALLTYPE *GetProcedureAddress )(
IMFSignedLibrary * This,
/* [annotation] */
_In_ LPCSTR name,
/* [annotation] */
_Outptr_ PVOID *address);
END_INTERFACE
} IMFSignedLibraryVtbl;
interface IMFSignedLibrary
{
CONST_VTBL struct IMFSignedLibraryVtbl *lpVtbl;
};
#ifdef COBJMACROS
#define IMFSignedLibrary_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
#define IMFSignedLibrary_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
#define IMFSignedLibrary_Release(This) \
( (This)->lpVtbl -> Release(This) )
#define IMFSignedLibrary_GetProcedureAddress(This,name,address) \
( (This)->lpVtbl -> GetProcedureAddress(This,name,address) )
#endif /* COBJMACROS */
#endif /* C style interface */
#endif /* __IMFSignedLibrary_INTERFACE_DEFINED__ */
#ifndef __IMFSystemId_INTERFACE_DEFINED__
#define __IMFSystemId_INTERFACE_DEFINED__
/* interface IMFSystemId */
/* [local][uuid][object] */
EXTERN_C const IID IID_IMFSystemId;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("fff4af3a-1fc1-4ef9-a29b-d26c49e2f31a")
IMFSystemId : public IUnknown
{
public:
virtual HRESULT STDMETHODCALLTYPE GetData(
/* [annotation] */
_Out_ UINT32 *size,
/* [annotation] */
_Outptr_result_bytebuffer_(*size) BYTE **data) = 0;
virtual HRESULT STDMETHODCALLTYPE Setup(
UINT32 stage,
UINT32 cbIn,
/* [annotation] */
_In_reads_bytes_(cbIn) const BYTE *pbIn,
/* [annotation] */
_Out_ UINT32 *pcbOut,
/* [annotation] */
_Outptr_result_bytebuffer_(*pcbOut) BYTE **ppbOut) = 0;
};
#else /* C style interface */
typedef struct IMFSystemIdVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IMFSystemId * This,
/* [in] */ REFIID riid,
/* [annotation][iid_is][out] */
_COM_Outptr_ void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
IMFSystemId * This);
ULONG ( STDMETHODCALLTYPE *Release )(
IMFSystemId * This);
HRESULT ( STDMETHODCALLTYPE *GetData )(
IMFSystemId * This,
/* [annotation] */
_Out_ UINT32 *size,
/* [annotation] */
_Outptr_result_bytebuffer_(*size) BYTE **data);
HRESULT ( STDMETHODCALLTYPE *Setup )(
IMFSystemId * This,
UINT32 stage,
UINT32 cbIn,
/* [annotation] */
_In_reads_bytes_(cbIn) const BYTE *pbIn,
/* [annotation] */
_Out_ UINT32 *pcbOut,
/* [annotation] */
_Outptr_result_bytebuffer_(*pcbOut) BYTE **ppbOut);
END_INTERFACE
} IMFSystemIdVtbl;
interface IMFSystemId
{
CONST_VTBL struct IMFSystemIdVtbl *lpVtbl;
};
#ifdef COBJMACROS
#define IMFSystemId_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
#define IMFSystemId_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
#define IMFSystemId_Release(This) \
( (This)->lpVtbl -> Release(This) )
#define IMFSystemId_GetData(This,size,data) \
( (This)->lpVtbl -> GetData(This,size,data) )
#define IMFSystemId_Setup(This,stage,cbIn,pbIn,pcbOut,ppbOut) \
( (This)->lpVtbl -> Setup(This,stage,cbIn,pbIn,pcbOut,ppbOut) )
#endif /* COBJMACROS */
#endif /* C style interface */
#endif /* __IMFSystemId_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_mfidl_0000_0096 */
/* [local] */
STDAPI MFCreateProtectedEnvironmentAccess(
_Outptr_ IMFProtectedEnvironmentAccess** ppAccess
);
STDAPI MFLoadSignedLibrary(
_In_ LPCWSTR pszName,
_Outptr_ IMFSignedLibrary** ppLib
);
STDAPI MFGetSystemId(
_Outptr_ IMFSystemId** ppId
);
STDAPI MFGetLocalId(
_In_reads_bytes_(size) const BYTE *verifier,
_In_ UINT32 size,
_Outptr_ LPWSTR *id
);
// {40871C59-AB40-471F-8DC3-1F259D862479}
DEFINE_GUID(CLSID_MPEG2ByteStreamPlugin,
0x40871c59, 0xab40, 0x471f, 0x8d, 0xc3, 0x1f, 0x25, 0x9d, 0x86, 0x24, 0x79);
// {f09992f7-9fba-4c4a-a37f-8c47b4e1dfe7}
EXTERN_GUID( MF_MEDIASOURCE_SERVICE, 0xf09992f7, 0x9fba, 0x4c4a, 0xa3, 0x7f, 0x8
c, 0x47, 0xb4, 0xe1, 0xdf, 0xe7 );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
#pragma endregion
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0096_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_mfidl_0000_0096_v0_0_s_ifspec;
/* Additional Prototypes for ALL interfaces */ /* Additional Prototypes for ALL interfaces */
unsigned long __RPC_USER BSTR_UserSize( __RPC__in unsigned long *, unsigned long , __RPC__in BSTR * ); 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_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 * ); 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 * ); void __RPC_USER BSTR_UserFree( __RPC__in unsigned long *, __RPC__in BSTR * );
unsigned long __RPC_USER LPSAFEARRAY_UserSize( __RPC__in unsign ed long *, unsigned long , __RPC__in LPSAFEARRAY * ); unsigned long __RPC_USER LPSAFEARRAY_UserSize( __RPC__in unsign ed 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_UserMarshal( __RPC__in unsigned long *, __RPC__inout_xcount(0) unsigned char *, __RPC__in LPSAFEARRAY * );
skipping to change at line 12175 skipping to change at line 14862
unsigned char * __RPC_USER LPSAFEARRAY_UserMarshal64( __RPC__in unsigned long *, __RPC__inout_xcount(0) unsigned char *, __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 * ); 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 unsi gned long *, __RPC__in LPSAFEARRAY * ); void __RPC_USER LPSAFEARRAY_UserFree64( __RPC__in unsi gned long *, __RPC__in LPSAFEARRAY * );
/* [local] */ HRESULT STDMETHODCALLTYPE IMFSourceResolver_BeginCreateObjectFromU RL_Proxy( /* [local] */ HRESULT STDMETHODCALLTYPE IMFSourceResolver_BeginCreateObjectFromU RL_Proxy(
IMFSourceResolver * This, IMFSourceResolver * This,
/* [in] */ LPCWSTR pwszURL, /* [in] */ LPCWSTR pwszURL,
/* [in] */ DWORD dwFlags, /* [in] */ DWORD dwFlags,
/* [in] */ IPropertyStore *pProps, /* [in] */ IPropertyStore *pProps,
/* [annotation][out] */ /* [annotation][out] */
__out_opt IUnknown **ppIUnknownCancelCookie, _Outptr_opt_ IUnknown **ppIUnknownCancelCookie,
/* [in] */ IMFAsyncCallback *pCallback, /* [in] */ IMFAsyncCallback *pCallback,
/* [in] */ IUnknown *punkState); /* [in] */ IUnknown *punkState);
/* [call_as] */ HRESULT STDMETHODCALLTYPE IMFSourceResolver_BeginCreateObjectFro mURL_Stub( /* [call_as] */ HRESULT STDMETHODCALLTYPE IMFSourceResolver_BeginCreateObjectFro mURL_Stub(
__RPC__in IMFSourceResolver * This, __RPC__in IMFSourceResolver * This,
/* [string][in] */ __RPC__in_string LPCWSTR pwszURL, /* [string][in] */ __RPC__in_string LPCWSTR pwszURL,
/* [in] */ DWORD dwFlags, /* [in] */ DWORD dwFlags,
/* [in] */ __RPC__in_opt IPropertyStore *pProps, /* [in] */ __RPC__in_opt IPropertyStore *pProps,
/* [in] */ __RPC__in_opt IMFRemoteAsyncCallback *pCallback); /* [in] */ __RPC__in_opt IMFRemoteAsyncCallback *pCallback);
/* [local] */ HRESULT STDMETHODCALLTYPE IMFSourceResolver_EndCreateObjectFromURL _Proxy( /* [local] */ HRESULT STDMETHODCALLTYPE IMFSourceResolver_EndCreateObjectFromURL _Proxy(
IMFSourceResolver * This, IMFSourceResolver * This,
/* [in] */ IMFAsyncResult *pResult, /* [in] */ IMFAsyncResult *pResult,
/* [annotation][out] */ /* [annotation][out] */
__out MF_OBJECT_TYPE *pObjectType, _Out_ MF_OBJECT_TYPE *pObjectType,
/* [annotation][out] */ /* [annotation][out] */
__out IUnknown **ppObject); _Outptr_ IUnknown **ppObject);
/* [call_as] */ HRESULT STDMETHODCALLTYPE IMFSourceResolver_EndCreateObjectFromU RL_Stub( /* [call_as] */ HRESULT STDMETHODCALLTYPE IMFSourceResolver_EndCreateObjectFromU RL_Stub(
__RPC__in IMFSourceResolver * This, __RPC__in IMFSourceResolver * This,
/* [in] */ __RPC__in_opt IUnknown *pResult, /* [in] */ __RPC__in_opt IUnknown *pResult,
/* [out] */ __RPC__out MF_OBJECT_TYPE *pObjectType, /* [out] */ __RPC__out MF_OBJECT_TYPE *pObjectType,
/* [out] */ __RPC__deref_out_opt IUnknown **ppObject); /* [out] */ __RPC__deref_out_opt IUnknown **ppObject);
/* [local] */ HRESULT STDMETHODCALLTYPE IMFSourceResolver_BeginCreateObjectFromB yteStream_Proxy( /* [local] */ HRESULT STDMETHODCALLTYPE IMFSourceResolver_BeginCreateObjectFromB yteStream_Proxy(
IMFSourceResolver * This, IMFSourceResolver * This,
/* [in] */ IMFByteStream *pByteStream, /* [in] */ IMFByteStream *pByteStream,
/* [in] */ LPCWSTR pwszURL, /* [in] */ LPCWSTR pwszURL,
/* [in] */ DWORD dwFlags, /* [in] */ DWORD dwFlags,
/* [in] */ IPropertyStore *pProps, /* [in] */ IPropertyStore *pProps,
/* [annotation][out] */ /* [annotation][out] */
__out_opt IUnknown **ppIUnknownCancelCookie, _Outptr_opt_ IUnknown **ppIUnknownCancelCookie,
/* [in] */ IMFAsyncCallback *pCallback, /* [in] */ IMFAsyncCallback *pCallback,
/* [in] */ IUnknown *punkState); /* [in] */ IUnknown *punkState);
/* [call_as] */ HRESULT STDMETHODCALLTYPE IMFSourceResolver_BeginCreateObjectFro mByteStream_Stub( /* [call_as] */ HRESULT STDMETHODCALLTYPE IMFSourceResolver_BeginCreateObjectFro mByteStream_Stub(
__RPC__in IMFSourceResolver * This, __RPC__in IMFSourceResolver * This,
/* [in] */ __RPC__in_opt IMFByteStream *pByteStream, /* [in] */ __RPC__in_opt IMFByteStream *pByteStream,
/* [in] */ __RPC__in LPCWSTR pwszURL, /* [unique][in] */ __RPC__in_opt LPCWSTR pwszURL,
/* [in] */ DWORD dwFlags, /* [in] */ DWORD dwFlags,
/* [in] */ __RPC__in_opt IPropertyStore *pProps, /* [unique][in] */ __RPC__in_opt IPropertyStore *pProps,
/* [in] */ __RPC__in_opt IMFRemoteAsyncCallback *pCallback); /* [in] */ __RPC__in_opt IMFRemoteAsyncCallback *pCallback);
/* [local] */ HRESULT STDMETHODCALLTYPE IMFSourceResolver_EndCreateObjectFromByt eStream_Proxy( /* [local] */ HRESULT STDMETHODCALLTYPE IMFSourceResolver_EndCreateObjectFromByt eStream_Proxy(
IMFSourceResolver * This, IMFSourceResolver * This,
/* [in] */ IMFAsyncResult *pResult, /* [in] */ IMFAsyncResult *pResult,
/* [annotation][out] */ /* [annotation][out] */
__out MF_OBJECT_TYPE *pObjectType, _Out_ MF_OBJECT_TYPE *pObjectType,
/* [annotation][out] */ /* [annotation][out] */
__out IUnknown **ppObject); _Outptr_ IUnknown **ppObject);
/* [call_as] */ HRESULT STDMETHODCALLTYPE IMFSourceResolver_EndCreateObjectFromB yteStream_Stub( /* [call_as] */ HRESULT STDMETHODCALLTYPE IMFSourceResolver_EndCreateObjectFromB yteStream_Stub(
__RPC__in IMFSourceResolver * This, __RPC__in IMFSourceResolver * This,
/* [in] */ __RPC__in_opt IUnknown *pResult, /* [in] */ __RPC__in_opt IUnknown *pResult,
/* [out] */ __RPC__out MF_OBJECT_TYPE *pObjectType, /* [out] */ __RPC__out MF_OBJECT_TYPE *pObjectType,
/* [out] */ __RPC__deref_out_opt IUnknown **ppObject); /* [out] */ __RPC__deref_out_opt IUnknown **ppObject);
/* [local] */ HRESULT STDMETHODCALLTYPE IMFMediaSource_CreatePresentationDescrip tor_Proxy( /* [local] */ HRESULT STDMETHODCALLTYPE IMFMediaSource_CreatePresentationDescrip tor_Proxy(
IMFMediaSource * This, IMFMediaSource * This,
/* [annotation][out] */ /* [annotation][out] */
__out IMFPresentationDescriptor **ppPresentationDescriptor); _Outptr_ IMFPresentationDescriptor **ppPresentationDescriptor);
/* [call_as] */ HRESULT STDMETHODCALLTYPE IMFMediaSource_CreatePresentationDescr iptor_Stub( /* [call_as] */ HRESULT STDMETHODCALLTYPE IMFMediaSource_CreatePresentationDescr iptor_Stub(
__RPC__in IMFMediaSource * This, __RPC__in IMFMediaSource * This,
/* [out] */ __RPC__out DWORD *pcbPD, /* [out] */ __RPC__out DWORD *pcbPD,
/* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pcbPD) BYTE **pbPD, /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pcbPD) BYTE **pbPD,
/* [out] */ __RPC__deref_out_opt IMFPresentationDescriptor **ppRemotePD); /* [out] */ __RPC__deref_out_opt IMFPresentationDescriptor **ppRemotePD);
/* [local] */ HRESULT STDMETHODCALLTYPE IMFMediaStream_RequestSample_Proxy( /* [local] */ HRESULT STDMETHODCALLTYPE IMFMediaStream_RequestSample_Proxy(
IMFMediaStream * This, IMFMediaStream * This,
/* [in] */ IUnknown *pToken); /* [in] */ IUnknown *pToken);
/* [call_as] */ HRESULT STDMETHODCALLTYPE IMFMediaStream_RequestSample_Stub( /* [call_as] */ HRESULT STDMETHODCALLTYPE IMFMediaStream_RequestSample_Stub(
__RPC__in IMFMediaStream * This); __RPC__in IMFMediaStream * This);
/* [local] */ HRESULT STDMETHODCALLTYPE IMFTopologyNode_GetOutputPrefType_Proxy( /* [local] */ HRESULT STDMETHODCALLTYPE IMFTopologyNode_GetOutputPrefType_Proxy(
IMFTopologyNode * This, IMFTopologyNode * This,
/* [in] */ DWORD dwOutputIndex, /* [in] */ DWORD dwOutputIndex,
/* [annotation][out] */ /* [annotation][out] */
__out IMFMediaType **ppType); _Outptr_ IMFMediaType **ppType);
/* [call_as] */ HRESULT STDMETHODCALLTYPE IMFTopologyNode_GetOutputPrefType_Stub ( /* [call_as] */ HRESULT STDMETHODCALLTYPE IMFTopologyNode_GetOutputPrefType_Stub (
__RPC__in IMFTopologyNode * This, __RPC__in IMFTopologyNode * This,
/* [in] */ DWORD dwOutputIndex, /* [in] */ DWORD dwOutputIndex,
/* [out] */ __RPC__out DWORD *pcbData, /* [out] */ __RPC__out DWORD *pcbData,
/* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pcbData) BYT E **ppbData); /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pcbData) BYT E **ppbData);
/* [local] */ HRESULT STDMETHODCALLTYPE IMFTopologyNode_GetInputPrefType_Proxy( /* [local] */ HRESULT STDMETHODCALLTYPE IMFTopologyNode_GetInputPrefType_Proxy(
IMFTopologyNode * This, IMFTopologyNode * This,
/* [in] */ DWORD dwInputIndex, /* [in] */ DWORD dwInputIndex,
/* [annotation][out] */ /* [annotation][out] */
__out IMFMediaType **ppType); _Outptr_ IMFMediaType **ppType);
/* [call_as] */ HRESULT STDMETHODCALLTYPE IMFTopologyNode_GetInputPrefType_Stub( /* [call_as] */ HRESULT STDMETHODCALLTYPE IMFTopologyNode_GetInputPrefType_Stub(
__RPC__in IMFTopologyNode * This, __RPC__in IMFTopologyNode * This,
/* [in] */ DWORD dwInputIndex, /* [in] */ DWORD dwInputIndex,
/* [out] */ __RPC__out DWORD *pcbData, /* [out] */ __RPC__out DWORD *pcbData,
/* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pcbData) BYT E **ppbData); /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pcbData) BYT E **ppbData);
/* [local] */ HRESULT STDMETHODCALLTYPE IMFMediaTypeHandler_IsMediaTypeSupported
_Proxy(
IMFMediaTypeHandler * This,
/* [in] */ IMFMediaType *pMediaType,
/* [annotation][out] */
_Outptr_opt_result_maybenull_ IMFMediaType **ppMediaType);
/* [call_as] */ HRESULT STDMETHODCALLTYPE IMFMediaTypeHandler_IsMediaTypeSupport
ed_Stub(
__RPC__in IMFMediaTypeHandler * This,
/* [size_is][in] */ __RPC__in_ecount_full(cbData) BYTE *pbData,
/* [in] */ DWORD cbData,
/* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pcbBestMatch
) BYTE **ppbBestMatch,
/* [out] */ __RPC__out DWORD *pcbBestMatch);
/* [local] */ HRESULT STDMETHODCALLTYPE IMFMediaTypeHandler_GetMediaTypeByIndex_
Proxy(
IMFMediaTypeHandler * This,
/* [in] */ DWORD dwIndex,
/* [annotation][out] */
_Outptr_ IMFMediaType **ppType);
/* [call_as] */ HRESULT STDMETHODCALLTYPE IMFMediaTypeHandler_GetMediaTypeByInde
x_Stub(
__RPC__in IMFMediaTypeHandler * This,
/* [in] */ DWORD dwIndex,
/* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pcbData) BYT
E **ppbData,
/* [out] */ __RPC__out DWORD *pcbData);
/* [local] */ HRESULT STDMETHODCALLTYPE IMFMediaTypeHandler_SetCurrentMediaType_
Proxy(
IMFMediaTypeHandler * This,
/* [in] */ IMFMediaType *pMediaType);
/* [call_as] */ HRESULT STDMETHODCALLTYPE IMFMediaTypeHandler_SetCurrentMediaTyp
e_Stub(
__RPC__in IMFMediaTypeHandler * This,
/* [size_is][in] */ __RPC__in_ecount_full(cbData) BYTE *pbData,
/* [in] */ DWORD cbData);
/* [local] */ HRESULT STDMETHODCALLTYPE IMFMediaTypeHandler_GetCurrentMediaType_ Proxy( /* [local] */ HRESULT STDMETHODCALLTYPE IMFMediaTypeHandler_GetCurrentMediaType_ Proxy(
IMFMediaTypeHandler * This, IMFMediaTypeHandler * This,
/* [annotation][out] */ /* [annotation][out] */
__out IMFMediaType **ppMediaType); _Outptr_ IMFMediaType **ppMediaType);
/* [call_as] */ HRESULT STDMETHODCALLTYPE IMFMediaTypeHandler_GetCurrentMediaTyp e_Stub( /* [call_as] */ HRESULT STDMETHODCALLTYPE IMFMediaTypeHandler_GetCurrentMediaTyp e_Stub(
__RPC__in IMFMediaTypeHandler * This, __RPC__in IMFMediaTypeHandler * This,
/* [size_is][size_is][annotation][out] */ /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pcbData) BYT
__out BYTE **ppbData, E **ppbData,
/* [out] */ __RPC__out DWORD *pcbData); /* [out] */ __RPC__out DWORD *pcbData);
/* [local] */ HRESULT STDMETHODCALLTYPE IMFContentProtectionManager_BeginEnableC ontent_Proxy( /* [local] */ HRESULT STDMETHODCALLTYPE IMFContentProtectionManager_BeginEnableC ontent_Proxy(
IMFContentProtectionManager * This, IMFContentProtectionManager * This,
/* [in] */ IMFActivate *pEnablerActivate, /* [in] */ IMFActivate *pEnablerActivate,
/* [in] */ IMFTopology *pTopo, /* [in] */ IMFTopology *pTopo,
/* [in] */ IMFAsyncCallback *pCallback, /* [in] */ IMFAsyncCallback *pCallback,
/* [in] */ IUnknown *punkState); /* [in] */ IUnknown *punkState);
/* [call_as] */ HRESULT STDMETHODCALLTYPE IMFContentProtectionManager_BeginEnabl eContent_Stub( /* [call_as] */ HRESULT STDMETHODCALLTYPE IMFContentProtectionManager_BeginEnabl eContent_Stub(
skipping to change at line 12361 skipping to change at line 15081
__RPC__in IMFWorkQueueServices * This, __RPC__in IMFWorkQueueServices * This,
/* [in] */ DWORD dwPlatformWorkQueue, /* [in] */ DWORD dwPlatformWorkQueue,
/* [in] */ __RPC__in LPCWSTR wszClass, /* [in] */ __RPC__in LPCWSTR wszClass,
/* [in] */ DWORD dwTaskId, /* [in] */ DWORD dwTaskId,
/* [in] */ __RPC__in_opt IMFRemoteAsyncCallback *pCallback); /* [in] */ __RPC__in_opt IMFRemoteAsyncCallback *pCallback);
/* [local] */ HRESULT STDMETHODCALLTYPE IMFWorkQueueServices_EndRegisterPlatform WorkQueueWithMMCSS_Proxy( /* [local] */ HRESULT STDMETHODCALLTYPE IMFWorkQueueServices_EndRegisterPlatform WorkQueueWithMMCSS_Proxy(
IMFWorkQueueServices * This, IMFWorkQueueServices * This,
/* [in] */ IMFAsyncResult *pResult, /* [in] */ IMFAsyncResult *pResult,
/* [annotation][out] */ /* [annotation][out] */
__out DWORD *pdwTaskId); _Out_ DWORD *pdwTaskId);
/* [call_as] */ HRESULT STDMETHODCALLTYPE IMFWorkQueueServices_EndRegisterPlatfo rmWorkQueueWithMMCSS_Stub( /* [call_as] */ HRESULT STDMETHODCALLTYPE IMFWorkQueueServices_EndRegisterPlatfo rmWorkQueueWithMMCSS_Stub(
__RPC__in IMFWorkQueueServices * This, __RPC__in IMFWorkQueueServices * This,
/* [in] */ __RPC__in_opt IUnknown *pResult, /* [in] */ __RPC__in_opt IUnknown *pResult,
/* [out] */ __RPC__out DWORD *pdwTaskId); /* [out] */ __RPC__out DWORD *pdwTaskId);
/* [local] */ HRESULT STDMETHODCALLTYPE IMFWorkQueueServices_BeginUnregisterPlat formWorkQueueWithMMCSS_Proxy( /* [local] */ HRESULT STDMETHODCALLTYPE IMFWorkQueueServices_BeginUnregisterPlat formWorkQueueWithMMCSS_Proxy(
IMFWorkQueueServices * This, IMFWorkQueueServices * This,
/* [in] */ DWORD dwPlatformWorkQueue, /* [in] */ DWORD dwPlatformWorkQueue,
/* [in] */ IMFAsyncCallback *pCallback, /* [in] */ IMFAsyncCallback *pCallback,
skipping to change at line 12387 skipping to change at line 15107
/* [in] */ __RPC__in_opt IMFRemoteAsyncCallback *pCallback); /* [in] */ __RPC__in_opt IMFRemoteAsyncCallback *pCallback);
/* [local] */ HRESULT STDMETHODCALLTYPE IMFWorkQueueServices_EndUnregisterPlatfo rmWorkQueueWithMMCSS_Proxy( /* [local] */ HRESULT STDMETHODCALLTYPE IMFWorkQueueServices_EndUnregisterPlatfo rmWorkQueueWithMMCSS_Proxy(
IMFWorkQueueServices * This, IMFWorkQueueServices * This,
/* [in] */ IMFAsyncResult *pResult); /* [in] */ IMFAsyncResult *pResult);
/* [call_as] */ HRESULT STDMETHODCALLTYPE IMFWorkQueueServices_EndUnregisterPlat formWorkQueueWithMMCSS_Stub( /* [call_as] */ HRESULT STDMETHODCALLTYPE IMFWorkQueueServices_EndUnregisterPlat formWorkQueueWithMMCSS_Stub(
__RPC__in IMFWorkQueueServices * This, __RPC__in IMFWorkQueueServices * This,
/* [in] */ __RPC__in_opt IUnknown *pResult); /* [in] */ __RPC__in_opt IUnknown *pResult);
/* [local] */ HRESULT STDMETHODCALLTYPE IMFWorkQueueServicesEx_BeginRegisterPlat
formWorkQueueWithMMCSSEx_Proxy(
IMFWorkQueueServicesEx * This,
/* [in] */ DWORD dwPlatformWorkQueue,
/* [in] */ LPCWSTR wszClass,
/* [in] */ DWORD dwTaskId,
/* [in] */ LONG lPriority,
/* [in] */ IMFAsyncCallback *pCallback,
/* [in] */ IUnknown *pState);
/* [call_as] */ HRESULT STDMETHODCALLTYPE IMFWorkQueueServicesEx_BeginRegisterPl
atformWorkQueueWithMMCSSEx_Stub(
__RPC__in IMFWorkQueueServicesEx * This,
/* [in] */ DWORD dwPlatformWorkQueue,
/* [in] */ __RPC__in LPCWSTR wszClass,
/* [in] */ DWORD dwTaskId,
/* [in] */ LONG lPriority,
/* [in] */ __RPC__in_opt IMFRemoteAsyncCallback *pCallback);
/* [local] */ HRESULT STDMETHODCALLTYPE IMFPMPHost_CreateObjectByCLSID_Proxy( /* [local] */ HRESULT STDMETHODCALLTYPE IMFPMPHost_CreateObjectByCLSID_Proxy(
IMFPMPHost * This, IMFPMPHost * This,
/* [in] */ REFCLSID clsid, /* [in] */ REFCLSID clsid,
/* [unique][in] */ IStream *pStream, /* [unique][in] */ IStream *pStream,
/* [in] */ REFIID riid, /* [in] */ REFIID riid,
/* [iid_is][out] */ void **ppv); /* [iid_is][out] */ void **ppv);
/* [call_as] */ HRESULT STDMETHODCALLTYPE IMFPMPHost_CreateObjectByCLSID_Stub( /* [call_as] */ HRESULT STDMETHODCALLTYPE IMFPMPHost_CreateObjectByCLSID_Stub(
__RPC__in IMFPMPHost * This, __RPC__in IMFPMPHost * This,
/* [in] */ __RPC__in REFCLSID clsid, /* [in] */ __RPC__in REFCLSID clsid,
 End of changes. 707 change blocks. 
764 lines changed or deleted 3662 lines changed or added


 mfobjects.h (12.0.7601.19091-Windows_7.0)   mfobjects.h (12.0.9600.17415-Windows_8.1) 
/* this ALWAYS GENERATED file contains the definitions for the interfaces */ /* this ALWAYS GENERATED file contains the definitions for the interfaces */
/* File created by MIDL compiler version 7.00.0555 */ /* File created by MIDL compiler version 8.00.0603 */
/* Compiler settings for mfobjects.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( ) */ /* @@MIDL_FILE_HEADING( ) */
#pragma warning( disable: 4049 ) /* more than 64k source lines */ #pragma warning( disable: 4049 ) /* more than 64k source lines */
/* verify that the <rpcndr.h> version is high enough to compile this file*/ /* verify that the <rpcndr.h> version is high enough to compile this file*/
#ifndef __REQUIRED_RPCNDR_H_VERSION__ #ifndef __REQUIRED_RPCNDR_H_VERSION__
#define __REQUIRED_RPCNDR_H_VERSION__ 500 #define __REQUIRED_RPCNDR_H_VERSION__ 500
#endif #endif
/* verify that the <rpcsal.h> version is high enough to compile this file*/ /* verify that the <rpcsal.h> version is high enough to compile this file*/
skipping to change at line 51 skipping to change at line 43
#if defined(_MSC_VER) && (_MSC_VER >= 1020) #if defined(_MSC_VER) && (_MSC_VER >= 1020)
#pragma once #pragma once
#endif #endif
/* Forward Declarations */ /* Forward Declarations */
#ifndef __IMFAttributes_FWD_DEFINED__ #ifndef __IMFAttributes_FWD_DEFINED__
#define __IMFAttributes_FWD_DEFINED__ #define __IMFAttributes_FWD_DEFINED__
typedef interface IMFAttributes IMFAttributes; typedef interface IMFAttributes IMFAttributes;
#endif /* __IMFAttributes_FWD_DEFINED__ */ #endif /* __IMFAttributes_FWD_DEFINED__ */
#ifndef __IMFMediaBuffer_FWD_DEFINED__ #ifndef __IMFMediaBuffer_FWD_DEFINED__
#define __IMFMediaBuffer_FWD_DEFINED__ #define __IMFMediaBuffer_FWD_DEFINED__
typedef interface IMFMediaBuffer IMFMediaBuffer; typedef interface IMFMediaBuffer IMFMediaBuffer;
#endif /* __IMFMediaBuffer_FWD_DEFINED__ */ #endif /* __IMFMediaBuffer_FWD_DEFINED__ */
#ifndef __IMFSample_FWD_DEFINED__ #ifndef __IMFSample_FWD_DEFINED__
#define __IMFSample_FWD_DEFINED__ #define __IMFSample_FWD_DEFINED__
typedef interface IMFSample IMFSample; typedef interface IMFSample IMFSample;
#endif /* __IMFSample_FWD_DEFINED__ */ #endif /* __IMFSample_FWD_DEFINED__ */
#ifndef __IMF2DBuffer_FWD_DEFINED__ #ifndef __IMF2DBuffer_FWD_DEFINED__
#define __IMF2DBuffer_FWD_DEFINED__ #define __IMF2DBuffer_FWD_DEFINED__
typedef interface IMF2DBuffer IMF2DBuffer; typedef interface IMF2DBuffer IMF2DBuffer;
#endif /* __IMF2DBuffer_FWD_DEFINED__ */ #endif /* __IMF2DBuffer_FWD_DEFINED__ */
#ifndef __IMF2DBuffer2_FWD_DEFINED__
#define __IMF2DBuffer2_FWD_DEFINED__
typedef interface IMF2DBuffer2 IMF2DBuffer2;
#endif /* __IMF2DBuffer2_FWD_DEFINED__ */
#ifndef __IMFDXGIBuffer_FWD_DEFINED__
#define __IMFDXGIBuffer_FWD_DEFINED__
typedef interface IMFDXGIBuffer IMFDXGIBuffer;
#endif /* __IMFDXGIBuffer_FWD_DEFINED__ */
#ifndef __IMFMediaType_FWD_DEFINED__ #ifndef __IMFMediaType_FWD_DEFINED__
#define __IMFMediaType_FWD_DEFINED__ #define __IMFMediaType_FWD_DEFINED__
typedef interface IMFMediaType IMFMediaType; typedef interface IMFMediaType IMFMediaType;
#endif /* __IMFMediaType_FWD_DEFINED__ */ #endif /* __IMFMediaType_FWD_DEFINED__ */
#ifndef __IMFAudioMediaType_FWD_DEFINED__ #ifndef __IMFAudioMediaType_FWD_DEFINED__
#define __IMFAudioMediaType_FWD_DEFINED__ #define __IMFAudioMediaType_FWD_DEFINED__
typedef interface IMFAudioMediaType IMFAudioMediaType; typedef interface IMFAudioMediaType IMFAudioMediaType;
#endif /* __IMFAudioMediaType_FWD_DEFINED__ */ #endif /* __IMFAudioMediaType_FWD_DEFINED__ */
#ifndef __IMFVideoMediaType_FWD_DEFINED__ #ifndef __IMFVideoMediaType_FWD_DEFINED__
#define __IMFVideoMediaType_FWD_DEFINED__ #define __IMFVideoMediaType_FWD_DEFINED__
typedef interface IMFVideoMediaType IMFVideoMediaType; typedef interface IMFVideoMediaType IMFVideoMediaType;
#endif /* __IMFVideoMediaType_FWD_DEFINED__ */ #endif /* __IMFVideoMediaType_FWD_DEFINED__ */
#ifndef __IMFAsyncResult_FWD_DEFINED__ #ifndef __IMFAsyncResult_FWD_DEFINED__
#define __IMFAsyncResult_FWD_DEFINED__ #define __IMFAsyncResult_FWD_DEFINED__
typedef interface IMFAsyncResult IMFAsyncResult; typedef interface IMFAsyncResult IMFAsyncResult;
#endif /* __IMFAsyncResult_FWD_DEFINED__ */ #endif /* __IMFAsyncResult_FWD_DEFINED__ */
#ifndef __IMFAsyncCallback_FWD_DEFINED__ #ifndef __IMFAsyncCallback_FWD_DEFINED__
#define __IMFAsyncCallback_FWD_DEFINED__ #define __IMFAsyncCallback_FWD_DEFINED__
typedef interface IMFAsyncCallback IMFAsyncCallback; typedef interface IMFAsyncCallback IMFAsyncCallback;
#endif /* __IMFAsyncCallback_FWD_DEFINED__ */ #endif /* __IMFAsyncCallback_FWD_DEFINED__ */
#ifndef __IMFAsyncCallbackLogging_FWD_DEFINED__
#define __IMFAsyncCallbackLogging_FWD_DEFINED__
typedef interface IMFAsyncCallbackLogging IMFAsyncCallbackLogging;
#endif /* __IMFAsyncCallbackLogging_FWD_DEFINED__ */
#ifndef __IMFMediaEvent_FWD_DEFINED__ #ifndef __IMFMediaEvent_FWD_DEFINED__
#define __IMFMediaEvent_FWD_DEFINED__ #define __IMFMediaEvent_FWD_DEFINED__
typedef interface IMFMediaEvent IMFMediaEvent; typedef interface IMFMediaEvent IMFMediaEvent;
#endif /* __IMFMediaEvent_FWD_DEFINED__ */ #endif /* __IMFMediaEvent_FWD_DEFINED__ */
#ifndef __IMFMediaEventGenerator_FWD_DEFINED__ #ifndef __IMFMediaEventGenerator_FWD_DEFINED__
#define __IMFMediaEventGenerator_FWD_DEFINED__ #define __IMFMediaEventGenerator_FWD_DEFINED__
typedef interface IMFMediaEventGenerator IMFMediaEventGenerator; typedef interface IMFMediaEventGenerator IMFMediaEventGenerator;
#endif /* __IMFMediaEventGenerator_FWD_DEFINED__ */ #endif /* __IMFMediaEventGenerator_FWD_DEFINED__ */
#ifndef __IMFRemoteAsyncCallback_FWD_DEFINED__ #ifndef __IMFRemoteAsyncCallback_FWD_DEFINED__
#define __IMFRemoteAsyncCallback_FWD_DEFINED__ #define __IMFRemoteAsyncCallback_FWD_DEFINED__
typedef interface IMFRemoteAsyncCallback IMFRemoteAsyncCallback; typedef interface IMFRemoteAsyncCallback IMFRemoteAsyncCallback;
#endif /* __IMFRemoteAsyncCallback_FWD_DEFINED__ */ #endif /* __IMFRemoteAsyncCallback_FWD_DEFINED__ */
#ifndef __IMFByteStream_FWD_DEFINED__ #ifndef __IMFByteStream_FWD_DEFINED__
#define __IMFByteStream_FWD_DEFINED__ #define __IMFByteStream_FWD_DEFINED__
typedef interface IMFByteStream IMFByteStream; typedef interface IMFByteStream IMFByteStream;
#endif /* __IMFByteStream_FWD_DEFINED__ */ #endif /* __IMFByteStream_FWD_DEFINED__ */
#ifndef __IMFByteStreamProxyClassFactory_FWD_DEFINED__
#define __IMFByteStreamProxyClassFactory_FWD_DEFINED__
typedef interface IMFByteStreamProxyClassFactory IMFByteStreamProxyClassFactory;
#endif /* __IMFByteStreamProxyClassFactory_FWD_DEFINED__ */
#ifndef __IMFSampleOutputStream_FWD_DEFINED__
#define __IMFSampleOutputStream_FWD_DEFINED__
typedef interface IMFSampleOutputStream IMFSampleOutputStream;
#endif /* __IMFSampleOutputStream_FWD_DEFINED__ */
#ifndef __IMFCollection_FWD_DEFINED__ #ifndef __IMFCollection_FWD_DEFINED__
#define __IMFCollection_FWD_DEFINED__ #define __IMFCollection_FWD_DEFINED__
typedef interface IMFCollection IMFCollection; typedef interface IMFCollection IMFCollection;
#endif /* __IMFCollection_FWD_DEFINED__ */ #endif /* __IMFCollection_FWD_DEFINED__ */
#ifndef __IMFMediaEventQueue_FWD_DEFINED__ #ifndef __IMFMediaEventQueue_FWD_DEFINED__
#define __IMFMediaEventQueue_FWD_DEFINED__ #define __IMFMediaEventQueue_FWD_DEFINED__
typedef interface IMFMediaEventQueue IMFMediaEventQueue; typedef interface IMFMediaEventQueue IMFMediaEventQueue;
#endif /* __IMFMediaEventQueue_FWD_DEFINED__ */ #endif /* __IMFMediaEventQueue_FWD_DEFINED__ */
#ifndef __IMFActivate_FWD_DEFINED__ #ifndef __IMFActivate_FWD_DEFINED__
#define __IMFActivate_FWD_DEFINED__ #define __IMFActivate_FWD_DEFINED__
typedef interface IMFActivate IMFActivate; typedef interface IMFActivate IMFActivate;
#endif /* __IMFActivate_FWD_DEFINED__ */ #endif /* __IMFActivate_FWD_DEFINED__ */
#ifndef __IMFPluginControl_FWD_DEFINED__ #ifndef __IMFPluginControl_FWD_DEFINED__
#define __IMFPluginControl_FWD_DEFINED__ #define __IMFPluginControl_FWD_DEFINED__
typedef interface IMFPluginControl IMFPluginControl; typedef interface IMFPluginControl IMFPluginControl;
#endif /* __IMFPluginControl_FWD_DEFINED__ */ #endif /* __IMFPluginControl_FWD_DEFINED__ */
#ifndef __IMFPluginControl2_FWD_DEFINED__
#define __IMFPluginControl2_FWD_DEFINED__
typedef interface IMFPluginControl2 IMFPluginControl2;
#endif /* __IMFPluginControl2_FWD_DEFINED__ */
#ifndef __IMFDXGIDeviceManager_FWD_DEFINED__
#define __IMFDXGIDeviceManager_FWD_DEFINED__
typedef interface IMFDXGIDeviceManager IMFDXGIDeviceManager;
#endif /* __IMFDXGIDeviceManager_FWD_DEFINED__ */
/* header files for imported files */ /* header files for imported files */
#include "unknwn.h" #include "unknwn.h"
#include "propsys.h" #include "propsys.h"
#include "mediaobj.h" #include "mediaobj.h"
#ifdef __cplusplus #ifdef __cplusplus
extern "C"{ extern "C"{
#endif #endif
/* interface __MIDL_itf_mfobjects_0000_0000 */ /* interface __MIDL_itf_mfobjects_0000_0000 */
/* [local] */ /* [local] */
#include <winapifamily.h>
typedef ULONGLONG QWORD; typedef ULONGLONG QWORD;
#include <mmreg.h> #include <mmreg.h>
#pragma once
#if 0 #if 0
#pragma pack(push, 1) #pragma pack(push, 1)
typedef struct tWAVEFORMATEX typedef struct tWAVEFORMATEX
{ {
WORD wFormatTag; WORD wFormatTag;
WORD nChannels; WORD nChannels;
DWORD nSamplesPerSec; DWORD nSamplesPerSec;
DWORD nAvgBytesPerSec; DWORD nAvgBytesPerSec;
WORD nBlockAlign; WORD nBlockAlign;
WORD wBitsPerSample; WORD wBitsPerSample;
WORD cbSize; WORD cbSize;
BYTE pExtraBytes[ 1 ]; /* [size_is] */ BYTE pExtraBytes[ 1 ];
} WAVEFORMATEX; } WAVEFORMATEX;
typedef struct tWAVEFORMATEX *PWAVEFORMATEX; typedef struct tWAVEFORMATEX *PWAVEFORMATEX;
typedef struct tWAVEFORMATEX *NPWAVEFORMATEX; typedef struct tWAVEFORMATEX *NPWAVEFORMATEX;
typedef struct tWAVEFORMATEX *LPWAVEFORMATEX; typedef struct tWAVEFORMATEX *LPWAVEFORMATEX;
typedef /* [public] */ struct __MIDL___MIDL_itf_mfobjects_0000_0000_0001 typedef /* [public] */ struct __MIDL___MIDL_itf_mfobjects_0000_0000_0001
{ {
skipping to change at line 187 skipping to change at line 240
WORD cbSize; WORD cbSize;
WORD wValidBitsPerSample; WORD wValidBitsPerSample;
DWORD dwChannelMask; DWORD dwChannelMask;
GUID SubFormat; GUID SubFormat;
} WAVEFORMATEXTENSIBLE; } WAVEFORMATEXTENSIBLE;
typedef struct __MIDL___MIDL_itf_mfobjects_0000_0000_0001 *PWAVEFORMATEXTENSIBLE ; typedef struct __MIDL___MIDL_itf_mfobjects_0000_0000_0001 *PWAVEFORMATEXTENSIBLE ;
#pragma pack(pop) #pragma pack(pop)
#endif /* 0 */ #endif /* 0 */
#pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
typedef typedef
enum _MF_ATTRIBUTE_TYPE enum _MF_ATTRIBUTE_TYPE
{ MF_ATTRIBUTE_UINT32 = VT_UI4, {
MF_ATTRIBUTE_UINT64 = VT_UI8, MF_ATTRIBUTE_UINT32 = VT_UI4,
MF_ATTRIBUTE_DOUBLE = VT_R8, MF_ATTRIBUTE_UINT64 = VT_UI8,
MF_ATTRIBUTE_GUID = VT_CLSID, MF_ATTRIBUTE_DOUBLE = VT_R8,
MF_ATTRIBUTE_STRING = VT_LPWSTR, MF_ATTRIBUTE_GUID = VT_CLSID,
MF_ATTRIBUTE_BLOB = ( VT_VECTOR | VT_UI1 ) , MF_ATTRIBUTE_STRING = VT_LPWSTR,
MF_ATTRIBUTE_IUNKNOWN = VT_UNKNOWN MF_ATTRIBUTE_BLOB = ( VT_VECTOR | VT_UI1 ) ,
MF_ATTRIBUTE_IUNKNOWN = VT_UNKNOWN
} MF_ATTRIBUTE_TYPE; } MF_ATTRIBUTE_TYPE;
typedef typedef
enum _MF_ATTRIBUTES_MATCH_TYPE enum _MF_ATTRIBUTES_MATCH_TYPE
{ MF_ATTRIBUTES_MATCH_OUR_ITEMS = 0, {
MF_ATTRIBUTES_MATCH_THEIR_ITEMS = 1, MF_ATTRIBUTES_MATCH_OUR_ITEMS = 0,
MF_ATTRIBUTES_MATCH_ALL_ITEMS = 2, MF_ATTRIBUTES_MATCH_THEIR_ITEMS = 1,
MF_ATTRIBUTES_MATCH_INTERSECTION = 3, MF_ATTRIBUTES_MATCH_ALL_ITEMS = 2,
MF_ATTRIBUTES_MATCH_SMALLER = 4 MF_ATTRIBUTES_MATCH_INTERSECTION = 3,
MF_ATTRIBUTES_MATCH_SMALLER = 4
} MF_ATTRIBUTES_MATCH_TYPE; } MF_ATTRIBUTES_MATCH_TYPE;
extern RPC_IF_HANDLE __MIDL_itf_mfobjects_0000_0000_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_mfobjects_0000_0000_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_mfobjects_0000_0000_v0_0_s_ifspec; extern RPC_IF_HANDLE __MIDL_itf_mfobjects_0000_0000_v0_0_s_ifspec;
#ifndef __IMFAttributes_INTERFACE_DEFINED__ #ifndef __IMFAttributes_INTERFACE_DEFINED__
#define __IMFAttributes_INTERFACE_DEFINED__ #define __IMFAttributes_INTERFACE_DEFINED__
/* interface IMFAttributes */ /* interface IMFAttributes */
/* [uuid][object] */ /* [uuid][object] */
skipping to change at line 358 skipping to change at line 415
#else /* C style interface */ #else /* C style interface */
typedef struct IMFAttributesVtbl typedef struct IMFAttributesVtbl
{ {
BEGIN_INTERFACE BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )( HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
__RPC__in IMFAttributes * This, __RPC__in IMFAttributes * This,
/* [in] */ __RPC__in REFIID riid, /* [in] */ __RPC__in REFIID riid,
/* [annotation][iid_is][out] */ /* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject); _COM_Outptr_ void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )( ULONG ( STDMETHODCALLTYPE *AddRef )(
__RPC__in IMFAttributes * This); __RPC__in IMFAttributes * This);
ULONG ( STDMETHODCALLTYPE *Release )( ULONG ( STDMETHODCALLTYPE *Release )(
__RPC__in IMFAttributes * This); __RPC__in IMFAttributes * This);
HRESULT ( STDMETHODCALLTYPE *GetItem )( HRESULT ( STDMETHODCALLTYPE *GetItem )(
__RPC__in IMFAttributes * This, __RPC__in IMFAttributes * This,
__RPC__in REFGUID guidKey, __RPC__in REFGUID guidKey,
skipping to change at line 637 skipping to change at line 694
#endif /* COBJMACROS */ #endif /* COBJMACROS */
#endif /* C style interface */ #endif /* C style interface */
#endif /* __IMFAttributes_INTERFACE_DEFINED__ */ #endif /* __IMFAttributes_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_mfobjects_0000_0001 */ /* interface __MIDL_itf_mfobjects_0000_0001 */
/* [local] */ /* [local] */
enum MF_ATTRIBUTE_SERIALIZE_OPTIONS enum MF_ATTRIBUTE_SERIALIZE_OPTIONS
{ MF_ATTRIBUTE_SERIALIZE_UNKNOWN_BYREF = 0x1 {
MF_ATTRIBUTE_SERIALIZE_UNKNOWN_BYREF = 0x1
} ; } ;
STDAPI MFSerializeAttributesToStream( STDAPI MFSerializeAttributesToStream(
IMFAttributes * pAttr, IMFAttributes * pAttr,
DWORD dwOptions, DWORD dwOptions,
IStream * pStm); IStream * pStm);
STDAPI MFDeserializeAttributesFromStream( STDAPI MFDeserializeAttributesFromStream(
IMFAttributes * pAttr, IMFAttributes * pAttr,
DWORD dwOptions, DWORD dwOptions,
IStream * pStm); IStream * pStm);
skipping to change at line 667 skipping to change at line 725
EXTERN_C const IID IID_IMFMediaBuffer; EXTERN_C const IID IID_IMFMediaBuffer;
#if defined(__cplusplus) && !defined(CINTERFACE) #if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("045FA593-8799-42b8-BC8D-8968C6453507") MIDL_INTERFACE("045FA593-8799-42b8-BC8D-8968C6453507")
IMFMediaBuffer : public IUnknown IMFMediaBuffer : public IUnknown
{ {
public: public:
virtual HRESULT STDMETHODCALLTYPE Lock( virtual HRESULT STDMETHODCALLTYPE Lock(
/* [annotation][out] */ /* [annotation][out] */
__deref_out_bcount_part(*pcbMaxLength, *pcbCurrentLength) BYTE **pp bBuffer, _Outptr_result_bytebuffer_to_(*pcbMaxLength, *pcbCurrentLength) BYT E **ppbBuffer,
/* [annotation][out] */ /* [annotation][out] */
__out_opt DWORD *pcbMaxLength, _Out_opt_ DWORD *pcbMaxLength,
/* [annotation][out] */ /* [annotation][out] */
__out_opt DWORD *pcbCurrentLength) = 0; _Out_opt_ DWORD *pcbCurrentLength) = 0;
virtual HRESULT STDMETHODCALLTYPE Unlock( void) = 0; virtual HRESULT STDMETHODCALLTYPE Unlock( void) = 0;
virtual HRESULT STDMETHODCALLTYPE GetCurrentLength( virtual HRESULT STDMETHODCALLTYPE GetCurrentLength(
/* [annotation][out] */ /* [annotation][out] */
__out DWORD *pcbCurrentLength) = 0; _Out_ DWORD *pcbCurrentLength) = 0;
virtual HRESULT STDMETHODCALLTYPE SetCurrentLength( virtual HRESULT STDMETHODCALLTYPE SetCurrentLength(
/* [in] */ DWORD cbCurrentLength) = 0; /* [in] */ DWORD cbCurrentLength) = 0;
virtual HRESULT STDMETHODCALLTYPE GetMaxLength( virtual HRESULT STDMETHODCALLTYPE GetMaxLength(
/* [annotation][out] */ /* [annotation][out] */
__out DWORD *pcbMaxLength) = 0; _Out_ DWORD *pcbMaxLength) = 0;
}; };
#else /* C style interface */ #else /* C style interface */
typedef struct IMFMediaBufferVtbl typedef struct IMFMediaBufferVtbl
{ {
BEGIN_INTERFACE BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )( HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IMFMediaBuffer * This, IMFMediaBuffer * This,
/* [in] */ REFIID riid, /* [in] */ REFIID riid,
/* [annotation][iid_is][out] */ /* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject); _COM_Outptr_ void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )( ULONG ( STDMETHODCALLTYPE *AddRef )(
IMFMediaBuffer * This); IMFMediaBuffer * This);
ULONG ( STDMETHODCALLTYPE *Release )( ULONG ( STDMETHODCALLTYPE *Release )(
IMFMediaBuffer * This); IMFMediaBuffer * This);
HRESULT ( STDMETHODCALLTYPE *Lock )( HRESULT ( STDMETHODCALLTYPE *Lock )(
IMFMediaBuffer * This, IMFMediaBuffer * This,
/* [annotation][out] */ /* [annotation][out] */
__deref_out_bcount_part(*pcbMaxLength, *pcbCurrentLength) BYTE **pp bBuffer, _Outptr_result_bytebuffer_to_(*pcbMaxLength, *pcbCurrentLength) BYT E **ppbBuffer,
/* [annotation][out] */ /* [annotation][out] */
__out_opt DWORD *pcbMaxLength, _Out_opt_ DWORD *pcbMaxLength,
/* [annotation][out] */ /* [annotation][out] */
__out_opt DWORD *pcbCurrentLength); _Out_opt_ DWORD *pcbCurrentLength);
HRESULT ( STDMETHODCALLTYPE *Unlock )( HRESULT ( STDMETHODCALLTYPE *Unlock )(
IMFMediaBuffer * This); IMFMediaBuffer * This);
HRESULT ( STDMETHODCALLTYPE *GetCurrentLength )( HRESULT ( STDMETHODCALLTYPE *GetCurrentLength )(
IMFMediaBuffer * This, IMFMediaBuffer * This,
/* [annotation][out] */ /* [annotation][out] */
__out DWORD *pcbCurrentLength); _Out_ DWORD *pcbCurrentLength);
HRESULT ( STDMETHODCALLTYPE *SetCurrentLength )( HRESULT ( STDMETHODCALLTYPE *SetCurrentLength )(
IMFMediaBuffer * This, IMFMediaBuffer * This,
/* [in] */ DWORD cbCurrentLength); /* [in] */ DWORD cbCurrentLength);
HRESULT ( STDMETHODCALLTYPE *GetMaxLength )( HRESULT ( STDMETHODCALLTYPE *GetMaxLength )(
IMFMediaBuffer * This, IMFMediaBuffer * This,
/* [annotation][out] */ /* [annotation][out] */
__out DWORD *pcbMaxLength); _Out_ DWORD *pcbMaxLength);
END_INTERFACE END_INTERFACE
} IMFMediaBufferVtbl; } IMFMediaBufferVtbl;
interface IMFMediaBuffer interface IMFMediaBuffer
{ {
CONST_VTBL struct IMFMediaBufferVtbl *lpVtbl; CONST_VTBL struct IMFMediaBufferVtbl *lpVtbl;
}; };
#ifdef COBJMACROS #ifdef COBJMACROS
skipping to change at line 788 skipping to change at line 846
EXTERN_C const IID IID_IMFSample; EXTERN_C const IID IID_IMFSample;
#if defined(__cplusplus) && !defined(CINTERFACE) #if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("c40a00f2-b93a-4d80-ae8c-5a1c634f58e4") MIDL_INTERFACE("c40a00f2-b93a-4d80-ae8c-5a1c634f58e4")
IMFSample : public IMFAttributes IMFSample : public IMFAttributes
{ {
public: public:
virtual HRESULT STDMETHODCALLTYPE GetSampleFlags( virtual HRESULT STDMETHODCALLTYPE GetSampleFlags(
/* [annotation][out] */ /* [annotation][out] */
__out DWORD *pdwSampleFlags) = 0; _Out_ DWORD *pdwSampleFlags) = 0;
virtual HRESULT STDMETHODCALLTYPE SetSampleFlags( virtual HRESULT STDMETHODCALLTYPE SetSampleFlags(
/* [in] */ DWORD dwSampleFlags) = 0; /* [in] */ DWORD dwSampleFlags) = 0;
virtual HRESULT STDMETHODCALLTYPE GetSampleTime( virtual HRESULT STDMETHODCALLTYPE GetSampleTime(
/* [annotation][out] */ /* [annotation][out] */
__out LONGLONG *phnsSampleTime) = 0; _Out_ LONGLONG *phnsSampleTime) = 0;
virtual HRESULT STDMETHODCALLTYPE SetSampleTime( virtual HRESULT STDMETHODCALLTYPE SetSampleTime(
/* [in] */ LONGLONG hnsSampleTime) = 0; /* [in] */ LONGLONG hnsSampleTime) = 0;
virtual HRESULT STDMETHODCALLTYPE GetSampleDuration( virtual HRESULT STDMETHODCALLTYPE GetSampleDuration(
/* [annotation][out] */ /* [annotation][out] */
__out LONGLONG *phnsSampleDuration) = 0; _Out_ LONGLONG *phnsSampleDuration) = 0;
virtual HRESULT STDMETHODCALLTYPE SetSampleDuration( virtual HRESULT STDMETHODCALLTYPE SetSampleDuration(
/* [in] */ LONGLONG hnsSampleDuration) = 0; /* [in] */ LONGLONG hnsSampleDuration) = 0;
virtual HRESULT STDMETHODCALLTYPE GetBufferCount( virtual HRESULT STDMETHODCALLTYPE GetBufferCount(
/* [annotation][out] */ /* [annotation][out] */
__out DWORD *pdwBufferCount) = 0; _Out_ DWORD *pdwBufferCount) = 0;
virtual HRESULT STDMETHODCALLTYPE GetBufferByIndex( virtual HRESULT STDMETHODCALLTYPE GetBufferByIndex(
/* [in] */ DWORD dwIndex, /* [in] */ DWORD dwIndex,
/* [annotation][out] */ /* [annotation][out] */
__out IMFMediaBuffer **ppBuffer) = 0; _Out_ IMFMediaBuffer **ppBuffer) = 0;
virtual HRESULT STDMETHODCALLTYPE ConvertToContiguousBuffer( virtual HRESULT STDMETHODCALLTYPE ConvertToContiguousBuffer(
/* [annotation][out] */ /* [annotation][out] */
__out IMFMediaBuffer **ppBuffer) = 0; _Out_ IMFMediaBuffer **ppBuffer) = 0;
virtual HRESULT STDMETHODCALLTYPE AddBuffer( virtual HRESULT STDMETHODCALLTYPE AddBuffer(
/* [in] */ IMFMediaBuffer *pBuffer) = 0; /* [in] */ IMFMediaBuffer *pBuffer) = 0;
virtual HRESULT STDMETHODCALLTYPE RemoveBufferByIndex( virtual HRESULT STDMETHODCALLTYPE RemoveBufferByIndex(
/* [in] */ DWORD dwIndex) = 0; /* [in] */ DWORD dwIndex) = 0;
virtual HRESULT STDMETHODCALLTYPE RemoveAllBuffers( void) = 0; virtual HRESULT STDMETHODCALLTYPE RemoveAllBuffers( void) = 0;
virtual HRESULT STDMETHODCALLTYPE GetTotalLength( virtual HRESULT STDMETHODCALLTYPE GetTotalLength(
/* [annotation][out] */ /* [annotation][out] */
__out DWORD *pcbTotalLength) = 0; _Out_ DWORD *pcbTotalLength) = 0;
virtual HRESULT STDMETHODCALLTYPE CopyToBuffer( virtual HRESULT STDMETHODCALLTYPE CopyToBuffer(
/* [in] */ IMFMediaBuffer *pBuffer) = 0; /* [in] */ IMFMediaBuffer *pBuffer) = 0;
}; };
#else /* C style interface */ #else /* C style interface */
typedef struct IMFSampleVtbl typedef struct IMFSampleVtbl
{ {
BEGIN_INTERFACE BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )( HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IMFSample * This, IMFSample * This,
/* [in] */ REFIID riid, /* [in] */ REFIID riid,
/* [annotation][iid_is][out] */ /* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject); _COM_Outptr_ void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )( ULONG ( STDMETHODCALLTYPE *AddRef )(
IMFSample * This); IMFSample * This);
ULONG ( STDMETHODCALLTYPE *Release )( ULONG ( STDMETHODCALLTYPE *Release )(
IMFSample * This); IMFSample * This);
HRESULT ( STDMETHODCALLTYPE *GetItem )( HRESULT ( STDMETHODCALLTYPE *GetItem )(
IMFSample * This, IMFSample * This,
REFGUID guidKey, REFGUID guidKey,
skipping to change at line 1010 skipping to change at line 1068
/* [out] */ GUID *pguidKey, /* [out] */ GUID *pguidKey,
/* [full][out][in] */ PROPVARIANT *pValue); /* [full][out][in] */ PROPVARIANT *pValue);
HRESULT ( STDMETHODCALLTYPE *CopyAllItems )( HRESULT ( STDMETHODCALLTYPE *CopyAllItems )(
IMFSample * This, IMFSample * This,
/* [in] */ IMFAttributes *pDest); /* [in] */ IMFAttributes *pDest);
HRESULT ( STDMETHODCALLTYPE *GetSampleFlags )( HRESULT ( STDMETHODCALLTYPE *GetSampleFlags )(
IMFSample * This, IMFSample * This,
/* [annotation][out] */ /* [annotation][out] */
__out DWORD *pdwSampleFlags); _Out_ DWORD *pdwSampleFlags);
HRESULT ( STDMETHODCALLTYPE *SetSampleFlags )( HRESULT ( STDMETHODCALLTYPE *SetSampleFlags )(
IMFSample * This, IMFSample * This,
/* [in] */ DWORD dwSampleFlags); /* [in] */ DWORD dwSampleFlags);
HRESULT ( STDMETHODCALLTYPE *GetSampleTime )( HRESULT ( STDMETHODCALLTYPE *GetSampleTime )(
IMFSample * This, IMFSample * This,
/* [annotation][out] */ /* [annotation][out] */
__out LONGLONG *phnsSampleTime); _Out_ LONGLONG *phnsSampleTime);
HRESULT ( STDMETHODCALLTYPE *SetSampleTime )( HRESULT ( STDMETHODCALLTYPE *SetSampleTime )(
IMFSample * This, IMFSample * This,
/* [in] */ LONGLONG hnsSampleTime); /* [in] */ LONGLONG hnsSampleTime);
HRESULT ( STDMETHODCALLTYPE *GetSampleDuration )( HRESULT ( STDMETHODCALLTYPE *GetSampleDuration )(
IMFSample * This, IMFSample * This,
/* [annotation][out] */ /* [annotation][out] */
__out LONGLONG *phnsSampleDuration); _Out_ LONGLONG *phnsSampleDuration);
HRESULT ( STDMETHODCALLTYPE *SetSampleDuration )( HRESULT ( STDMETHODCALLTYPE *SetSampleDuration )(
IMFSample * This, IMFSample * This,
/* [in] */ LONGLONG hnsSampleDuration); /* [in] */ LONGLONG hnsSampleDuration);
HRESULT ( STDMETHODCALLTYPE *GetBufferCount )( HRESULT ( STDMETHODCALLTYPE *GetBufferCount )(
IMFSample * This, IMFSample * This,
/* [annotation][out] */ /* [annotation][out] */
__out DWORD *pdwBufferCount); _Out_ DWORD *pdwBufferCount);
HRESULT ( STDMETHODCALLTYPE *GetBufferByIndex )( HRESULT ( STDMETHODCALLTYPE *GetBufferByIndex )(
IMFSample * This, IMFSample * This,
/* [in] */ DWORD dwIndex, /* [in] */ DWORD dwIndex,
/* [annotation][out] */ /* [annotation][out] */
__out IMFMediaBuffer **ppBuffer); _Out_ IMFMediaBuffer **ppBuffer);
HRESULT ( STDMETHODCALLTYPE *ConvertToContiguousBuffer )( HRESULT ( STDMETHODCALLTYPE *ConvertToContiguousBuffer )(
IMFSample * This, IMFSample * This,
/* [annotation][out] */ /* [annotation][out] */
__out IMFMediaBuffer **ppBuffer); _Out_ IMFMediaBuffer **ppBuffer);
HRESULT ( STDMETHODCALLTYPE *AddBuffer )( HRESULT ( STDMETHODCALLTYPE *AddBuffer )(
IMFSample * This, IMFSample * This,
/* [in] */ IMFMediaBuffer *pBuffer); /* [in] */ IMFMediaBuffer *pBuffer);
HRESULT ( STDMETHODCALLTYPE *RemoveBufferByIndex )( HRESULT ( STDMETHODCALLTYPE *RemoveBufferByIndex )(
IMFSample * This, IMFSample * This,
/* [in] */ DWORD dwIndex); /* [in] */ DWORD dwIndex);
HRESULT ( STDMETHODCALLTYPE *RemoveAllBuffers )( HRESULT ( STDMETHODCALLTYPE *RemoveAllBuffers )(
IMFSample * This); IMFSample * This);
HRESULT ( STDMETHODCALLTYPE *GetTotalLength )( HRESULT ( STDMETHODCALLTYPE *GetTotalLength )(
IMFSample * This, IMFSample * This,
/* [annotation][out] */ /* [annotation][out] */
__out DWORD *pcbTotalLength); _Out_ DWORD *pcbTotalLength);
HRESULT ( STDMETHODCALLTYPE *CopyToBuffer )( HRESULT ( STDMETHODCALLTYPE *CopyToBuffer )(
IMFSample * This, IMFSample * This,
/* [in] */ IMFMediaBuffer *pBuffer); /* [in] */ IMFMediaBuffer *pBuffer);
END_INTERFACE END_INTERFACE
} IMFSampleVtbl; } IMFSampleVtbl;
interface IMFSample interface IMFSample
{ {
skipping to change at line 1243 skipping to change at line 1301
EXTERN_C const IID IID_IMF2DBuffer; EXTERN_C const IID IID_IMF2DBuffer;
#if defined(__cplusplus) && !defined(CINTERFACE) #if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("7DC9D5F9-9ED9-44ec-9BBF-0600BB589FBB") MIDL_INTERFACE("7DC9D5F9-9ED9-44ec-9BBF-0600BB589FBB")
IMF2DBuffer : public IUnknown IMF2DBuffer : public IUnknown
{ {
public: public:
virtual HRESULT STDMETHODCALLTYPE Lock2D( virtual HRESULT STDMETHODCALLTYPE Lock2D(
/* [annotation][out] */ /* [annotation][out] */
__out BYTE **pbScanline0, _Outptr_result_bytebuffer_(_Inexpressible_(ComputePlaneSize(*plPitch
/* [out] */ LONG *plPitch) = 0; ))) BYTE **ppbScanline0,
/* [annotation][out] */
_Out_ LONG *plPitch) = 0;
virtual HRESULT STDMETHODCALLTYPE Unlock2D( void) = 0; virtual HRESULT STDMETHODCALLTYPE Unlock2D( void) = 0;
virtual HRESULT STDMETHODCALLTYPE GetScanline0AndPitch( virtual HRESULT STDMETHODCALLTYPE GetScanline0AndPitch(
/* [annotation][out] */ /* [annotation][out] */
__out BYTE **pbScanline0, _Out_ BYTE **pbScanline0,
/* [annotation][out] */ /* [annotation][out] */
__out LONG *plPitch) = 0; _Out_ LONG *plPitch) = 0;
virtual HRESULT STDMETHODCALLTYPE IsContiguousFormat( virtual HRESULT STDMETHODCALLTYPE IsContiguousFormat(
/* [annotation][out] */ /* [annotation][out] */
__out BOOL *pfIsContiguous) = 0; _Out_ BOOL *pfIsContiguous) = 0;
virtual HRESULT STDMETHODCALLTYPE GetContiguousLength( virtual HRESULT STDMETHODCALLTYPE GetContiguousLength(
/* [annotation][out] */ /* [annotation][out] */
__out DWORD *pcbLength) = 0; _Out_ DWORD *pcbLength) = 0;
virtual HRESULT STDMETHODCALLTYPE ContiguousCopyTo( virtual HRESULT STDMETHODCALLTYPE ContiguousCopyTo(
/* [annotation][size_is][out] */ /* [annotation][size_is][out] */
__out_bcount(cbDestBuffer) BYTE *pbDestBuffer, _Out_writes_bytes_(cbDestBuffer) BYTE *pbDestBuffer,
/* [in] */ DWORD cbDestBuffer) = 0; /* [in] */ DWORD cbDestBuffer) = 0;
virtual HRESULT STDMETHODCALLTYPE ContiguousCopyFrom( virtual HRESULT STDMETHODCALLTYPE ContiguousCopyFrom(
/* [annotation][size_is][in] */ /* [annotation][size_is][in] */
__in_bcount(cbSrcBuffer) const BYTE *pbSrcBuffer, _In_reads_bytes_(cbSrcBuffer) const BYTE *pbSrcBuffer,
/* [in] */ DWORD cbSrcBuffer) = 0; /* [in] */ DWORD cbSrcBuffer) = 0;
}; };
#else /* C style interface */ #else /* C style interface */
typedef struct IMF2DBufferVtbl typedef struct IMF2DBufferVtbl
{ {
BEGIN_INTERFACE BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )( HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IMF2DBuffer * This, IMF2DBuffer * This,
/* [in] */ REFIID riid, /* [in] */ REFIID riid,
/* [annotation][iid_is][out] */ /* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject); _COM_Outptr_ void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )( ULONG ( STDMETHODCALLTYPE *AddRef )(
IMF2DBuffer * This); IMF2DBuffer * This);
ULONG ( STDMETHODCALLTYPE *Release )( ULONG ( STDMETHODCALLTYPE *Release )(
IMF2DBuffer * This); IMF2DBuffer * This);
HRESULT ( STDMETHODCALLTYPE *Lock2D )( HRESULT ( STDMETHODCALLTYPE *Lock2D )(
IMF2DBuffer * This, IMF2DBuffer * This,
/* [annotation][out] */ /* [annotation][out] */
__out BYTE **pbScanline0, _Outptr_result_bytebuffer_(_Inexpressible_(ComputePlaneSize(*plPitch
/* [out] */ LONG *plPitch); ))) BYTE **ppbScanline0,
/* [annotation][out] */
_Out_ LONG *plPitch);
HRESULT ( STDMETHODCALLTYPE *Unlock2D )( HRESULT ( STDMETHODCALLTYPE *Unlock2D )(
IMF2DBuffer * This); IMF2DBuffer * This);
HRESULT ( STDMETHODCALLTYPE *GetScanline0AndPitch )( HRESULT ( STDMETHODCALLTYPE *GetScanline0AndPitch )(
IMF2DBuffer * This, IMF2DBuffer * This,
/* [annotation][out] */ /* [annotation][out] */
__out BYTE **pbScanline0, _Out_ BYTE **pbScanline0,
/* [annotation][out] */ /* [annotation][out] */
__out LONG *plPitch); _Out_ LONG *plPitch);
HRESULT ( STDMETHODCALLTYPE *IsContiguousFormat )( HRESULT ( STDMETHODCALLTYPE *IsContiguousFormat )(
IMF2DBuffer * This, IMF2DBuffer * This,
/* [annotation][out] */ /* [annotation][out] */
__out BOOL *pfIsContiguous); _Out_ BOOL *pfIsContiguous);
HRESULT ( STDMETHODCALLTYPE *GetContiguousLength )( HRESULT ( STDMETHODCALLTYPE *GetContiguousLength )(
IMF2DBuffer * This, IMF2DBuffer * This,
/* [annotation][out] */ /* [annotation][out] */
__out DWORD *pcbLength); _Out_ DWORD *pcbLength);
HRESULT ( STDMETHODCALLTYPE *ContiguousCopyTo )( HRESULT ( STDMETHODCALLTYPE *ContiguousCopyTo )(
IMF2DBuffer * This, IMF2DBuffer * This,
/* [annotation][size_is][out] */ /* [annotation][size_is][out] */
__out_bcount(cbDestBuffer) BYTE *pbDestBuffer, _Out_writes_bytes_(cbDestBuffer) BYTE *pbDestBuffer,
/* [in] */ DWORD cbDestBuffer); /* [in] */ DWORD cbDestBuffer);
HRESULT ( STDMETHODCALLTYPE *ContiguousCopyFrom )( HRESULT ( STDMETHODCALLTYPE *ContiguousCopyFrom )(
IMF2DBuffer * This, IMF2DBuffer * This,
/* [annotation][size_is][in] */ /* [annotation][size_is][in] */
__in_bcount(cbSrcBuffer) const BYTE *pbSrcBuffer, _In_reads_bytes_(cbSrcBuffer) const BYTE *pbSrcBuffer,
/* [in] */ DWORD cbSrcBuffer); /* [in] */ DWORD cbSrcBuffer);
END_INTERFACE END_INTERFACE
} IMF2DBufferVtbl; } IMF2DBufferVtbl;
interface IMF2DBuffer interface IMF2DBuffer
{ {
CONST_VTBL struct IMF2DBufferVtbl *lpVtbl; CONST_VTBL struct IMF2DBufferVtbl *lpVtbl;
}; };
skipping to change at line 1349 skipping to change at line 1409
#define IMF2DBuffer_QueryInterface(This,riid,ppvObject) \ #define IMF2DBuffer_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
#define IMF2DBuffer_AddRef(This) \ #define IMF2DBuffer_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) ) ( (This)->lpVtbl -> AddRef(This) )
#define IMF2DBuffer_Release(This) \ #define IMF2DBuffer_Release(This) \
( (This)->lpVtbl -> Release(This) ) ( (This)->lpVtbl -> Release(This) )
#define IMF2DBuffer_Lock2D(This,pbScanline0,plPitch) \ #define IMF2DBuffer_Lock2D(This,ppbScanline0,plPitch) \
( (This)->lpVtbl -> Lock2D(This,pbScanline0,plPitch) ) ( (This)->lpVtbl -> Lock2D(This,ppbScanline0,plPitch) )
#define IMF2DBuffer_Unlock2D(This) \ #define IMF2DBuffer_Unlock2D(This) \
( (This)->lpVtbl -> Unlock2D(This) ) ( (This)->lpVtbl -> Unlock2D(This) )
#define IMF2DBuffer_GetScanline0AndPitch(This,pbScanline0,plPitch) \ #define IMF2DBuffer_GetScanline0AndPitch(This,pbScanline0,plPitch) \
( (This)->lpVtbl -> GetScanline0AndPitch(This,pbScanline0,plPitch) ) ( (This)->lpVtbl -> GetScanline0AndPitch(This,pbScanline0,plPitch) )
#define IMF2DBuffer_IsContiguousFormat(This,pfIsContiguous) \ #define IMF2DBuffer_IsContiguousFormat(This,pfIsContiguous) \
( (This)->lpVtbl -> IsContiguousFormat(This,pfIsContiguous) ) ( (This)->lpVtbl -> IsContiguousFormat(This,pfIsContiguous) )
skipping to change at line 1376 skipping to change at line 1436
#define IMF2DBuffer_ContiguousCopyFrom(This,pbSrcBuffer,cbSrcBuffer) \ #define IMF2DBuffer_ContiguousCopyFrom(This,pbSrcBuffer,cbSrcBuffer) \
( (This)->lpVtbl -> ContiguousCopyFrom(This,pbSrcBuffer,cbSrcBuffer) ) ( (This)->lpVtbl -> ContiguousCopyFrom(This,pbSrcBuffer,cbSrcBuffer) )
#endif /* COBJMACROS */ #endif /* COBJMACROS */
#endif /* C style interface */ #endif /* C style interface */
#endif /* __IMF2DBuffer_INTERFACE_DEFINED__ */ #endif /* __IMF2DBuffer_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_mfobjects_0000_0004 */
/* [local] */
typedef
enum _MF2DBuffer_LockFlags
{
MF2DBuffer_LockFlags_LockTypeMask = ( ( 0x1 | 0x2 ) | 0x3 ) ,
MF2DBuffer_LockFlags_Read = 0x1,
MF2DBuffer_LockFlags_Write = 0x2,
MF2DBuffer_LockFlags_ReadWrite = 0x3,
MF2DBuffer_LockFlags_ForceDWORD = 0x7fffffff
} MF2DBuffer_LockFlags;
extern RPC_IF_HANDLE __MIDL_itf_mfobjects_0000_0004_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_mfobjects_0000_0004_v0_0_s_ifspec;
#ifndef __IMF2DBuffer2_INTERFACE_DEFINED__
#define __IMF2DBuffer2_INTERFACE_DEFINED__
/* interface IMF2DBuffer2 */
/* [local][uuid][object] */
EXTERN_C const IID IID_IMF2DBuffer2;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("33ae5ea6-4316-436f-8ddd-d73d22f829ec")
IMF2DBuffer2 : public IMF2DBuffer
{
public:
virtual HRESULT STDMETHODCALLTYPE Lock2DSize(
/* [annotation][in] */
_In_ MF2DBuffer_LockFlags lockFlags,
/* [annotation][out] */
_Outptr_result_bytebuffer_(_Inexpressible_(ComputePlaneSize(*plPitch
))) BYTE **ppbScanline0,
/* [annotation][out] */
_Out_ LONG *plPitch,
/* [annotation][out] */
_Outptr_result_bytebuffer_(*pcbBufferLength) BYTE **ppbBufferStart,
/* [annotation][out] */
_Out_ DWORD *pcbBufferLength) = 0;
virtual HRESULT STDMETHODCALLTYPE Copy2DTo(
/* [annotation][in] */
_In_ IMF2DBuffer2 *pDestBuffer) = 0;
};
#else /* C style interface */
typedef struct IMF2DBuffer2Vtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IMF2DBuffer2 * This,
/* [in] */ REFIID riid,
/* [annotation][iid_is][out] */
_COM_Outptr_ void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
IMF2DBuffer2 * This);
ULONG ( STDMETHODCALLTYPE *Release )(
IMF2DBuffer2 * This);
HRESULT ( STDMETHODCALLTYPE *Lock2D )(
IMF2DBuffer2 * This,
/* [annotation][out] */
_Outptr_result_bytebuffer_(_Inexpressible_(ComputePlaneSize(*plPitch
))) BYTE **ppbScanline0,
/* [annotation][out] */
_Out_ LONG *plPitch);
HRESULT ( STDMETHODCALLTYPE *Unlock2D )(
IMF2DBuffer2 * This);
HRESULT ( STDMETHODCALLTYPE *GetScanline0AndPitch )(
IMF2DBuffer2 * This,
/* [annotation][out] */
_Out_ BYTE **pbScanline0,
/* [annotation][out] */
_Out_ LONG *plPitch);
HRESULT ( STDMETHODCALLTYPE *IsContiguousFormat )(
IMF2DBuffer2 * This,
/* [annotation][out] */
_Out_ BOOL *pfIsContiguous);
HRESULT ( STDMETHODCALLTYPE *GetContiguousLength )(
IMF2DBuffer2 * This,
/* [annotation][out] */
_Out_ DWORD *pcbLength);
HRESULT ( STDMETHODCALLTYPE *ContiguousCopyTo )(
IMF2DBuffer2 * This,
/* [annotation][size_is][out] */
_Out_writes_bytes_(cbDestBuffer) BYTE *pbDestBuffer,
/* [in] */ DWORD cbDestBuffer);
HRESULT ( STDMETHODCALLTYPE *ContiguousCopyFrom )(
IMF2DBuffer2 * This,
/* [annotation][size_is][in] */
_In_reads_bytes_(cbSrcBuffer) const BYTE *pbSrcBuffer,
/* [in] */ DWORD cbSrcBuffer);
HRESULT ( STDMETHODCALLTYPE *Lock2DSize )(
IMF2DBuffer2 * This,
/* [annotation][in] */
_In_ MF2DBuffer_LockFlags lockFlags,
/* [annotation][out] */
_Outptr_result_bytebuffer_(_Inexpressible_(ComputePlaneSize(*plPitch
))) BYTE **ppbScanline0,
/* [annotation][out] */
_Out_ LONG *plPitch,
/* [annotation][out] */
_Outptr_result_bytebuffer_(*pcbBufferLength) BYTE **ppbBufferStart,
/* [annotation][out] */
_Out_ DWORD *pcbBufferLength);
HRESULT ( STDMETHODCALLTYPE *Copy2DTo )(
IMF2DBuffer2 * This,
/* [annotation][in] */
_In_ IMF2DBuffer2 *pDestBuffer);
END_INTERFACE
} IMF2DBuffer2Vtbl;
interface IMF2DBuffer2
{
CONST_VTBL struct IMF2DBuffer2Vtbl *lpVtbl;
};
#ifdef COBJMACROS
#define IMF2DBuffer2_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
#define IMF2DBuffer2_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
#define IMF2DBuffer2_Release(This) \
( (This)->lpVtbl -> Release(This) )
#define IMF2DBuffer2_Lock2D(This,ppbScanline0,plPitch) \
( (This)->lpVtbl -> Lock2D(This,ppbScanline0,plPitch) )
#define IMF2DBuffer2_Unlock2D(This) \
( (This)->lpVtbl -> Unlock2D(This) )
#define IMF2DBuffer2_GetScanline0AndPitch(This,pbScanline0,plPitch) \
( (This)->lpVtbl -> GetScanline0AndPitch(This,pbScanline0,plPitch) )
#define IMF2DBuffer2_IsContiguousFormat(This,pfIsContiguous) \
( (This)->lpVtbl -> IsContiguousFormat(This,pfIsContiguous) )
#define IMF2DBuffer2_GetContiguousLength(This,pcbLength) \
( (This)->lpVtbl -> GetContiguousLength(This,pcbLength) )
#define IMF2DBuffer2_ContiguousCopyTo(This,pbDestBuffer,cbDestBuffer) \
( (This)->lpVtbl -> ContiguousCopyTo(This,pbDestBuffer,cbDestBuffer) )
#define IMF2DBuffer2_ContiguousCopyFrom(This,pbSrcBuffer,cbSrcBuffer) \
( (This)->lpVtbl -> ContiguousCopyFrom(This,pbSrcBuffer,cbSrcBuffer) )
#define IMF2DBuffer2_Lock2DSize(This,lockFlags,ppbScanline0,plPitch,ppbBufferSta
rt,pcbBufferLength) \
( (This)->lpVtbl -> Lock2DSize(This,lockFlags,ppbScanline0,plPitch,ppbBuffer
Start,pcbBufferLength) )
#define IMF2DBuffer2_Copy2DTo(This,pDestBuffer) \
( (This)->lpVtbl -> Copy2DTo(This,pDestBuffer) )
#endif /* COBJMACROS */
#endif /* C style interface */
#endif /* __IMF2DBuffer2_INTERFACE_DEFINED__ */
#ifndef __IMFDXGIBuffer_INTERFACE_DEFINED__
#define __IMFDXGIBuffer_INTERFACE_DEFINED__
/* interface IMFDXGIBuffer */
/* [local][uuid][object] */
EXTERN_C const IID IID_IMFDXGIBuffer;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("e7174cfa-1c9e-48b1-8866-626226bfc258")
IMFDXGIBuffer : public IUnknown
{
public:
virtual HRESULT STDMETHODCALLTYPE GetResource(
/* [annotation][in] */
_In_ REFIID riid,
/* [annotation][out] */
_Outptr_ LPVOID *ppvObject) = 0;
virtual HRESULT STDMETHODCALLTYPE GetSubresourceIndex(
/* [annotation][out] */
_Out_ UINT *puSubresource) = 0;
virtual HRESULT STDMETHODCALLTYPE GetUnknown(
/* [annotation][in] */
_In_ REFIID guid,
/* [annotation][in] */
_In_ REFIID riid,
/* [annotation][out] */
_Outptr_ LPVOID *ppvObject) = 0;
virtual HRESULT STDMETHODCALLTYPE SetUnknown(
/* [annotation][in] */
_In_ REFIID guid,
/* [annotation][in] */
_In_opt_ IUnknown *pUnkData) = 0;
};
#else /* C style interface */
typedef struct IMFDXGIBufferVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IMFDXGIBuffer * This,
/* [in] */ REFIID riid,
/* [annotation][iid_is][out] */
_COM_Outptr_ void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
IMFDXGIBuffer * This);
ULONG ( STDMETHODCALLTYPE *Release )(
IMFDXGIBuffer * This);
HRESULT ( STDMETHODCALLTYPE *GetResource )(
IMFDXGIBuffer * This,
/* [annotation][in] */
_In_ REFIID riid,
/* [annotation][out] */
_Outptr_ LPVOID *ppvObject);
HRESULT ( STDMETHODCALLTYPE *GetSubresourceIndex )(
IMFDXGIBuffer * This,
/* [annotation][out] */
_Out_ UINT *puSubresource);
HRESULT ( STDMETHODCALLTYPE *GetUnknown )(
IMFDXGIBuffer * This,
/* [annotation][in] */
_In_ REFIID guid,
/* [annotation][in] */
_In_ REFIID riid,
/* [annotation][out] */
_Outptr_ LPVOID *ppvObject);
HRESULT ( STDMETHODCALLTYPE *SetUnknown )(
IMFDXGIBuffer * This,
/* [annotation][in] */
_In_ REFIID guid,
/* [annotation][in] */
_In_opt_ IUnknown *pUnkData);
END_INTERFACE
} IMFDXGIBufferVtbl;
interface IMFDXGIBuffer
{
CONST_VTBL struct IMFDXGIBufferVtbl *lpVtbl;
};
#ifdef COBJMACROS
#define IMFDXGIBuffer_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
#define IMFDXGIBuffer_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
#define IMFDXGIBuffer_Release(This) \
( (This)->lpVtbl -> Release(This) )
#define IMFDXGIBuffer_GetResource(This,riid,ppvObject) \
( (This)->lpVtbl -> GetResource(This,riid,ppvObject) )
#define IMFDXGIBuffer_GetSubresourceIndex(This,puSubresource) \
( (This)->lpVtbl -> GetSubresourceIndex(This,puSubresource) )
#define IMFDXGIBuffer_GetUnknown(This,guid,riid,ppvObject) \
( (This)->lpVtbl -> GetUnknown(This,guid,riid,ppvObject) )
#define IMFDXGIBuffer_SetUnknown(This,guid,pUnkData) \
( (This)->lpVtbl -> SetUnknown(This,guid,pUnkData) )
#endif /* COBJMACROS */
#endif /* C style interface */
#endif /* __IMFDXGIBuffer_INTERFACE_DEFINED__ */
#ifndef __IMFMediaType_INTERFACE_DEFINED__ #ifndef __IMFMediaType_INTERFACE_DEFINED__
#define __IMFMediaType_INTERFACE_DEFINED__ #define __IMFMediaType_INTERFACE_DEFINED__
/* interface IMFMediaType */ /* interface IMFMediaType */
/* [local][uuid][object] */ /* [local][uuid][object] */
EXTERN_C const IID IID_IMFMediaType; EXTERN_C const IID IID_IMFMediaType;
#if defined(__cplusplus) && !defined(CINTERFACE) #if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("44ae0fa8-ea31-4109-8d2e-4cae4997c555") MIDL_INTERFACE("44ae0fa8-ea31-4109-8d2e-4cae4997c555")
IMFMediaType : public IMFAttributes IMFMediaType : public IMFAttributes
{ {
public: public:
virtual HRESULT STDMETHODCALLTYPE GetMajorType( virtual HRESULT STDMETHODCALLTYPE GetMajorType(
/* [annotation][out] */ /* [annotation][out] */
__out GUID *pguidMajorType) = 0; _Out_ GUID *pguidMajorType) = 0;
virtual HRESULT STDMETHODCALLTYPE IsCompressedFormat( virtual HRESULT STDMETHODCALLTYPE IsCompressedFormat(
/* [annotation][out] */ /* [annotation][out] */
__out BOOL *pfCompressed) = 0; _Out_ BOOL *pfCompressed) = 0;
virtual HRESULT STDMETHODCALLTYPE IsEqual( virtual HRESULT STDMETHODCALLTYPE IsEqual(
/* [in] */ IMFMediaType *pIMediaType, /* [in] */ IMFMediaType *pIMediaType,
/* [annotation][out] */ /* [annotation][out] */
__out DWORD *pdwFlags) = 0; _Out_ DWORD *pdwFlags) = 0;
virtual HRESULT STDMETHODCALLTYPE GetRepresentation( virtual HRESULT STDMETHODCALLTYPE GetRepresentation(
/* [in] */ GUID guidRepresentation, /* [in] */ GUID guidRepresentation,
/* [annotation][out] */ /* [annotation][out] */
__out LPVOID *ppvRepresentation) = 0; _Out_ LPVOID *ppvRepresentation) = 0;
virtual HRESULT STDMETHODCALLTYPE FreeRepresentation( virtual HRESULT STDMETHODCALLTYPE FreeRepresentation(
/* [in] */ GUID guidRepresentation, /* [in] */ GUID guidRepresentation,
/* [in] */ LPVOID pvRepresentation) = 0; /* [in] */ LPVOID pvRepresentation) = 0;
}; };
#else /* C style interface */ #else /* C style interface */
typedef struct IMFMediaTypeVtbl typedef struct IMFMediaTypeVtbl
{ {
BEGIN_INTERFACE BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )( HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IMFMediaType * This, IMFMediaType * This,
/* [in] */ REFIID riid, /* [in] */ REFIID riid,
/* [annotation][iid_is][out] */ /* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject); _COM_Outptr_ void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )( ULONG ( STDMETHODCALLTYPE *AddRef )(
IMFMediaType * This); IMFMediaType * This);
ULONG ( STDMETHODCALLTYPE *Release )( ULONG ( STDMETHODCALLTYPE *Release )(
IMFMediaType * This); IMFMediaType * This);
HRESULT ( STDMETHODCALLTYPE *GetItem )( HRESULT ( STDMETHODCALLTYPE *GetItem )(
IMFMediaType * This, IMFMediaType * This,
REFGUID guidKey, REFGUID guidKey,
skipping to change at line 1587 skipping to change at line 1945
/* [out] */ GUID *pguidKey, /* [out] */ GUID *pguidKey,
/* [full][out][in] */ PROPVARIANT *pValue); /* [full][out][in] */ PROPVARIANT *pValue);
HRESULT ( STDMETHODCALLTYPE *CopyAllItems )( HRESULT ( STDMETHODCALLTYPE *CopyAllItems )(
IMFMediaType * This, IMFMediaType * This,
/* [in] */ IMFAttributes *pDest); /* [in] */ IMFAttributes *pDest);
HRESULT ( STDMETHODCALLTYPE *GetMajorType )( HRESULT ( STDMETHODCALLTYPE *GetMajorType )(
IMFMediaType * This, IMFMediaType * This,
/* [annotation][out] */ /* [annotation][out] */
__out GUID *pguidMajorType); _Out_ GUID *pguidMajorType);
HRESULT ( STDMETHODCALLTYPE *IsCompressedFormat )( HRESULT ( STDMETHODCALLTYPE *IsCompressedFormat )(
IMFMediaType * This, IMFMediaType * This,
/* [annotation][out] */ /* [annotation][out] */
__out BOOL *pfCompressed); _Out_ BOOL *pfCompressed);
HRESULT ( STDMETHODCALLTYPE *IsEqual )( HRESULT ( STDMETHODCALLTYPE *IsEqual )(
IMFMediaType * This, IMFMediaType * This,
/* [in] */ IMFMediaType *pIMediaType, /* [in] */ IMFMediaType *pIMediaType,
/* [annotation][out] */ /* [annotation][out] */
__out DWORD *pdwFlags); _Out_ DWORD *pdwFlags);
HRESULT ( STDMETHODCALLTYPE *GetRepresentation )( HRESULT ( STDMETHODCALLTYPE *GetRepresentation )(
IMFMediaType * This, IMFMediaType * This,
/* [in] */ GUID guidRepresentation, /* [in] */ GUID guidRepresentation,
/* [annotation][out] */ /* [annotation][out] */
__out LPVOID *ppvRepresentation); _Out_ LPVOID *ppvRepresentation);
HRESULT ( STDMETHODCALLTYPE *FreeRepresentation )( HRESULT ( STDMETHODCALLTYPE *FreeRepresentation )(
IMFMediaType * This, IMFMediaType * This,
/* [in] */ GUID guidRepresentation, /* [in] */ GUID guidRepresentation,
/* [in] */ LPVOID pvRepresentation); /* [in] */ LPVOID pvRepresentation);
END_INTERFACE END_INTERFACE
} IMFMediaTypeVtbl; } IMFMediaTypeVtbl;
interface IMFMediaType interface IMFMediaType
skipping to change at line 1741 skipping to change at line 2099
#define IMFMediaType_FreeRepresentation(This,guidRepresentation,pvRepresentation ) \ #define IMFMediaType_FreeRepresentation(This,guidRepresentation,pvRepresentation ) \
( (This)->lpVtbl -> FreeRepresentation(This,guidRepresentation,pvRepresentat ion) ) ( (This)->lpVtbl -> FreeRepresentation(This,guidRepresentation,pvRepresentat ion) )
#endif /* COBJMACROS */ #endif /* COBJMACROS */
#endif /* C style interface */ #endif /* C style interface */
#endif /* __IMFMediaType_INTERFACE_DEFINED__ */ #endif /* __IMFMediaType_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_mfobjects_0000_0005 */ /* interface __MIDL_itf_mfobjects_0000_0007 */
/* [local] */ /* [local] */
#define MF_MEDIATYPE_EQUAL_MAJOR_TYPES 0x00000001 #define MF_MEDIATYPE_EQUAL_MAJOR_TYPES 0x00000001
#define MF_MEDIATYPE_EQUAL_FORMAT_TYPES 0x00000002 #define MF_MEDIATYPE_EQUAL_FORMAT_TYPES 0x00000002
#define MF_MEDIATYPE_EQUAL_FORMAT_DATA 0x00000004 #define MF_MEDIATYPE_EQUAL_FORMAT_DATA 0x00000004
#define MF_MEDIATYPE_EQUAL_FORMAT_USER_DATA 0x00000008 #define MF_MEDIATYPE_EQUAL_FORMAT_USER_DATA 0x00000008
extern RPC_IF_HANDLE __MIDL_itf_mfobjects_0000_0005_v0_0_c_ifspec; #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
extern RPC_IF_HANDLE __MIDL_itf_mfobjects_0000_0005_v0_0_s_ifspec; #pragma endregion
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
extern RPC_IF_HANDLE __MIDL_itf_mfobjects_0000_0007_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_mfobjects_0000_0007_v0_0_s_ifspec;
#ifndef __IMFAudioMediaType_INTERFACE_DEFINED__ #ifndef __IMFAudioMediaType_INTERFACE_DEFINED__
#define __IMFAudioMediaType_INTERFACE_DEFINED__ #define __IMFAudioMediaType_INTERFACE_DEFINED__
/* interface IMFAudioMediaType */ /* interface IMFAudioMediaType */
/* [local][uuid][object] */ /* [local][uuid][object] */
EXTERN_C const IID IID_IMFAudioMediaType; EXTERN_C const IID IID_IMFAudioMediaType;
#if defined(__cplusplus) && !defined(CINTERFACE) #if defined(__cplusplus) && !defined(CINTERFACE)
skipping to change at line 1780 skipping to change at line 2143
#else /* C style interface */ #else /* C style interface */
typedef struct IMFAudioMediaTypeVtbl typedef struct IMFAudioMediaTypeVtbl
{ {
BEGIN_INTERFACE BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )( HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IMFAudioMediaType * This, IMFAudioMediaType * This,
/* [in] */ REFIID riid, /* [in] */ REFIID riid,
/* [annotation][iid_is][out] */ /* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject); _COM_Outptr_ void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )( ULONG ( STDMETHODCALLTYPE *AddRef )(
IMFAudioMediaType * This); IMFAudioMediaType * This);
ULONG ( STDMETHODCALLTYPE *Release )( ULONG ( STDMETHODCALLTYPE *Release )(
IMFAudioMediaType * This); IMFAudioMediaType * This);
HRESULT ( STDMETHODCALLTYPE *GetItem )( HRESULT ( STDMETHODCALLTYPE *GetItem )(
IMFAudioMediaType * This, IMFAudioMediaType * This,
REFGUID guidKey, REFGUID guidKey,
skipping to change at line 1943 skipping to change at line 2306
/* [out] */ GUID *pguidKey, /* [out] */ GUID *pguidKey,
/* [full][out][in] */ PROPVARIANT *pValue); /* [full][out][in] */ PROPVARIANT *pValue);
HRESULT ( STDMETHODCALLTYPE *CopyAllItems )( HRESULT ( STDMETHODCALLTYPE *CopyAllItems )(
IMFAudioMediaType * This, IMFAudioMediaType * This,
/* [in] */ IMFAttributes *pDest); /* [in] */ IMFAttributes *pDest);
HRESULT ( STDMETHODCALLTYPE *GetMajorType )( HRESULT ( STDMETHODCALLTYPE *GetMajorType )(
IMFAudioMediaType * This, IMFAudioMediaType * This,
/* [annotation][out] */ /* [annotation][out] */
__out GUID *pguidMajorType); _Out_ GUID *pguidMajorType);
HRESULT ( STDMETHODCALLTYPE *IsCompressedFormat )( HRESULT ( STDMETHODCALLTYPE *IsCompressedFormat )(
IMFAudioMediaType * This, IMFAudioMediaType * This,
/* [annotation][out] */ /* [annotation][out] */
__out BOOL *pfCompressed); _Out_ BOOL *pfCompressed);
HRESULT ( STDMETHODCALLTYPE *IsEqual )( HRESULT ( STDMETHODCALLTYPE *IsEqual )(
IMFAudioMediaType * This, IMFAudioMediaType * This,
/* [in] */ IMFMediaType *pIMediaType, /* [in] */ IMFMediaType *pIMediaType,
/* [annotation][out] */ /* [annotation][out] */
__out DWORD *pdwFlags); _Out_ DWORD *pdwFlags);
HRESULT ( STDMETHODCALLTYPE *GetRepresentation )( HRESULT ( STDMETHODCALLTYPE *GetRepresentation )(
IMFAudioMediaType * This, IMFAudioMediaType * This,
/* [in] */ GUID guidRepresentation, /* [in] */ GUID guidRepresentation,
/* [annotation][out] */ /* [annotation][out] */
__out LPVOID *ppvRepresentation); _Out_ LPVOID *ppvRepresentation);
HRESULT ( STDMETHODCALLTYPE *FreeRepresentation )( HRESULT ( STDMETHODCALLTYPE *FreeRepresentation )(
IMFAudioMediaType * This, IMFAudioMediaType * This,
/* [in] */ GUID guidRepresentation, /* [in] */ GUID guidRepresentation,
/* [in] */ LPVOID pvRepresentation); /* [in] */ LPVOID pvRepresentation);
const WAVEFORMATEX *( STDMETHODCALLTYPE *GetAudioFormat )( const WAVEFORMATEX *( STDMETHODCALLTYPE *GetAudioFormat )(
IMFAudioMediaType * This); IMFAudioMediaType * This);
END_INTERFACE END_INTERFACE
skipping to change at line 2103 skipping to change at line 2466
#define IMFAudioMediaType_GetAudioFormat(This) \ #define IMFAudioMediaType_GetAudioFormat(This) \
( (This)->lpVtbl -> GetAudioFormat(This) ) ( (This)->lpVtbl -> GetAudioFormat(This) )
#endif /* COBJMACROS */ #endif /* COBJMACROS */
#endif /* C style interface */ #endif /* C style interface */
#endif /* __IMFAudioMediaType_INTERFACE_DEFINED__ */ #endif /* __IMFAudioMediaType_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_mfobjects_0000_0006 */ /* interface __MIDL_itf_mfobjects_0000_0008 */
/* [local] */ /* [local] */
#ifndef _WINGDI_ #ifndef _WINGDI_
typedef DWORD RGBQUAD; typedef DWORD RGBQUAD;
typedef /* [public][public] */ struct __MIDL___MIDL_itf_mfobjects_0000_0006_0001 typedef /* [public][public] */ struct __MIDL___MIDL_itf_mfobjects_0000_0008_0001
{ {
DWORD biSize; DWORD biSize;
LONG biWidth; LONG biWidth;
LONG biHeight; LONG biHeight;
WORD biPlanes; WORD biPlanes;
WORD biBitCount; WORD biBitCount;
DWORD biCompression; DWORD biCompression;
DWORD biSizeImage; DWORD biSizeImage;
LONG biXPelsPerMeter; LONG biXPelsPerMeter;
LONG biYPelsPerMeter; LONG biYPelsPerMeter;
DWORD biClrUsed; DWORD biClrUsed;
DWORD biClrImportant; DWORD biClrImportant;
} BITMAPINFOHEADER; } BITMAPINFOHEADER;
typedef /* [public] */ struct __MIDL___MIDL_itf_mfobjects_0000_0006_0002 typedef /* [public] */ struct __MIDL___MIDL_itf_mfobjects_0000_0008_0002
{ {
BITMAPINFOHEADER bmiHeader; BITMAPINFOHEADER bmiHeader;
RGBQUAD bmiColors[ 1 ]; RGBQUAD bmiColors[ 1 ];
} BITMAPINFO; } BITMAPINFO;
#endif #endif
typedef /* [public] */ struct __MIDL___MIDL_itf_mfobjects_0000_0006_0003 typedef /* [public] */ struct __MIDL___MIDL_itf_mfobjects_0000_0008_0003
{ {
GUID guidMajorType; GUID guidMajorType;
GUID guidSubtype; GUID guidSubtype;
} MFT_REGISTER_TYPE_INFO; } MFT_REGISTER_TYPE_INFO;
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#if !defined( _MFVIDEOFORMAT_ ) #if !defined( _MFVIDEOFORMAT_ )
#define _MFVIDEOFORMAT_ #define _MFVIDEOFORMAT_
#pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
typedef typedef
enum _MFVideoInterlaceMode enum _MFVideoInterlaceMode
{ MFVideoInterlace_Unknown = 0, {
MFVideoInterlace_Progressive = 2, MFVideoInterlace_Unknown = 0,
MFVideoInterlace_FieldInterleavedUpperFirst = 3, MFVideoInterlace_Progressive = 2,
MFVideoInterlace_FieldInterleavedLowerFirst = 4, MFVideoInterlace_FieldInterleavedUpperFirst = 3,
MFVideoInterlace_FieldSingleUpper = 5, MFVideoInterlace_FieldInterleavedLowerFirst = 4,
MFVideoInterlace_FieldSingleLower = 6, MFVideoInterlace_FieldSingleUpper = 5,
MFVideoInterlace_MixedInterlaceOrProgressive = 7, MFVideoInterlace_FieldSingleLower = 6,
MFVideoInterlace_Last = ( MFVideoInterlace_MixedInterlaceOrProgressive MFVideoInterlace_MixedInterlaceOrProgressive = 7,
+ 1 ) , MFVideoInterlace_Last = ( MFVideoInterlace_MixedInterlaceOrProgressive
MFVideoInterlace_ForceDWORD = 0x7fffffff + 1 ) ,
MFVideoInterlace_ForceDWORD = 0x7fffffff
} MFVideoInterlaceMode; } MFVideoInterlaceMode;
#define MFVideoInterlace_FieldSingleUpperFirst MFVideoInterlace_FieldSingleUpper #define MFVideoInterlace_FieldSingleUpperFirst MFVideoInterlace_FieldSingleUpper
#define MFVideoInterlace_FieldSingleLowerFirst MFVideoInterlace_FieldSingleLower #define MFVideoInterlace_FieldSingleLowerFirst MFVideoInterlace_FieldSingleLower
typedef typedef
enum _MFVideoTransferFunction enum _MFVideoTransferFunction
{ MFVideoTransFunc_Unknown = 0, {
MFVideoTransFunc_10 = 1, MFVideoTransFunc_Unknown = 0,
MFVideoTransFunc_18 = 2, MFVideoTransFunc_10 = 1,
MFVideoTransFunc_20 = 3, MFVideoTransFunc_18 = 2,
MFVideoTransFunc_22 = 4, MFVideoTransFunc_20 = 3,
MFVideoTransFunc_709 = 5, MFVideoTransFunc_22 = 4,
MFVideoTransFunc_240M = 6, MFVideoTransFunc_709 = 5,
MFVideoTransFunc_sRGB = 7, MFVideoTransFunc_240M = 6,
MFVideoTransFunc_28 = 8, MFVideoTransFunc_sRGB = 7,
MFVideoTransFunc_Log_100 = 9, MFVideoTransFunc_28 = 8,
MFVideoTransFunc_Log_316 = 10, MFVideoTransFunc_Log_100 = 9,
MFVideoTransFunc_709_sym = 11, MFVideoTransFunc_Log_316 = 10,
MFVideoTransFunc_Last = ( MFVideoTransFunc_709_sym + 1 ) , MFVideoTransFunc_709_sym = 11,
MFVideoTransFunc_ForceDWORD = 0x7fffffff MFVideoTransFunc_Last = ( MFVideoTransFunc_709_sym + 1 ) ,
MFVideoTransFunc_ForceDWORD = 0x7fffffff
} MFVideoTransferFunction; } MFVideoTransferFunction;
typedef typedef
enum _MFVideoPrimaries enum _MFVideoPrimaries
{ MFVideoPrimaries_Unknown = 0, {
MFVideoPrimaries_reserved = 1, MFVideoPrimaries_Unknown = 0,
MFVideoPrimaries_BT709 = 2, MFVideoPrimaries_reserved = 1,
MFVideoPrimaries_BT470_2_SysM = 3, MFVideoPrimaries_BT709 = 2,
MFVideoPrimaries_BT470_2_SysBG = 4, MFVideoPrimaries_BT470_2_SysM = 3,
MFVideoPrimaries_SMPTE170M = 5, MFVideoPrimaries_BT470_2_SysBG = 4,
MFVideoPrimaries_SMPTE240M = 6, MFVideoPrimaries_SMPTE170M = 5,
MFVideoPrimaries_EBU3213 = 7, MFVideoPrimaries_SMPTE240M = 6,
MFVideoPrimaries_SMPTE_C = 8, MFVideoPrimaries_EBU3213 = 7,
MFVideoPrimaries_Last = ( MFVideoPrimaries_SMPTE_C + 1 ) , MFVideoPrimaries_SMPTE_C = 8,
MFVideoPrimaries_ForceDWORD = 0x7fffffff MFVideoPrimaries_Last = ( MFVideoPrimaries_SMPTE_C + 1 ) ,
MFVideoPrimaries_ForceDWORD = 0x7fffffff
} MFVideoPrimaries; } MFVideoPrimaries;
typedef typedef
enum _MFVideoLighting enum _MFVideoLighting
{ MFVideoLighting_Unknown = 0, {
MFVideoLighting_bright = 1, MFVideoLighting_Unknown = 0,
MFVideoLighting_office = 2, MFVideoLighting_bright = 1,
MFVideoLighting_dim = 3, MFVideoLighting_office = 2,
MFVideoLighting_dark = 4, MFVideoLighting_dim = 3,
MFVideoLighting_Last = ( MFVideoLighting_dark + 1 ) , MFVideoLighting_dark = 4,
MFVideoLighting_ForceDWORD = 0x7fffffff MFVideoLighting_Last = ( MFVideoLighting_dark + 1 ) ,
MFVideoLighting_ForceDWORD = 0x7fffffff
} MFVideoLighting; } MFVideoLighting;
typedef typedef
enum _MFVideoTransferMatrix enum _MFVideoTransferMatrix
{ MFVideoTransferMatrix_Unknown = 0, {
MFVideoTransferMatrix_BT709 = 1, MFVideoTransferMatrix_Unknown = 0,
MFVideoTransferMatrix_BT601 = 2, MFVideoTransferMatrix_BT709 = 1,
MFVideoTransferMatrix_SMPTE240M = 3, MFVideoTransferMatrix_BT601 = 2,
MFVideoTransferMatrix_Last = ( MFVideoTransferMatrix_SMPTE240M + 1 ) MFVideoTransferMatrix_SMPTE240M = 3,
, MFVideoTransferMatrix_Last = ( MFVideoTransferMatrix_SMPTE240M + 1 )
MFVideoTransferMatrix_ForceDWORD = 0x7fffffff ,
MFVideoTransferMatrix_ForceDWORD = 0x7fffffff
} MFVideoTransferMatrix; } MFVideoTransferMatrix;
typedef typedef
enum _MFVideoChromaSubsampling enum _MFVideoChromaSubsampling
{ MFVideoChromaSubsampling_Unknown = 0, {
MFVideoChromaSubsampling_ProgressiveChroma = 0x8, MFVideoChromaSubsampling_Unknown = 0,
MFVideoChromaSubsampling_Horizontally_Cosited = 0x4, MFVideoChromaSubsampling_ProgressiveChroma = 0x8,
MFVideoChromaSubsampling_Vertically_Cosited = 0x2, MFVideoChromaSubsampling_Horizontally_Cosited = 0x4,
MFVideoChromaSubsampling_Vertically_AlignedChromaPlanes = 0x1, MFVideoChromaSubsampling_Vertically_Cosited = 0x2,
MFVideoChromaSubsampling_MPEG2 = ( MFVideoChromaSubsampling_Horizontally MFVideoChromaSubsampling_Vertically_AlignedChromaPlanes = 0x1,
_Cosited | MFVideoChromaSubsampling_Vertically_AlignedChromaPlanes ) , MFVideoChromaSubsampling_MPEG2 = ( MFVideoChromaSubsampling_Horizontally
MFVideoChromaSubsampling_MPEG1 = MFVideoChromaSubsampling_Vertically_Ali _Cosited | MFVideoChromaSubsampling_Vertically_AlignedChromaPlanes ) ,
gnedChromaPlanes, MFVideoChromaSubsampling_MPEG1 = MFVideoChromaSubsampling_Vertically_Ali
MFVideoChromaSubsampling_DV_PAL = ( MFVideoChromaSubsampling_Horizontally gnedChromaPlanes,
_Cosited | MFVideoChromaSubsampling_Vertically_Cosited ) , MFVideoChromaSubsampling_DV_PAL = ( MFVideoChromaSubsampling_Hori
MFVideoChromaSubsampling_Cosited = ( ( MFVideoChromaSubsampling_Ho zontally_Cosited | MFVideoChromaSubsampling_Vertically_Cosited ) ,
rizontally_Cosited | MFVideoChromaSubsampling_Vertically_Cosited ) | MFVideoChr MFVideoChromaSubsampling_Cosited = ( ( MFVideoChromaSubsampling_Ho
omaSubsampling_Vertically_AlignedChromaPlanes ) , rizontally_Cosited | MFVideoChromaSubsampling_Vertically_Cosited ) | MFVideoChr
MFVideoChromaSubsampling_Last = ( MFVideoChromaSubsampling_Cosited + 1 omaSubsampling_Vertically_AlignedChromaPlanes ) ,
) , MFVideoChromaSubsampling_Last = ( MFVideoChromaSubsampling_Cosited + 1
MFVideoChromaSubsampling_ForceDWORD = 0x7fffffff ) ,
MFVideoChromaSubsampling_ForceDWORD = 0x7fffffff
} MFVideoChromaSubsampling; } MFVideoChromaSubsampling;
typedef typedef
enum _MFNominalRange enum _MFNominalRange
{ MFNominalRange_Unknown = 0, {
MFNominalRange_Normal = 1, MFNominalRange_Unknown = 0,
MFNominalRange_Wide = 2, MFNominalRange_Normal = 1,
MFNominalRange_0_255 = 1, MFNominalRange_Wide = 2,
MFNominalRange_16_235 = 2, MFNominalRange_0_255 = 1,
MFNominalRange_48_208 = 3, MFNominalRange_16_235 = 2,
MFNominalRange_64_127 = 4, MFNominalRange_48_208 = 3,
MFNominalRange_Last = ( MFNominalRange_64_127 + 1 ) , MFNominalRange_64_127 = 4,
MFNominalRange_ForceDWORD = 0x7fffffff MFNominalRange_Last = ( MFNominalRange_64_127 + 1 ) ,
MFNominalRange_ForceDWORD = 0x7fffffff
} MFNominalRange; } MFNominalRange;
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
#pragma endregion
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
typedef typedef
enum _MFVideoFlags enum _MFVideoFlags
{ MFVideoFlag_PAD_TO_Mask = ( 0x1 | 0x2 ) , {
MFVideoFlag_PAD_TO_None = ( 0 * 0x1 ) , MFVideoFlag_PAD_TO_Mask = ( 0x1 | 0x2 ) ,
MFVideoFlag_PAD_TO_4x3 = ( 1 * 0x1 ) , MFVideoFlag_PAD_TO_None = ( 0 * 0x1 ) ,
MFVideoFlag_PAD_TO_16x9 = ( 2 * 0x1 ) , MFVideoFlag_PAD_TO_4x3 = ( 1 * 0x1 ) ,
MFVideoFlag_SrcContentHintMask = ( ( 0x4 | 0x8 ) | 0x10 ) , MFVideoFlag_PAD_TO_16x9 = ( 2 * 0x1 ) ,
MFVideoFlag_SrcContentHintNone = ( 0 * 0x4 ) , MFVideoFlag_SrcContentHintMask = ( ( 0x4 | 0x8 ) | 0x10 ) ,
MFVideoFlag_SrcContentHint16x9 = ( 1 * 0x4 ) , MFVideoFlag_SrcContentHintNone = ( 0 * 0x4 ) ,
MFVideoFlag_SrcContentHint235_1 = ( 2 * 0x4 ) , MFVideoFlag_SrcContentHint16x9 = ( 1 * 0x4 ) ,
MFVideoFlag_AnalogProtected = 0x20, MFVideoFlag_SrcContentHint235_1 = ( 2 * 0x4 ) ,
MFVideoFlag_DigitallyProtected = 0x40, MFVideoFlag_AnalogProtected = 0x20,
MFVideoFlag_ProgressiveContent = 0x80, MFVideoFlag_DigitallyProtected = 0x40,
MFVideoFlag_FieldRepeatCountMask = ( ( 0x100 | 0x200 ) | 0x400 ) MFVideoFlag_ProgressiveContent = 0x80,
, MFVideoFlag_FieldRepeatCountMask = ( ( 0x100 | 0x200 ) | 0x400 )
MFVideoFlag_FieldRepeatCountShift = 8, ,
MFVideoFlag_ProgressiveSeqReset = 0x800, MFVideoFlag_FieldRepeatCountShift = 8,
MFVideoFlag_PanScanEnabled = 0x20000, MFVideoFlag_ProgressiveSeqReset = 0x800,
MFVideoFlag_LowerFieldFirst = 0x40000, MFVideoFlag_PanScanEnabled = 0x20000,
MFVideoFlag_BottomUpLinearRep = 0x80000, MFVideoFlag_LowerFieldFirst = 0x40000,
MFVideoFlags_DXVASurface = 0x100000, MFVideoFlag_BottomUpLinearRep = 0x80000,
MFVideoFlags_RenderTargetSurface = 0x400000, MFVideoFlags_DXVASurface = 0x100000,
MFVideoFlags_ForceQWORD = 0x7fffffff MFVideoFlags_RenderTargetSurface = 0x400000,
MFVideoFlags_ForceQWORD = 0x7fffffff
} MFVideoFlags; } MFVideoFlags;
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
typedef struct _MFRatio typedef struct _MFRatio
{ {
DWORD Numerator; DWORD Numerator;
DWORD Denominator; DWORD Denominator;
} MFRatio; } MFRatio;
typedef struct _MFOffset typedef struct _MFOffset
{ {
WORD fract; WORD fract;
short value; short value;
} MFOffset; } MFOffset;
typedef struct _MFVideoArea typedef struct _MFVideoArea
{ {
MFOffset OffsetX; MFOffset OffsetX;
MFOffset OffsetY; MFOffset OffsetY;
SIZE Area; SIZE Area;
} MFVideoArea; } MFVideoArea;
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
#pragma endregion
#if defined(_MSC_VER) && (_MSC_VER >= 1600)
#pragma warning(push)
#pragma warning(disable:4820) // Disable C4820: padding after data member
#endif
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
typedef struct _MFVideoInfo typedef struct _MFVideoInfo
{ {
DWORD dwWidth; DWORD dwWidth;
DWORD dwHeight; DWORD dwHeight;
MFRatio PixelAspectRatio; MFRatio PixelAspectRatio;
MFVideoChromaSubsampling SourceChromaSubsampling; MFVideoChromaSubsampling SourceChromaSubsampling;
MFVideoInterlaceMode InterlaceMode; MFVideoInterlaceMode InterlaceMode;
MFVideoTransferFunction TransferFunction; MFVideoTransferFunction TransferFunction;
MFVideoPrimaries ColorPrimaries; MFVideoPrimaries ColorPrimaries;
MFVideoTransferMatrix TransferMatrix; MFVideoTransferMatrix TransferMatrix;
MFVideoLighting SourceLighting; MFVideoLighting SourceLighting;
MFRatio FramesPerSecond; MFRatio FramesPerSecond;
MFNominalRange NominalRange; MFNominalRange NominalRange;
MFVideoArea GeometricAperture; MFVideoArea GeometricAperture;
MFVideoArea MinimumDisplayAperture; MFVideoArea MinimumDisplayAperture;
MFVideoArea PanScanAperture; MFVideoArea PanScanAperture;
unsigned __int64 VideoFlags; unsigned __int64 VideoFlags;
} MFVideoInfo; } MFVideoInfo;
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#if defined(_MSC_VER) && (_MSC_VER >= 1600)
#pragma warning(pop)
#endif
#pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
typedef struct __MFAYUVSample typedef struct __MFAYUVSample
{ {
BYTE bCrValue; BYTE bCrValue;
BYTE bCbValue; BYTE bCbValue;
BYTE bYValue; BYTE bYValue;
BYTE bSampleAlpha8; BYTE bSampleAlpha8;
} MFAYUVSample; } MFAYUVSample;
typedef struct _MFARGB typedef struct _MFARGB
{ {
skipping to change at line 2321 skipping to change at line 2719
BYTE rgbRed; BYTE rgbRed;
BYTE rgbAlpha; BYTE rgbAlpha;
} MFARGB; } MFARGB;
typedef union _MFPaletteEntry typedef union _MFPaletteEntry
{ {
MFARGB ARGB; MFARGB ARGB;
MFAYUVSample AYCbCr; MFAYUVSample AYCbCr;
} MFPaletteEntry; } MFPaletteEntry;
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
#pragma endregion
#if defined(_MSC_VER) && (_MSC_VER >= 1600)
#pragma warning(push)
#pragma warning(disable:4820) // Disable C4820: padding after data member
#endif
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
typedef struct _MFVideoSurfaceInfo typedef struct _MFVideoSurfaceInfo
{ {
DWORD Format; DWORD Format;
DWORD PaletteEntries; DWORD PaletteEntries;
MFPaletteEntry Palette[ 1 ]; /* [size_is] */ MFPaletteEntry Palette[ 1 ];
} MFVideoSurfaceInfo; } MFVideoSurfaceInfo;
typedef struct _MFVideoCompressedInfo typedef struct _MFVideoCompressedInfo
{ {
LONGLONG AvgBitrate; LONGLONG AvgBitrate;
LONGLONG AvgBitErrorRate; LONGLONG AvgBitErrorRate;
DWORD MaxKeyFrameSpacing; DWORD MaxKeyFrameSpacing;
} MFVideoCompressedInfo; } MFVideoCompressedInfo;
typedef struct _MFVIDEOFORMAT typedef struct _MFVIDEOFORMAT
{ {
DWORD dwSize; DWORD dwSize;
MFVideoInfo videoInfo; MFVideoInfo videoInfo;
GUID guidFormat; GUID guidFormat;
MFVideoCompressedInfo compressedInfo; MFVideoCompressedInfo compressedInfo;
MFVideoSurfaceInfo surfaceInfo; MFVideoSurfaceInfo surfaceInfo;
} MFVIDEOFORMAT; } MFVIDEOFORMAT;
#if defined(_MSC_VER) && (_MSC_VER >= 1600)
#pragma warning(pop)
#endif
typedef typedef
enum _MFStandardVideoFormat enum _MFStandardVideoFormat
{ MFStdVideoFormat_reserved = 0, {
MFStdVideoFormat_NTSC = ( MFStdVideoFormat_reserved + 1 ) , MFStdVideoFormat_reserved = 0,
MFStdVideoFormat_PAL = ( MFStdVideoFormat_NTSC + 1 ) , MFStdVideoFormat_NTSC = ( MFStdVideoFormat_reserved + 1 ) ,
MFStdVideoFormat_DVD_NTSC = ( MFStdVideoFormat_PAL + 1 ) , MFStdVideoFormat_PAL = ( MFStdVideoFormat_NTSC + 1 ) ,
MFStdVideoFormat_DVD_PAL = ( MFStdVideoFormat_DVD_NTSC + 1 ) , MFStdVideoFormat_DVD_NTSC = ( MFStdVideoFormat_PAL + 1 ) ,
MFStdVideoFormat_DV_PAL = ( MFStdVideoFormat_DVD_PAL + 1 ) , MFStdVideoFormat_DVD_PAL = ( MFStdVideoFormat_DVD_NTSC + 1 ) ,
MFStdVideoFormat_DV_NTSC = ( MFStdVideoFormat_DV_PAL + 1 ) , MFStdVideoFormat_DV_PAL = ( MFStdVideoFormat_DVD_PAL + 1 ) ,
MFStdVideoFormat_ATSC_SD480i = ( MFStdVideoFormat_DV_NTSC + 1 ) , MFStdVideoFormat_DV_NTSC = ( MFStdVideoFormat_DV_PAL + 1 ) ,
MFStdVideoFormat_ATSC_HD1080i = ( MFStdVideoFormat_ATSC_SD480i + 1 ) , MFStdVideoFormat_ATSC_SD480i = ( MFStdVideoFormat_DV_NTSC + 1 ) ,
MFStdVideoFormat_ATSC_HD720p = ( MFStdVideoFormat_ATSC_HD1080i + 1 ) MFStdVideoFormat_ATSC_HD1080i = ( MFStdVideoFormat_ATSC_SD480i + 1 ) ,
MFStdVideoFormat_ATSC_HD720p = ( MFStdVideoFormat_ATSC_HD1080i + 1 )
} MFStandardVideoFormat; } MFStandardVideoFormat;
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#endif #endif
extern RPC_IF_HANDLE __MIDL_itf_mfobjects_0000_0006_v0_0_c_ifspec; #pragma region Desktop Family
extern RPC_IF_HANDLE __MIDL_itf_mfobjects_0000_0006_v0_0_s_ifspec; #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
extern RPC_IF_HANDLE __MIDL_itf_mfobjects_0000_0008_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_mfobjects_0000_0008_v0_0_s_ifspec;
#ifndef __IMFVideoMediaType_INTERFACE_DEFINED__ #ifndef __IMFVideoMediaType_INTERFACE_DEFINED__
#define __IMFVideoMediaType_INTERFACE_DEFINED__ #define __IMFVideoMediaType_INTERFACE_DEFINED__
/* interface IMFVideoMediaType */ /* interface IMFVideoMediaType */
/* [local][uuid][object] */ /* [local][uuid][object] */
EXTERN_C const IID IID_IMFVideoMediaType; EXTERN_C const IID IID_IMFVideoMediaType;
#if defined(__cplusplus) && !defined(CINTERFACE) #if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("b99f381f-a8f9-47a2-a5af-ca3a225a3890") MIDL_INTERFACE("b99f381f-a8f9-47a2-a5af-ca3a225a3890")
IMFVideoMediaType : public IMFMediaType IMFVideoMediaType : public IMFMediaType
{ {
public: public:
virtual const MFVIDEOFORMAT *STDMETHODCALLTYPE GetVideoFormat( void) = 0 ; virtual const MFVIDEOFORMAT *STDMETHODCALLTYPE GetVideoFormat( void) = 0 ;
virtual HRESULT STDMETHODCALLTYPE GetVideoRepresentation( virtual HRESULT STDMETHODCALLTYPE GetVideoRepresentation(
/* [in] */ GUID guidRepresentation, /* [in] */ GUID guidRepresentation,
/* [annotation][out] */ /* [annotation][out] */
__out LPVOID *ppvRepresentation, _Out_ LPVOID *ppvRepresentation,
/* [in] */ LONG lStride) = 0; /* [in] */ LONG lStride) = 0;
}; };
#else /* C style interface */ #else /* C style interface */
typedef struct IMFVideoMediaTypeVtbl typedef struct IMFVideoMediaTypeVtbl
{ {
BEGIN_INTERFACE BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )( HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IMFVideoMediaType * This, IMFVideoMediaType * This,
/* [in] */ REFIID riid, /* [in] */ REFIID riid,
/* [annotation][iid_is][out] */ /* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject); _COM_Outptr_ void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )( ULONG ( STDMETHODCALLTYPE *AddRef )(
IMFVideoMediaType * This); IMFVideoMediaType * This);
ULONG ( STDMETHODCALLTYPE *Release )( ULONG ( STDMETHODCALLTYPE *Release )(
IMFVideoMediaType * This); IMFVideoMediaType * This);
HRESULT ( STDMETHODCALLTYPE *GetItem )( HRESULT ( STDMETHODCALLTYPE *GetItem )(
IMFVideoMediaType * This, IMFVideoMediaType * This,
REFGUID guidKey, REFGUID guidKey,
skipping to change at line 2560 skipping to change at line 2975
/* [out] */ GUID *pguidKey, /* [out] */ GUID *pguidKey,
/* [full][out][in] */ PROPVARIANT *pValue); /* [full][out][in] */ PROPVARIANT *pValue);
HRESULT ( STDMETHODCALLTYPE *CopyAllItems )( HRESULT ( STDMETHODCALLTYPE *CopyAllItems )(
IMFVideoMediaType * This, IMFVideoMediaType * This,
/* [in] */ IMFAttributes *pDest); /* [in] */ IMFAttributes *pDest);
HRESULT ( STDMETHODCALLTYPE *GetMajorType )( HRESULT ( STDMETHODCALLTYPE *GetMajorType )(
IMFVideoMediaType * This, IMFVideoMediaType * This,
/* [annotation][out] */ /* [annotation][out] */
__out GUID *pguidMajorType); _Out_ GUID *pguidMajorType);
HRESULT ( STDMETHODCALLTYPE *IsCompressedFormat )( HRESULT ( STDMETHODCALLTYPE *IsCompressedFormat )(
IMFVideoMediaType * This, IMFVideoMediaType * This,
/* [annotation][out] */ /* [annotation][out] */
__out BOOL *pfCompressed); _Out_ BOOL *pfCompressed);
HRESULT ( STDMETHODCALLTYPE *IsEqual )( HRESULT ( STDMETHODCALLTYPE *IsEqual )(
IMFVideoMediaType * This, IMFVideoMediaType * This,
/* [in] */ IMFMediaType *pIMediaType, /* [in] */ IMFMediaType *pIMediaType,
/* [annotation][out] */ /* [annotation][out] */
__out DWORD *pdwFlags); _Out_ DWORD *pdwFlags);
HRESULT ( STDMETHODCALLTYPE *GetRepresentation )( HRESULT ( STDMETHODCALLTYPE *GetRepresentation )(
IMFVideoMediaType * This, IMFVideoMediaType * This,
/* [in] */ GUID guidRepresentation, /* [in] */ GUID guidRepresentation,
/* [annotation][out] */ /* [annotation][out] */
__out LPVOID *ppvRepresentation); _Out_ LPVOID *ppvRepresentation);
HRESULT ( STDMETHODCALLTYPE *FreeRepresentation )( HRESULT ( STDMETHODCALLTYPE *FreeRepresentation )(
IMFVideoMediaType * This, IMFVideoMediaType * This,
/* [in] */ GUID guidRepresentation, /* [in] */ GUID guidRepresentation,
/* [in] */ LPVOID pvRepresentation); /* [in] */ LPVOID pvRepresentation);
const MFVIDEOFORMAT *( STDMETHODCALLTYPE *GetVideoFormat )( const MFVIDEOFORMAT *( STDMETHODCALLTYPE *GetVideoFormat )(
IMFVideoMediaType * This); IMFVideoMediaType * This);
HRESULT ( STDMETHODCALLTYPE *GetVideoRepresentation )( HRESULT ( STDMETHODCALLTYPE *GetVideoRepresentation )(
IMFVideoMediaType * This, IMFVideoMediaType * This,
/* [in] */ GUID guidRepresentation, /* [in] */ GUID guidRepresentation,
/* [annotation][out] */ /* [annotation][out] */
__out LPVOID *ppvRepresentation, _Out_ LPVOID *ppvRepresentation,
/* [in] */ LONG lStride); /* [in] */ LONG lStride);
END_INTERFACE END_INTERFACE
} IMFVideoMediaTypeVtbl; } IMFVideoMediaTypeVtbl;
interface IMFVideoMediaType interface IMFVideoMediaType
{ {
CONST_VTBL struct IMFVideoMediaTypeVtbl *lpVtbl; CONST_VTBL struct IMFVideoMediaTypeVtbl *lpVtbl;
}; };
skipping to change at line 2730 skipping to change at line 3145
#define IMFVideoMediaType_GetVideoRepresentation(This,guidRepresentation,ppvRepr esentation,lStride) \ #define IMFVideoMediaType_GetVideoRepresentation(This,guidRepresentation,ppvRepr esentation,lStride) \
( (This)->lpVtbl -> GetVideoRepresentation(This,guidRepresentation,ppvRepres entation,lStride) ) ( (This)->lpVtbl -> GetVideoRepresentation(This,guidRepresentation,ppvRepres entation,lStride) )
#endif /* COBJMACROS */ #endif /* COBJMACROS */
#endif /* C style interface */ #endif /* C style interface */
#endif /* __IMFVideoMediaType_INTERFACE_DEFINED__ */ #endif /* __IMFVideoMediaType_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_mfobjects_0000_0009 */
/* [local] */
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
extern RPC_IF_HANDLE __MIDL_itf_mfobjects_0000_0009_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_mfobjects_0000_0009_v0_0_s_ifspec;
#ifndef __IMFAsyncResult_INTERFACE_DEFINED__ #ifndef __IMFAsyncResult_INTERFACE_DEFINED__
#define __IMFAsyncResult_INTERFACE_DEFINED__ #define __IMFAsyncResult_INTERFACE_DEFINED__
/* interface IMFAsyncResult */ /* interface IMFAsyncResult */
/* [uuid][object] */ /* [uuid][object] */
EXTERN_C const IID IID_IMFAsyncResult; EXTERN_C const IID IID_IMFAsyncResult;
#if defined(__cplusplus) && !defined(CINTERFACE) #if defined(__cplusplus) && !defined(CINTERFACE)
skipping to change at line 2769 skipping to change at line 3195
#else /* C style interface */ #else /* C style interface */
typedef struct IMFAsyncResultVtbl typedef struct IMFAsyncResultVtbl
{ {
BEGIN_INTERFACE BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )( HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
__RPC__in IMFAsyncResult * This, __RPC__in IMFAsyncResult * This,
/* [in] */ __RPC__in REFIID riid, /* [in] */ __RPC__in REFIID riid,
/* [annotation][iid_is][out] */ /* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject); _COM_Outptr_ void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )( ULONG ( STDMETHODCALLTYPE *AddRef )(
__RPC__in IMFAsyncResult * This); __RPC__in IMFAsyncResult * This);
ULONG ( STDMETHODCALLTYPE *Release )( ULONG ( STDMETHODCALLTYPE *Release )(
__RPC__in IMFAsyncResult * This); __RPC__in IMFAsyncResult * This);
HRESULT ( STDMETHODCALLTYPE *GetState )( HRESULT ( STDMETHODCALLTYPE *GetState )(
__RPC__in IMFAsyncResult * This, __RPC__in IMFAsyncResult * This,
/* [out] */ __RPC__deref_out_opt IUnknown **ppunkState); /* [out] */ __RPC__deref_out_opt IUnknown **ppunkState);
skipping to change at line 2868 skipping to change at line 3294
#else /* C style interface */ #else /* C style interface */
typedef struct IMFAsyncCallbackVtbl typedef struct IMFAsyncCallbackVtbl
{ {
BEGIN_INTERFACE BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )( HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
__RPC__in IMFAsyncCallback * This, __RPC__in IMFAsyncCallback * This,
/* [in] */ __RPC__in REFIID riid, /* [in] */ __RPC__in REFIID riid,
/* [annotation][iid_is][out] */ /* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject); _COM_Outptr_ void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )( ULONG ( STDMETHODCALLTYPE *AddRef )(
__RPC__in IMFAsyncCallback * This); __RPC__in IMFAsyncCallback * This);
ULONG ( STDMETHODCALLTYPE *Release )( ULONG ( STDMETHODCALLTYPE *Release )(
__RPC__in IMFAsyncCallback * This); __RPC__in IMFAsyncCallback * This);
HRESULT ( STDMETHODCALLTYPE *GetParameters )( HRESULT ( STDMETHODCALLTYPE *GetParameters )(
__RPC__in IMFAsyncCallback * This, __RPC__in IMFAsyncCallback * This,
/* [out] */ __RPC__out DWORD *pdwFlags, /* [out] */ __RPC__out DWORD *pdwFlags,
skipping to change at line 2916 skipping to change at line 3342
#define IMFAsyncCallback_Invoke(This,pAsyncResult) \ #define IMFAsyncCallback_Invoke(This,pAsyncResult) \
( (This)->lpVtbl -> Invoke(This,pAsyncResult) ) ( (This)->lpVtbl -> Invoke(This,pAsyncResult) )
#endif /* COBJMACROS */ #endif /* COBJMACROS */
#endif /* C style interface */ #endif /* C style interface */
#endif /* __IMFAsyncCallback_INTERFACE_DEFINED__ */ #endif /* __IMFAsyncCallback_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_mfobjects_0000_0009 */ /* interface __MIDL_itf_mfobjects_0000_0011 */
/* [local] */ /* [local] */
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
#pragma endregion
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
extern RPC_IF_HANDLE __MIDL_itf_mfobjects_0000_0011_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_mfobjects_0000_0011_v0_0_s_ifspec;
#ifndef __IMFAsyncCallbackLogging_INTERFACE_DEFINED__
#define __IMFAsyncCallbackLogging_INTERFACE_DEFINED__
/* interface IMFAsyncCallbackLogging */
/* [local][uuid][object] */
EXTERN_C const IID IID_IMFAsyncCallbackLogging;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("c7a4dca1-f5f0-47b6-b92b-bf0106d25791")
IMFAsyncCallbackLogging : public IMFAsyncCallback
{
public:
virtual void *STDMETHODCALLTYPE GetObjectPointer( void) = 0;
virtual DWORD STDMETHODCALLTYPE GetObjectTag( void) = 0;
};
#else /* C style interface */
typedef struct IMFAsyncCallbackLoggingVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IMFAsyncCallbackLogging * This,
/* [in] */ REFIID riid,
/* [annotation][iid_is][out] */
_COM_Outptr_ void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
IMFAsyncCallbackLogging * This);
ULONG ( STDMETHODCALLTYPE *Release )(
IMFAsyncCallbackLogging * This);
HRESULT ( STDMETHODCALLTYPE *GetParameters )(
IMFAsyncCallbackLogging * This,
/* [out] */ DWORD *pdwFlags,
/* [out] */ DWORD *pdwQueue);
HRESULT ( STDMETHODCALLTYPE *Invoke )(
IMFAsyncCallbackLogging * This,
/* [in] */ IMFAsyncResult *pAsyncResult);
void *( STDMETHODCALLTYPE *GetObjectPointer )(
IMFAsyncCallbackLogging * This);
DWORD ( STDMETHODCALLTYPE *GetObjectTag )(
IMFAsyncCallbackLogging * This);
END_INTERFACE
} IMFAsyncCallbackLoggingVtbl;
interface IMFAsyncCallbackLogging
{
CONST_VTBL struct IMFAsyncCallbackLoggingVtbl *lpVtbl;
};
#ifdef COBJMACROS
#define IMFAsyncCallbackLogging_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
#define IMFAsyncCallbackLogging_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
#define IMFAsyncCallbackLogging_Release(This) \
( (This)->lpVtbl -> Release(This) )
#define IMFAsyncCallbackLogging_GetParameters(This,pdwFlags,pdwQueue) \
( (This)->lpVtbl -> GetParameters(This,pdwFlags,pdwQueue) )
#define IMFAsyncCallbackLogging_Invoke(This,pAsyncResult) \
( (This)->lpVtbl -> Invoke(This,pAsyncResult) )
#define IMFAsyncCallbackLogging_GetObjectPointer(This) \
( (This)->lpVtbl -> GetObjectPointer(This) )
#define IMFAsyncCallbackLogging_GetObjectTag(This) \
( (This)->lpVtbl -> GetObjectTag(This) )
#endif /* COBJMACROS */
#endif /* C style interface */
#endif /* __IMFAsyncCallbackLogging_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_mfobjects_0000_0012 */
/* [local] */
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
#define MFASYNC_FAST_IO_PROCESSING_CALLBACK 0x00000001 #define MFASYNC_FAST_IO_PROCESSING_CALLBACK 0x00000001
#define MFASYNC_SIGNAL_CALLBACK 0x00000002 #define MFASYNC_SIGNAL_CALLBACK 0x00000002
#define MFASYNC_BLOCKING_CALLBACK 0x00000004
#define MFASYNC_REPLY_CALLBACK 0x00000008
#define MFASYNC_LOCALIZE_REMOTE_CALLBACK 0x00000010
#define MFASYNC_CALLBACK_QUEUE_UNDEFINED 0x00000000 #define MFASYNC_CALLBACK_QUEUE_UNDEFINED 0x00000000
#define MFASYNC_CALLBACK_QUEUE_STANDARD 0x00000001 #define MFASYNC_CALLBACK_QUEUE_STANDARD 0x00000001
#define MFASYNC_CALLBACK_QUEUE_RT 0x00000002 #define MFASYNC_CALLBACK_QUEUE_RT 0x00000002
#define MFASYNC_CALLBACK_QUEUE_IO 0x00000003 #define MFASYNC_CALLBACK_QUEUE_IO 0x00000003
#define MFASYNC_CALLBACK_QUEUE_TIMER 0x00000004 #define MFASYNC_CALLBACK_QUEUE_TIMER 0x00000004
#define MFASYNC_CALLBACK_QUEUE_MULTITHREADED 0x00000005
#define MFASYNC_CALLBACK_QUEUE_LONG_FUNCTION 0x00000007 #define MFASYNC_CALLBACK_QUEUE_LONG_FUNCTION 0x00000007
#define MFASYNC_CALLBACK_QUEUE_PRIVATE_MASK 0xFFFF0000 #define MFASYNC_CALLBACK_QUEUE_PRIVATE_MASK 0xFFFF0000
#define MFASYNC_CALLBACK_QUEUE_ALL 0xFFFFFFFF #define MFASYNC_CALLBACK_QUEUE_ALL 0xFFFFFFFF
enum __MIDL___MIDL_itf_mfobjects_0000_0009_0001 enum __MIDL___MIDL_itf_mfobjects_0000_0012_0001
{ MEUnknown = 0, {
MEError = 1, MEUnknown = 0,
MEExtendedType = 2, MEError = 1,
MENonFatalError = 3, MEExtendedType = 2,
MEGenericV1Anchor = MENonFatalError, MENonFatalError = 3,
MESessionUnknown = 100, MEGenericV1Anchor = MENonFatalError,
MESessionTopologySet = 101, MESessionUnknown = 100,
MESessionTopologiesCleared = 102, MESessionTopologySet = 101,
MESessionStarted = 103, MESessionTopologiesCleared = 102,
MESessionPaused = 104, MESessionStarted = 103,
MESessionStopped = 105, MESessionPaused = 104,
MESessionClosed = 106, MESessionStopped = 105,
MESessionEnded = 107, MESessionClosed = 106,
MESessionRateChanged = 108, MESessionEnded = 107,
MESessionScrubSampleComplete = 109, MESessionRateChanged = 108,
MESessionCapabilitiesChanged = 110, MESessionScrubSampleComplete = 109,
MESessionTopologyStatus = 111, MESessionCapabilitiesChanged = 110,
MESessionNotifyPresentationTime = 112, MESessionTopologyStatus = 111,
MENewPresentation = 113, MESessionNotifyPresentationTime = 112,
MELicenseAcquisitionStart = 114, MENewPresentation = 113,
MELicenseAcquisitionCompleted = 115, MELicenseAcquisitionStart = 114,
MEIndividualizationStart = 116, MELicenseAcquisitionCompleted = 115,
MEIndividualizationCompleted = 117, MEIndividualizationStart = 116,
MEEnablerProgress = 118, MEIndividualizationCompleted = 117,
MEEnablerCompleted = 119, MEEnablerProgress = 118,
MEPolicyError = 120, MEEnablerCompleted = 119,
MEPolicyReport = 121, MEPolicyError = 120,
MEBufferingStarted = 122, MEPolicyReport = 121,
MEBufferingStopped = 123, MEBufferingStarted = 122,
MEConnectStart = 124, MEBufferingStopped = 123,
MEConnectEnd = 125, MEConnectStart = 124,
MEReconnectStart = 126, MEConnectEnd = 125,
MEReconnectEnd = 127, MEReconnectStart = 126,
MERendererEvent = 128, MEReconnectEnd = 127,
MESessionStreamSinkFormatChanged = 129, MERendererEvent = 128,
MESessionV1Anchor = MESessionStreamSinkFormatChanged, MESessionStreamSinkFormatChanged = 129,
MESourceUnknown = 200, MESessionV1Anchor = MESessionStreamSinkFormatChanged,
MESourceStarted = 201, MESourceUnknown = 200,
MEStreamStarted = 202, MESourceStarted = 201,
MESourceSeeked = 203, MEStreamStarted = 202,
MEStreamSeeked = 204, MESourceSeeked = 203,
MENewStream = 205, MEStreamSeeked = 204,
MEUpdatedStream = 206, MENewStream = 205,
MESourceStopped = 207, MEUpdatedStream = 206,
MEStreamStopped = 208, MESourceStopped = 207,
MESourcePaused = 209, MEStreamStopped = 208,
MEStreamPaused = 210, MESourcePaused = 209,
MEEndOfPresentation = 211, MEStreamPaused = 210,
MEEndOfStream = 212, MEEndOfPresentation = 211,
MEMediaSample = 213, MEEndOfStream = 212,
MEStreamTick = 214, MEMediaSample = 213,
MEStreamThinMode = 215, MEStreamTick = 214,
MEStreamFormatChanged = 216, MEStreamThinMode = 215,
MESourceRateChanged = 217, MEStreamFormatChanged = 216,
MEEndOfPresentationSegment = 218, MESourceRateChanged = 217,
MESourceCharacteristicsChanged = 219, MEEndOfPresentationSegment = 218,
MESourceRateChangeRequested = 220, MESourceCharacteristicsChanged = 219,
MESourceMetadataChanged = 221, MESourceRateChangeRequested = 220,
MESequencerSourceTopologyUpdated = 222, MESourceMetadataChanged = 221,
MESourceV1Anchor = MESequencerSourceTopologyUpdated, MESequencerSourceTopologyUpdated = 222,
MESinkUnknown = 300, MESourceV1Anchor = MESequencerSourceTopologyUpdated,
MEStreamSinkStarted = 301, MESinkUnknown = 300,
MEStreamSinkStopped = 302, MEStreamSinkStarted = 301,
MEStreamSinkPaused = 303, MEStreamSinkStopped = 302,
MEStreamSinkRateChanged = 304, MEStreamSinkPaused = 303,
MEStreamSinkRequestSample = 305, MEStreamSinkRateChanged = 304,
MEStreamSinkMarker = 306, MEStreamSinkRequestSample = 305,
MEStreamSinkPrerolled = 307, MEStreamSinkMarker = 306,
MEStreamSinkScrubSampleComplete = 308, MEStreamSinkPrerolled = 307,
MEStreamSinkFormatChanged = 309, MEStreamSinkScrubSampleComplete = 308,
MEStreamSinkDeviceChanged = 310, MEStreamSinkFormatChanged = 309,
MEQualityNotify = 311, MEStreamSinkDeviceChanged = 310,
MESinkInvalidated = 312, MEQualityNotify = 311,
MEAudioSessionNameChanged = 313, MESinkInvalidated = 312,
MEAudioSessionVolumeChanged = 314, MEAudioSessionNameChanged = 313,
MEAudioSessionDeviceRemoved = 315, MEAudioSessionVolumeChanged = 314,
MEAudioSessionServerShutdown = 316, MEAudioSessionDeviceRemoved = 315,
MEAudioSessionGroupingParamChanged = 317, MEAudioSessionServerShutdown = 316,
MEAudioSessionIconChanged = 318, MEAudioSessionGroupingParamChanged = 317,
MEAudioSessionFormatChanged = 319, MEAudioSessionIconChanged = 318,
MEAudioSessionDisconnected = 320, MEAudioSessionFormatChanged = 319,
MEAudioSessionExclusiveModeOverride = 321, MEAudioSessionDisconnected = 320,
MESinkV1Anchor = MEAudioSessionExclusiveModeOverride, MEAudioSessionExclusiveModeOverride = 321,
METrustUnknown = 400, MESinkV1Anchor = MEAudioSessionExclusiveModeOverride,
MEPolicyChanged = 401, MECaptureAudioSessionVolumeChanged = 322,
MEContentProtectionMessage = 402, MECaptureAudioSessionDeviceRemoved = 323,
MEPolicySet = 403, MECaptureAudioSessionFormatChanged = 324,
METrustV1Anchor = MEPolicySet, MECaptureAudioSessionDisconnected = 325,
MEWMDRMLicenseBackupCompleted = 500, MECaptureAudioSessionExclusiveModeOverride = 326,
MEWMDRMLicenseBackupProgress = 501, MECaptureAudioSessionServerShutdown = 327,
MEWMDRMLicenseRestoreCompleted = 502, MESinkV2Anchor = MECaptureAudioSessionServerShutdown,
MEWMDRMLicenseRestoreProgress = 503, METrustUnknown = 400,
MEWMDRMLicenseAcquisitionCompleted = 506, MEPolicyChanged = 401,
MEWMDRMIndividualizationCompleted = 508, MEContentProtectionMessage = 402,
MEWMDRMIndividualizationProgress = 513, MEPolicySet = 403,
MEWMDRMProximityCompleted = 514, METrustV1Anchor = MEPolicySet,
MEWMDRMLicenseStoreCleaned = 515, MEWMDRMLicenseBackupCompleted = 500,
MEWMDRMRevocationDownloadCompleted = 516, MEWMDRMLicenseBackupProgress = 501,
MEWMDRMV1Anchor = MEWMDRMRevocationDownloadCompleted, MEWMDRMLicenseRestoreCompleted = 502,
METransformUnknown = 600, MEWMDRMLicenseRestoreProgress = 503,
METransformNeedInput = ( METransformUnknown + 1 ) , MEWMDRMLicenseAcquisitionCompleted = 506,
METransformHaveOutput = ( METransformNeedInput + 1 ) , MEWMDRMIndividualizationCompleted = 508,
METransformDrainComplete = ( METransformHaveOutput + 1 ) , MEWMDRMIndividualizationProgress = 513,
METransformMarker = ( METransformDrainComplete + 1 ) , MEWMDRMProximityCompleted = 514,
MEReservedMax = 10000 MEWMDRMLicenseStoreCleaned = 515,
MEWMDRMRevocationDownloadCompleted = 516,
MEWMDRMV1Anchor = MEWMDRMRevocationDownloadCompleted,
METransformUnknown = 600,
METransformNeedInput = ( METransformUnknown + 1 ) ,
METransformHaveOutput = ( METransformNeedInput + 1 ) ,
METransformDrainComplete = ( METransformHaveOutput + 1 ) ,
METransformMarker = ( METransformDrainComplete + 1 ) ,
MEByteStreamCharacteristicsChanged = 700,
MEVideoCaptureDeviceRemoved = 800,
MEVideoCaptureDevicePreempted = 801,
MEStreamSinkFormatInvalidated = 802,
MEEncodingParameters = 803,
MEContentProtectionMetadata = 900,
MEReservedMax = 10000
} ; } ;
typedef DWORD MediaEventType; typedef DWORD MediaEventType;
extern RPC_IF_HANDLE __MIDL_itf_mfobjects_0000_0009_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_mfobjects_0000_0012_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_mfobjects_0000_0009_v0_0_s_ifspec; extern RPC_IF_HANDLE __MIDL_itf_mfobjects_0000_0012_v0_0_s_ifspec;
#ifndef __IMFMediaEvent_INTERFACE_DEFINED__ #ifndef __IMFMediaEvent_INTERFACE_DEFINED__
#define __IMFMediaEvent_INTERFACE_DEFINED__ #define __IMFMediaEvent_INTERFACE_DEFINED__
/* interface IMFMediaEvent */ /* interface IMFMediaEvent */
/* [uuid][object] */ /* [uuid][object] */
EXTERN_C const IID IID_IMFMediaEvent; EXTERN_C const IID IID_IMFMediaEvent;
#if defined(__cplusplus) && !defined(CINTERFACE) #if defined(__cplusplus) && !defined(CINTERFACE)
skipping to change at line 3080 skipping to change at line 3629
#else /* C style interface */ #else /* C style interface */
typedef struct IMFMediaEventVtbl typedef struct IMFMediaEventVtbl
{ {
BEGIN_INTERFACE BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )( HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
__RPC__in IMFMediaEvent * This, __RPC__in IMFMediaEvent * This,
/* [in] */ __RPC__in REFIID riid, /* [in] */ __RPC__in REFIID riid,
/* [annotation][iid_is][out] */ /* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject); _COM_Outptr_ void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )( ULONG ( STDMETHODCALLTYPE *AddRef )(
__RPC__in IMFMediaEvent * This); __RPC__in IMFMediaEvent * This);
ULONG ( STDMETHODCALLTYPE *Release )( ULONG ( STDMETHODCALLTYPE *Release )(
__RPC__in IMFMediaEvent * This); __RPC__in IMFMediaEvent * This);
HRESULT ( STDMETHODCALLTYPE *GetItem )( HRESULT ( STDMETHODCALLTYPE *GetItem )(
__RPC__in IMFMediaEvent * This, __RPC__in IMFMediaEvent * This,
__RPC__in REFGUID guidKey, __RPC__in REFGUID guidKey,
skipping to change at line 3383 skipping to change at line 3932
#define IMFMediaEvent_GetValue(This,pvValue) \ #define IMFMediaEvent_GetValue(This,pvValue) \
( (This)->lpVtbl -> GetValue(This,pvValue) ) ( (This)->lpVtbl -> GetValue(This,pvValue) )
#endif /* COBJMACROS */ #endif /* COBJMACROS */
#endif /* C style interface */ #endif /* C style interface */
#endif /* __IMFMediaEvent_INTERFACE_DEFINED__ */ #endif /* __IMFMediaEvent_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_mfobjects_0000_0010 */ /* interface __MIDL_itf_mfobjects_0000_0013 */
/* [local] */ /* [local] */
#define MF_EVENT_FLAG_NO_WAIT 0x00000001 #define MF_EVENT_FLAG_NO_WAIT 0x00000001
extern RPC_IF_HANDLE __MIDL_itf_mfobjects_0000_0010_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_mfobjects_0000_0013_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_mfobjects_0000_0010_v0_0_s_ifspec; extern RPC_IF_HANDLE __MIDL_itf_mfobjects_0000_0013_v0_0_s_ifspec;
#ifndef __IMFMediaEventGenerator_INTERFACE_DEFINED__ #ifndef __IMFMediaEventGenerator_INTERFACE_DEFINED__
#define __IMFMediaEventGenerator_INTERFACE_DEFINED__ #define __IMFMediaEventGenerator_INTERFACE_DEFINED__
/* interface IMFMediaEventGenerator */ /* interface IMFMediaEventGenerator */
/* [uuid][object] */ /* [uuid][object] */
EXTERN_C const IID IID_IMFMediaEventGenerator; EXTERN_C const IID IID_IMFMediaEventGenerator;
#if defined(__cplusplus) && !defined(CINTERFACE) #if defined(__cplusplus) && !defined(CINTERFACE)
skipping to change at line 3416 skipping to change at line 3965
/* [in] */ DWORD dwFlags, /* [in] */ DWORD dwFlags,
/* [out] */ __RPC__deref_out_opt IMFMediaEvent **ppEvent) = 0; /* [out] */ __RPC__deref_out_opt IMFMediaEvent **ppEvent) = 0;
virtual /* [local] */ HRESULT STDMETHODCALLTYPE BeginGetEvent( virtual /* [local] */ HRESULT STDMETHODCALLTYPE BeginGetEvent(
/* [in] */ IMFAsyncCallback *pCallback, /* [in] */ IMFAsyncCallback *pCallback,
/* [in] */ IUnknown *punkState) = 0; /* [in] */ IUnknown *punkState) = 0;
virtual /* [local] */ HRESULT STDMETHODCALLTYPE EndGetEvent( virtual /* [local] */ HRESULT STDMETHODCALLTYPE EndGetEvent(
/* [in] */ IMFAsyncResult *pResult, /* [in] */ IMFAsyncResult *pResult,
/* [annotation][out] */ /* [annotation][out] */
__out IMFMediaEvent **ppEvent) = 0; _Out_ IMFMediaEvent **ppEvent) = 0;
virtual HRESULT STDMETHODCALLTYPE QueueEvent( virtual HRESULT STDMETHODCALLTYPE QueueEvent(
/* [in] */ MediaEventType met, /* [in] */ MediaEventType met,
/* [in] */ __RPC__in REFGUID guidExtendedType, /* [in] */ __RPC__in REFGUID guidExtendedType,
/* [in] */ HRESULT hrStatus, /* [in] */ HRESULT hrStatus,
/* [unique][in] */ __RPC__in_opt const PROPVARIANT *pvValue) = 0; /* [unique][in] */ __RPC__in_opt const PROPVARIANT *pvValue) = 0;
}; };
#else /* C style interface */ #else /* C style interface */
typedef struct IMFMediaEventGeneratorVtbl typedef struct IMFMediaEventGeneratorVtbl
{ {
BEGIN_INTERFACE BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )( HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
__RPC__in IMFMediaEventGenerator * This, __RPC__in IMFMediaEventGenerator * This,
/* [in] */ __RPC__in REFIID riid, /* [in] */ __RPC__in REFIID riid,
/* [annotation][iid_is][out] */ /* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject); _COM_Outptr_ void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )( ULONG ( STDMETHODCALLTYPE *AddRef )(
__RPC__in IMFMediaEventGenerator * This); __RPC__in IMFMediaEventGenerator * This);
ULONG ( STDMETHODCALLTYPE *Release )( ULONG ( STDMETHODCALLTYPE *Release )(
__RPC__in IMFMediaEventGenerator * This); __RPC__in IMFMediaEventGenerator * This);
HRESULT ( STDMETHODCALLTYPE *GetEvent )( HRESULT ( STDMETHODCALLTYPE *GetEvent )(
__RPC__in IMFMediaEventGenerator * This, __RPC__in IMFMediaEventGenerator * This,
/* [in] */ DWORD dwFlags, /* [in] */ DWORD dwFlags,
skipping to change at line 3458 skipping to change at line 4007
/* [local] */ HRESULT ( STDMETHODCALLTYPE *BeginGetEvent )( /* [local] */ HRESULT ( STDMETHODCALLTYPE *BeginGetEvent )(
IMFMediaEventGenerator * This, IMFMediaEventGenerator * This,
/* [in] */ IMFAsyncCallback *pCallback, /* [in] */ IMFAsyncCallback *pCallback,
/* [in] */ IUnknown *punkState); /* [in] */ IUnknown *punkState);
/* [local] */ HRESULT ( STDMETHODCALLTYPE *EndGetEvent )( /* [local] */ HRESULT ( STDMETHODCALLTYPE *EndGetEvent )(
IMFMediaEventGenerator * This, IMFMediaEventGenerator * This,
/* [in] */ IMFAsyncResult *pResult, /* [in] */ IMFAsyncResult *pResult,
/* [annotation][out] */ /* [annotation][out] */
__out IMFMediaEvent **ppEvent); _Out_ IMFMediaEvent **ppEvent);
HRESULT ( STDMETHODCALLTYPE *QueueEvent )( HRESULT ( STDMETHODCALLTYPE *QueueEvent )(
__RPC__in IMFMediaEventGenerator * This, __RPC__in IMFMediaEventGenerator * This,
/* [in] */ MediaEventType met, /* [in] */ MediaEventType met,
/* [in] */ __RPC__in REFGUID guidExtendedType, /* [in] */ __RPC__in REFGUID guidExtendedType,
/* [in] */ HRESULT hrStatus, /* [in] */ HRESULT hrStatus,
/* [unique][in] */ __RPC__in_opt const PROPVARIANT *pvValue); /* [unique][in] */ __RPC__in_opt const PROPVARIANT *pvValue);
END_INTERFACE END_INTERFACE
} IMFMediaEventGeneratorVtbl; } IMFMediaEventGeneratorVtbl;
skipping to change at line 3526 skipping to change at line 4075
/* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pcbEvent) BY TE **ppbEvent); /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pcbEvent) BY TE **ppbEvent);
void __RPC_STUB IMFMediaEventGenerator_RemoteEndGetEvent_Stub( void __RPC_STUB IMFMediaEventGenerator_RemoteEndGetEvent_Stub(
IRpcStubBuffer *This, IRpcStubBuffer *This,
IRpcChannelBuffer *_pRpcChannelBuffer, IRpcChannelBuffer *_pRpcChannelBuffer,
PRPC_MESSAGE _pRpcMessage, PRPC_MESSAGE _pRpcMessage,
DWORD *_pdwStubPhase); DWORD *_pdwStubPhase);
#endif /* __IMFMediaEventGenerator_INTERFACE_DEFINED__ */ #endif /* __IMFMediaEventGenerator_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_mfobjects_0000_0014 */
/* [local] */
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
#pragma endregion
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
extern RPC_IF_HANDLE __MIDL_itf_mfobjects_0000_0014_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_mfobjects_0000_0014_v0_0_s_ifspec;
#ifndef __IMFRemoteAsyncCallback_INTERFACE_DEFINED__ #ifndef __IMFRemoteAsyncCallback_INTERFACE_DEFINED__
#define __IMFRemoteAsyncCallback_INTERFACE_DEFINED__ #define __IMFRemoteAsyncCallback_INTERFACE_DEFINED__
/* interface IMFRemoteAsyncCallback */ /* interface IMFRemoteAsyncCallback */
/* [uuid][object] */ /* [uuid][object] */
EXTERN_C const IID IID_IMFRemoteAsyncCallback; EXTERN_C const IID IID_IMFRemoteAsyncCallback;
#if defined(__cplusplus) && !defined(CINTERFACE) #if defined(__cplusplus) && !defined(CINTERFACE)
skipping to change at line 3556 skipping to change at line 4116
#else /* C style interface */ #else /* C style interface */
typedef struct IMFRemoteAsyncCallbackVtbl typedef struct IMFRemoteAsyncCallbackVtbl
{ {
BEGIN_INTERFACE BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )( HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
__RPC__in IMFRemoteAsyncCallback * This, __RPC__in IMFRemoteAsyncCallback * This,
/* [in] */ __RPC__in REFIID riid, /* [in] */ __RPC__in REFIID riid,
/* [annotation][iid_is][out] */ /* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject); _COM_Outptr_ void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )( ULONG ( STDMETHODCALLTYPE *AddRef )(
__RPC__in IMFRemoteAsyncCallback * This); __RPC__in IMFRemoteAsyncCallback * This);
ULONG ( STDMETHODCALLTYPE *Release )( ULONG ( STDMETHODCALLTYPE *Release )(
__RPC__in IMFRemoteAsyncCallback * This); __RPC__in IMFRemoteAsyncCallback * This);
HRESULT ( STDMETHODCALLTYPE *Invoke )( HRESULT ( STDMETHODCALLTYPE *Invoke )(
__RPC__in IMFRemoteAsyncCallback * This, __RPC__in IMFRemoteAsyncCallback * This,
/* [in] */ HRESULT hr, /* [in] */ HRESULT hr,
skipping to change at line 3597 skipping to change at line 4157
#define IMFRemoteAsyncCallback_Invoke(This,hr,pRemoteResult) \ #define IMFRemoteAsyncCallback_Invoke(This,hr,pRemoteResult) \
( (This)->lpVtbl -> Invoke(This,hr,pRemoteResult) ) ( (This)->lpVtbl -> Invoke(This,hr,pRemoteResult) )
#endif /* COBJMACROS */ #endif /* COBJMACROS */
#endif /* C style interface */ #endif /* C style interface */
#endif /* __IMFRemoteAsyncCallback_INTERFACE_DEFINED__ */ #endif /* __IMFRemoteAsyncCallback_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_mfobjects_0000_0012 */ /* interface __MIDL_itf_mfobjects_0000_0015 */
/* [local] */ /* [local] */
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
typedef typedef
enum _MFBYTESTREAM_SEEK_ORIGIN enum _MFBYTESTREAM_SEEK_ORIGIN
{ msoBegin = 0, {
msoCurrent = ( msoBegin + 1 ) msoBegin = 0,
msoCurrent = ( msoBegin + 1 )
} MFBYTESTREAM_SEEK_ORIGIN; } MFBYTESTREAM_SEEK_ORIGIN;
extern RPC_IF_HANDLE __MIDL_itf_mfobjects_0000_0012_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_mfobjects_0000_0015_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_mfobjects_0000_0012_v0_0_s_ifspec; extern RPC_IF_HANDLE __MIDL_itf_mfobjects_0000_0015_v0_0_s_ifspec;
#ifndef __IMFByteStream_INTERFACE_DEFINED__ #ifndef __IMFByteStream_INTERFACE_DEFINED__
#define __IMFByteStream_INTERFACE_DEFINED__ #define __IMFByteStream_INTERFACE_DEFINED__
/* interface IMFByteStream */ /* interface IMFByteStream */
/* [uuid][object] */ /* [uuid][object] */
EXTERN_C const IID IID_IMFByteStream; EXTERN_C const IID IID_IMFByteStream;
#if defined(__cplusplus) && !defined(CINTERFACE) #if defined(__cplusplus) && !defined(CINTERFACE)
skipping to change at line 3641 skipping to change at line 4206
virtual HRESULT STDMETHODCALLTYPE GetCurrentPosition( virtual HRESULT STDMETHODCALLTYPE GetCurrentPosition(
/* [out] */ __RPC__out QWORD *pqwPosition) = 0; /* [out] */ __RPC__out QWORD *pqwPosition) = 0;
virtual HRESULT STDMETHODCALLTYPE SetCurrentPosition( virtual HRESULT STDMETHODCALLTYPE SetCurrentPosition(
/* [in] */ QWORD qwPosition) = 0; /* [in] */ QWORD qwPosition) = 0;
virtual HRESULT STDMETHODCALLTYPE IsEndOfStream( virtual HRESULT STDMETHODCALLTYPE IsEndOfStream(
/* [out] */ __RPC__out BOOL *pfEndOfStream) = 0; /* [out] */ __RPC__out BOOL *pfEndOfStream) = 0;
virtual /* [local] */ HRESULT STDMETHODCALLTYPE Read( virtual HRESULT STDMETHODCALLTYPE Read(
/* [annotation][in] */ /* [size_is][out] */ __RPC__out_ecount_full(cb) BYTE *pb,
__out_bcount_part(cb, *pcbRead) BYTE *pb,
/* [in] */ ULONG cb, /* [in] */ ULONG cb,
/* [annotation][out] */ /* [out] */ __RPC__out ULONG *pcbRead) = 0;
__out ULONG *pcbRead) = 0;
virtual /* [local] */ HRESULT STDMETHODCALLTYPE BeginRead( virtual /* [local] */ HRESULT STDMETHODCALLTYPE BeginRead(
/* [annotation][in] */ /* [annotation][out] */
__out_bcount(cb) BYTE *pb, _Out_writes_bytes_(cb) BYTE *pb,
/* [in] */ ULONG cb, /* [in] */ ULONG cb,
/* [in] */ IMFAsyncCallback *pCallback, /* [in] */ IMFAsyncCallback *pCallback,
/* [in] */ IUnknown *punkState) = 0; /* [in] */ IUnknown *punkState) = 0;
virtual /* [local] */ HRESULT STDMETHODCALLTYPE EndRead( virtual /* [local] */ HRESULT STDMETHODCALLTYPE EndRead(
/* [in] */ IMFAsyncResult *pResult, /* [in] */ IMFAsyncResult *pResult,
/* [annotation][out] */ /* [annotation][out] */
__out ULONG *pcbRead) = 0; _Out_ ULONG *pcbRead) = 0;
virtual /* [local] */ HRESULT STDMETHODCALLTYPE Write( virtual HRESULT STDMETHODCALLTYPE Write(
/* [annotation][in] */ /* [size_is][in] */ __RPC__in_ecount_full(cb) const BYTE *pb,
__in_bcount(cb) const BYTE *pb,
/* [in] */ ULONG cb, /* [in] */ ULONG cb,
/* [annotation][out] */ /* [out] */ __RPC__out ULONG *pcbWritten) = 0;
__out __deref_out_range(<=, cb) ULONG *pcbWritten) = 0;
virtual /* [local] */ HRESULT STDMETHODCALLTYPE BeginWrite( virtual /* [local] */ HRESULT STDMETHODCALLTYPE BeginWrite(
/* [annotation][in] */ /* [annotation][in] */
__in_bcount(cb) const BYTE *pb, _In_reads_bytes_(cb) const BYTE *pb,
/* [in] */ ULONG cb, /* [in] */ ULONG cb,
/* [in] */ IMFAsyncCallback *pCallback, /* [in] */ IMFAsyncCallback *pCallback,
/* [in] */ IUnknown *punkState) = 0; /* [in] */ IUnknown *punkState) = 0;
virtual /* [local] */ HRESULT STDMETHODCALLTYPE EndWrite( virtual /* [local] */ HRESULT STDMETHODCALLTYPE EndWrite(
/* [in] */ IMFAsyncResult *pResult, /* [in] */ IMFAsyncResult *pResult,
/* [annotation][out] */ /* [annotation][out] */
__out ULONG *pcbWritten) = 0; _Out_ ULONG *pcbWritten) = 0;
virtual /* [local] */ HRESULT STDMETHODCALLTYPE Seek( virtual HRESULT STDMETHODCALLTYPE Seek(
/* [in] */ MFBYTESTREAM_SEEK_ORIGIN SeekOrigin, /* [in] */ MFBYTESTREAM_SEEK_ORIGIN SeekOrigin,
/* [in] */ LONGLONG llSeekOffset, /* [in] */ LONGLONG llSeekOffset,
/* [in] */ DWORD dwSeekFlags, /* [in] */ DWORD dwSeekFlags,
/* [annotation][out] */ /* [out] */ __RPC__out QWORD *pqwCurrentPosition) = 0;
__out_opt QWORD *pqwCurrentPosition) = 0;
virtual HRESULT STDMETHODCALLTYPE Flush( void) = 0; virtual HRESULT STDMETHODCALLTYPE Flush( void) = 0;
virtual HRESULT STDMETHODCALLTYPE Close( void) = 0; virtual HRESULT STDMETHODCALLTYPE Close( void) = 0;
}; };
#else /* C style interface */ #else /* C style interface */
typedef struct IMFByteStreamVtbl typedef struct IMFByteStreamVtbl
{ {
BEGIN_INTERFACE BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )( HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
__RPC__in IMFByteStream * This, __RPC__in IMFByteStream * This,
/* [in] */ __RPC__in REFIID riid, /* [in] */ __RPC__in REFIID riid,
/* [annotation][iid_is][out] */ /* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject); _COM_Outptr_ void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )( ULONG ( STDMETHODCALLTYPE *AddRef )(
__RPC__in IMFByteStream * This); __RPC__in IMFByteStream * This);
ULONG ( STDMETHODCALLTYPE *Release )( ULONG ( STDMETHODCALLTYPE *Release )(
__RPC__in IMFByteStream * This); __RPC__in IMFByteStream * This);
HRESULT ( STDMETHODCALLTYPE *GetCapabilities )( HRESULT ( STDMETHODCALLTYPE *GetCapabilities )(
__RPC__in IMFByteStream * This, __RPC__in IMFByteStream * This,
/* [out] */ __RPC__out DWORD *pdwCapabilities); /* [out] */ __RPC__out DWORD *pdwCapabilities);
skipping to change at line 3734 skipping to change at line 4294
/* [out] */ __RPC__out QWORD *pqwPosition); /* [out] */ __RPC__out QWORD *pqwPosition);
HRESULT ( STDMETHODCALLTYPE *SetCurrentPosition )( HRESULT ( STDMETHODCALLTYPE *SetCurrentPosition )(
__RPC__in IMFByteStream * This, __RPC__in IMFByteStream * This,
/* [in] */ QWORD qwPosition); /* [in] */ QWORD qwPosition);
HRESULT ( STDMETHODCALLTYPE *IsEndOfStream )( HRESULT ( STDMETHODCALLTYPE *IsEndOfStream )(
__RPC__in IMFByteStream * This, __RPC__in IMFByteStream * This,
/* [out] */ __RPC__out BOOL *pfEndOfStream); /* [out] */ __RPC__out BOOL *pfEndOfStream);
/* [local] */ HRESULT ( STDMETHODCALLTYPE *Read )( HRESULT ( STDMETHODCALLTYPE *Read )(
IMFByteStream * This, __RPC__in IMFByteStream * This,
/* [annotation][in] */ /* [size_is][out] */ __RPC__out_ecount_full(cb) BYTE *pb,
__out_bcount_part(cb, *pcbRead) BYTE *pb,
/* [in] */ ULONG cb, /* [in] */ ULONG cb,
/* [annotation][out] */ /* [out] */ __RPC__out ULONG *pcbRead);
__out ULONG *pcbRead);
/* [local] */ HRESULT ( STDMETHODCALLTYPE *BeginRead )( /* [local] */ HRESULT ( STDMETHODCALLTYPE *BeginRead )(
IMFByteStream * This, IMFByteStream * This,
/* [annotation][in] */ /* [annotation][out] */
__out_bcount(cb) BYTE *pb, _Out_writes_bytes_(cb) BYTE *pb,
/* [in] */ ULONG cb, /* [in] */ ULONG cb,
/* [in] */ IMFAsyncCallback *pCallback, /* [in] */ IMFAsyncCallback *pCallback,
/* [in] */ IUnknown *punkState); /* [in] */ IUnknown *punkState);
/* [local] */ HRESULT ( STDMETHODCALLTYPE *EndRead )( /* [local] */ HRESULT ( STDMETHODCALLTYPE *EndRead )(
IMFByteStream * This, IMFByteStream * This,
/* [in] */ IMFAsyncResult *pResult, /* [in] */ IMFAsyncResult *pResult,
/* [annotation][out] */ /* [annotation][out] */
__out ULONG *pcbRead); _Out_ ULONG *pcbRead);
/* [local] */ HRESULT ( STDMETHODCALLTYPE *Write )( HRESULT ( STDMETHODCALLTYPE *Write )(
IMFByteStream * This, __RPC__in IMFByteStream * This,
/* [annotation][in] */ /* [size_is][in] */ __RPC__in_ecount_full(cb) const BYTE *pb,
__in_bcount(cb) const BYTE *pb,
/* [in] */ ULONG cb, /* [in] */ ULONG cb,
/* [annotation][out] */ /* [out] */ __RPC__out ULONG *pcbWritten);
__out __deref_out_range(<=, cb) ULONG *pcbWritten);
/* [local] */ HRESULT ( STDMETHODCALLTYPE *BeginWrite )( /* [local] */ HRESULT ( STDMETHODCALLTYPE *BeginWrite )(
IMFByteStream * This, IMFByteStream * This,
/* [annotation][in] */ /* [annotation][in] */
__in_bcount(cb) const BYTE *pb, _In_reads_bytes_(cb) const BYTE *pb,
/* [in] */ ULONG cb, /* [in] */ ULONG cb,
/* [in] */ IMFAsyncCallback *pCallback, /* [in] */ IMFAsyncCallback *pCallback,
/* [in] */ IUnknown *punkState); /* [in] */ IUnknown *punkState);
/* [local] */ HRESULT ( STDMETHODCALLTYPE *EndWrite )( /* [local] */ HRESULT ( STDMETHODCALLTYPE *EndWrite )(
IMFByteStream * This, IMFByteStream * This,
/* [in] */ IMFAsyncResult *pResult, /* [in] */ IMFAsyncResult *pResult,
/* [annotation][out] */ /* [annotation][out] */
__out ULONG *pcbWritten); _Out_ ULONG *pcbWritten);
/* [local] */ HRESULT ( STDMETHODCALLTYPE *Seek )( HRESULT ( STDMETHODCALLTYPE *Seek )(
IMFByteStream * This, __RPC__in IMFByteStream * This,
/* [in] */ MFBYTESTREAM_SEEK_ORIGIN SeekOrigin, /* [in] */ MFBYTESTREAM_SEEK_ORIGIN SeekOrigin,
/* [in] */ LONGLONG llSeekOffset, /* [in] */ LONGLONG llSeekOffset,
/* [in] */ DWORD dwSeekFlags, /* [in] */ DWORD dwSeekFlags,
/* [annotation][out] */ /* [out] */ __RPC__out QWORD *pqwCurrentPosition);
__out_opt QWORD *pqwCurrentPosition);
HRESULT ( STDMETHODCALLTYPE *Flush )( HRESULT ( STDMETHODCALLTYPE *Flush )(
__RPC__in IMFByteStream * This); __RPC__in IMFByteStream * This);
HRESULT ( STDMETHODCALLTYPE *Close )( HRESULT ( STDMETHODCALLTYPE *Close )(
__RPC__in IMFByteStream * This); __RPC__in IMFByteStream * This);
END_INTERFACE END_INTERFACE
} IMFByteStreamVtbl; } IMFByteStreamVtbl;
skipping to change at line 3860 skipping to change at line 4415
#define IMFByteStream_Flush(This) \ #define IMFByteStream_Flush(This) \
( (This)->lpVtbl -> Flush(This) ) ( (This)->lpVtbl -> Flush(This) )
#define IMFByteStream_Close(This) \ #define IMFByteStream_Close(This) \
( (This)->lpVtbl -> Close(This) ) ( (This)->lpVtbl -> Close(This) )
#endif /* COBJMACROS */ #endif /* COBJMACROS */
#endif /* C style interface */ #endif /* C style interface */
/* [call_as] */ HRESULT STDMETHODCALLTYPE IMFByteStream_RemoteBeginRead_Proxy(
__RPC__in IMFByteStream * This,
/* [in] */ ULONG cb,
/* [in] */ __RPC__in_opt IMFRemoteAsyncCallback *pCallback);
void __RPC_STUB IMFByteStream_RemoteBeginRead_Stub(
IRpcStubBuffer *This,
IRpcChannelBuffer *_pRpcChannelBuffer,
PRPC_MESSAGE _pRpcMessage,
DWORD *_pdwStubPhase);
/* [call_as] */ HRESULT STDMETHODCALLTYPE IMFByteStream_RemoteEndRead_Proxy(
__RPC__in IMFByteStream * This,
/* [in] */ __RPC__in_opt IUnknown *punkResult,
/* [size_is][out] */ __RPC__out_ecount_full(cb) BYTE *pb,
/* [in] */ ULONG cb,
/* [out] */ __RPC__out ULONG *pcbRead);
void __RPC_STUB IMFByteStream_RemoteEndRead_Stub(
IRpcStubBuffer *This,
IRpcChannelBuffer *_pRpcChannelBuffer,
PRPC_MESSAGE _pRpcMessage,
DWORD *_pdwStubPhase);
/* [call_as] */ HRESULT STDMETHODCALLTYPE IMFByteStream_RemoteBeginWrite_Proxy(
__RPC__in IMFByteStream * This,
/* [size_is][in] */ __RPC__in_ecount_full(cb) const BYTE *pb,
/* [in] */ ULONG cb,
/* [in] */ __RPC__in_opt IMFRemoteAsyncCallback *pCallback);
void __RPC_STUB IMFByteStream_RemoteBeginWrite_Stub(
IRpcStubBuffer *This,
IRpcChannelBuffer *_pRpcChannelBuffer,
PRPC_MESSAGE _pRpcMessage,
DWORD *_pdwStubPhase);
/* [call_as] */ HRESULT STDMETHODCALLTYPE IMFByteStream_RemoteEndWrite_Proxy(
__RPC__in IMFByteStream * This,
/* [in] */ __RPC__in_opt IUnknown *punkResult,
/* [out] */ __RPC__out ULONG *pcbWritten);
void __RPC_STUB IMFByteStream_RemoteEndWrite_Stub(
IRpcStubBuffer *This,
IRpcChannelBuffer *_pRpcChannelBuffer,
PRPC_MESSAGE _pRpcMessage,
DWORD *_pdwStubPhase);
#endif /* __IMFByteStream_INTERFACE_DEFINED__ */ #endif /* __IMFByteStream_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_mfobjects_0000_0013 */ /* interface __MIDL_itf_mfobjects_0000_0016 */
/* [local] */ /* [local] */
#define MFBYTESTREAM_IS_READABLE 0x00000001 #define MFBYTESTREAM_IS_READABLE 0x00000001
#define MFBYTESTREAM_IS_WRITABLE 0x00000002 #define MFBYTESTREAM_IS_WRITABLE 0x00000002
#define MFBYTESTREAM_IS_SEEKABLE 0x00000004 #define MFBYTESTREAM_IS_SEEKABLE 0x00000004
#define MFBYTESTREAM_IS_REMOTE 0x00000008 #define MFBYTESTREAM_IS_REMOTE 0x00000008
#define MFBYTESTREAM_IS_DIRECTORY 0x00000080 #define MFBYTESTREAM_IS_DIRECTORY 0x00000080
#define MFBYTESTREAM_HAS_SLOW_SEEK 0x00000100 #define MFBYTESTREAM_HAS_SLOW_SEEK 0x00000100
#define MFBYTESTREAM_IS_PARTIALLY_DOWNLOADED 0x00000200 #define MFBYTESTREAM_IS_PARTIALLY_DOWNLOADED 0x00000200
#if (WINVER >= _WIN32_WINNT_WIN7) #if (WINVER >= _WIN32_WINNT_WIN7)
#define MFBYTESTREAM_SHARE_WRITE 0x00000400 #define MFBYTESTREAM_SHARE_WRITE 0x00000400
#endif // (WINVER >= _WIN32_WINNT_WIN7) #endif // (WINVER >= _WIN32_WINNT_WIN7)
#if (WINVER >= _WIN32_WINNT_WIN8)
#define MFBYTESTREAM_DOES_NOT_USE_NETWORK 0x00000800
#endif // (WINVER >= _WIN32_WINNT_WIN8)
#define MFBYTESTREAM_SEEK_FLAG_CANCEL_PENDING_IO 0x00000001 #define MFBYTESTREAM_SEEK_FLAG_CANCEL_PENDING_IO 0x00000001
EXTERN_GUID( MF_BYTESTREAM_ORIGIN_NAME, 0xfc358288, 0x3cb6, 0x460c, 0xa4, 0x24, 0xb6, 0x68, 0x12, 0x60, 0x37, 0x5a); EXTERN_GUID( MF_BYTESTREAM_ORIGIN_NAME, 0xfc358288, 0x3cb6, 0x460c, 0xa4, 0x24, 0xb6, 0x68, 0x12, 0x60, 0x37, 0x5a);
EXTERN_GUID( MF_BYTESTREAM_CONTENT_TYPE, 0xfc358289, 0x3cb6, 0x460c, 0xa4, 0x24, 0xb6, 0x68, 0x12, 0x60, 0x37, 0x5a); EXTERN_GUID( MF_BYTESTREAM_CONTENT_TYPE, 0xfc358289, 0x3cb6, 0x460c, 0xa4, 0x24, 0xb6, 0x68, 0x12, 0x60, 0x37, 0x5a);
EXTERN_GUID( MF_BYTESTREAM_DURATION, 0xfc35828a, 0x3cb6, 0x460c, 0xa4, 0x24, 0xb 6, 0x68, 0x12, 0x60, 0x37, 0x5a); EXTERN_GUID( MF_BYTESTREAM_DURATION, 0xfc35828a, 0x3cb6, 0x460c, 0xa4, 0x24, 0xb 6, 0x68, 0x12, 0x60, 0x37, 0x5a);
EXTERN_GUID( MF_BYTESTREAM_LAST_MODIFIED_TIME, 0xfc35828b, 0x3cb6, 0x460c, 0xa4, 0x24, 0xb6, 0x68, 0x12, 0x60, 0x37, 0x5a); EXTERN_GUID( MF_BYTESTREAM_LAST_MODIFIED_TIME, 0xfc35828b, 0x3cb6, 0x460c, 0xa4, 0x24, 0xb6, 0x68, 0x12, 0x60, 0x37, 0x5a);
#if (WINVER >= _WIN32_WINNT_WIN7) #if (WINVER >= _WIN32_WINNT_WIN7)
EXTERN_GUID( MF_BYTESTREAM_IFO_FILE_URI, 0xfc35828c, 0x3cb6, 0x460c, 0xa4, 0x24, 0xb6, 0x68, 0x12, 0x60, 0x37, 0x5a); EXTERN_GUID( MF_BYTESTREAM_IFO_FILE_URI, 0xfc35828c, 0x3cb6, 0x460c, 0xa4, 0x24, 0xb6, 0x68, 0x12, 0x60, 0x37, 0x5a);
EXTERN_GUID( MF_BYTESTREAM_DLNA_PROFILE_ID, 0xfc35828d, 0x3cb6, 0x460c, 0xa4, 0x 24, 0xb6, 0x68, 0x12, 0x60, 0x37, 0x5a); EXTERN_GUID( MF_BYTESTREAM_DLNA_PROFILE_ID, 0xfc35828d, 0x3cb6, 0x460c, 0xa4, 0x 24, 0xb6, 0x68, 0x12, 0x60, 0x37, 0x5a);
EXTERN_GUID( MF_BYTESTREAM_EFFECTIVE_URL, 0x9afa0209, 0x89d1, 0x42af, 0x84, 0x56
, 0x1d, 0xe6, 0xb5, 0x62, 0xd6, 0x91);
EXTERN_GUID( MF_BYTESTREAM_TRANSCODED, 0xb6c5c282, 0x4dc9, 0x4db9, 0xab, 0x48, 0
xcf, 0x3b, 0x6d, 0x8b, 0xc5, 0xe0 );
#endif // (WINVER >= _WIN32_WINNT_WIN7) #endif // (WINVER >= _WIN32_WINNT_WIN7)
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
#pragma endregion
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
EXTERN_GUID(CLSID_MFByteStreamProxyClassFactory, 0x770e8e77, 0x4916, 0x441c, 0xa
9, 0xa7, 0xb3, 0x42, 0xd0, 0xee, 0xbc, 0x71 );
extern RPC_IF_HANDLE __MIDL_itf_mfobjects_0000_0016_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_mfobjects_0000_0016_v0_0_s_ifspec;
#ifndef __IMFByteStreamProxyClassFactory_INTERFACE_DEFINED__
#define __IMFByteStreamProxyClassFactory_INTERFACE_DEFINED__
/* interface IMFByteStreamProxyClassFactory */
/* [uuid][object] */
EXTERN_C const IID IID_IMFByteStreamProxyClassFactory;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("a6b43f84-5c0a-42e8-a44d-b1857a76992f")
IMFByteStreamProxyClassFactory : public IUnknown
{
public:
virtual HRESULT STDMETHODCALLTYPE CreateByteStreamProxy(
/* [in] */ __RPC__in_opt IMFByteStream *pByteStream,
/* [unique][in] */ __RPC__in_opt IMFAttributes *pAttributes,
/* [in] */ __RPC__in REFIID riid,
/* [iid_is][out] */ __RPC__deref_out_opt LPVOID *ppvObject) = 0;
};
#else /* C style interface */
typedef struct IMFByteStreamProxyClassFactoryVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
__RPC__in IMFByteStreamProxyClassFactory * This,
/* [in] */ __RPC__in REFIID riid,
/* [annotation][iid_is][out] */
_COM_Outptr_ void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
__RPC__in IMFByteStreamProxyClassFactory * This);
ULONG ( STDMETHODCALLTYPE *Release )(
__RPC__in IMFByteStreamProxyClassFactory * This);
HRESULT ( STDMETHODCALLTYPE *CreateByteStreamProxy )(
__RPC__in IMFByteStreamProxyClassFactory * This,
/* [in] */ __RPC__in_opt IMFByteStream *pByteStream,
/* [unique][in] */ __RPC__in_opt IMFAttributes *pAttributes,
/* [in] */ __RPC__in REFIID riid,
/* [iid_is][out] */ __RPC__deref_out_opt LPVOID *ppvObject);
END_INTERFACE
} IMFByteStreamProxyClassFactoryVtbl;
interface IMFByteStreamProxyClassFactory
{
CONST_VTBL struct IMFByteStreamProxyClassFactoryVtbl *lpVtbl;
};
#ifdef COBJMACROS
#define IMFByteStreamProxyClassFactory_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
#define IMFByteStreamProxyClassFactory_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
#define IMFByteStreamProxyClassFactory_Release(This) \
( (This)->lpVtbl -> Release(This) )
#define IMFByteStreamProxyClassFactory_CreateByteStreamProxy(This,pByteStream,pA
ttributes,riid,ppvObject) \
( (This)->lpVtbl -> CreateByteStreamProxy(This,pByteStream,pAttributes,riid,
ppvObject) )
#endif /* COBJMACROS */
#endif /* C style interface */
#endif /* __IMFByteStreamProxyClassFactory_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_mfobjects_0000_0017 */
/* [local] */
typedef /* [public] */ typedef /* [public] */
enum __MIDL___MIDL_itf_mfobjects_0000_0013_0001 enum __MIDL___MIDL_itf_mfobjects_0000_0017_0001
{ MF_ACCESSMODE_READ = 1, {
MF_ACCESSMODE_WRITE = 2, MF_ACCESSMODE_READ = 1,
MF_ACCESSMODE_READWRITE = 3 MF_ACCESSMODE_WRITE = 2,
MF_ACCESSMODE_READWRITE = 3
} MF_FILE_ACCESSMODE; } MF_FILE_ACCESSMODE;
typedef /* [public] */ typedef /* [public] */
enum __MIDL___MIDL_itf_mfobjects_0000_0013_0002 enum __MIDL___MIDL_itf_mfobjects_0000_0017_0002
{ MF_OPENMODE_FAIL_IF_NOT_EXIST = 0, {
MF_OPENMODE_FAIL_IF_EXIST = 1, MF_OPENMODE_FAIL_IF_NOT_EXIST = 0,
MF_OPENMODE_RESET_IF_EXIST = 2, MF_OPENMODE_FAIL_IF_EXIST = 1,
MF_OPENMODE_APPEND_IF_EXIST = 3, MF_OPENMODE_RESET_IF_EXIST = 2,
MF_OPENMODE_DELETE_IF_EXIST = 4 MF_OPENMODE_APPEND_IF_EXIST = 3,
MF_OPENMODE_DELETE_IF_EXIST = 4
} MF_FILE_OPENMODE; } MF_FILE_OPENMODE;
typedef /* [public] */ typedef /* [public] */
enum __MIDL___MIDL_itf_mfobjects_0000_0013_0003 enum __MIDL___MIDL_itf_mfobjects_0000_0017_0003
{ MF_FILEFLAGS_NONE = 0, {
MF_FILEFLAGS_NOBUFFERING = 0x1, MF_FILEFLAGS_NONE = 0,
MF_FILEFLAGS_ALLOW_WRITE_SHARING = 0x2 MF_FILEFLAGS_NOBUFFERING = 0x1,
MF_FILEFLAGS_ALLOW_WRITE_SHARING = 0x2
} MF_FILE_FLAGS; } MF_FILE_FLAGS;
extern RPC_IF_HANDLE __MIDL_itf_mfobjects_0000_0013_v0_0_c_ifspec; #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
extern RPC_IF_HANDLE __MIDL_itf_mfobjects_0000_0013_v0_0_s_ifspec; #pragma endregion
#pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
extern RPC_IF_HANDLE __MIDL_itf_mfobjects_0000_0017_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_mfobjects_0000_0017_v0_0_s_ifspec;
#ifndef __IMFSampleOutputStream_INTERFACE_DEFINED__
#define __IMFSampleOutputStream_INTERFACE_DEFINED__
/* interface IMFSampleOutputStream */
/* [uuid][object] */
EXTERN_C const IID IID_IMFSampleOutputStream;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("8feed468-6f7e-440d-869a-49bdd283ad0d")
IMFSampleOutputStream : public IUnknown
{
public:
virtual HRESULT STDMETHODCALLTYPE BeginWriteSample(
/* [in] */ __RPC__in_opt IMFSample *pSample,
/* [in] */ __RPC__in_opt IMFAsyncCallback *pCallback,
/* [in] */ __RPC__in_opt IUnknown *punkState) = 0;
virtual HRESULT STDMETHODCALLTYPE EndWriteSample(
/* [in] */ __RPC__in_opt IMFAsyncResult *pResult) = 0;
virtual HRESULT STDMETHODCALLTYPE Close( void) = 0;
};
#else /* C style interface */
typedef struct IMFSampleOutputStreamVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
__RPC__in IMFSampleOutputStream * This,
/* [in] */ __RPC__in REFIID riid,
/* [annotation][iid_is][out] */
_COM_Outptr_ void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
__RPC__in IMFSampleOutputStream * This);
ULONG ( STDMETHODCALLTYPE *Release )(
__RPC__in IMFSampleOutputStream * This);
HRESULT ( STDMETHODCALLTYPE *BeginWriteSample )(
__RPC__in IMFSampleOutputStream * This,
/* [in] */ __RPC__in_opt IMFSample *pSample,
/* [in] */ __RPC__in_opt IMFAsyncCallback *pCallback,
/* [in] */ __RPC__in_opt IUnknown *punkState);
HRESULT ( STDMETHODCALLTYPE *EndWriteSample )(
__RPC__in IMFSampleOutputStream * This,
/* [in] */ __RPC__in_opt IMFAsyncResult *pResult);
HRESULT ( STDMETHODCALLTYPE *Close )(
__RPC__in IMFSampleOutputStream * This);
END_INTERFACE
} IMFSampleOutputStreamVtbl;
interface IMFSampleOutputStream
{
CONST_VTBL struct IMFSampleOutputStreamVtbl *lpVtbl;
};
#ifdef COBJMACROS
#define IMFSampleOutputStream_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
#define IMFSampleOutputStream_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
#define IMFSampleOutputStream_Release(This) \
( (This)->lpVtbl -> Release(This) )
#define IMFSampleOutputStream_BeginWriteSample(This,pSample,pCallback,punkState)
\
( (This)->lpVtbl -> BeginWriteSample(This,pSample,pCallback,punkState) )
#define IMFSampleOutputStream_EndWriteSample(This,pResult) \
( (This)->lpVtbl -> EndWriteSample(This,pResult) )
#define IMFSampleOutputStream_Close(This) \
( (This)->lpVtbl -> Close(This) )
#endif /* COBJMACROS */
#endif /* C style interface */
#endif /* __IMFSampleOutputStream_INTERFACE_DEFINED__ */
#ifndef __IMFCollection_INTERFACE_DEFINED__ #ifndef __IMFCollection_INTERFACE_DEFINED__
#define __IMFCollection_INTERFACE_DEFINED__ #define __IMFCollection_INTERFACE_DEFINED__
/* interface IMFCollection */ /* interface IMFCollection */
/* [uuid][object] */ /* [uuid][object] */
EXTERN_C const IID IID_IMFCollection; EXTERN_C const IID IID_IMFCollection;
#if defined(__cplusplus) && !defined(CINTERFACE) #if defined(__cplusplus) && !defined(CINTERFACE)
skipping to change at line 3956 skipping to change at line 4749
#else /* C style interface */ #else /* C style interface */
typedef struct IMFCollectionVtbl typedef struct IMFCollectionVtbl
{ {
BEGIN_INTERFACE BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )( HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
__RPC__in IMFCollection * This, __RPC__in IMFCollection * This,
/* [in] */ __RPC__in REFIID riid, /* [in] */ __RPC__in REFIID riid,
/* [annotation][iid_is][out] */ /* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject); _COM_Outptr_ void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )( ULONG ( STDMETHODCALLTYPE *AddRef )(
__RPC__in IMFCollection * This); __RPC__in IMFCollection * This);
ULONG ( STDMETHODCALLTYPE *Release )( ULONG ( STDMETHODCALLTYPE *Release )(
__RPC__in IMFCollection * This); __RPC__in IMFCollection * This);
HRESULT ( STDMETHODCALLTYPE *GetElementCount )( HRESULT ( STDMETHODCALLTYPE *GetElementCount )(
__RPC__in IMFCollection * This, __RPC__in IMFCollection * This,
/* [out] */ __RPC__out DWORD *pcElements); /* [out] */ __RPC__out DWORD *pcElements);
skipping to change at line 4050 skipping to change at line 4843
#if defined(__cplusplus) && !defined(CINTERFACE) #if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("36f846fc-2256-48b6-b58e-e2b638316581") MIDL_INTERFACE("36f846fc-2256-48b6-b58e-e2b638316581")
IMFMediaEventQueue : public IUnknown IMFMediaEventQueue : public IUnknown
{ {
public: public:
virtual HRESULT STDMETHODCALLTYPE GetEvent( virtual HRESULT STDMETHODCALLTYPE GetEvent(
/* [in] */ DWORD dwFlags, /* [in] */ DWORD dwFlags,
/* [annotation][out] */ /* [annotation][out] */
__out IMFMediaEvent **ppEvent) = 0; _Out_ IMFMediaEvent **ppEvent) = 0;
virtual HRESULT STDMETHODCALLTYPE BeginGetEvent( virtual HRESULT STDMETHODCALLTYPE BeginGetEvent(
/* [in] */ IMFAsyncCallback *pCallback, /* [in] */ IMFAsyncCallback *pCallback,
/* [in] */ IUnknown *punkState) = 0; /* [in] */ IUnknown *punkState) = 0;
virtual HRESULT STDMETHODCALLTYPE EndGetEvent( virtual HRESULT STDMETHODCALLTYPE EndGetEvent(
/* [in] */ IMFAsyncResult *pResult, /* [in] */ IMFAsyncResult *pResult,
/* [annotation][out] */ /* [annotation][out] */
__out IMFMediaEvent **ppEvent) = 0; _Out_ IMFMediaEvent **ppEvent) = 0;
virtual HRESULT STDMETHODCALLTYPE QueueEvent( virtual HRESULT STDMETHODCALLTYPE QueueEvent(
/* [in] */ IMFMediaEvent *pEvent) = 0; /* [in] */ IMFMediaEvent *pEvent) = 0;
virtual HRESULT STDMETHODCALLTYPE QueueEventParamVar( virtual HRESULT STDMETHODCALLTYPE QueueEventParamVar(
/* [in] */ MediaEventType met, /* [in] */ MediaEventType met,
/* [in] */ REFGUID guidExtendedType, /* [in] */ REFGUID guidExtendedType,
/* [in] */ HRESULT hrStatus, /* [in] */ HRESULT hrStatus,
/* [unique][in] */ const PROPVARIANT *pvValue) = 0; /* [unique][in] */ const PROPVARIANT *pvValue) = 0;
skipping to change at line 4090 skipping to change at line 4883
#else /* C style interface */ #else /* C style interface */
typedef struct IMFMediaEventQueueVtbl typedef struct IMFMediaEventQueueVtbl
{ {
BEGIN_INTERFACE BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )( HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IMFMediaEventQueue * This, IMFMediaEventQueue * This,
/* [in] */ REFIID riid, /* [in] */ REFIID riid,
/* [annotation][iid_is][out] */ /* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject); _COM_Outptr_ void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )( ULONG ( STDMETHODCALLTYPE *AddRef )(
IMFMediaEventQueue * This); IMFMediaEventQueue * This);
ULONG ( STDMETHODCALLTYPE *Release )( ULONG ( STDMETHODCALLTYPE *Release )(
IMFMediaEventQueue * This); IMFMediaEventQueue * This);
HRESULT ( STDMETHODCALLTYPE *GetEvent )( HRESULT ( STDMETHODCALLTYPE *GetEvent )(
IMFMediaEventQueue * This, IMFMediaEventQueue * This,
/* [in] */ DWORD dwFlags, /* [in] */ DWORD dwFlags,
/* [annotation][out] */ /* [annotation][out] */
__out IMFMediaEvent **ppEvent); _Out_ IMFMediaEvent **ppEvent);
HRESULT ( STDMETHODCALLTYPE *BeginGetEvent )( HRESULT ( STDMETHODCALLTYPE *BeginGetEvent )(
IMFMediaEventQueue * This, IMFMediaEventQueue * This,
/* [in] */ IMFAsyncCallback *pCallback, /* [in] */ IMFAsyncCallback *pCallback,
/* [in] */ IUnknown *punkState); /* [in] */ IUnknown *punkState);
HRESULT ( STDMETHODCALLTYPE *EndGetEvent )( HRESULT ( STDMETHODCALLTYPE *EndGetEvent )(
IMFMediaEventQueue * This, IMFMediaEventQueue * This,
/* [in] */ IMFAsyncResult *pResult, /* [in] */ IMFAsyncResult *pResult,
/* [annotation][out] */ /* [annotation][out] */
__out IMFMediaEvent **ppEvent); _Out_ IMFMediaEvent **ppEvent);
HRESULT ( STDMETHODCALLTYPE *QueueEvent )( HRESULT ( STDMETHODCALLTYPE *QueueEvent )(
IMFMediaEventQueue * This, IMFMediaEventQueue * This,
/* [in] */ IMFMediaEvent *pEvent); /* [in] */ IMFMediaEvent *pEvent);
HRESULT ( STDMETHODCALLTYPE *QueueEventParamVar )( HRESULT ( STDMETHODCALLTYPE *QueueEventParamVar )(
IMFMediaEventQueue * This, IMFMediaEventQueue * This,
/* [in] */ MediaEventType met, /* [in] */ MediaEventType met,
/* [in] */ REFGUID guidExtendedType, /* [in] */ REFGUID guidExtendedType,
/* [in] */ HRESULT hrStatus, /* [in] */ HRESULT hrStatus,
skipping to change at line 4216 skipping to change at line 5009
#else /* C style interface */ #else /* C style interface */
typedef struct IMFActivateVtbl typedef struct IMFActivateVtbl
{ {
BEGIN_INTERFACE BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )( HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
__RPC__in IMFActivate * This, __RPC__in IMFActivate * This,
/* [in] */ __RPC__in REFIID riid, /* [in] */ __RPC__in REFIID riid,
/* [annotation][iid_is][out] */ /* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject); _COM_Outptr_ void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )( ULONG ( STDMETHODCALLTYPE *AddRef )(
__RPC__in IMFActivate * This); __RPC__in IMFActivate * This);
ULONG ( STDMETHODCALLTYPE *Release )( ULONG ( STDMETHODCALLTYPE *Release )(
__RPC__in IMFActivate * This); __RPC__in IMFActivate * This);
HRESULT ( STDMETHODCALLTYPE *GetItem )( HRESULT ( STDMETHODCALLTYPE *GetItem )(
__RPC__in IMFActivate * This, __RPC__in IMFActivate * This,
__RPC__in REFGUID guidKey, __RPC__in REFGUID guidKey,
skipping to change at line 4511 skipping to change at line 5304
#define IMFActivate_DetachObject(This) \ #define IMFActivate_DetachObject(This) \
( (This)->lpVtbl -> DetachObject(This) ) ( (This)->lpVtbl -> DetachObject(This) )
#endif /* COBJMACROS */ #endif /* COBJMACROS */
#endif /* C style interface */ #endif /* C style interface */
#endif /* __IMFActivate_INTERFACE_DEFINED__ */ #endif /* __IMFActivate_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_mfobjects_0000_0016 */ /* interface __MIDL_itf_mfobjects_0000_0021 */
/* [local] */ /* [local] */
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
#pragma endregion
#if (WINVER >= _WIN32_WINNT_WIN7) #if (WINVER >= _WIN32_WINNT_WIN7)
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
typedef typedef
enum _MF_Plugin_Type enum _MF_Plugin_Type
{ MF_Plugin_Type_MFT = 0, {
MF_Plugin_Type_MediaSource = 1 MF_Plugin_Type_MFT = 0,
MF_Plugin_Type_MediaSource = 1,
MF_Plugin_Type_MFT_MatchOutputType = 2,
MF_Plugin_Type_Other = ( DWORD )-1
} MF_Plugin_Type; } MF_Plugin_Type;
extern RPC_IF_HANDLE __MIDL_itf_mfobjects_0000_0016_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_mfobjects_0000_0021_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_mfobjects_0000_0016_v0_0_s_ifspec; extern RPC_IF_HANDLE __MIDL_itf_mfobjects_0000_0021_v0_0_s_ifspec;
#ifndef __IMFPluginControl_INTERFACE_DEFINED__ #ifndef __IMFPluginControl_INTERFACE_DEFINED__
#define __IMFPluginControl_INTERFACE_DEFINED__ #define __IMFPluginControl_INTERFACE_DEFINED__
/* interface IMFPluginControl */ /* interface IMFPluginControl */
/* [unique][helpstring][uuid][local][object] */ /* [unique][helpstring][uuid][local][object] */
EXTERN_C const IID IID_IMFPluginControl; EXTERN_C const IID IID_IMFPluginControl;
#if defined(__cplusplus) && !defined(CINTERFACE) #if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("5c6c44bf-1db6-435b-9249-e8cd10fdec96") MIDL_INTERFACE("5c6c44bf-1db6-435b-9249-e8cd10fdec96")
IMFPluginControl : public IUnknown IMFPluginControl : public IUnknown
{ {
public: public:
virtual HRESULT STDMETHODCALLTYPE GetPreferredClsid( virtual HRESULT STDMETHODCALLTYPE GetPreferredClsid(
DWORD pluginType, DWORD pluginType,
/* [annotation] */ /* [annotation] */
__in LPCWSTR selector, _In_ LPCWSTR selector,
/* [annotation] */ /* [annotation] */
__out CLSID *clsid) = 0; _Out_ CLSID *clsid) = 0;
virtual HRESULT STDMETHODCALLTYPE GetPreferredClsidByIndex( virtual HRESULT STDMETHODCALLTYPE GetPreferredClsidByIndex(
DWORD pluginType, DWORD pluginType,
DWORD index, DWORD index,
/* [annotation] */ /* [annotation] */
__out LPWSTR *selector, _Out_ LPWSTR *selector,
/* [annotation] */ /* [annotation] */
__out CLSID *clsid) = 0; _Out_ CLSID *clsid) = 0;
virtual HRESULT STDMETHODCALLTYPE SetPreferredClsid( virtual HRESULT STDMETHODCALLTYPE SetPreferredClsid(
DWORD pluginType, DWORD pluginType,
/* [annotation] */ /* [annotation] */
__in LPCWSTR selector, _In_ LPCWSTR selector,
/* [annotation] */ /* [annotation] */
__in_opt const CLSID *clsid) = 0; _In_opt_ const CLSID *clsid) = 0;
virtual HRESULT STDMETHODCALLTYPE IsDisabled( virtual HRESULT STDMETHODCALLTYPE IsDisabled(
DWORD pluginType, DWORD pluginType,
REFCLSID clsid) = 0; REFCLSID clsid) = 0;
virtual HRESULT STDMETHODCALLTYPE GetDisabledByIndex( virtual HRESULT STDMETHODCALLTYPE GetDisabledByIndex(
DWORD pluginType, DWORD pluginType,
DWORD index, DWORD index,
/* [annotation] */ /* [annotation] */
__out CLSID *clsid) = 0; _Out_ CLSID *clsid) = 0;
virtual HRESULT STDMETHODCALLTYPE SetDisabled( virtual HRESULT STDMETHODCALLTYPE SetDisabled(
DWORD pluginType, DWORD pluginType,
REFCLSID clsid, REFCLSID clsid,
BOOL disabled) = 0; BOOL disabled) = 0;
}; };
#else /* C style interface */ #else /* C style interface */
typedef struct IMFPluginControlVtbl typedef struct IMFPluginControlVtbl
{ {
BEGIN_INTERFACE BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )( HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IMFPluginControl * This, IMFPluginControl * This,
/* [in] */ REFIID riid, /* [in] */ REFIID riid,
/* [annotation][iid_is][out] */ /* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject); _COM_Outptr_ void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )( ULONG ( STDMETHODCALLTYPE *AddRef )(
IMFPluginControl * This); IMFPluginControl * This);
ULONG ( STDMETHODCALLTYPE *Release )( ULONG ( STDMETHODCALLTYPE *Release )(
IMFPluginControl * This); IMFPluginControl * This);
HRESULT ( STDMETHODCALLTYPE *GetPreferredClsid )( HRESULT ( STDMETHODCALLTYPE *GetPreferredClsid )(
IMFPluginControl * This, IMFPluginControl * This,
DWORD pluginType, DWORD pluginType,
/* [annotation] */ /* [annotation] */
__in LPCWSTR selector, _In_ LPCWSTR selector,
/* [annotation] */ /* [annotation] */
__out CLSID *clsid); _Out_ CLSID *clsid);
HRESULT ( STDMETHODCALLTYPE *GetPreferredClsidByIndex )( HRESULT ( STDMETHODCALLTYPE *GetPreferredClsidByIndex )(
IMFPluginControl * This, IMFPluginControl * This,
DWORD pluginType, DWORD pluginType,
DWORD index, DWORD index,
/* [annotation] */ /* [annotation] */
__out LPWSTR *selector, _Out_ LPWSTR *selector,
/* [annotation] */ /* [annotation] */
__out CLSID *clsid); _Out_ CLSID *clsid);
HRESULT ( STDMETHODCALLTYPE *SetPreferredClsid )( HRESULT ( STDMETHODCALLTYPE *SetPreferredClsid )(
IMFPluginControl * This, IMFPluginControl * This,
DWORD pluginType, DWORD pluginType,
/* [annotation] */ /* [annotation] */
__in LPCWSTR selector, _In_ LPCWSTR selector,
/* [annotation] */ /* [annotation] */
__in_opt const CLSID *clsid); _In_opt_ const CLSID *clsid);
HRESULT ( STDMETHODCALLTYPE *IsDisabled )( HRESULT ( STDMETHODCALLTYPE *IsDisabled )(
IMFPluginControl * This, IMFPluginControl * This,
DWORD pluginType, DWORD pluginType,
REFCLSID clsid); REFCLSID clsid);
HRESULT ( STDMETHODCALLTYPE *GetDisabledByIndex )( HRESULT ( STDMETHODCALLTYPE *GetDisabledByIndex )(
IMFPluginControl * This, IMFPluginControl * This,
DWORD pluginType, DWORD pluginType,
DWORD index, DWORD index,
/* [annotation] */ /* [annotation] */
__out CLSID *clsid); _Out_ CLSID *clsid);
HRESULT ( STDMETHODCALLTYPE *SetDisabled )( HRESULT ( STDMETHODCALLTYPE *SetDisabled )(
IMFPluginControl * This, IMFPluginControl * This,
DWORD pluginType, DWORD pluginType,
REFCLSID clsid, REFCLSID clsid,
BOOL disabled); BOOL disabled);
END_INTERFACE END_INTERFACE
} IMFPluginControlVtbl; } IMFPluginControlVtbl;
skipping to change at line 4681 skipping to change at line 5481
#define IMFPluginControl_SetDisabled(This,pluginType,clsid,disabled) \ #define IMFPluginControl_SetDisabled(This,pluginType,clsid,disabled) \
( (This)->lpVtbl -> SetDisabled(This,pluginType,clsid,disabled) ) ( (This)->lpVtbl -> SetDisabled(This,pluginType,clsid,disabled) )
#endif /* COBJMACROS */ #endif /* COBJMACROS */
#endif /* C style interface */ #endif /* C style interface */
#endif /* __IMFPluginControl_INTERFACE_DEFINED__ */ #endif /* __IMFPluginControl_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_mfobjects_0000_0017 */ /* interface __MIDL_itf_mfobjects_0000_0022 */
/* [local] */ /* [local] */
typedef
enum MF_PLUGIN_CONTROL_POLICY
{
MF_PLUGIN_CONTROL_POLICY_USE_ALL_PLUGINS = 0,
MF_PLUGIN_CONTROL_POLICY_USE_APPROVED_PLUGINS = 1,
MF_PLUGIN_CONTROL_POLICY_USE_WEB_PLUGINS = 2
} MF_PLUGIN_CONTROL_POLICY;
extern RPC_IF_HANDLE __MIDL_itf_mfobjects_0000_0022_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_mfobjects_0000_0022_v0_0_s_ifspec;
#ifndef __IMFPluginControl2_INTERFACE_DEFINED__
#define __IMFPluginControl2_INTERFACE_DEFINED__
/* interface IMFPluginControl2 */
/* [unique][helpstring][uuid][local][object] */
EXTERN_C const IID IID_IMFPluginControl2;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("C6982083-3DDC-45CB-AF5E-0F7A8CE4DE77")
IMFPluginControl2 : public IMFPluginControl
{
public:
virtual HRESULT STDMETHODCALLTYPE SetPolicy(
/* [in] */ MF_PLUGIN_CONTROL_POLICY policy) = 0;
};
#else /* C style interface */
typedef struct IMFPluginControl2Vtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IMFPluginControl2 * This,
/* [in] */ REFIID riid,
/* [annotation][iid_is][out] */
_COM_Outptr_ void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
IMFPluginControl2 * This);
ULONG ( STDMETHODCALLTYPE *Release )(
IMFPluginControl2 * This);
HRESULT ( STDMETHODCALLTYPE *GetPreferredClsid )(
IMFPluginControl2 * This,
DWORD pluginType,
/* [annotation] */
_In_ LPCWSTR selector,
/* [annotation] */
_Out_ CLSID *clsid);
HRESULT ( STDMETHODCALLTYPE *GetPreferredClsidByIndex )(
IMFPluginControl2 * This,
DWORD pluginType,
DWORD index,
/* [annotation] */
_Out_ LPWSTR *selector,
/* [annotation] */
_Out_ CLSID *clsid);
HRESULT ( STDMETHODCALLTYPE *SetPreferredClsid )(
IMFPluginControl2 * This,
DWORD pluginType,
/* [annotation] */
_In_ LPCWSTR selector,
/* [annotation] */
_In_opt_ const CLSID *clsid);
HRESULT ( STDMETHODCALLTYPE *IsDisabled )(
IMFPluginControl2 * This,
DWORD pluginType,
REFCLSID clsid);
HRESULT ( STDMETHODCALLTYPE *GetDisabledByIndex )(
IMFPluginControl2 * This,
DWORD pluginType,
DWORD index,
/* [annotation] */
_Out_ CLSID *clsid);
HRESULT ( STDMETHODCALLTYPE *SetDisabled )(
IMFPluginControl2 * This,
DWORD pluginType,
REFCLSID clsid,
BOOL disabled);
HRESULT ( STDMETHODCALLTYPE *SetPolicy )(
IMFPluginControl2 * This,
/* [in] */ MF_PLUGIN_CONTROL_POLICY policy);
END_INTERFACE
} IMFPluginControl2Vtbl;
interface IMFPluginControl2
{
CONST_VTBL struct IMFPluginControl2Vtbl *lpVtbl;
};
#ifdef COBJMACROS
#define IMFPluginControl2_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
#define IMFPluginControl2_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
#define IMFPluginControl2_Release(This) \
( (This)->lpVtbl -> Release(This) )
#define IMFPluginControl2_GetPreferredClsid(This,pluginType,selector,clsid) \
( (This)->lpVtbl -> GetPreferredClsid(This,pluginType,selector,clsid) )
#define IMFPluginControl2_GetPreferredClsidByIndex(This,pluginType,index,selecto
r,clsid) \
( (This)->lpVtbl -> GetPreferredClsidByIndex(This,pluginType,index,selector,
clsid) )
#define IMFPluginControl2_SetPreferredClsid(This,pluginType,selector,clsid) \
( (This)->lpVtbl -> SetPreferredClsid(This,pluginType,selector,clsid) )
#define IMFPluginControl2_IsDisabled(This,pluginType,clsid) \
( (This)->lpVtbl -> IsDisabled(This,pluginType,clsid) )
#define IMFPluginControl2_GetDisabledByIndex(This,pluginType,index,clsid) \
( (This)->lpVtbl -> GetDisabledByIndex(This,pluginType,index,clsid) )
#define IMFPluginControl2_SetDisabled(This,pluginType,clsid,disabled) \
( (This)->lpVtbl -> SetDisabled(This,pluginType,clsid,disabled) )
#define IMFPluginControl2_SetPolicy(This,policy) \
( (This)->lpVtbl -> SetPolicy(This,policy) )
#endif /* COBJMACROS */
#endif /* C style interface */
#endif /* __IMFPluginControl2_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_mfobjects_0000_0023 */
/* [local] */
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
extern RPC_IF_HANDLE __MIDL_itf_mfobjects_0000_0023_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_mfobjects_0000_0023_v0_0_s_ifspec;
#ifndef __IMFDXGIDeviceManager_INTERFACE_DEFINED__
#define __IMFDXGIDeviceManager_INTERFACE_DEFINED__
/* interface IMFDXGIDeviceManager */
/* [unique][helpstring][uuid][local][object] */
EXTERN_C const IID IID_IMFDXGIDeviceManager;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("eb533d5d-2db6-40f8-97a9-494692014f07")
IMFDXGIDeviceManager : public IUnknown
{
public:
virtual HRESULT STDMETHODCALLTYPE CloseDeviceHandle(
/* [annotation] */
_In_ HANDLE hDevice) = 0;
virtual HRESULT STDMETHODCALLTYPE GetVideoService(
/* [annotation] */
_In_ HANDLE hDevice,
/* [annotation] */
_In_ REFIID riid,
/* [annotation] */
_Outptr_ void **ppService) = 0;
virtual HRESULT STDMETHODCALLTYPE LockDevice(
/* [annotation] */
_In_ HANDLE hDevice,
/* [annotation] */
_In_ REFIID riid,
/* [annotation] */
_Outptr_ void **ppUnkDevice,
/* [annotation] */
_In_ BOOL fBlock) = 0;
virtual HRESULT STDMETHODCALLTYPE OpenDeviceHandle(
/* [annotation] */
_Out_ HANDLE *phDevice) = 0;
virtual HRESULT STDMETHODCALLTYPE ResetDevice(
/* [annotation] */
_In_ IUnknown *pUnkDevice,
/* [annotation] */
_In_ UINT resetToken) = 0;
virtual HRESULT STDMETHODCALLTYPE TestDevice(
/* [annotation] */
_In_ HANDLE hDevice) = 0;
virtual HRESULT STDMETHODCALLTYPE UnlockDevice(
/* [annotation] */
_In_ HANDLE hDevice,
/* [annotation] */
_In_ BOOL fSaveState) = 0;
};
#else /* C style interface */
typedef struct IMFDXGIDeviceManagerVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IMFDXGIDeviceManager * This,
/* [in] */ REFIID riid,
/* [annotation][iid_is][out] */
_COM_Outptr_ void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
IMFDXGIDeviceManager * This);
ULONG ( STDMETHODCALLTYPE *Release )(
IMFDXGIDeviceManager * This);
HRESULT ( STDMETHODCALLTYPE *CloseDeviceHandle )(
IMFDXGIDeviceManager * This,
/* [annotation] */
_In_ HANDLE hDevice);
HRESULT ( STDMETHODCALLTYPE *GetVideoService )(
IMFDXGIDeviceManager * This,
/* [annotation] */
_In_ HANDLE hDevice,
/* [annotation] */
_In_ REFIID riid,
/* [annotation] */
_Outptr_ void **ppService);
HRESULT ( STDMETHODCALLTYPE *LockDevice )(
IMFDXGIDeviceManager * This,
/* [annotation] */
_In_ HANDLE hDevice,
/* [annotation] */
_In_ REFIID riid,
/* [annotation] */
_Outptr_ void **ppUnkDevice,
/* [annotation] */
_In_ BOOL fBlock);
HRESULT ( STDMETHODCALLTYPE *OpenDeviceHandle )(
IMFDXGIDeviceManager * This,
/* [annotation] */
_Out_ HANDLE *phDevice);
HRESULT ( STDMETHODCALLTYPE *ResetDevice )(
IMFDXGIDeviceManager * This,
/* [annotation] */
_In_ IUnknown *pUnkDevice,
/* [annotation] */
_In_ UINT resetToken);
HRESULT ( STDMETHODCALLTYPE *TestDevice )(
IMFDXGIDeviceManager * This,
/* [annotation] */
_In_ HANDLE hDevice);
HRESULT ( STDMETHODCALLTYPE *UnlockDevice )(
IMFDXGIDeviceManager * This,
/* [annotation] */
_In_ HANDLE hDevice,
/* [annotation] */
_In_ BOOL fSaveState);
END_INTERFACE
} IMFDXGIDeviceManagerVtbl;
interface IMFDXGIDeviceManager
{
CONST_VTBL struct IMFDXGIDeviceManagerVtbl *lpVtbl;
};
#ifdef COBJMACROS
#define IMFDXGIDeviceManager_QueryInterface(This,riid,ppvObject) \
( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) )
#define IMFDXGIDeviceManager_AddRef(This) \
( (This)->lpVtbl -> AddRef(This) )
#define IMFDXGIDeviceManager_Release(This) \
( (This)->lpVtbl -> Release(This) )
#define IMFDXGIDeviceManager_CloseDeviceHandle(This,hDevice) \
( (This)->lpVtbl -> CloseDeviceHandle(This,hDevice) )
#define IMFDXGIDeviceManager_GetVideoService(This,hDevice,riid,ppService) \
( (This)->lpVtbl -> GetVideoService(This,hDevice,riid,ppService) )
#define IMFDXGIDeviceManager_LockDevice(This,hDevice,riid,ppUnkDevice,fBlock) \
( (This)->lpVtbl -> LockDevice(This,hDevice,riid,ppUnkDevice,fBlock) )
#define IMFDXGIDeviceManager_OpenDeviceHandle(This,phDevice) \
( (This)->lpVtbl -> OpenDeviceHandle(This,phDevice) )
#define IMFDXGIDeviceManager_ResetDevice(This,pUnkDevice,resetToken) \
( (This)->lpVtbl -> ResetDevice(This,pUnkDevice,resetToken) )
#define IMFDXGIDeviceManager_TestDevice(This,hDevice) \
( (This)->lpVtbl -> TestDevice(This,hDevice) )
#define IMFDXGIDeviceManager_UnlockDevice(This,hDevice,fSaveState) \
( (This)->lpVtbl -> UnlockDevice(This,hDevice,fSaveState) )
#endif /* COBJMACROS */
#endif /* C style interface */
#endif /* __IMFDXGIDeviceManager_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_mfobjects_0000_0024 */
/* [local] */
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
#pragma endregion
#endif // (WINVER >= _WIN32_WINNT_WIN7) #endif // (WINVER >= _WIN32_WINNT_WIN7)
extern RPC_IF_HANDLE __MIDL_itf_mfobjects_0000_0017_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_mfobjects_0000_0024_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_mfobjects_0000_0017_v0_0_s_ifspec; extern RPC_IF_HANDLE __MIDL_itf_mfobjects_0000_0024_v0_0_s_ifspec;
/* Additional Prototypes for ALL interfaces */ /* Additional Prototypes for ALL interfaces */
unsigned long __RPC_USER BSTR_UserSize( __RPC__in unsigned long *, unsigned long , __RPC__in BSTR * ); 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_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 * ); 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 * ); void __RPC_USER BSTR_UserFree( __RPC__in unsigned long *, __RPC__in BSTR * );
unsigned long __RPC_USER LPSAFEARRAY_UserSize( __RPC__in unsign ed long *, unsigned long , __RPC__in LPSAFEARRAY * ); unsigned long __RPC_USER LPSAFEARRAY_UserSize( __RPC__in unsign ed 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_UserMarshal( __RPC__in unsigned long *, __RPC__inout_xcount(0) unsigned char *, __RPC__in LPSAFEARRAY * );
skipping to change at line 4724 skipping to change at line 5852
/* [in] */ IUnknown *punkState); /* [in] */ IUnknown *punkState);
/* [call_as] */ HRESULT STDMETHODCALLTYPE IMFMediaEventGenerator_BeginGetEvent_S tub( /* [call_as] */ HRESULT STDMETHODCALLTYPE IMFMediaEventGenerator_BeginGetEvent_S tub(
__RPC__in IMFMediaEventGenerator * This, __RPC__in IMFMediaEventGenerator * This,
/* [in] */ __RPC__in_opt IMFRemoteAsyncCallback *pCallback); /* [in] */ __RPC__in_opt IMFRemoteAsyncCallback *pCallback);
/* [local] */ HRESULT STDMETHODCALLTYPE IMFMediaEventGenerator_EndGetEvent_Proxy ( /* [local] */ HRESULT STDMETHODCALLTYPE IMFMediaEventGenerator_EndGetEvent_Proxy (
IMFMediaEventGenerator * This, IMFMediaEventGenerator * This,
/* [in] */ IMFAsyncResult *pResult, /* [in] */ IMFAsyncResult *pResult,
/* [annotation][out] */ /* [annotation][out] */
__out IMFMediaEvent **ppEvent); _Out_ IMFMediaEvent **ppEvent);
/* [call_as] */ HRESULT STDMETHODCALLTYPE IMFMediaEventGenerator_EndGetEvent_Stu b( /* [call_as] */ HRESULT STDMETHODCALLTYPE IMFMediaEventGenerator_EndGetEvent_Stu b(
__RPC__in IMFMediaEventGenerator * This, __RPC__in IMFMediaEventGenerator * This,
/* [in] */ __RPC__in_opt IUnknown *pResult, /* [in] */ __RPC__in_opt IUnknown *pResult,
/* [out] */ __RPC__out DWORD *pcbEvent, /* [out] */ __RPC__out DWORD *pcbEvent,
/* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pcbEvent) BY TE **ppbEvent); /* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*pcbEvent) BY TE **ppbEvent);
/* [local] */ HRESULT STDMETHODCALLTYPE IMFByteStream_BeginRead_Proxy(
IMFByteStream * This,
/* [annotation][out] */
_Out_writes_bytes_(cb) BYTE *pb,
/* [in] */ ULONG cb,
/* [in] */ IMFAsyncCallback *pCallback,
/* [in] */ IUnknown *punkState);
/* [call_as] */ HRESULT STDMETHODCALLTYPE IMFByteStream_BeginRead_Stub(
__RPC__in IMFByteStream * This,
/* [in] */ ULONG cb,
/* [in] */ __RPC__in_opt IMFRemoteAsyncCallback *pCallback);
/* [local] */ HRESULT STDMETHODCALLTYPE IMFByteStream_EndRead_Proxy(
IMFByteStream * This,
/* [in] */ IMFAsyncResult *pResult,
/* [annotation][out] */
_Out_ ULONG *pcbRead);
/* [call_as] */ HRESULT STDMETHODCALLTYPE IMFByteStream_EndRead_Stub(
__RPC__in IMFByteStream * This,
/* [in] */ __RPC__in_opt IUnknown *punkResult,
/* [size_is][out] */ __RPC__out_ecount_full(cb) BYTE *pb,
/* [in] */ ULONG cb,
/* [out] */ __RPC__out ULONG *pcbRead);
/* [local] */ HRESULT STDMETHODCALLTYPE IMFByteStream_BeginWrite_Proxy(
IMFByteStream * This,
/* [annotation][in] */
_In_reads_bytes_(cb) const BYTE *pb,
/* [in] */ ULONG cb,
/* [in] */ IMFAsyncCallback *pCallback,
/* [in] */ IUnknown *punkState);
/* [call_as] */ HRESULT STDMETHODCALLTYPE IMFByteStream_BeginWrite_Stub(
__RPC__in IMFByteStream * This,
/* [size_is][in] */ __RPC__in_ecount_full(cb) const BYTE *pb,
/* [in] */ ULONG cb,
/* [in] */ __RPC__in_opt IMFRemoteAsyncCallback *pCallback);
/* [local] */ HRESULT STDMETHODCALLTYPE IMFByteStream_EndWrite_Proxy(
IMFByteStream * This,
/* [in] */ IMFAsyncResult *pResult,
/* [annotation][out] */
_Out_ ULONG *pcbWritten);
/* [call_as] */ HRESULT STDMETHODCALLTYPE IMFByteStream_EndWrite_Stub(
__RPC__in IMFByteStream * This,
/* [in] */ __RPC__in_opt IUnknown *punkResult,
/* [out] */ __RPC__out ULONG *pcbWritten);
/* end of Additional Prototypes */ /* end of Additional Prototypes */
#ifdef __cplusplus #ifdef __cplusplus
} }
#endif #endif
#endif #endif
 End of changes. 203 change blocks. 
418 lines changed or deleted 1612 lines changed or added


 mftransform.h (12.0.7601.19091-Windows_7.0)   mftransform.h (12.0.9600.17415-Windows_8.1) 
/* this ALWAYS GENERATED file contains the definitions for the interfaces */ /* this ALWAYS GENERATED file contains the definitions for the interfaces */
/* File created by MIDL compiler version 7.00.0555 */ /* File created by MIDL compiler version 8.00.0603 */
/* Compiler settings for mftransform.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( ) */ /* @@MIDL_FILE_HEADING( ) */
#pragma warning( disable: 4049 ) /* more than 64k source lines */ #pragma warning( disable: 4049 ) /* more than 64k source lines */
/* verify that the <rpcndr.h> version is high enough to compile this file*/ /* verify that the <rpcndr.h> version is high enough to compile this file*/
#ifndef __REQUIRED_RPCNDR_H_VERSION__ #ifndef __REQUIRED_RPCNDR_H_VERSION__
#define __REQUIRED_RPCNDR_H_VERSION__ 500 #define __REQUIRED_RPCNDR_H_VERSION__ 500
#endif #endif
/* verify that the <rpcsal.h> version is high enough to compile this file*/ /* verify that the <rpcsal.h> version is high enough to compile this file*/
skipping to change at line 63 skipping to change at line 56
/* header files for imported files */ /* header files for imported files */
#include "mfobjects.h" #include "mfobjects.h"
#ifdef __cplusplus #ifdef __cplusplus
extern "C"{ extern "C"{
#endif #endif
/* interface __MIDL_itf_mftransform_0000_0000 */ /* interface __MIDL_itf_mftransform_0000_0000 */
/* [local] */ /* [local] */
#include <winapifamily.h>
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
enum _MFT_INPUT_DATA_BUFFER_FLAGS enum _MFT_INPUT_DATA_BUFFER_FLAGS
{ MFT_INPUT_DATA_BUFFER_PLACEHOLDER = 0xffffffff {
MFT_INPUT_DATA_BUFFER_PLACEHOLDER = 0xffffffff
} ; } ;
enum _MFT_OUTPUT_DATA_BUFFER_FLAGS enum _MFT_OUTPUT_DATA_BUFFER_FLAGS
{ MFT_OUTPUT_DATA_BUFFER_INCOMPLETE = 0x1000000, {
MFT_OUTPUT_DATA_BUFFER_FORMAT_CHANGE = 0x100, MFT_OUTPUT_DATA_BUFFER_INCOMPLETE = 0x1000000,
MFT_OUTPUT_DATA_BUFFER_STREAM_END = 0x200, MFT_OUTPUT_DATA_BUFFER_FORMAT_CHANGE = 0x100,
MFT_OUTPUT_DATA_BUFFER_NO_SAMPLE = 0x300 MFT_OUTPUT_DATA_BUFFER_STREAM_END = 0x200,
MFT_OUTPUT_DATA_BUFFER_NO_SAMPLE = 0x300
} ; } ;
enum _MFT_INPUT_STATUS_FLAGS enum _MFT_INPUT_STATUS_FLAGS
{ MFT_INPUT_STATUS_ACCEPT_DATA = 0x1 {
MFT_INPUT_STATUS_ACCEPT_DATA = 0x1
} ; } ;
enum _MFT_OUTPUT_STATUS_FLAGS enum _MFT_OUTPUT_STATUS_FLAGS
{ MFT_OUTPUT_STATUS_SAMPLE_READY = 0x1 {
MFT_OUTPUT_STATUS_SAMPLE_READY = 0x1
} ; } ;
enum _MFT_INPUT_STREAM_INFO_FLAGS enum _MFT_INPUT_STREAM_INFO_FLAGS
{ MFT_INPUT_STREAM_WHOLE_SAMPLES = 0x1, {
MFT_INPUT_STREAM_SINGLE_SAMPLE_PER_BUFFER = 0x2, MFT_INPUT_STREAM_WHOLE_SAMPLES = 0x1,
MFT_INPUT_STREAM_FIXED_SAMPLE_SIZE = 0x4, MFT_INPUT_STREAM_SINGLE_SAMPLE_PER_BUFFER = 0x2,
MFT_INPUT_STREAM_HOLDS_BUFFERS = 0x8, MFT_INPUT_STREAM_FIXED_SAMPLE_SIZE = 0x4,
MFT_INPUT_STREAM_DOES_NOT_ADDREF = 0x100, MFT_INPUT_STREAM_HOLDS_BUFFERS = 0x8,
MFT_INPUT_STREAM_REMOVABLE = 0x200, MFT_INPUT_STREAM_DOES_NOT_ADDREF = 0x100,
MFT_INPUT_STREAM_OPTIONAL = 0x400, MFT_INPUT_STREAM_REMOVABLE = 0x200,
MFT_INPUT_STREAM_PROCESSES_IN_PLACE = 0x800 MFT_INPUT_STREAM_OPTIONAL = 0x400,
MFT_INPUT_STREAM_PROCESSES_IN_PLACE = 0x800
} ; } ;
enum _MFT_OUTPUT_STREAM_INFO_FLAGS enum _MFT_OUTPUT_STREAM_INFO_FLAGS
{ MFT_OUTPUT_STREAM_WHOLE_SAMPLES = 0x1, {
MFT_OUTPUT_STREAM_SINGLE_SAMPLE_PER_BUFFER = 0x2, MFT_OUTPUT_STREAM_WHOLE_SAMPLES = 0x1,
MFT_OUTPUT_STREAM_FIXED_SAMPLE_SIZE = 0x4, MFT_OUTPUT_STREAM_SINGLE_SAMPLE_PER_BUFFER = 0x2,
MFT_OUTPUT_STREAM_DISCARDABLE = 0x8, MFT_OUTPUT_STREAM_FIXED_SAMPLE_SIZE = 0x4,
MFT_OUTPUT_STREAM_OPTIONAL = 0x10, MFT_OUTPUT_STREAM_DISCARDABLE = 0x8,
MFT_OUTPUT_STREAM_PROVIDES_SAMPLES = 0x100, MFT_OUTPUT_STREAM_OPTIONAL = 0x10,
MFT_OUTPUT_STREAM_CAN_PROVIDE_SAMPLES = 0x200, MFT_OUTPUT_STREAM_PROVIDES_SAMPLES = 0x100,
MFT_OUTPUT_STREAM_LAZY_READ = 0x400, MFT_OUTPUT_STREAM_CAN_PROVIDE_SAMPLES = 0x200,
MFT_OUTPUT_STREAM_REMOVABLE = 0x800 MFT_OUTPUT_STREAM_LAZY_READ = 0x400,
MFT_OUTPUT_STREAM_REMOVABLE = 0x800
} ; } ;
enum _MFT_SET_TYPE_FLAGS enum _MFT_SET_TYPE_FLAGS
{ MFT_SET_TYPE_TEST_ONLY = 0x1 {
MFT_SET_TYPE_TEST_ONLY = 0x1
} ; } ;
enum _MFT_PROCESS_OUTPUT_FLAGS enum _MFT_PROCESS_OUTPUT_FLAGS
{ MFT_PROCESS_OUTPUT_DISCARD_WHEN_NO_BUFFER = 0x1 {
MFT_PROCESS_OUTPUT_DISCARD_WHEN_NO_BUFFER = 0x1,
MFT_PROCESS_OUTPUT_REGENERATE_LAST_OUTPUT = 0x2
} ; } ;
enum _MFT_PROCESS_OUTPUT_STATUS enum _MFT_PROCESS_OUTPUT_STATUS
{ MFT_PROCESS_OUTPUT_STATUS_NEW_STREAMS = 0x100 {
MFT_PROCESS_OUTPUT_STATUS_NEW_STREAMS = 0x100
} ; } ;
enum _MFT_DRAIN_TYPE enum _MFT_DRAIN_TYPE
{ MFT_DRAIN_PRODUCE_TAILS = 0, {
MFT_DRAIN_NO_TAILS = 0x1 MFT_DRAIN_PRODUCE_TAILS = 0,
MFT_DRAIN_NO_TAILS = 0x1
} ; } ;
#define MFT_STREAMS_UNLIMITED 0xFFFFFFFF #define MFT_STREAMS_UNLIMITED 0xFFFFFFFF
#define MFT_OUTPUT_BOUND_LOWER_UNBOUNDED MINLONGLONG #define MFT_OUTPUT_BOUND_LOWER_UNBOUNDED MINLONGLONG
#define MFT_OUTPUT_BOUND_UPPER_UNBOUNDED MAXLONGLONG #define MFT_OUTPUT_BOUND_UPPER_UNBOUNDED MAXLONGLONG
typedef typedef
enum _MFT_MESSAGE_TYPE enum _MFT_MESSAGE_TYPE
{ MFT_MESSAGE_COMMAND_FLUSH = 0, {
MFT_MESSAGE_COMMAND_DRAIN = 0x1, MFT_MESSAGE_COMMAND_FLUSH = 0,
MFT_MESSAGE_SET_D3D_MANAGER = 0x2, MFT_MESSAGE_COMMAND_DRAIN = 0x1,
MFT_MESSAGE_DROP_SAMPLES = 0x3, MFT_MESSAGE_SET_D3D_MANAGER = 0x2,
MFT_MESSAGE_NOTIFY_BEGIN_STREAMING = 0x10000000, MFT_MESSAGE_DROP_SAMPLES = 0x3,
MFT_MESSAGE_NOTIFY_END_STREAMING = 0x10000001, MFT_MESSAGE_COMMAND_TICK = 0x4,
MFT_MESSAGE_NOTIFY_END_OF_STREAM = 0x10000002, MFT_MESSAGE_NOTIFY_BEGIN_STREAMING = 0x10000000,
MFT_MESSAGE_NOTIFY_START_OF_STREAM = 0x10000003, MFT_MESSAGE_NOTIFY_END_STREAMING = 0x10000001,
MFT_MESSAGE_COMMAND_MARKER = 0x20000000 MFT_MESSAGE_NOTIFY_END_OF_STREAM = 0x10000002,
MFT_MESSAGE_NOTIFY_START_OF_STREAM = 0x10000003,
MFT_MESSAGE_COMMAND_MARKER = 0x20000000
} MFT_MESSAGE_TYPE; } MFT_MESSAGE_TYPE;
typedef struct _MFT_INPUT_STREAM_INFO typedef struct _MFT_INPUT_STREAM_INFO
{ {
LONGLONG hnsMaxLatency; LONGLONG hnsMaxLatency;
DWORD dwFlags; DWORD dwFlags;
DWORD cbSize; DWORD cbSize;
DWORD cbMaxLookahead; DWORD cbMaxLookahead;
DWORD cbAlignment; DWORD cbAlignment;
} MFT_INPUT_STREAM_INFO; } MFT_INPUT_STREAM_INFO;
skipping to change at line 318 skipping to change at line 332
#else /* C style interface */ #else /* C style interface */
typedef struct IMFTransformVtbl typedef struct IMFTransformVtbl
{ {
BEGIN_INTERFACE BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )( HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
__RPC__in IMFTransform * This, __RPC__in IMFTransform * This,
/* [in] */ __RPC__in REFIID riid, /* [in] */ __RPC__in REFIID riid,
/* [annotation][iid_is][out] */ /* [annotation][iid_is][out] */
__RPC__deref_out void **ppvObject); _COM_Outptr_ void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )( ULONG ( STDMETHODCALLTYPE *AddRef )(
__RPC__in IMFTransform * This); __RPC__in IMFTransform * This);
ULONG ( STDMETHODCALLTYPE *Release )( ULONG ( STDMETHODCALLTYPE *Release )(
__RPC__in IMFTransform * This); __RPC__in IMFTransform * This);
HRESULT ( STDMETHODCALLTYPE *GetStreamLimits )( HRESULT ( STDMETHODCALLTYPE *GetStreamLimits )(
__RPC__in IMFTransform * This, __RPC__in IMFTransform * This,
/* [out] */ __RPC__out DWORD *pdwInputMinimum, /* [out] */ __RPC__out DWORD *pdwInputMinimum,
skipping to change at line 546 skipping to change at line 560
#endif /* COBJMACROS */ #endif /* COBJMACROS */
#endif /* C style interface */ #endif /* C style interface */
#endif /* __IMFTransform_INTERFACE_DEFINED__ */ #endif /* __IMFTransform_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_mftransform_0000_0001 */ /* interface __MIDL_itf_mftransform_0000_0001 */
/* [local] */ /* [local] */
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
#pragma endregion
#if (WINVER >= _WIN32_WINNT_WIN7) #if (WINVER >= _WIN32_WINNT_WIN7)
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
typedef struct _STREAM_MEDIUM typedef struct _STREAM_MEDIUM
{ {
GUID gidMedium; GUID gidMedium;
UINT32 unMediumInstance; UINT32 unMediumInstance;
} STREAM_MEDIUM; } STREAM_MEDIUM;
typedef struct _STREAM_MEDIUM *PSTREAM_MEDIUM; typedef struct _STREAM_MEDIUM *PSTREAM_MEDIUM;
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#endif // (WINVER >= _WIN32_WINNT_WIN7) #endif // (WINVER >= _WIN32_WINNT_WIN7)
#pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
// //
// Define the MFT methods back so we don't accidentally hose the IMediaObject in terface. // Define the MFT methods back so we don't accidentally hose the IMediaObject in terface.
// //
#ifdef MFT_UNIQUE_METHOD_NAMES #ifdef MFT_UNIQUE_METHOD_NAMES
#undef GetStreamLimits #undef GetStreamLimits
#undef GetStreamCount #undef GetStreamCount
#undef GetStreamIDs #undef GetStreamIDs
#undef GetInputStreamInfo #undef GetInputStreamInfo
#undef GetOutputStreamInfo #undef GetOutputStreamInfo
#undef DeleteInputStream #undef DeleteInputStream
skipping to change at line 586 skipping to change at line 608
#undef ProcessMessage #undef ProcessMessage
#undef ProcessInput #undef ProcessInput
#undef ProcessOutput #undef ProcessOutput
#endif #endif
EXTERN_C const DECLSPEC_SELECTANY PROPERTYKEY MFPKEY_CLSID = { { 0xc57a84c0, 0x1 a80, 0x40a3, {0x97, 0xb5, 0x92, 0x72, 0xa4, 0x3, 0xc8, 0xae} }, 0x01 }; EXTERN_C const DECLSPEC_SELECTANY PROPERTYKEY MFPKEY_CLSID = { { 0xc57a84c0, 0x1 a80, 0x40a3, {0x97, 0xb5, 0x92, 0x72, 0xa4, 0x3, 0xc8, 0xae} }, 0x01 };
EXTERN_C const DECLSPEC_SELECTANY PROPERTYKEY MFPKEY_CATEGORY = { { 0xc57a84c0, 0x1a80, 0x40a3, {0x97, 0xb5, 0x92, 0x72, 0xa4, 0x3, 0xc8, 0xae} }, 0x02 }; EXTERN_C const DECLSPEC_SELECTANY PROPERTYKEY MFPKEY_CATEGORY = { { 0xc57a84c0, 0x1a80, 0x40a3, {0x97, 0xb5, 0x92, 0x72, 0xa4, 0x3, 0xc8, 0xae} }, 0x02 };
EXTERN_C const DECLSPEC_SELECTANY PROPERTYKEY MFPKEY_EXATTRIBUTE_SUPPORTED = { { 0x456fe843, 0x3c87, 0x40c0, {0x94, 0x9d, 0x14, 0x9, 0xc9, 0x7d, 0xab, 0x2c} }, 0x01 }; EXTERN_C const DECLSPEC_SELECTANY PROPERTYKEY MFPKEY_EXATTRIBUTE_SUPPORTED = { { 0x456fe843, 0x3c87, 0x40c0, {0x94, 0x9d, 0x14, 0x9, 0xc9, 0x7d, 0xab, 0x2c} }, 0x01 };
EXTERN_C const DECLSPEC_SELECTANY PROPERTYKEY MFPKEY_MULTICHANNEL_CHANNEL_MASK = { { 0x58bdaf8c, 0x3224, 0x4692, { 0x86, 0xd0, 0x44, 0xd6, 0x5c, 0x5b, 0xf8, 0x 2b } }, 0x01 }; EXTERN_C const DECLSPEC_SELECTANY PROPERTYKEY MFPKEY_MULTICHANNEL_CHANNEL_MASK = { { 0x58bdaf8c, 0x3224, 0x4692, { 0x86, 0xd0, 0x44, 0xd6, 0x5c, 0x5b, 0xf8, 0x 2b } }, 0x01 };
EXTERN_C const DECLSPEC_SELECTANY GUID MF_SA_D3D_AWARE = { 0xeaa35c29, 0x775e, 0x488e, { 0x9b, 0x61, 0xb3, 0x28, 0x3e, 0x49, 0x58, 0x3b } }; EXTERN_C const DECLSPEC_SELECTANY GUID MF_SA_D3D_AWARE = { 0xeaa35c29, 0x775e, 0x488e, { 0x9b, 0x61, 0xb3, 0x28, 0x3e, 0x49, 0x58, 0x3b } };
EXTERN_C const DECLSPEC_SELECTANY GUID MF_SA_REQUIRED_SAMPLE_COUNT = { 0x18802c6 1, 0x324b, 0x4952, { 0xab, 0xd0, 0x17, 0x6f, 0xf5, 0xc6, 0x96, 0xff } }; EXTERN_C const DECLSPEC_SELECTANY GUID MF_SA_REQUIRED_SAMPLE_COUNT = { 0x18802c6 1, 0x324b, 0x4952, { 0xab, 0xd0, 0x17, 0x6f, 0xf5, 0xc6, 0x96, 0xff } };
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
#pragma endregion
#if (WINVER >= _WIN32_WINNT_WIN8)
#pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
EXTERN_C const DECLSPEC_SELECTANY GUID MF_SA_REQUIRED_SAMPLE_COUNT_PROGRESSIVE =
{ 0xb172d58e, 0xfa77, 0x4e48, { 0x8d, 0x2a, 0x1d, 0xf2, 0xd8, 0x50, 0xea, 0xc2
} };
EXTERN_C const DECLSPEC_SELECTANY GUID MF_SA_MINIMUM_OUTPUT_SAMPLE_COUNT = { 0x8
51745d5, 0xc3d6, 0x476d, { 0x95, 0x27, 0x49, 0x8e, 0xf2, 0xd1, 0xd, 0x18 } };
EXTERN_C const DECLSPEC_SELECTANY GUID MF_SA_MINIMUM_OUTPUT_SAMPLE_COUNT_PROGRES
SIVE = { 0xf5523a5, 0x1cb2, 0x47c5, { 0xa5, 0x50, 0x2e, 0xeb, 0x84, 0xb4, 0xd1,
0x4a } };
EXTERN_C const DECLSPEC_SELECTANY GUID MFT_SUPPORT_3DVIDEO = { 0x93f81b1, 0x4f2e
, 0x4631, { 0x81, 0x68, 0x79, 0x34, 0x3, 0x2a, 0x1, 0xd3 } };
typedef
enum _MF3DVideoOutputType
{
MF3DVideoOutputType_BaseView = 0,
MF3DVideoOutputType_Stereo = 1
} MF3DVideoOutputType;
EXTERN_C const DECLSPEC_SELECTANY GUID MF_ENABLE_3DVIDEO_OUTPUT = { 0xbdad7bca,
0xe5f, 0x4b10, { 0xab, 0x16, 0x26, 0xde, 0x38, 0x1b, 0x62, 0x93 } };
EXTERN_C const DECLSPEC_SELECTANY GUID MF_SA_D3D11_BINDFLAGS = { 0xeacf97a
d, 0x065c, 0x4408, { 0xbe, 0xe3, 0xfd, 0xcb, 0xfd, 0x12, 0x8b, 0xe2 } };
EXTERN_C const DECLSPEC_SELECTANY GUID MF_SA_D3D11_USAGE = { 0xe85fe44
2, 0x2ca3, 0x486e, { 0xa9, 0xc7, 0x10, 0x9d, 0xda, 0x60, 0x98, 0x80 } };
EXTERN_C const DECLSPEC_SELECTANY GUID MF_SA_D3D11_AWARE = { 0x206b4fc
8, 0xfcf9, 0x4c51, { 0xaf, 0xe3, 0x97, 0x64, 0x36, 0x9e, 0x33, 0xa0 } };
EXTERN_C const DECLSPEC_SELECTANY GUID MF_SA_D3D11_SHARED = { 0x7b8f32c
3, 0x6d96, 0x4b89, { 0x92, 0x3, 0xdd, 0x38, 0xb6, 0x14, 0x14, 0xf3 } };
EXTERN_C const DECLSPEC_SELECTANY GUID MF_SA_D3D11_SHARED_WITHOUT_MUTEX = { 0x39
dbd44d, 0x2e44, 0x4931, { 0xa4, 0xc8, 0x35, 0x2d, 0x3d, 0xc4, 0x21, 0x15 } };
EXTERN_C const DECLSPEC_SELECTANY GUID MF_SA_BUFFERS_PER_SAMPLE = { 0x873c517
1, 0x1e3d, 0x4e25, { 0x98, 0x8d, 0xb4, 0x33, 0xce, 0x04, 0x19, 0x83 } };
EXTERN_C const DECLSPEC_SELECTANY GUID MFT_DECODER_EXPOSE_OUTPUT_TYPES_IN_NATIVE
_ORDER = { 0xef80833f, 0xf8fa, 0x44d9, { 0x80, 0xd8, 0x41, 0xed, 0x62, 0x32, 0x
67, 0xc } };
EXTERN_C const DECLSPEC_SELECTANY GUID MFT_REMUX_MARK_I_PICTURE_AS_CLEAN_POINT =
{ 0x364e8f85, 0x3f2e, 0x436c, { 0xb2, 0xa2, 0x44, 0x40, 0xa0, 0x12, 0xa9, 0xe8
} };
EXTERN_C const DECLSPEC_SELECTANY GUID MFT_DECODER_FINAL_VIDEO_RESOLUTION_HINT =
{ 0xdc2f8496, 0x15c4, 0x407a, { 0xb6, 0xf0, 0x1b, 0x66, 0xab, 0x5f, 0xbf, 0x
53 } };
EXTERN_C const DECLSPEC_SELECTANY GUID MFT_ENCODER_SUPPORTS_CONFIG_EVENT = { 0x
86a355ae, 0x3a77, 0x4ec4, { 0x9f, 0x31, 0x1, 0x14, 0x9a, 0x4e, 0x92, 0xde } };
EXTERN_C const DECLSPEC_SELECTANY GUID MFT_ENUM_HARDWARE_VENDOR_ID_Attribute =
{ 0x3aecb0cc, 0x35b, 0x4bcc, { 0x81, 0x85, 0x2b, 0x8d, 0x55, 0x1e, 0xf3, 0xaf }
};
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
#pragma endregion
#endif // (WINVER >= _WIN32_WINNT_WIN8)
#if (WINVER >= _WIN32_WINNT_WIN7) #if (WINVER >= _WIN32_WINNT_WIN7)
#pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
EXTERN_C const DECLSPEC_SELECTANY GUID MF_TRANSFORM_ASYNC = { 0xf81a699a, 0x649a , 0x497d, { 0x8c, 0x73, 0x29, 0xf8, 0xfe, 0xd6, 0xad, 0x7a } }; EXTERN_C const DECLSPEC_SELECTANY GUID MF_TRANSFORM_ASYNC = { 0xf81a699a, 0x649a , 0x497d, { 0x8c, 0x73, 0x29, 0xf8, 0xfe, 0xd6, 0xad, 0x7a } };
EXTERN_C const DECLSPEC_SELECTANY GUID MF_TRANSFORM_ASYNC_UNLOCK = { 0xe5666d6b, 0x3422, 0x4eb6, { 0xa4, 0x21, 0xda, 0x7d, 0xb1, 0xf8, 0xe2, 0x7 } }; EXTERN_C const DECLSPEC_SELECTANY GUID MF_TRANSFORM_ASYNC_UNLOCK = { 0xe5666d6b, 0x3422, 0x4eb6, { 0xa4, 0x21, 0xda, 0x7d, 0xb1, 0xf8, 0xe2, 0x7 } };
EXTERN_C const DECLSPEC_SELECTANY GUID MF_TRANSFORM_FLAGS_Attribute = { 0x9359bb 7e, 0x6275, 0x46c4, { 0xa0, 0x25, 0x1c, 0x1, 0xe4, 0x5f, 0x1a, 0x86 } }; EXTERN_C const DECLSPEC_SELECTANY GUID MF_TRANSFORM_FLAGS_Attribute = { 0x9359bb 7e, 0x6275, 0x46c4, { 0xa0, 0x25, 0x1c, 0x1, 0xe4, 0x5f, 0x1a, 0x86 } };
EXTERN_C const DECLSPEC_SELECTANY GUID MF_TRANSFORM_CATEGORY_Attribute = { 0xcea bba49, 0x506d, 0x4757, { 0xa6, 0xff, 0x66, 0xc1, 0x84, 0x98, 0x7e, 0x4e } }; EXTERN_C const DECLSPEC_SELECTANY GUID MF_TRANSFORM_CATEGORY_Attribute = { 0xcea bba49, 0x506d, 0x4757, { 0xa6, 0xff, 0x66, 0xc1, 0x84, 0x98, 0x7e, 0x4e } };
EXTERN_C const DECLSPEC_SELECTANY GUID MFT_TRANSFORM_CLSID_Attribute = { 0x6821c 42b, 0x65a4, 0x4e82, { 0x99, 0xbc, 0x9a, 0x88, 0x20, 0x5e, 0xcd, 0xc } }; EXTERN_C const DECLSPEC_SELECTANY GUID MFT_TRANSFORM_CLSID_Attribute = { 0x6821c 42b, 0x65a4, 0x4e82, { 0x99, 0xbc, 0x9a, 0x88, 0x20, 0x5e, 0xcd, 0xc } };
EXTERN_C const DECLSPEC_SELECTANY GUID MFT_INPUT_TYPES_Attributes = { 0x4276c9b1 , 0x759d, 0x4bf3, { 0x9c, 0xd0, 0xd, 0x72, 0x3d, 0x13, 0x8f, 0x96 } }; EXTERN_C const DECLSPEC_SELECTANY GUID MFT_INPUT_TYPES_Attributes = { 0x4276c9b1 , 0x759d, 0x4bf3, { 0x9c, 0xd0, 0xd, 0x72, 0x3d, 0x13, 0x8f, 0x96 } };
EXTERN_C const DECLSPEC_SELECTANY GUID MFT_OUTPUT_TYPES_Attributes = { 0x8eae8cf 3, 0xa44f, 0x4306, { 0xba, 0x5c, 0xbf, 0x5d, 0xda, 0x24, 0x28, 0x18 } }; EXTERN_C const DECLSPEC_SELECTANY GUID MFT_OUTPUT_TYPES_Attributes = { 0x8eae8cf 3, 0xa44f, 0x4306, { 0xba, 0x5c, 0xbf, 0x5d, 0xda, 0x24, 0x28, 0x18 } };
EXTERN_C const DECLSPEC_SELECTANY GUID MFT_ENUM_HARDWARE_URL_Attribute = { 0x2fb 866ac, 0xb078, 0x4942, { 0xab, 0x6c, 0x0, 0x3d, 0x5, 0xcd, 0xa6, 0x74 } }; EXTERN_C const DECLSPEC_SELECTANY GUID MFT_ENUM_HARDWARE_URL_Attribute = { 0x2fb 866ac, 0xb078, 0x4942, { 0xab, 0x6c, 0x0, 0x3d, 0x5, 0xcd, 0xa6, 0x74 } };
EXTERN_C const DECLSPEC_SELECTANY GUID MFT_FRIENDLY_NAME_Attribute = { 0x314ffba e, 0x5b41, 0x4c95, { 0x9c, 0x19, 0x4e, 0x7d, 0x58, 0x6f, 0xac, 0xe3 } }; EXTERN_C const DECLSPEC_SELECTANY GUID MFT_FRIENDLY_NAME_Attribute = { 0x314ffba e, 0x5b41, 0x4c95, { 0x9c, 0x19, 0x4e, 0x7d, 0x58, 0x6f, 0xac, 0xe3 } };
EXTERN_C const DECLSPEC_SELECTANY GUID MFT_CONNECTED_STREAM_ATTRIBUTE = { 0x71e eb820, 0xa59f, 0x4de2, {0xbc, 0xec, 0x38, 0xdb, 0x1d, 0xd6, 0x11, 0xa4} }; EXTERN_C const DECLSPEC_SELECTANY GUID MFT_CONNECTED_STREAM_ATTRIBUTE = { 0x71e eb820, 0xa59f, 0x4de2, {0xbc, 0xec, 0x38, 0xdb, 0x1d, 0xd6, 0x11, 0xa4} };
EXTERN_C const DECLSPEC_SELECTANY GUID MFT_CONNECTED_TO_HW_STREAM = { 0x34e6e728 , 0x6d6, 0x4491, { 0xa5, 0x53, 0x47, 0x95, 0x65, 0xd, 0xb9, 0x12 } }; EXTERN_C const DECLSPEC_SELECTANY GUID MFT_CONNECTED_TO_HW_STREAM = { 0x34e6e728 , 0x6d6, 0x4491, { 0xa5, 0x53, 0x47, 0x95, 0x65, 0xd, 0xb9, 0x12 } };
EXTERN_C const DECLSPEC_SELECTANY GUID MFT_PREFERRED_OUTPUTTYPE_Attribute = { 0x 7e700499, 0x396a, 0x49ee, { 0xb1, 0xb4, 0xf6, 0x28, 0x2, 0x1e, 0x8c, 0x9d } }; EXTERN_C const DECLSPEC_SELECTANY GUID MFT_PREFERRED_OUTPUTTYPE_Attribute = { 0x 7e700499, 0x396a, 0x49ee, { 0xb1, 0xb4, 0xf6, 0x28, 0x2, 0x1e, 0x8c, 0x9d } };
EXTERN_C const DECLSPEC_SELECTANY GUID MFT_PROCESS_LOCAL_Attribute = { 0x543186e 4, 0x4649, 0x4e65, { 0xb5, 0x88, 0x4a, 0xa3, 0x52, 0xaf, 0xf3, 0x79 } }; EXTERN_C const DECLSPEC_SELECTANY GUID MFT_PROCESS_LOCAL_Attribute = { 0x543186e 4, 0x4649, 0x4e65, { 0xb5, 0x88, 0x4a, 0xa3, 0x52, 0xaf, 0xf3, 0x79 } };
EXTERN_C const DECLSPEC_SELECTANY GUID MFT_PREFERRED_ENCODER_PROFILE = { 0x53004 909, 0x1ef5, 0x46d7, { 0xa1, 0x8e, 0x5a, 0x75, 0xf8, 0xb5, 0x90, 0x5f } }; EXTERN_C const DECLSPEC_SELECTANY GUID MFT_PREFERRED_ENCODER_PROFILE = { 0x53004 909, 0x1ef5, 0x46d7, { 0xa1, 0x8e, 0x5a, 0x75, 0xf8, 0xb5, 0x90, 0x5f } };
EXTERN_C const DECLSPEC_SELECTANY GUID MFT_HW_TIMESTAMP_WITH_QPC_Attribute = { 0 x8d030fb8, 0xcc43, 0x4258, { 0xa2, 0x2e, 0x92, 0x10, 0xbe, 0xf8, 0x9b, 0xe4 } }; EXTERN_C const DECLSPEC_SELECTANY GUID MFT_HW_TIMESTAMP_WITH_QPC_Attribute = { 0 x8d030fb8, 0xcc43, 0x4258, { 0xa2, 0x2e, 0x92, 0x10, 0xbe, 0xf8, 0x9b, 0xe4 } };
EXTERN_C const DECLSPEC_SELECTANY GUID MFT_FIELDOFUSE_UNLOCK_Attribute = { 0x8ec 2e9fd, 0x9148, 0x410d, { 0x83, 0x1e, 0x70, 0x24, 0x39, 0x46, 0x1a, 0x8e } }; EXTERN_C const DECLSPEC_SELECTANY GUID MFT_FIELDOFUSE_UNLOCK_Attribute = { 0x8ec 2e9fd, 0x9148, 0x410d, { 0x83, 0x1e, 0x70, 0x24, 0x39, 0x46, 0x1a, 0x8e } };
EXTERN_C const DECLSPEC_SELECTANY GUID MFT_CODEC_MERIT_Attribute = { 0x88a7cb15, 0x7b07, 0x4a34, { 0x91, 0x28, 0xe6, 0x4c, 0x67, 0x3, 0xc4, 0xd3 } }; EXTERN_C const DECLSPEC_SELECTANY GUID MFT_CODEC_MERIT_Attribute = { 0x88a7cb15, 0x7b07, 0x4a34, { 0x91, 0x28, 0xe6, 0x4c, 0x67, 0x3, 0xc4, 0xd3 } };
EXTERN_C const DECLSPEC_SELECTANY GUID MFT_ENUM_TRANSCODE_ONLY_ATTRIBUTE = { 0x1 11ea8cd, 0xb62a, 0x4bdb, { 0x89, 0xf6, 0x67, 0xff, 0xcd, 0xc2, 0x45, 0x8b } }; EXTERN_C const DECLSPEC_SELECTANY GUID MFT_ENUM_TRANSCODE_ONLY_ATTRIBUTE = { 0x1 11ea8cd, 0xb62a, 0x4bdb, { 0x89, 0xf6, 0x67, 0xff, 0xcd, 0xc2, 0x45, 0x8b } };
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
#pragma endregion
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
STDAPI STDAPI
MFCreateTransformActivate( MFCreateTransformActivate(
__out IMFActivate** ppActivate _Out_ IMFActivate** ppActivate
); );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#endif // (WINVER >= _WIN32_WINNT_WIN7) #endif // (WINVER >= _WIN32_WINNT_WIN7)
extern RPC_IF_HANDLE __MIDL_itf_mftransform_0000_0001_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_mftransform_0000_0001_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_mftransform_0000_0001_v0_0_s_ifspec; extern RPC_IF_HANDLE __MIDL_itf_mftransform_0000_0001_v0_0_s_ifspec;
/* Additional Prototypes for ALL interfaces */ /* Additional Prototypes for ALL interfaces */
/* end of Additional Prototypes */ /* end of Additional Prototypes */
#ifdef __cplusplus #ifdef __cplusplus
 End of changes. 23 change blocks. 
49 lines changed or deleted 131 lines changed or added

This html diff was produced by rfcdiff 1.41.