ID3D12InfoQueue::GetMessage 메서드(d3d12sdklayers.h)
메시지 큐에서 메시지를 가져옵니다.
구문
HRESULT GetMessage(
[in] UINT64 MessageIndex,
[out, optional] D3D12_MESSAGE *pMessage,
[in, out] SIZE_T *pMessageByteLength
);
매개 변수
[in] MessageIndex
형식: UINT64
선택적 검색 필터가 적용된 후 메시지 큐에 인덱싱합니다. 이는 검색 필터를 통과하는 메시지 큐의 메시지 수와 0 사이일 수 있습니다( GetNumStoredMessagesAllowedByRetrievalFilter를 사용하여 가져올 수 있음). 0은 메시지 큐 앞의 메시지입니다.
[out, optional] pMessage
형식: D3D12_MESSAGE*
반환된 메시지입니다.
[in, out] pMessageByteLength
형식: SIZE_T*
pMessage 크기(바이트)입니다.
반환 값
형식: HRESULT
이 메서드는 Direct3D 12 반환 코드 중 하나를 반환합니다.
설명
이 메서드는 메시지 큐에서 메시지를 제거하지 않습니다.
이 메서드는 선택적 검색 필터가 적용된 후 메시지 큐에서 메시지를 가져옵니다.
애플리케이션은 메시지를 검색하기 위해 이 메서드를 두 번 호출해야 합니다. 먼저 메시지 크기를 가져오고 두 번째 메서드를 호출하여 메시지를 가져와야 합니다. 일반적인 예는 다음과 같습니다.
// Get the size of the message
SIZE_T messageLength = 0;
HRESULT hr = pInfoQueue->GetMessage(0, NULL, &messageLength);
// Allocate space and get the message
D3D12_MESSAGE * pMessage = (D3D12_MESSAGE*)malloc(messageLength);
hr = pInfoQueue->GetMessage(0, pMessage, &messageLength);
요구 사항
대상 플랫폼 | Windows |
헤더 | d3d12sdklayers.h |