다음을 통해 공유


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

추가 정보

ID3D12InfoQueue