📄 sbe.h
字号:
#define IStreamBufferSource_QueryInterface(This,riid,ppvObject) \
(This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
#define IStreamBufferSource_AddRef(This) \
(This)->lpVtbl -> AddRef(This)
#define IStreamBufferSource_Release(This) \
(This)->lpVtbl -> Release(This)
#define IStreamBufferSource_SetStreamSink(This,pIStreamBufferSink) \
(This)->lpVtbl -> SetStreamSink(This,pIStreamBufferSink)
#endif /* COBJMACROS */
#endif /* C style interface */
HRESULT STDMETHODCALLTYPE IStreamBufferSource_SetStreamSink_Proxy(
IStreamBufferSource * This,
/* [in] */ IStreamBufferSink *pIStreamBufferSink);
void __RPC_STUB IStreamBufferSource_SetStreamSink_Stub(
IRpcStubBuffer *This,
IRpcChannelBuffer *_pRpcChannelBuffer,
PRPC_MESSAGE _pRpcMessage,
DWORD *_pdwStubPhase);
#endif /* __IStreamBufferSource_INTERFACE_DEFINED__ */
#ifndef __IStreamBufferRecordControl_INTERFACE_DEFINED__
#define __IStreamBufferRecordControl_INTERFACE_DEFINED__
/* interface IStreamBufferRecordControl */
/* [unique][uuid][object] */
EXTERN_C const IID IID_IStreamBufferRecordControl;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("ba9b6c99-f3c7-4ff2-92db-cfdd4851bf31")
IStreamBufferRecordControl : public IUnknown
{
public:
virtual HRESULT STDMETHODCALLTYPE Start(
/* [out][in] */ REFERENCE_TIME *prtStart) = 0;
virtual HRESULT STDMETHODCALLTYPE Stop(
/* [in] */ REFERENCE_TIME rtStop) = 0;
virtual HRESULT STDMETHODCALLTYPE GetRecordingStatus(
/* [out] */ HRESULT *phResult,
/* [out] */ BOOL *pbStarted,
/* [out] */ BOOL *pbStopped) = 0;
};
#else /* C style interface */
typedef struct IStreamBufferRecordControlVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IStreamBufferRecordControl * This,
/* [in] */ REFIID riid,
/* [iid_is][out] */ void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
IStreamBufferRecordControl * This);
ULONG ( STDMETHODCALLTYPE *Release )(
IStreamBufferRecordControl * This);
HRESULT ( STDMETHODCALLTYPE *Start )(
IStreamBufferRecordControl * This,
/* [out][in] */ REFERENCE_TIME *prtStart);
HRESULT ( STDMETHODCALLTYPE *Stop )(
IStreamBufferRecordControl * This,
/* [in] */ REFERENCE_TIME rtStop);
HRESULT ( STDMETHODCALLTYPE *GetRecordingStatus )(
IStreamBufferRecordControl * This,
/* [out] */ HRESULT *phResult,
/* [out] */ BOOL *pbStarted,
/* [out] */ BOOL *pbStopped);
END_INTERFACE
} IStreamBufferRecordControlVtbl;
interface IStreamBufferRecordControl
{
CONST_VTBL struct IStreamBufferRecordControlVtbl *lpVtbl;
};
#ifdef COBJMACROS
#define IStreamBufferRecordControl_QueryInterface(This,riid,ppvObject) \
(This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
#define IStreamBufferRecordControl_AddRef(This) \
(This)->lpVtbl -> AddRef(This)
#define IStreamBufferRecordControl_Release(This) \
(This)->lpVtbl -> Release(This)
#define IStreamBufferRecordControl_Start(This,prtStart) \
(This)->lpVtbl -> Start(This,prtStart)
#define IStreamBufferRecordControl_Stop(This,rtStop) \
(This)->lpVtbl -> Stop(This,rtStop)
#define IStreamBufferRecordControl_GetRecordingStatus(This,phResult,pbStarted,pbStopped) \
(This)->lpVtbl -> GetRecordingStatus(This,phResult,pbStarted,pbStopped)
#endif /* COBJMACROS */
#endif /* C style interface */
HRESULT STDMETHODCALLTYPE IStreamBufferRecordControl_Start_Proxy(
IStreamBufferRecordControl * This,
/* [out][in] */ REFERENCE_TIME *prtStart);
void __RPC_STUB IStreamBufferRecordControl_Start_Stub(
IRpcStubBuffer *This,
IRpcChannelBuffer *_pRpcChannelBuffer,
PRPC_MESSAGE _pRpcMessage,
DWORD *_pdwStubPhase);
HRESULT STDMETHODCALLTYPE IStreamBufferRecordControl_Stop_Proxy(
IStreamBufferRecordControl * This,
/* [in] */ REFERENCE_TIME rtStop);
void __RPC_STUB IStreamBufferRecordControl_Stop_Stub(
IRpcStubBuffer *This,
IRpcChannelBuffer *_pRpcChannelBuffer,
PRPC_MESSAGE _pRpcMessage,
DWORD *_pdwStubPhase);
HRESULT STDMETHODCALLTYPE IStreamBufferRecordControl_GetRecordingStatus_Proxy(
IStreamBufferRecordControl * This,
/* [out] */ HRESULT *phResult,
/* [out] */ BOOL *pbStarted,
/* [out] */ BOOL *pbStopped);
void __RPC_STUB IStreamBufferRecordControl_GetRecordingStatus_Stub(
IRpcStubBuffer *This,
IRpcChannelBuffer *_pRpcChannelBuffer,
PRPC_MESSAGE _pRpcMessage,
DWORD *_pdwStubPhase);
#endif /* __IStreamBufferRecordControl_INTERFACE_DEFINED__ */
#ifndef __IStreamBufferRecComp_INTERFACE_DEFINED__
#define __IStreamBufferRecComp_INTERFACE_DEFINED__
/* interface IStreamBufferRecComp */
/* [unique][uuid][object] */
EXTERN_C const IID IID_IStreamBufferRecComp;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("9E259A9B-8815-42ae-B09F-221970B154FD")
IStreamBufferRecComp : public IUnknown
{
public:
virtual HRESULT STDMETHODCALLTYPE Initialize(
/* [in] */ LPCWSTR pszTargetFilename,
/* [in] */ LPCWSTR pszSBRecProfileRef) = 0;
virtual HRESULT STDMETHODCALLTYPE Append(
/* [in] */ LPCWSTR pszSBRecording) = 0;
virtual HRESULT STDMETHODCALLTYPE AppendEx(
/* [in] */ LPCWSTR pszSBRecording,
/* [in] */ REFERENCE_TIME rtStart,
/* [in] */ REFERENCE_TIME rtStop) = 0;
virtual HRESULT STDMETHODCALLTYPE GetCurrentLength(
/* [out] */ DWORD *pcSeconds) = 0;
virtual HRESULT STDMETHODCALLTYPE Close( void) = 0;
virtual HRESULT STDMETHODCALLTYPE Cancel( void) = 0;
};
#else /* C style interface */
typedef struct IStreamBufferRecCompVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IStreamBufferRecComp * This,
/* [in] */ REFIID riid,
/* [iid_is][out] */ void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
IStreamBufferRecComp * This);
ULONG ( STDMETHODCALLTYPE *Release )(
IStreamBufferRecComp * This);
HRESULT ( STDMETHODCALLTYPE *Initialize )(
IStreamBufferRecComp * This,
/* [in] */ LPCWSTR pszTargetFilename,
/* [in] */ LPCWSTR pszSBRecProfileRef);
HRESULT ( STDMETHODCALLTYPE *Append )(
IStreamBufferRecComp * This,
/* [in] */ LPCWSTR pszSBRecording);
HRESULT ( STDMETHODCALLTYPE *AppendEx )(
IStreamBufferRecComp * This,
/* [in] */ LPCWSTR pszSBRecording,
/* [in] */ REFERENCE_TIME rtStart,
/* [in] */ REFERENCE_TIME rtStop);
HRESULT ( STDMETHODCALLTYPE *GetCurrentLength )(
IStreamBufferRecComp * This,
/* [out] */ DWORD *pcSeconds);
HRESULT ( STDMETHODCALLTYPE *Close )(
IStreamBufferRecComp * This);
HRESULT ( STDMETHODCALLTYPE *Cancel )(
IStreamBufferRecComp * This);
END_INTERFACE
} IStreamBufferRecCompVtbl;
interface IStreamBufferRecComp
{
CONST_VTBL struct IStreamBufferRecCompVtbl *lpVtbl;
};
#ifdef COBJMACROS
#define IStreamBufferRecComp_QueryInterface(This,riid,ppvObject) \
(This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
#define IStreamBufferRecComp_AddRef(This) \
(This)->lpVtbl -> AddRef(This)
#define IStreamBufferRecComp_Release(This) \
(This)->lpVtbl -> Release(This)
#define IStreamBufferRecComp_Initialize(This,pszTargetFilename,pszSBRecProfileRef) \
(This)->lpVtbl -> Initialize(This,pszTargetFilename,pszSBRecProfileRef)
#define IStreamBufferRecComp_Append(This,pszSBRecording) \
(This)->lpVtbl -> Append(This,pszSBRecording)
#define IStreamBufferRecComp_AppendEx(This,pszSBRecording,rtStart,rtStop) \
(This)->lpVtbl -> AppendEx(This,pszSBRecording,rtStart,rtStop)
#define IStreamBufferRecComp_GetCurrentLength(This,pcSeconds) \
(This)->lpVtbl -> GetCurrentLength(This,pcSeconds)
#define IStreamBufferRecComp_Close(This) \
(This)->lpVtbl -> Close(This)
#define IStreamBufferRecComp_Cancel(This) \
(This)->lpVtbl -> Cancel(This)
#endif /* COBJMACROS */
#endif /* C style interface */
HRESULT STDMETHODCALLTYPE IStreamBufferRecComp_Initialize_Proxy(
IStreamBufferRecComp * This,
/* [in] */ LPCWSTR pszTargetFilename,
/* [in] */ LPCWSTR pszSBRecProfileRef);
void __RPC_STUB IStreamBufferRecComp_Initialize_Stub(
IRpcStubBuffer *This,
IRpcChannelBuffer *_pRpcChannelBuffer,
PRPC_MESSAGE _pRpcMessage,
DWORD *_pdwStubPhase);
HRESULT STDMETHODCALLTYPE IStreamBufferRecComp_Append_Proxy(
IStreamBufferRecComp * This,
/* [in] */ LPCWSTR pszSBRecording);
void __RPC_STUB IStreamBufferRecComp_Append_Stub(
IRpcStubBuffer *This,
IRpcChannelBuffer *_pRpcChannelBuffer,
PRPC_MESSAGE _pRpcMessage,
DWORD *_pdwStubPhase);
HRESULT STDMETHODCALLTYPE IStreamBufferRecComp_AppendEx_Proxy(
IStreamBufferRecComp * This,
/* [in] */ LPCWSTR pszSBRecording,
/* [in] */ REFERENCE_TIME rtStart,
/* [in] */ REFERENCE_TIME rtStop);
void __RPC_STUB IStreamBufferRecComp_AppendEx_Stub(
IRpcStubBuffer *This,
IRpcChannelBuffer *_pRpcChannelBuffer,
PRPC_MESSAGE _pRpcMessage,
DWORD *_pdwStubPhase);
HRESULT STDMETHODCALLTYPE IStreamBufferRecComp_GetCurrentLength_Proxy(
IStreamBufferRecComp * This,
/* [out] */ DWORD *pcSeconds);
void __RPC_STUB IStreamBufferRecComp_GetCurrentLength_Stub(
IRpcStubBuffer *This,
IRpcChannelBuffer *_pRpcChannelBuffer,
PRPC_MESSAGE _pRpcMessage,
DWORD *_pdwStubPhase);
HRESULT STDMETHODCALLTYPE IStreamBufferRecComp_Close_Proxy(
IStreamBufferRecComp * This);
void __RPC_STUB IStreamBufferRecComp_Close_Stub(
IRpcStubBuffer *This,
IRpcChannelBuffer *_pRpcChannelBuffer,
PRPC_MESSAGE _pRpcMessage,
DWORD *_pdwStubPhase);
HRESULT STDMETHODCALLTYPE IStreamBufferRecComp_Cancel_Proxy(
IStreamBufferRecComp * This);
void __RPC_STUB IStreamBufferRecComp_Cancel_Stub(
IRpcStubBuffer *This,
IRpcChannelBuffer *_pRpcChannelBuffer,
PRPC_MESSAGE _pRpcMessage,
DWORD *_pdwStubPhase);
#endif /* __IStreamBufferRecComp_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_sbe_0412 */
/* [local] */
////////////////////////////////////////////////////////////////
//
// List of pre-defined attributes
//
static const WCHAR g_wszStreamBufferRecordingDuration[] =L"Duration";
static const WCHAR g_wszStreamBufferRecordingBitrate[] =L"Bitrate";
static const WCHAR g_wszStreamBufferRecordingSeekable[] =L"Seekable";
static const WCHAR g_wszStreamBufferRecordingStridable[] =L"Stridable";
static const WCHAR g_wszStreamBufferRecordingBroadcast[] =L"Broadcast";
static const WCHAR g_wszStreamBufferRecordingProtected[] =L"Is_Protected";
static const WCHAR g_wszStreamBufferRecordingTrusted[] =L"Is_Trusted";
static const WCHAR g_wszStreamBufferRecordingSignature_Name[] =L"Signature_Name";
static const WCHAR g_wszStreamBufferRecordingHasAudio[] =L"HasAudio";
static const WCHAR g_wszStreamBufferRecordingHasImage[] =L"HasImage";
static const WCHAR g_wszStreamBufferRecordingHasScript[] =L"HasScript";
static const WCHAR g_wszStreamBufferRecordingHasVideo[] =L"HasVideo";
static const WCHAR g_wszStreamBufferRecordingCurrentBitrate[] =L"CurrentBitrate";
static const WCHAR g_wszStreamBufferRecordingOptimalBitrate[] =L"OptimalBitrate";
static const WCHAR g_wszStreamBufferRecordingHasAttachedImages[] =L"HasAttachedImages";
static const WCHAR g_wszStreamBufferRecordingSkipBackward[] =L"Can_Skip_Backward";
static const WCHAR g_wszStreamBufferRecordingSkipForward[] =L"Can_Skip_Forward";
static const WCHAR g_wszStreamBufferRecordingNumberOfFrames[] =L"NumberOfFrames";
static const WCHAR g_wszStreamBufferRecordingFileSize[] =L"FileSize";
static const WCHAR g_wszStreamBufferRecordingHasArbitraryDataStream[] =L"HasArbitraryDataStream";
static const WCHAR g_wszStreamBufferRecordingHasFileTransferStream[] =L"HasFileTransferStream";
////////////////////////////////////////////////////////////////
//
// The content description object supports 5 basic attributes.
//
static const WCHAR g_wszStreamBufferRecordingTitle[] =L"Title";
static const WCHAR g_wszStreamBufferRecordingAuthor[] =L"Author";
static const WCHAR g_wszStreamBufferRecordingDescription[] =L"Description";
static const WCHAR g_wszStreamBufferRecordingRating[] =L"Rating";
static const WCHAR g_wszStreamBufferRecordingCopyright[] =L"Copyright";
////////////////////////////////////////////////////////////////
//
// These attributes are used to configure DRM using IWMDRMWriter::SetDRMAttribute.
//
static const WCHAR *g_wszStreamBufferRecordingUse_DRM = L"Use_DRM";
static const WCHAR *g_wszStreamBufferRecordingDRM_Flags = L"DRM_Flags";
static const WCHAR *g_wszStreamBufferRecordingDRM_Level = L"DRM_Level";
////////////////////////////////////////////////////////////////
//
// These are the additional attributes defined in the WM attribute
// namespace that give information about the content.
//
static const WCHAR g_wszStreamBufferRecordingAlbumTitle[] =L"WM/AlbumTitle";
static const WCHAR g_wszStreamBufferRecordingTrack[] =L"WM/Track";
static const WCHAR g_wszStreamBufferRecordingPromotionURL[] =L"WM/PromotionURL";
static const WCHAR g_wszStreamBufferRecordingAlbumCoverURL[] =L"WM/AlbumCoverURL";
static const WCHAR g_wszStreamBufferRecordingGenre[] =L"WM/Genre";
static const WCHAR g_wszStreamBufferRecordingYear[] =L"WM/Year";
static const WCHAR g_wszStreamBufferRecordingGenreID[] =L"WM/GenreID";
static const WCHAR g_wszStreamBufferRecordingMCDI[] =L"WM/MCDI";
static const WCHAR g_wszStreamBufferRecordingComposer[] =L"WM/Composer";
static const WCHAR g_wszStreamBufferRecordingLyrics[] =L"WM/Lyrics";
static const WCHAR g_wszStreamBufferRecordingTrackNumber[] =L"WM/TrackNumber";
static const WCHAR g_wszStreamBufferRecordingToolName[] =L"WM/ToolName";
static const WCHAR g_wszStreamBufferRecordingToolVersion[] =L"WM/ToolVersion";
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -