📄 ipmsp.h
字号:
/* [local] */
#ifndef STREAM_INTERFACES_DEFINED
#define STREAM_INTERFACES_DEFINED
#define MAX_DESCRIPTION_LEN ( 256 )
typedef struct _TAPI_AUDIO_STREAM_CONFIG_CAPS
{
WCHAR Description[ 256 ];
ULONG MinimumChannels;
ULONG MaximumChannels;
ULONG ChannelsGranularity;
ULONG MinimumBitsPerSample;
ULONG MaximumBitsPerSample;
ULONG BitsPerSampleGranularity;
ULONG MinimumSampleFrequency;
ULONG MaximumSampleFrequency;
ULONG SampleFrequencyGranularity;
ULONG MinimumAvgBytesPerSec;
ULONG MaximumAvgBytesPerSec;
ULONG AvgBytesPerSecGranularity;
} TAPI_AUDIO_STREAM_CONFIG_CAPS;
typedef struct _TAPI_AUDIO_STREAM_CONFIG_CAPS *PTAPI_AUDIO_STREAM_CONFIG_CAPS;
typedef struct _TAPI_VIDEO_STREAM_CONFIG_CAPS
{
WCHAR Description[ 256 ];
ULONG VideoStandard;
SIZE InputSize;
SIZE MinCroppingSize;
SIZE MaxCroppingSize;
int CropGranularityX;
int CropGranularityY;
int CropAlignX;
int CropAlignY;
SIZE MinOutputSize;
SIZE MaxOutputSize;
int OutputGranularityX;
int OutputGranularityY;
int StretchTapsX;
int StretchTapsY;
int ShrinkTapsX;
int ShrinkTapsY;
LONGLONG MinFrameInterval;
LONGLONG MaxFrameInterval;
LONG MinBitsPerSecond;
LONG MaxBitsPerSecond;
} TAPI_VIDEO_STREAM_CONFIG_CAPS;
typedef struct _TAPI_VIDEO_STREAM_CONFIG_CAPS *PTAPI_VIDEO_STREAM_CONFIG_CAPS;
typedef
enum tagStreamConfigCapsType
{ AudioStreamConfigCaps = 0,
VideoStreamConfigCaps = AudioStreamConfigCaps + 1
} StreamConfigCapsType;
typedef struct tagTAPI_STREAM_CONFIG_CAPS
{
StreamConfigCapsType CapsType;
union
{
TAPI_VIDEO_STREAM_CONFIG_CAPS VideoCap;
TAPI_AUDIO_STREAM_CONFIG_CAPS AudioCap;
} ;
} TAPI_STREAM_CONFIG_CAPS;
typedef struct tagTAPI_STREAM_CONFIG_CAPS *PTAPI_STREAM_CONFIG_CAPS;
typedef
enum tagTAPIControlFlags
{ TAPIControl_Flags_None = 0,
TAPIControl_Flags_Auto = 0x1,
TAPIControl_Flags_Manual = 0x2
} TAPIControlFlags;
extern RPC_IF_HANDLE __MIDL_itf_ipmsp_0484_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_ipmsp_0484_v0_0_s_ifspec;
#ifndef __ITFormatControl_INTERFACE_DEFINED__
#define __ITFormatControl_INTERFACE_DEFINED__
/* interface ITFormatControl */
/* [hidden][unique][uuid][local][object] */
EXTERN_C const IID IID_ITFormatControl;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("6c0ab6c1-21e3-11d3-a577-00c04f8ef6e3")
ITFormatControl : public IUnknown
{
public:
virtual HRESULT STDMETHODCALLTYPE GetCurrentFormat(
/* [out] */ AM_MEDIA_TYPE **ppMediaType) = 0;
virtual HRESULT STDMETHODCALLTYPE ReleaseFormat(
/* [in] */ AM_MEDIA_TYPE *pMediaType) = 0;
virtual HRESULT STDMETHODCALLTYPE GetNumberOfCapabilities(
/* [out] */ DWORD *pdwCount) = 0;
virtual HRESULT STDMETHODCALLTYPE GetStreamCaps(
/* [in] */ DWORD dwIndex,
/* [out] */ AM_MEDIA_TYPE **ppMediaType,
/* [out] */ TAPI_STREAM_CONFIG_CAPS *pStreamConfigCaps,
/* [out] */ BOOL *pfEnabled) = 0;
virtual HRESULT STDMETHODCALLTYPE ReOrderCapabilities(
/* [in] */ DWORD *pdwIndices,
/* [in] */ BOOL *pfEnabled,
/* [in] */ BOOL *pfPublicize,
/* [in] */ DWORD dwNumIndices) = 0;
};
#else /* C style interface */
typedef struct ITFormatControlVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
ITFormatControl * This,
/* [in] */ REFIID riid,
/* [iid_is][out] */ void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
ITFormatControl * This);
ULONG ( STDMETHODCALLTYPE *Release )(
ITFormatControl * This);
HRESULT ( STDMETHODCALLTYPE *GetCurrentFormat )(
ITFormatControl * This,
/* [out] */ AM_MEDIA_TYPE **ppMediaType);
HRESULT ( STDMETHODCALLTYPE *ReleaseFormat )(
ITFormatControl * This,
/* [in] */ AM_MEDIA_TYPE *pMediaType);
HRESULT ( STDMETHODCALLTYPE *GetNumberOfCapabilities )(
ITFormatControl * This,
/* [out] */ DWORD *pdwCount);
HRESULT ( STDMETHODCALLTYPE *GetStreamCaps )(
ITFormatControl * This,
/* [in] */ DWORD dwIndex,
/* [out] */ AM_MEDIA_TYPE **ppMediaType,
/* [out] */ TAPI_STREAM_CONFIG_CAPS *pStreamConfigCaps,
/* [out] */ BOOL *pfEnabled);
HRESULT ( STDMETHODCALLTYPE *ReOrderCapabilities )(
ITFormatControl * This,
/* [in] */ DWORD *pdwIndices,
/* [in] */ BOOL *pfEnabled,
/* [in] */ BOOL *pfPublicize,
/* [in] */ DWORD dwNumIndices);
END_INTERFACE
} ITFormatControlVtbl;
interface ITFormatControl
{
CONST_VTBL struct ITFormatControlVtbl *lpVtbl;
};
#ifdef COBJMACROS
#define ITFormatControl_QueryInterface(This,riid,ppvObject) \
(This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
#define ITFormatControl_AddRef(This) \
(This)->lpVtbl -> AddRef(This)
#define ITFormatControl_Release(This) \
(This)->lpVtbl -> Release(This)
#define ITFormatControl_GetCurrentFormat(This,ppMediaType) \
(This)->lpVtbl -> GetCurrentFormat(This,ppMediaType)
#define ITFormatControl_ReleaseFormat(This,pMediaType) \
(This)->lpVtbl -> ReleaseFormat(This,pMediaType)
#define ITFormatControl_GetNumberOfCapabilities(This,pdwCount) \
(This)->lpVtbl -> GetNumberOfCapabilities(This,pdwCount)
#define ITFormatControl_GetStreamCaps(This,dwIndex,ppMediaType,pStreamConfigCaps,pfEnabled) \
(This)->lpVtbl -> GetStreamCaps(This,dwIndex,ppMediaType,pStreamConfigCaps,pfEnabled)
#define ITFormatControl_ReOrderCapabilities(This,pdwIndices,pfEnabled,pfPublicize,dwNumIndices) \
(This)->lpVtbl -> ReOrderCapabilities(This,pdwIndices,pfEnabled,pfPublicize,dwNumIndices)
#endif /* COBJMACROS */
#endif /* C style interface */
HRESULT STDMETHODCALLTYPE ITFormatControl_GetCurrentFormat_Proxy(
ITFormatControl * This,
/* [out] */ AM_MEDIA_TYPE **ppMediaType);
void __RPC_STUB ITFormatControl_GetCurrentFormat_Stub(
IRpcStubBuffer *This,
IRpcChannelBuffer *_pRpcChannelBuffer,
PRPC_MESSAGE _pRpcMessage,
DWORD *_pdwStubPhase);
HRESULT STDMETHODCALLTYPE ITFormatControl_ReleaseFormat_Proxy(
ITFormatControl * This,
/* [in] */ AM_MEDIA_TYPE *pMediaType);
void __RPC_STUB ITFormatControl_ReleaseFormat_Stub(
IRpcStubBuffer *This,
IRpcChannelBuffer *_pRpcChannelBuffer,
PRPC_MESSAGE _pRpcMessage,
DWORD *_pdwStubPhase);
HRESULT STDMETHODCALLTYPE ITFormatControl_GetNumberOfCapabilities_Proxy(
ITFormatControl * This,
/* [out] */ DWORD *pdwCount);
void __RPC_STUB ITFormatControl_GetNumberOfCapabilities_Stub(
IRpcStubBuffer *This,
IRpcChannelBuffer *_pRpcChannelBuffer,
PRPC_MESSAGE _pRpcMessage,
DWORD *_pdwStubPhase);
HRESULT STDMETHODCALLTYPE ITFormatControl_GetStreamCaps_Proxy(
ITFormatControl * This,
/* [in] */ DWORD dwIndex,
/* [out] */ AM_MEDIA_TYPE **ppMediaType,
/* [out] */ TAPI_STREAM_CONFIG_CAPS *pStreamConfigCaps,
/* [out] */ BOOL *pfEnabled);
void __RPC_STUB ITFormatControl_GetStreamCaps_Stub(
IRpcStubBuffer *This,
IRpcChannelBuffer *_pRpcChannelBuffer,
PRPC_MESSAGE _pRpcMessage,
DWORD *_pdwStubPhase);
HRESULT STDMETHODCALLTYPE ITFormatControl_ReOrderCapabilities_Proxy(
ITFormatControl * This,
/* [in] */ DWORD *pdwIndices,
/* [in] */ BOOL *pfEnabled,
/* [in] */ BOOL *pfPublicize,
/* [in] */ DWORD dwNumIndices);
void __RPC_STUB ITFormatControl_ReOrderCapabilities_Stub(
IRpcStubBuffer *This,
IRpcChannelBuffer *_pRpcChannelBuffer,
PRPC_MESSAGE _pRpcMessage,
DWORD *_pdwStubPhase);
#endif /* __ITFormatControl_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_ipmsp_0485 */
/* [local] */
typedef
enum tagStreamQualityProperty
{ StreamQuality_MaxBitrate = 0,
StreamQuality_CurrBitrate = StreamQuality_MaxBitrate + 1,
StreamQuality_MinFrameInterval = StreamQuality_CurrBitrate + 1,
StreamQuality_AvgFrameInterval = StreamQuality_MinFrameInterval + 1
} StreamQualityProperty;
extern RPC_IF_HANDLE __MIDL_itf_ipmsp_0485_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_ipmsp_0485_v0_0_s_ifspec;
#ifndef __ITStreamQualityControl_INTERFACE_DEFINED__
#define __ITStreamQualityControl_INTERFACE_DEFINED__
/* interface ITStreamQualityControl */
/* [hidden][unique][uuid][local][object] */
EXTERN_C const IID IID_ITStreamQualityControl;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("6c0ab6c2-21e3-11d3-a577-00c04f8ef6e3")
ITStreamQualityControl : public IUnknown
{
public:
virtual HRESULT STDMETHODCALLTYPE GetRange(
/* [in] */ StreamQualityProperty Property,
/* [out] */ long *plMin,
/* [out] */ long *plMax,
/* [out] */ long *plSteppingDelta,
/* [out] */ long *plDefault,
/* [out] */ TAPIControlFlags *plFlags) = 0;
virtual HRESULT STDMETHODCALLTYPE Get(
/* [in] */ StreamQualityProperty Property,
/* [out] */ long *plValue,
/* [out] */ TAPIControlFlags *plFlags) = 0;
virtual HRESULT STDMETHODCALLTYPE Set(
/* [in] */ StreamQualityProperty Property,
/* [in] */ long lValue,
/* [in] */ TAPIControlFlags lFlags) = 0;
};
#else /* C style interface */
typedef struct ITStreamQualityControlVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
ITStreamQualityControl * This,
/* [in] */ REFIID riid,
/* [iid_is][out] */ void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
ITStreamQualityControl * This);
ULONG ( STDMETHODCALLTYPE *Release )(
ITStreamQualityControl * This);
HRESULT ( STDMETHODCALLTYPE *GetRange )(
ITStreamQualityControl * This,
/* [in] */ StreamQualityProperty Property,
/* [out] */ long *plMin,
/* [out] */ long *plMax,
/* [out] */ long *plSteppingDelta,
/* [out] */ long *plDefault,
/* [out] */ TAPIControlFlags *plFlags);
HRESULT ( STDMETHODCALLTYPE *Get )(
ITStreamQualityControl * This,
/* [in] */ StreamQualityProperty Property,
/* [out] */ long *plValue,
/* [out] */ TAPIControlFlags *plFlags);
HRESULT ( STDMETHODCALLTYPE *Set )(
ITStreamQualityControl * This,
/* [in] */ StreamQualityProperty Property,
/* [in] */ long lValue,
/* [in] */ TAPIControlFlags lFlags);
END_INTERFACE
} ITStreamQualityControlVtbl;
interface ITStreamQualityControl
{
CONST_VTBL struct ITStreamQualityControlVtbl *lpVtbl;
};
#ifdef COBJMACROS
#define ITStreamQualityControl_QueryInterface(This,riid,ppvObject) \
(This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
#define ITStreamQualityControl_AddRef(This) \
(This)->lpVtbl -> AddRef(This)
#define ITStreamQualityControl_Release(This) \
(This)->lpVtbl -> Release(This)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -