📄 mediaobj.h
字号:
#pragma warning( disable: 4049 ) /* more than 64k source lines */
/* this ALWAYS GENERATED file contains the definitions for the interfaces */
/* File created by MIDL compiler version 6.00.0347 */
/* Compiler settings for mediaobj.idl:
Oicf, W1, Zp8, env=Win32 (32b run)
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( )
/* verify that the <rpcndr.h> version is high enough to compile this file*/
#ifndef __REQUIRED_RPCNDR_H_VERSION__
#define __REQUIRED_RPCNDR_H_VERSION__ 475
#endif
#include "rpc.h"
#include "rpcndr.h"
#ifndef __RPCNDR_H_VERSION__
#error this stub requires an updated version of <rpcndr.h>
#endif // __RPCNDR_H_VERSION__
#ifndef COM_NO_WINDOWS_H
#include "windows.h"
#include "ole2.h"
#endif /*COM_NO_WINDOWS_H*/
#ifndef __mediaobj_h__
#define __mediaobj_h__
#if defined(_MSC_VER) && (_MSC_VER >= 1020)
#pragma once
#endif
/* Forward Declarations */
#ifndef __IMediaBuffer_FWD_DEFINED__
#define __IMediaBuffer_FWD_DEFINED__
typedef interface IMediaBuffer IMediaBuffer;
#endif /* __IMediaBuffer_FWD_DEFINED__ */
#ifndef __IMediaObject_FWD_DEFINED__
#define __IMediaObject_FWD_DEFINED__
typedef interface IMediaObject IMediaObject;
#endif /* __IMediaObject_FWD_DEFINED__ */
#ifndef __IEnumDMO_FWD_DEFINED__
#define __IEnumDMO_FWD_DEFINED__
typedef interface IEnumDMO IEnumDMO;
#endif /* __IEnumDMO_FWD_DEFINED__ */
#ifndef __IMediaObjectInPlace_FWD_DEFINED__
#define __IMediaObjectInPlace_FWD_DEFINED__
typedef interface IMediaObjectInPlace IMediaObjectInPlace;
#endif /* __IMediaObjectInPlace_FWD_DEFINED__ */
#ifndef __IDMOQualityControl_FWD_DEFINED__
#define __IDMOQualityControl_FWD_DEFINED__
typedef interface IDMOQualityControl IDMOQualityControl;
#endif /* __IDMOQualityControl_FWD_DEFINED__ */
#ifndef __IDMOVideoOutputOptimizations_FWD_DEFINED__
#define __IDMOVideoOutputOptimizations_FWD_DEFINED__
typedef interface IDMOVideoOutputOptimizations IDMOVideoOutputOptimizations;
#endif /* __IDMOVideoOutputOptimizations_FWD_DEFINED__ */
/* header files for imported files */
#include "unknwn.h"
#include "objidl.h"
#ifdef __cplusplus
extern "C"{
#endif
void * __RPC_USER MIDL_user_allocate(size_t);
void __RPC_USER MIDL_user_free( void * );
/* interface __MIDL_itf_mediaobj_0000 */
/* [local] */
#ifdef __strmif_h__
typedef AM_MEDIA_TYPE DMO_MEDIA_TYPE;
#else
typedef struct _DMOMediaType
{
GUID majortype;
GUID subtype;
BOOL bFixedSizeSamples;
BOOL bTemporalCompression;
ULONG lSampleSize;
GUID formattype;
IUnknown *pUnk;
ULONG cbFormat;
/* [size_is] */ BYTE *pbFormat;
} DMO_MEDIA_TYPE;
typedef LONGLONG REFERENCE_TIME;
#endif
enum _DMO_INPUT_DATA_BUFFER_FLAGS
{ DMO_INPUT_DATA_BUFFERF_SYNCPOINT = 0x1,
DMO_INPUT_DATA_BUFFERF_TIME = 0x2,
DMO_INPUT_DATA_BUFFERF_TIMELENGTH = 0x4
} ;
enum _DMO_OUTPUT_DATA_BUFFER_FLAGS
{ DMO_OUTPUT_DATA_BUFFERF_SYNCPOINT = 0x1,
DMO_OUTPUT_DATA_BUFFERF_TIME = 0x2,
DMO_OUTPUT_DATA_BUFFERF_TIMELENGTH = 0x4,
DMO_OUTPUT_DATA_BUFFERF_INCOMPLETE = 0x1000000
} ;
enum _DMO_INPUT_STATUS_FLAGS
{ DMO_INPUT_STATUSF_ACCEPT_DATA = 0x1
} ;
enum _DMO_INPUT_STREAM_INFO_FLAGS
{ DMO_INPUT_STREAMF_WHOLE_SAMPLES = 0x1,
DMO_INPUT_STREAMF_SINGLE_SAMPLE_PER_BUFFER = 0x2,
DMO_INPUT_STREAMF_FIXED_SAMPLE_SIZE = 0x4,
DMO_INPUT_STREAMF_HOLDS_BUFFERS = 0x8
} ;
enum _DMO_OUTPUT_STREAM_INFO_FLAGS
{ DMO_OUTPUT_STREAMF_WHOLE_SAMPLES = 0x1,
DMO_OUTPUT_STREAMF_SINGLE_SAMPLE_PER_BUFFER = 0x2,
DMO_OUTPUT_STREAMF_FIXED_SAMPLE_SIZE = 0x4,
DMO_OUTPUT_STREAMF_DISCARDABLE = 0x8,
DMO_OUTPUT_STREAMF_OPTIONAL = 0x10
} ;
enum _DMO_SET_TYPE_FLAGS
{ DMO_SET_TYPEF_TEST_ONLY = 0x1,
DMO_SET_TYPEF_CLEAR = 0x2
} ;
enum _DMO_PROCESS_OUTPUT_FLAGS
{ DMO_PROCESS_OUTPUT_DISCARD_WHEN_NO_BUFFER = 0x1
} ;
extern RPC_IF_HANDLE __MIDL_itf_mediaobj_0000_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_mediaobj_0000_v0_0_s_ifspec;
#ifndef __IMediaBuffer_INTERFACE_DEFINED__
#define __IMediaBuffer_INTERFACE_DEFINED__
/* interface IMediaBuffer */
/* [uuid][object] */
EXTERN_C const IID IID_IMediaBuffer;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("59eff8b9-938c-4a26-82f2-95cb84cdc837")
IMediaBuffer : public IUnknown
{
public:
virtual HRESULT STDMETHODCALLTYPE SetLength(
DWORD cbLength) = 0;
virtual HRESULT STDMETHODCALLTYPE GetMaxLength(
/* [out] */ DWORD *pcbMaxLength) = 0;
virtual HRESULT STDMETHODCALLTYPE GetBufferAndLength(
/* [out] */ BYTE **ppBuffer,
/* [out] */ DWORD *pcbLength) = 0;
};
#else /* C style interface */
typedef struct IMediaBufferVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IMediaBuffer * This,
/* [in] */ REFIID riid,
/* [iid_is][out] */ void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
IMediaBuffer * This);
ULONG ( STDMETHODCALLTYPE *Release )(
IMediaBuffer * This);
HRESULT ( STDMETHODCALLTYPE *SetLength )(
IMediaBuffer * This,
DWORD cbLength);
HRESULT ( STDMETHODCALLTYPE *GetMaxLength )(
IMediaBuffer * This,
/* [out] */ DWORD *pcbMaxLength);
HRESULT ( STDMETHODCALLTYPE *GetBufferAndLength )(
IMediaBuffer * This,
/* [out] */ BYTE **ppBuffer,
/* [out] */ DWORD *pcbLength);
END_INTERFACE
} IMediaBufferVtbl;
interface IMediaBuffer
{
CONST_VTBL struct IMediaBufferVtbl *lpVtbl;
};
#ifdef COBJMACROS
#define IMediaBuffer_QueryInterface(This,riid,ppvObject) \
(This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
#define IMediaBuffer_AddRef(This) \
(This)->lpVtbl -> AddRef(This)
#define IMediaBuffer_Release(This) \
(This)->lpVtbl -> Release(This)
#define IMediaBuffer_SetLength(This,cbLength) \
(This)->lpVtbl -> SetLength(This,cbLength)
#define IMediaBuffer_GetMaxLength(This,pcbMaxLength) \
(This)->lpVtbl -> GetMaxLength(This,pcbMaxLength)
#define IMediaBuffer_GetBufferAndLength(This,ppBuffer,pcbLength) \
(This)->lpVtbl -> GetBufferAndLength(This,ppBuffer,pcbLength)
#endif /* COBJMACROS */
#endif /* C style interface */
HRESULT STDMETHODCALLTYPE IMediaBuffer_SetLength_Proxy(
IMediaBuffer * This,
DWORD cbLength);
void __RPC_STUB IMediaBuffer_SetLength_Stub(
IRpcStubBuffer *This,
IRpcChannelBuffer *_pRpcChannelBuffer,
PRPC_MESSAGE _pRpcMessage,
DWORD *_pdwStubPhase);
HRESULT STDMETHODCALLTYPE IMediaBuffer_GetMaxLength_Proxy(
IMediaBuffer * This,
/* [out] */ DWORD *pcbMaxLength);
void __RPC_STUB IMediaBuffer_GetMaxLength_Stub(
IRpcStubBuffer *This,
IRpcChannelBuffer *_pRpcChannelBuffer,
PRPC_MESSAGE _pRpcMessage,
DWORD *_pdwStubPhase);
HRESULT STDMETHODCALLTYPE IMediaBuffer_GetBufferAndLength_Proxy(
IMediaBuffer * This,
/* [out] */ BYTE **ppBuffer,
/* [out] */ DWORD *pcbLength);
void __RPC_STUB IMediaBuffer_GetBufferAndLength_Stub(
IRpcStubBuffer *This,
IRpcChannelBuffer *_pRpcChannelBuffer,
PRPC_MESSAGE _pRpcMessage,
DWORD *_pdwStubPhase);
#endif /* __IMediaBuffer_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_mediaobj_0089 */
/* [local] */
typedef struct _DMO_OUTPUT_DATA_BUFFER
{
IMediaBuffer *pBuffer;
DWORD dwStatus;
REFERENCE_TIME rtTimestamp;
REFERENCE_TIME rtTimelength;
} DMO_OUTPUT_DATA_BUFFER;
typedef struct _DMO_OUTPUT_DATA_BUFFER *PDMO_OUTPUT_DATA_BUFFER;
extern RPC_IF_HANDLE __MIDL_itf_mediaobj_0089_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_mediaobj_0089_v0_0_s_ifspec;
#ifndef __IMediaObject_INTERFACE_DEFINED__
#define __IMediaObject_INTERFACE_DEFINED__
/* interface IMediaObject */
/* [uuid][object] */
EXTERN_C const IID IID_IMediaObject;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("d8ad0f58-5494-4102-97c5-ec798e59bcf4")
IMediaObject : public IUnknown
{
public:
virtual HRESULT STDMETHODCALLTYPE GetStreamCount(
/* [out] */ DWORD *pcInputStreams,
/* [out] */ DWORD *pcOutputStreams) = 0;
virtual HRESULT STDMETHODCALLTYPE GetInputStreamInfo(
DWORD dwInputStreamIndex,
/* [out] */ DWORD *pdwFlags) = 0;
virtual HRESULT STDMETHODCALLTYPE GetOutputStreamInfo(
DWORD dwOutputStreamIndex,
/* [out] */ DWORD *pdwFlags) = 0;
virtual HRESULT STDMETHODCALLTYPE GetInputType(
DWORD dwInputStreamIndex,
DWORD dwTypeIndex,
/* [out] */ DMO_MEDIA_TYPE *pmt) = 0;
virtual HRESULT STDMETHODCALLTYPE GetOutputType(
DWORD dwOutputStreamIndex,
DWORD dwTypeIndex,
/* [out] */ DMO_MEDIA_TYPE *pmt) = 0;
virtual HRESULT STDMETHODCALLTYPE SetInputType(
DWORD dwInputStreamIndex,
/* [in] */ const DMO_MEDIA_TYPE *pmt,
DWORD dwFlags) = 0;
virtual HRESULT STDMETHODCALLTYPE SetOutputType(
DWORD dwOutputStreamIndex,
/* [in] */ const DMO_MEDIA_TYPE *pmt,
DWORD dwFlags) = 0;
virtual HRESULT STDMETHODCALLTYPE GetInputCurrentType(
DWORD dwInputStreamIndex,
/* [out] */ DMO_MEDIA_TYPE *pmt) = 0;
virtual HRESULT STDMETHODCALLTYPE GetOutputCurrentType(
DWORD dwOutputStreamIndex,
/* [out] */ DMO_MEDIA_TYPE *pmt) = 0;
virtual HRESULT STDMETHODCALLTYPE GetInputSizeInfo(
DWORD dwInputStreamIndex,
/* [out] */ DWORD *pcbSize,
/* [out] */ DWORD *pcbMaxLookahead,
/* [out] */ DWORD *pcbAlignment) = 0;
virtual HRESULT STDMETHODCALLTYPE GetOutputSizeInfo(
DWORD dwOutputStreamIndex,
/* [out] */ DWORD *pcbSize,
/* [out] */ DWORD *pcbAlignment) = 0;
virtual HRESULT STDMETHODCALLTYPE GetInputMaxLatency(
DWORD dwInputStreamIndex,
/* [out] */ REFERENCE_TIME *prtMaxLatency) = 0;
virtual HRESULT STDMETHODCALLTYPE SetInputMaxLatency(
DWORD dwInputStreamIndex,
REFERENCE_TIME rtMaxLatency) = 0;
virtual HRESULT STDMETHODCALLTYPE Flush( void) = 0;
virtual HRESULT STDMETHODCALLTYPE Discontinuity(
DWORD dwInputStreamIndex) = 0;
virtual HRESULT STDMETHODCALLTYPE AllocateStreamingResources( void) = 0;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -