📄 dxtrans.h
字号:
#endif /* C style interface */
HRESULT STDMETHODCALLTYPE IDXTBindHost_SetBindHost_Proxy(
IDXTBindHost * This,
/* [in] */ IBindHost *pBindHost);
void __RPC_STUB IDXTBindHost_SetBindHost_Stub(
IRpcStubBuffer *This,
IRpcChannelBuffer *_pRpcChannelBuffer,
PRPC_MESSAGE _pRpcMessage,
DWORD *_pdwStubPhase);
#endif /* __IDXTBindHost_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_dxtrans_0263 */
/* [local] */
typedef void __stdcall __stdcall DXTASKPROC(
void *pTaskData,
BOOL *pbContinueProcessing);
typedef DXTASKPROC *PFNDXTASKPROC;
typedef void __stdcall __stdcall DXAPCPROC(
DWORD dwData);
typedef DXAPCPROC *PFNDXAPCPROC;
#ifdef __cplusplus
typedef struct DXTMTASKINFO
{
PFNDXTASKPROC pfnTaskProc; // Pointer to function to execute
PVOID pTaskData; // Pointer to argument data
PFNDXAPCPROC pfnCompletionAPC; // Pointer to completion APC proc
DWORD dwCompletionData; // Pointer to APC proc data
const GUID* pRequestID; // Used to identify groups of tasks
} DXTMTASKINFO;
#else
typedef struct DXTMTASKINFO
{
PVOID pfnTaskProc;
PVOID pTaskData;
PVOID pfnCompletionAPC;
DWORD dwCompletionData;
const GUID *pRequestID;
} DXTMTASKINFO;
#endif
extern RPC_IF_HANDLE __MIDL_itf_dxtrans_0263_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_dxtrans_0263_v0_0_s_ifspec;
#ifndef __IDXTaskManager_INTERFACE_DEFINED__
#define __IDXTaskManager_INTERFACE_DEFINED__
/* interface IDXTaskManager */
/* [local][unique][helpstring][uuid][object] */
EXTERN_C const IID IID_IDXTaskManager;
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("254DBBC1-F922-11d0-883A-3C8B00C10000")
IDXTaskManager : public IUnknown
{
public:
virtual HRESULT STDMETHODCALLTYPE QueryNumProcessors(
/* [out] */ ULONG *pulNumProc) = 0;
virtual HRESULT STDMETHODCALLTYPE SetThreadPoolSize(
/* [in] */ ULONG ulNumThreads) = 0;
virtual HRESULT STDMETHODCALLTYPE GetThreadPoolSize(
/* [out] */ ULONG *pulNumThreads) = 0;
virtual HRESULT STDMETHODCALLTYPE SetConcurrencyLimit(
/* [in] */ ULONG ulNumThreads) = 0;
virtual HRESULT STDMETHODCALLTYPE GetConcurrencyLimit(
/* [out] */ ULONG *pulNumThreads) = 0;
virtual HRESULT STDMETHODCALLTYPE ScheduleTasks(
/* [in] */ DXTMTASKINFO TaskInfo[ ],
/* [in] */ HANDLE Events[ ],
/* [out] */ DWORD TaskIDs[ ],
/* [in] */ ULONG ulNumTasks,
/* [in] */ ULONG ulWaitPeriod) = 0;
virtual HRESULT STDMETHODCALLTYPE TerminateTasks(
/* [in] */ DWORD TaskIDs[ ],
/* [in] */ ULONG ulCount,
/* [in] */ ULONG ulTimeOut) = 0;
virtual HRESULT STDMETHODCALLTYPE TerminateRequest(
/* [in] */ REFIID RequestID,
/* [in] */ ULONG ulTimeOut) = 0;
};
#else /* C style interface */
typedef struct IDXTaskManagerVtbl
{
BEGIN_INTERFACE
HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
IDXTaskManager * This,
/* [in] */ REFIID riid,
/* [iid_is][out] */ void **ppvObject);
ULONG ( STDMETHODCALLTYPE *AddRef )(
IDXTaskManager * This);
ULONG ( STDMETHODCALLTYPE *Release )(
IDXTaskManager * This);
HRESULT ( STDMETHODCALLTYPE *QueryNumProcessors )(
IDXTaskManager * This,
/* [out] */ ULONG *pulNumProc);
HRESULT ( STDMETHODCALLTYPE *SetThreadPoolSize )(
IDXTaskManager * This,
/* [in] */ ULONG ulNumThreads);
HRESULT ( STDMETHODCALLTYPE *GetThreadPoolSize )(
IDXTaskManager * This,
/* [out] */ ULONG *pulNumThreads);
HRESULT ( STDMETHODCALLTYPE *SetConcurrencyLimit )(
IDXTaskManager * This,
/* [in] */ ULONG ulNumThreads);
HRESULT ( STDMETHODCALLTYPE *GetConcurrencyLimit )(
IDXTaskManager * This,
/* [out] */ ULONG *pulNumThreads);
HRESULT ( STDMETHODCALLTYPE *ScheduleTasks )(
IDXTaskManager * This,
/* [in] */ DXTMTASKINFO TaskInfo[ ],
/* [in] */ HANDLE Events[ ],
/* [out] */ DWORD TaskIDs[ ],
/* [in] */ ULONG ulNumTasks,
/* [in] */ ULONG ulWaitPeriod);
HRESULT ( STDMETHODCALLTYPE *TerminateTasks )(
IDXTaskManager * This,
/* [in] */ DWORD TaskIDs[ ],
/* [in] */ ULONG ulCount,
/* [in] */ ULONG ulTimeOut);
HRESULT ( STDMETHODCALLTYPE *TerminateRequest )(
IDXTaskManager * This,
/* [in] */ REFIID RequestID,
/* [in] */ ULONG ulTimeOut);
END_INTERFACE
} IDXTaskManagerVtbl;
interface IDXTaskManager
{
CONST_VTBL struct IDXTaskManagerVtbl *lpVtbl;
};
#ifdef COBJMACROS
#define IDXTaskManager_QueryInterface(This,riid,ppvObject) \
(This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
#define IDXTaskManager_AddRef(This) \
(This)->lpVtbl -> AddRef(This)
#define IDXTaskManager_Release(This) \
(This)->lpVtbl -> Release(This)
#define IDXTaskManager_QueryNumProcessors(This,pulNumProc) \
(This)->lpVtbl -> QueryNumProcessors(This,pulNumProc)
#define IDXTaskManager_SetThreadPoolSize(This,ulNumThreads) \
(This)->lpVtbl -> SetThreadPoolSize(This,ulNumThreads)
#define IDXTaskManager_GetThreadPoolSize(This,pulNumThreads) \
(This)->lpVtbl -> GetThreadPoolSize(This,pulNumThreads)
#define IDXTaskManager_SetConcurrencyLimit(This,ulNumThreads) \
(This)->lpVtbl -> SetConcurrencyLimit(This,ulNumThreads)
#define IDXTaskManager_GetConcurrencyLimit(This,pulNumThreads) \
(This)->lpVtbl -> GetConcurrencyLimit(This,pulNumThreads)
#define IDXTaskManager_ScheduleTasks(This,TaskInfo,Events,TaskIDs,ulNumTasks,ulWaitPeriod) \
(This)->lpVtbl -> ScheduleTasks(This,TaskInfo,Events,TaskIDs,ulNumTasks,ulWaitPeriod)
#define IDXTaskManager_TerminateTasks(This,TaskIDs,ulCount,ulTimeOut) \
(This)->lpVtbl -> TerminateTasks(This,TaskIDs,ulCount,ulTimeOut)
#define IDXTaskManager_TerminateRequest(This,RequestID,ulTimeOut) \
(This)->lpVtbl -> TerminateRequest(This,RequestID,ulTimeOut)
#endif /* COBJMACROS */
#endif /* C style interface */
HRESULT STDMETHODCALLTYPE IDXTaskManager_QueryNumProcessors_Proxy(
IDXTaskManager * This,
/* [out] */ ULONG *pulNumProc);
void __RPC_STUB IDXTaskManager_QueryNumProcessors_Stub(
IRpcStubBuffer *This,
IRpcChannelBuffer *_pRpcChannelBuffer,
PRPC_MESSAGE _pRpcMessage,
DWORD *_pdwStubPhase);
HRESULT STDMETHODCALLTYPE IDXTaskManager_SetThreadPoolSize_Proxy(
IDXTaskManager * This,
/* [in] */ ULONG ulNumThreads);
void __RPC_STUB IDXTaskManager_SetThreadPoolSize_Stub(
IRpcStubBuffer *This,
IRpcChannelBuffer *_pRpcChannelBuffer,
PRPC_MESSAGE _pRpcMessage,
DWORD *_pdwStubPhase);
HRESULT STDMETHODCALLTYPE IDXTaskManager_GetThreadPoolSize_Proxy(
IDXTaskManager * This,
/* [out] */ ULONG *pulNumThreads);
void __RPC_STUB IDXTaskManager_GetThreadPoolSize_Stub(
IRpcStubBuffer *This,
IRpcChannelBuffer *_pRpcChannelBuffer,
PRPC_MESSAGE _pRpcMessage,
DWORD *_pdwStubPhase);
HRESULT STDMETHODCALLTYPE IDXTaskManager_SetConcurrencyLimit_Proxy(
IDXTaskManager * This,
/* [in] */ ULONG ulNumThreads);
void __RPC_STUB IDXTaskManager_SetConcurrencyLimit_Stub(
IRpcStubBuffer *This,
IRpcChannelBuffer *_pRpcChannelBuffer,
PRPC_MESSAGE _pRpcMessage,
DWORD *_pdwStubPhase);
HRESULT STDMETHODCALLTYPE IDXTaskManager_GetConcurrencyLimit_Proxy(
IDXTaskManager * This,
/* [out] */ ULONG *pulNumThreads);
void __RPC_STUB IDXTaskManager_GetConcurrencyLimit_Stub(
IRpcStubBuffer *This,
IRpcChannelBuffer *_pRpcChannelBuffer,
PRPC_MESSAGE _pRpcMessage,
DWORD *_pdwStubPhase);
HRESULT STDMETHODCALLTYPE IDXTaskManager_ScheduleTasks_Proxy(
IDXTaskManager * This,
/* [in] */ DXTMTASKINFO TaskInfo[ ],
/* [in] */ HANDLE Events[ ],
/* [out] */ DWORD TaskIDs[ ],
/* [in] */ ULONG ulNumTasks,
/* [in] */ ULONG ulWaitPeriod);
void __RPC_STUB IDXTaskManager_ScheduleTasks_Stub(
IRpcStubBuffer *This,
IRpcChannelBuffer *_pRpcChannelBuffer,
PRPC_MESSAGE _pRpcMessage,
DWORD *_pdwStubPhase);
HRESULT STDMETHODCALLTYPE IDXTaskManager_TerminateTasks_Proxy(
IDXTaskManager * This,
/* [in] */ DWORD TaskIDs[ ],
/* [in] */ ULONG ulCount,
/* [in] */ ULONG ulTimeOut);
void __RPC_STUB IDXTaskManager_TerminateTasks_Stub(
IRpcStubBuffer *This,
IRpcChannelBuffer *_pRpcChannelBuffer,
PRPC_MESSAGE _pRpcMessage,
DWORD *_pdwStubPhase);
HRESULT STDMETHODCALLTYPE IDXTaskManager_TerminateRequest_Proxy(
IDXTaskManager * This,
/* [in] */ REFIID RequestID,
/* [in] */ ULONG ulTimeOut);
void __RPC_STUB IDXTaskManager_TerminateRequest_Stub(
IRpcStubBuffer *This,
IRpcChannelBuffer *_pRpcChannelBuffer,
PRPC_MESSAGE _pRpcMessage,
DWORD *_pdwStubPhase);
#endif /* __IDXTaskManager_INTERFACE_DEFINED__ */
/* interface __MIDL_itf_dxtrans_0264 */
/* [local] */
#ifdef __cplusplus
/////////////////////////////////////////////////////
class DXBASESAMPLE;
class DXSAMPLE;
class DXPMSAMPLE;
/////////////////////////////////////////////////////
class DXBASESAMPLE
{
public:
BYTE Blue;
BYTE Green;
BYTE Red;
BYTE Alpha;
DXBASESAMPLE() {}
DXBASESAMPLE(const BYTE alpha, const BYTE red, const BYTE green, const BYTE blue) :
Alpha(alpha),
Red(red),
Green(green),
Blue(blue) {}
DXBASESAMPLE(const DWORD val) { *this = (*(DXBASESAMPLE *)&val); }
operator DWORD () const {return *((DWORD *)this); }
DWORD operator=(const DWORD val) { return *this = *((DXBASESAMPLE *)&val); }
}; // DXBASESAMPLE
/////////////////////////////////////////////////////
class DXSAMPLE : public DXBASESAMPLE
{
public:
DXSAMPLE() {}
DXSAMPLE(const BYTE alpha, const BYTE red, const BYTE green, const BYTE blue) :
DXBASESAMPLE(alpha, red, green, blue) {}
DXSAMPLE(const DWORD val) { *this = (*(DXSAMPLE *)&val); }
operator DWORD () const {return *((DWORD *)this); }
DWORD operator=(const DWORD val) { return *this = *((DXSAMPLE *)&val); }
operator DXPMSAMPLE() const;
}; // DXSAMPLE
/////////////////////////////////////////////////////
class DXPMSAMPLE : public DXBASESAMPLE
{
public:
DXPMSAMPLE() {}
DXPMSAMPLE(const BYTE alpha, const BYTE red, const BYTE green, const BYTE blue) :
DXBASESAMPLE(alpha, red, green, blue) {}
DXPMSAMPLE(const DWORD val) { *this = (*(DXPMSAMPLE *)&val); }
operator DWORD () const {return *((DWORD *)this); }
DWORD operator=(const DWORD val) { return *this = *((DXPMSAMPLE *)&val); }
operator DXSAMPLE() const;
}; // DXPMSAMPLE
//
// The following cast operators are to prevent a direct assignment of a DXSAMPLE to a DXPMSAMPLE
//
inline DXSAMPLE::operator DXPMSAMPLE() const { return *((DXPMSAMPLE *)this); }
inline DXPMSAMPLE::operator DXSAMPLE() const { return *((DXSAMPLE *)this); }
#else // !__cplusplus
typedef struct DXBASESAMPLE
{
BYTE Blue;
BYTE Green;
BYTE Red;
BYTE Alpha;
} DXBASESAMPLE;
typedef struct DXSAMPLE
{
BYTE Blue;
BYTE Green;
BYTE Red;
BYTE Alpha;
} DXSAMPLE;
typedef struct DXPMSAMPLE
{
BYTE Blue;
BYTE Green;
BYTE Red;
BYTE Alpha;
} DXPMSAMPLE;
#endif // !__cplusplus
typedef
enum DXRUNTYPE
{ DXRUNTYPE_CLEAR = 0,
DXRUNTYPE_OPAQUE = 1,
DXRUNTYPE_TRANS = 2,
DXRUNTYPE_UNKNOWN = 3
} DXRUNTYPE;
#define DX_MAX_RUN_INFO_COUNT ( 128 )
// Ignore the definition used by MIDL for TLB generation
#if 0
typedef struct DXRUNINFO
{
ULONG Bitfields;
} DXRUNINFO;
#endif // 0
typedef struct DXRUNINFO
{
ULONG Type : 2; // Type
ULONG Count : 30; // Number of samples in run
} DXRUNINFO;
typedef
enum DXSFCREATE
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -