以下是 ID3D11InfoQueue 接口的定义:
DECLARE_INTERFACE_(ID3D11InfoQueue, IUnknown) {
STDMETHOD(SetMessageCountLimit)(THIS_ UINT64 MessageCountLimit) PURE;
STDMETHOD_(void, ClearStoredMessages)(THIS) PURE;
STDMETHOD_(HRESULT, GetMessage)(THIS_ UINT64 MessageIndex, _Out_writes_bytes_opt_(*pMessageByteLength) D3D11_MESSAGE * pMessage, _Inout_ SIZE_T * pMessageByteLength) PURE;
STDMETHOD_(UINT64, GetNumMessagesAllowedByStorageFilter)(THIS) PURE;
STDMETHOD_(UINT64, GetNumMessagesDeniedByStorageFilter)(THIS) PURE;
STDMETHOD_(UINT64, GetNumStoredMessages)(THIS) PURE;
STDMETHOD_(UINT64, GetNumStoredMessagesAllowedByRetrievalFilter)(THIS) PURE;
STDMETHOD_(UINT64, GetNumMessagesDiscardedByMessageCountLimit)(THIS) PURE;
STDMETHOD_(UINT64, GetMessageCountLimit)(THIS) PURE;
STDMETHOD_(void, AddStorageFilterEntries)(THIS_ D3D11_INFO_QUEUE_FILTER * pFilter) PURE;
STDMETHOD_(void, GetStorageFilter)(_Out_writes_bytes_opt_(*pFilterByteLength) D3D11_INFO_QUEUE_FILTER * pFilter, _Inout_ SIZE_T * pFilterByteLength) PURE;
STDMETHOD_(void, ClearStorageFilter)(THIS) PURE;
STDMETHOD_(HRESULT, PushEmptyStorageFilter)(THIS) PURE;
STDMETHOD_(HRESULT, PushCopyOfStorageFilter)(THIS) PURE;
STDMETHOD_(HRESULT, PushStorageFilter)(THIS_ D3D11_INFO_QUEUE_FILTER * pFilter) PURE;
STDMETHOD_(void, PopStorageFilter)(THIS) PURE;
STDMETHOD_(UINT, GetStorageFilterStackSize)(THIS) PURE;
STDMETHOD_(HRESULT, AddRetrievalFilterEntries)(THIS_ D3D11_INFO_QUEUE_FILTER * pFilter) PURE;
STDMETHOD_(void, GetRetrievalFilter)(_Out_writes_bytes_opt_(*pFilterByteLength) D3D11_INFO_QUEUE_FILTER * pFilter, _Inout_ SIZE_T * pFilterByteLength) PURE;
STDMETHOD_(void, ClearRetrievalFilter)(THIS) PURE;
STDMETHOD_(HRESULT, PushEmptyRetrievalFilter)(THIS) PURE;
STDMETHOD_(HRESULT, PushCopyOfRetrievalFilter)(THIS) PURE;
STDMETHOD_(HRESULT, PushRetrievalFilter)(THIS_ D3D11_INFO_QUEUE_FILTER * pFilter) PURE;
STDMETHOD_(void, PopRetrievalFilter)(THIS) PURE;
STDMETHOD_(UINT, GetRetrievalFilterStackSize)(THIS) PURE;
STDMETHOD_(HRESULT, AddMessage)(THIS_ D3D11_MESSAGE_CATEGORY Category, D3D11_MESSAGE_SEVERITY Severity, D3D11_MESSAGE_ID ID, LPCSTR pDescription) PURE;
STDMETHOD_(HRESULT, AddApplicationMessage)(THIS_ D3D11_MESSAGE_SEVERITY Severity, LPCSTR pDescription) PURE;
STDMETHOD_(HRESULT, SetBreakOnCategory)(THIS_ D3D11_MESSAGE_CATEGORY Category, BOOL bEnable) PURE;
STDMETHOD_(HRESULT, SetBreakOnSeverity)(THIS_ D3D11_MESSAGE_SEVERITY Severity, BOOL bEnable) PURE;
STDMETHOD_(HRESULT, SetBreakOnID)(THIS_ D3D11_MESSAGE_ID ID, BOOL bEnable) PURE;
STDMETHOD_(BOOL, GetBreakOnCategory)(THIS_ D3D11_MESSAGE_CATEGORY Category) PURE;
STDMETHOD_(BOOL, GetBreakOnSeverity)(THIS_ D3D11_MESSAGE_SEVERITY Severity) PURE;
STDMETHOD_(BOOL, GetBreakOnID)(THIS_ D3D11_MESSAGE_ID ID) PURE;
STDMETHOD_(void, SetMuteDebugOutput)(THIS_ BOOL bMute) PURE;
STDMETHOD_(BOOL, GetMuteDebugOutput)(THIS) PURE;
};
这个接口允许你设置调试消息的限制、清除存储的消息、获取消息等。你可以使用这些功能来检查Direct3D调试信息,以帮助诊断和解决潜在的图形编程问题。
如果需要更多详细信息,建议查阅Microsoft的官方文档或DirectX SDK文档。
转载请注明出处:http://www.pingtaimeng.com/article/detail/25875/Win32 API/D3d11sdklayers.h/ID3D11InfoQueue