Sync with trunk head (part 1 of 2)
[reactos.git] / include / dxsdk / pixplugin.h
1
2
3 #pragma once
4
5 #ifdef __cplusplus
6 extern "C"
7 {
8 #endif
9
10 #define PIX_PLUGIN_SYSTEM_VERSION 0x101
11
12 enum PIXCOUNTERDATATYPE
13 {
14 PCDT_RESERVED,
15 PCDT_FLOAT,
16 PCDT_INT,
17 PCDT_INT64,
18 PCDT_STRING,
19 };
20
21 typedef int PIXCOUNTERID;
22
23 struct PIXCOUNTERINFO
24 {
25 PIXCOUNTERID counterID;
26 WCHAR* pstrName;
27 PIXCOUNTERDATATYPE pcdtDataType;
28 };
29
30 struct PIXPLUGININFO
31 {
32 HINSTANCE hinst;
33 WCHAR* pstrPluginName;
34 int iPluginVersion;
35 int iPluginSystemVersion;
36 };
37
38 BOOL WINAPI PIXBeginExperiment( PIXCOUNTERID id, const WCHAR* pstrApplication );
39 BOOL WINAPI PIXEndFrame( PIXCOUNTERID id, UINT iFrame, DWORD* pdwReturnBytes, BYTE** ppReturnData );
40 BOOL WINAPI PIXEndExperiment( PIXCOUNTERID id );
41 BOOL WINAPI PIXGetCounterInfo( DWORD* pdwReturnCounters, PIXCOUNTERINFO** ppCounterInfoList );
42 BOOL WINAPI PIXGetCounterDesc( PIXCOUNTERID id, WCHAR** ppstrCounterDesc );
43 BOOL WINAPI PIXGetPluginInfo( PIXPLUGININFO* pPIXPluginInfo );
44
45 #ifdef __cplusplus
46 };
47 #endif