1. QueryInterface: 用于查询此接口的其他接口。
HRESULT QueryInterface(
REFIID riid,
void** ppvObject
);
2. AddRef: 增加接口的引用计数。
ULONG AddRef();
3. Release: 减小接口的引用计数,当引用计数为零时,释放接口。
ULONG Release();
4. GetDevice: 获取与此查询接口关联的设备。
void GetDevice(
ID3D11Device** ppDevice
);
- 参数 ppDevice:用于接收指向与此查询接口关联的设备接口的指针的指针。
5. GetPrivateData: 获取与查询接口关联的私有数据。
HRESULT GetPrivateData(
REFGUID guid,
UINT* pDataSize,
void* pData
);
- 参数 guid:要检索的私有数据的 GUID。
- 参数 pDataSize:用于接收数据大小的指针。
- 参数 pData:用于接收私有数据的缓冲区。
6. SetPrivateData: 设置与查询接口关联的私有数据。
HRESULT SetPrivateData(
REFGUID guid,
UINT DataSize,
const void* pData
);
- 参数 guid:要设置的私有数据的 GUID。
- 参数 DataSize:要设置的数据的大小。
- 参数 pData:指向要设置的私有数据的指针。
7. SetPrivateDataInterface: 设置与查询接口关联的私有数据接口。
HRESULT SetPrivateDataInterface(
REFGUID guid,
const IUnknown* pData
);
- 参数 guid:要设置的私有数据的 GUID。
- 参数 pData:指向包含接口指针的 IUnknown 对象的指针。
8. Begin: 开始查询。
void Begin();
此方法开始记录查询数据。接下来的绘制操作将被记录,但不会真正执行。
9. End: 结束查询。
void End();
此方法结束记录查询数据,并标记该查询为准备就绪。一旦准备好,你可以获取查询的结果。
10. GetData: 获取查询的结果。
HRESULT GetData(
void* pData,
UINT DataSize,
UINT GetDataFlags
);
- 参数 pData:用于接收查询结果的缓冲区。
- 参数 DataSize:要获取的数据的大小。
- 参数 GetDataFlags:用于指定获取数据的标志。
这些函数提供了在渲染过程中获取 GPU 状态信息的基本功能,可以用于性能分析、时间戳记录等用途。
转载请注明出处:http://www.pingtaimeng.com/article/detail/25794/Win32 API/D3d11.h/ID3D11Query