IMFASFContentInfo::P arseHeader 메서드(wmcontainer.h)

ASF 헤더의 정보를 구문 분석하고 해당 정보를 사용하여 ContentInfo 개체의 값을 설정합니다. 전체 헤더를 단일 버퍼에 전달하거나 여러 조각으로 보낼 수 있습니다.

구문

HRESULT ParseHeader(
  [in] IMFMediaBuffer *pIHeaderBuffer,
  [in] QWORD          cbOffsetWithinHeader
);

매개 변수

[in] pIHeaderBuffer

헤더의 일부 또는 전체를 포함하는 버퍼 개체의 IMFMediaBuffer 인터페이스에 대한 포인터입니다. 버퍼는 Header 개체에 포함된 개체(즉, Header 개체의 Reserved2 필드까지 포함)를 포함하지 않고 Header 개체의 크기인 30바이트 이상을 포함해야 합니다.

[in] cbOffsetWithinHeader

헤더의 시작 부분을 기준으로 버퍼의 첫 번째 바이트 오프셋(바이트)입니다.

반환 값

이 메서드는 HRESULT를 반환합니다. 가능한 값에는 다음 표에 있는 값이 포함되지만, 이에 국한되는 것은 아닙니다.

반환 코드 설명
S_OK
헤더가 완전히 구문 분석되고 유효성이 검사됩니다.
MF_E_ASF_INVALIDDATA
입력 버퍼에 유효한 ASF 데이터가 포함되어 있지 않습니다.
MF_E_BUFFERTOOSMALL
입력 버퍼가 너무 작습니다.
MF_S_ASF_PARSEINPROGRESS
메서드가 성공했지만 전달된 헤더가 불완전했습니다. 이는 헤더를 조각으로 전달할 때 마지막 호출을 제외한 모든 호출에 대한 성공적인 반환 코드입니다.

설명

헤더를 조각으로 전달하면 ContentInfo 개체는 전체 헤더가 구문 분석될 때까지 버퍼 개체에 대한 참조를 유지합니다. 따라서 이 메서드에 전달된 버퍼를 덮어쓰지 마세요.

Header 개체의 시작 부분에는 메모리에 다음과 같은 레이아웃이 있습니다.

필드 이름 크기(바이트)
개체 ID 16
개체 크기 8
헤더 개체 수 4
Reserved1 1
Reserved2 1
 

ParseHeader에 대한 첫 번째 호출은 Rerserved2를 포함하여 모든 항목을 읽으므로 최소 30바이트가 필요합니다. ( IMFASFContentInfo::GetHeaderSize 메서드는 개체 ID 및 개체 크기 필드만 읽으므로 메서드에는 최소 24바이트가 필요합니다.)

요구 사항

   
지원되는 최소 클라이언트 Windows Vista [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2008 [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 wmcontainer.h
라이브러리 Mfuuid.lib

참고 항목

IMFASFContentInfo

새 ASF 파일의 ContentInfo 개체 초기화