📄 sapiddk.h
字号:
ISpPhraseBuilder * This,
const SPPHRASE *pPhrase);
void __RPC_STUB ISpPhraseBuilder_InitFromPhrase_Stub(
IRpcStubBuffer *This,
IRpcChannelBuffer *_pRpcChannelBuffer,
PRPC_MESSAGE _pRpcMessage,
DWORD *_pdwStubPhase);
HRESULT STDMETHODCALLTYPE ISpPhraseBuilder_InitFromSerializedPhrase_Proxy(
ISpPhraseBuilder * This,
const SPSERIALIZEDPHRASE *pPhrase);
void __RPC_STUB ISpPhraseBuilder_InitFromSerializedPhrase_Stub(
IRpcStubBuffer *This,
IRpcChannelBuffer *_pRpcChannelBuffer,
PRPC_MESSAGE _pRpcMessage,
DWORD *_pdwStubPhase);
HRESULT STDMETHODCALLTYPE ISpPhraseBuilder_AddElements_Proxy(
ISpPhraseBuilder * This,
ULONG cElements,
const SPPHRASEELEMENT *pElement);
void __RPC_STUB ISpPhraseBuilder_AddElements_Stub(
IRpcStubBuffer *This,
IRpcChannelBuffer *_pRpcChannelBuffer,
PRPC_MESSAGE _pRpcMessage,
DWORD *_pdwStubPhase);
HRESULT STDMETHODCALLTYPE ISpPhraseBuilder_AddRules_Proxy(
ISpPhraseBuilder * This,
const SPPHRASERULEHANDLE hParent,
const SPPHRASERULE *pRule,
SPPHRASERULEHANDLE *phNewRule);
void __RPC_STUB ISpPhraseBuilder_AddRules_Stub(
IRpcStubBuffer *This,
IRpcChannelBuffer *_pRpcChannelBuffer,
PRPC_MESSAGE _pRpcMessage,
DWORD *_pdwStubPhase);
HRESULT STDMETHODCALLTYPE ISpPhraseBuilder_AddProperties_Proxy(
ISpPhraseBuilder * This,
const SPPHRASEPROPERTYHANDLE hParent,
const SPPHRASEPROPERTY *pProperty,
SPPHRASEPROPERTYHANDLE *phNewProperty);
void __RPC_STUB ISpPhraseBuilder_AddProperties_Stub(
IRpcStubBuffer *This,
IRpcChannelBuffer *_pRpcChannelBuffer,
PRPC_MESSAGE _pRpcMessage,
DWORD *_pdwStubPhase);
HRESULT STDMETHODCALLTYPE ISpPhraseBuilder_AddReplacements_Proxy(
ISpPhraseBuilder * This,
ULONG cReplacements,
const SPPHRASEREPLACEMENT *pReplacements);
void __RPC_STUB ISpPhraseBuilder_AddReplacements_Stub(
IRpcStubBuffer *This,
IRpcChannelBuffer *_pRpcChannelBuffer,
PRPC_MESSAGE _pRpcMessage,
DWORD *_pdwStubPhase);
#endif /* __ISpPhraseBuilder_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_sapiddk_0344 */
/* [local] */
#if defined(__cplusplus)
interface ISpTask
{
virtual HRESULT STDMETHODCALLTYPE Execute(
void *pvTaskData,
volatile const BOOL* pfContinueProcessing) = 0;
};
#else
typedef void *ISpTask;
#endif
#if defined(__cplusplus)
interface ISpThreadTask
{
virtual HRESULT STDMETHODCALLTYPE InitThread(
void * pvTaskData,
HWND hwnd) = 0;
virtual HRESULT STDMETHODCALLTYPE ThreadProc(
void *pvTaskData,
HANDLE hExitThreadEvent,
HANDLE hNotifyEvent,
HWND hwndWorker,
volatile const BOOL * pfContinueProcessing) = 0;
virtual LRESULT STDMETHODCALLTYPE WindowMessage(
void *pvTaskData,
HWND hWnd,
UINT Msg,
WPARAM wParam,
LPARAM lParam) = 0;
};
#else
typedef void *ISpThreadTask;
#endif
extern RPC_IF_HANDLE __MIDL_itf_sapiddk_0344_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_sapiddk_0344_v0_0_s_ifspec;
#ifndef __ISpThreadControl_INTERFACE_DEFINED__
#define __ISpThreadControl_INTERFACE_DEFINED__
/* interface ISpThreadControl */
/* [restricted][local][unique][helpstring][uuid][object] */
EXTERN_C const IID IID_ISpThreadControl;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("A6BE4D73-4403-4358-B22D-0346E23B1764")
ISpThreadControl : public ISpNotifySink
{
public:
virtual HRESULT STDMETHODCALLTYPE StartThread(
DWORD dwFlags,
HWND *phwnd) = 0;
virtual HRESULT STDMETHODCALLTYPE WaitForThreadDone(
BOOL fForceStop,
HRESULT *phrThreadResult,
ULONG msTimeOut) = 0;
virtual HRESULT STDMETHODCALLTYPE TerminateThread( void) = 0;
virtual HANDLE STDMETHODCALLTYPE ThreadHandle( void) = 0;
virtual DWORD STDMETHODCALLTYPE ThreadId( void) = 0;
virtual HANDLE STDMETHODCALLTYPE NotifyEvent( void) = 0;
virtual HWND STDMETHODCALLTYPE WindowHandle( void) = 0;
virtual HANDLE STDMETHODCALLTYPE ThreadCompleteEvent( void) = 0;
virtual HANDLE STDMETHODCALLTYPE ExitThreadEvent( void) = 0;
};
#else /* C style interface */
typedef struct ISpThreadControlVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
ISpThreadControl * This,
/* [in] */ REFIID riid,
/* [iid_is][out] */ void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
ISpThreadControl * This);
ULONG ( STDMETHODCALLTYPE *Release )(
ISpThreadControl * This);
HRESULT ( STDMETHODCALLTYPE *Notify )(
ISpThreadControl * This);
HRESULT ( STDMETHODCALLTYPE *StartThread )(
ISpThreadControl * This,
DWORD dwFlags,
HWND *phwnd);
HRESULT ( STDMETHODCALLTYPE *WaitForThreadDone )(
ISpThreadControl * This,
BOOL fForceStop,
HRESULT *phrThreadResult,
ULONG msTimeOut);
HRESULT ( STDMETHODCALLTYPE *TerminateThread )(
ISpThreadControl * This);
HANDLE ( STDMETHODCALLTYPE *ThreadHandle )(
ISpThreadControl * This);
DWORD ( STDMETHODCALLTYPE *ThreadId )(
ISpThreadControl * This);
HANDLE ( STDMETHODCALLTYPE *NotifyEvent )(
ISpThreadControl * This);
HWND ( STDMETHODCALLTYPE *WindowHandle )(
ISpThreadControl * This);
HANDLE ( STDMETHODCALLTYPE *ThreadCompleteEvent )(
ISpThreadControl * This);
HANDLE ( STDMETHODCALLTYPE *ExitThreadEvent )(
ISpThreadControl * This);
END_INTERFACE
} ISpThreadControlVtbl;
interface ISpThreadControl
{
CONST_VTBL struct ISpThreadControlVtbl *lpVtbl;
};
#ifdef COBJMACROS
#define ISpThreadControl_QueryInterface(This,riid,ppvObject) \
(This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
#define ISpThreadControl_AddRef(This) \
(This)->lpVtbl -> AddRef(This)
#define ISpThreadControl_Release(This) \
(This)->lpVtbl -> Release(This)
#define ISpThreadControl_Notify(This) \
(This)->lpVtbl -> Notify(This)
#define ISpThreadControl_StartThread(This,dwFlags,phwnd) \
(This)->lpVtbl -> StartThread(This,dwFlags,phwnd)
#define ISpThreadControl_WaitForThreadDone(This,fForceStop,phrThreadResult,msTimeOut) \
(This)->lpVtbl -> WaitForThreadDone(This,fForceStop,phrThreadResult,msTimeOut)
#define ISpThreadControl_TerminateThread(This) \
(This)->lpVtbl -> TerminateThread(This)
#define ISpThreadControl_ThreadHandle(This) \
(This)->lpVtbl -> ThreadHandle(This)
#define ISpThreadControl_ThreadId(This) \
(This)->lpVtbl -> ThreadId(This)
#define ISpThreadControl_NotifyEvent(This) \
(This)->lpVtbl -> NotifyEvent(This)
#define ISpThreadControl_WindowHandle(This) \
(This)->lpVtbl -> WindowHandle(This)
#define ISpThreadControl_ThreadCompleteEvent(This) \
(This)->lpVtbl -> ThreadCompleteEvent(This)
#define ISpThreadControl_ExitThreadEvent(This) \
(This)->lpVtbl -> ExitThreadEvent(This)
#endif /* COBJMACROS */
#endif /* C style interface */
HRESULT STDMETHODCALLTYPE ISpThreadControl_StartThread_Proxy(
ISpThreadControl * This,
DWORD dwFlags,
HWND *phwnd);
void __RPC_STUB ISpThreadControl_StartThread_Stub(
IRpcStubBuffer *This,
IRpcChannelBuffer *_pRpcChannelBuffer,
PRPC_MESSAGE _pRpcMessage,
DWORD *_pdwStubPhase);
HRESULT STDMETHODCALLTYPE ISpThreadControl_WaitForThreadDone_Proxy(
ISpThreadControl * This,
BOOL fForceStop,
HRESULT *phrThreadResult,
ULONG msTimeOut);
void __RPC_STUB ISpThreadControl_WaitForThreadDone_Stub(
IRpcStubBuffer *This,
IRpcChannelBuffer *_pRpcChannelBuffer,
PRPC_MESSAGE _pRpcMessage,
DWORD *_pdwStubPhase);
HRESULT STDMETHODCALLTYPE ISpThreadControl_TerminateThread_Proxy(
ISpThreadControl * This);
void __RPC_STUB ISpThreadControl_TerminateThread_Stub(
IRpcStubBuffer *This,
IRpcChannelBuffer *_pRpcChannelBuffer,
PRPC_MESSAGE _pRpcMessage,
DWORD *_pdwStubPhase);
HANDLE STDMETHODCALLTYPE ISpThreadControl_ThreadHandle_Proxy(
ISpThreadControl * This);
void __RPC_STUB ISpThreadControl_ThreadHandle_Stub(
IRpcStubBuffer *This,
IRpcChannelBuffer *_pRpcChannelBuffer,
PRPC_MESSAGE _pRpcMessage,
DWORD *_pdwStubPhase);
DWORD STDMETHODCALLTYPE ISpThreadControl_ThreadId_Proxy(
ISpThreadControl * This);
void __RPC_STUB ISpThreadControl_ThreadId_Stub(
IRpcStubBuffer *This,
IRpcChannelBuffer *_pRpcChannelBuffer,
PRPC_MESSAGE _pRpcMessage,
DWORD *_pdwStubPhase);
HANDLE STDMETHODCALLTYPE ISpThreadControl_NotifyEvent_Proxy(
ISpThreadControl * This);
void __RPC_STUB ISpThreadControl_NotifyEvent_Stub(
IRpcStubBuffer *This,
IRpcChannelBuffer *_pRpcChannelBuffer,
PRPC_MESSAGE _pRpcMessage,
DWORD *_pdwStubPhase);
HWND STDMETHODCALLTYPE ISpThreadControl_WindowHandle_Proxy(
ISpThreadControl * This);
void __RPC_STUB ISpThreadControl_WindowHandle_Stub(
IRpcStubBuffer *This,
IRpcChannelBuffer *_pRpcChannelBuffer,
PRPC_MESSAGE _pRpcMessage,
DWORD *_pdwStubPhase);
HANDLE STDMETHODCALLTYPE ISpThreadControl_ThreadCompleteEvent_Proxy(
ISpThreadControl * This);
void __RPC_STUB ISpThreadControl_ThreadCompleteEvent_Stub(
IRpcStubBuffer *This,
IRpcChannelBuffer *_pRpcChannelBuffer,
PRPC_MESSAGE _pRpcMessage,
DWORD *_pdwStubPhase);
HANDLE STDMETHODCALLTYPE ISpThreadControl_ExitThreadEvent_Proxy(
ISpThreadControl * This);
void __RPC_STUB ISpThreadControl_ExitThreadEvent_Stub(
IRpcStubBuffer *This,
IRpcChannelBuffer *_pRpcChannelBuffer,
PRPC_MESSAGE _pRpcMessage,
DWORD *_pdwStubPhase);
#endif /* __ISpThreadControl_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_sapiddk_0345 */
/* [local] */
typedef /* [restricted] */ struct SPTMTHREADINFO
{
long lPoolSize;
long lPriority;
ULONG ulConcurrencyLimit;
ULONG ulMaxQuickAllocThreads;
} SPTMTHREADINFO;
extern RPC_IF_HANDLE __MIDL_itf_sapiddk_0345_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_sapiddk_0345_v0_0_s_ifspec;
#ifndef __ISpTaskManager_INTERFACE_DEFINED__
#define __ISpTaskManager_INTERFACE_DEFINED__
/* interface ISpTaskManager */
/* [object][restricted][unique][helpstring][uuid][local] */
EXTERN_C const IID IID_ISpTaskManager;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("2BAEEF81-2CA3-4331-98F3-26EC5ABEFB03")
ISpTaskManager : public IUnknown
{
public:
virtual HRESULT STDMETHODCALLTYPE SetThreadPoolInfo(
/* [in] */ const SPTMTHREADINFO *pPoolInfo) = 0;
virtual HRESULT STDMETHODCALLTYPE GetThreadPoolInfo(
/* [out] */ SPTMTHREADINFO *pPoolInfo) = 0;
virtual HRESULT STDMETHODCALLTYPE QueueTask(
/* [in] */ ISpTask *pTask,
/* [in] */ void *pvTaskData,
/* [in] */ HANDLE hCompEvent,
/* [out][in] */ DWORD *pdwGroupId,
/* [out] */ DWORD *pTaskID) = 0;
virtual HRESULT STDMETHODCALLTYPE CreateReoccurringTask(
/* [in] */ ISpTask *pTask,
/* [in] */ void *pvTaskData,
/* [in] */ HANDLE hCompEvent,
/* [out] */ ISpNotifySink **ppTaskCtrl) = 0;
virtual HRESULT STDMETHODCALLTYPE CreateThreadControl(
/* [in] */ ISpThreadTask *pTask,
/* [in] */ void *pvTaskData,
/* [in] */ long nPriority,
/* [out] */ ISpThreadControl **ppTaskCtrl) = 0;
virtual HRESULT STDMETHODCALLTYPE TerminateTask(
/* [in] */ DWORD dwTaskId,
/* [in] */ ULONG ulWaitPeriod) = 0;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -