다음을 통해 공유


하위 청크 검색

[멀티미디어 파일 I/O 이 페이지와 연결된 기능은 레거시 기능입니다. 원본 판독기로 대체되었습니다. 원본 판독기 Windows 10 및 Windows 11에 최적화되었습니다. Microsoft는 가능한 경우 새 코드에서 멀티미디어 파일 I/O 대신 원본 판독기 사용하는 것을 강력히 권장합니다. 가능한 경우 레거시 API를 사용하는 기존 코드를 다시 작성하여 새 API를 사용하도록 제안합니다.]

다음 예제에서는 mmioDescend 함수를 사용하여 이전 예제의 "RIFF" 청크에서 "FMT" 청크를 검색합니다.

// Find the format chunk (form type "FMT"); it should be 
// a subchunk of the "RIFF" parent chunk. 
mmckinfoSubchunk.ckid = mmioFOURCC('f', 'm', 't', ' '); 
if (mmioDescend(hmmio, &mmckinfoSubchunk, &mmckinfoParent, 
    MMIO_FINDCHUNK)) 
    // Error, cannot find the "FMT" chunk. 
else 
    // "FMT" chunk found. 

하위 펑크(즉, "RIFF" 또는 "LIST" 청크가 아닌 청크)를 검색하려면 mmioDescend 함수의 lpckParent 매개 변수에서 부모 청크를 식별합니다.

부모 청크를 지정하지 않으면 mmioDescend 함수를 호출하기 전에 현재 파일 위치가 청크의 시작 부분에 있어야 합니다. 부모 청크를 지정하는 경우 현재 파일 위치는 해당 청크의 어느 곳에나 있을 수 있습니다.

하위 청크 검색에 실패하면 현재 파일 위치는 정의되지 않습니다. 다음 예제와 같이 mmioSeek 함수 및 부모 청크를 설명하는 MMCKINFO 구조체의 dwDataOffset 멤버를 사용하여 부모 청크의 시작 부분으로 돌아갈 수 있습니다.

mmioSeek(hmmio, mmckinfoParent.dwDataOffset + 4, SEEK_SET); 

dwDataOffset는 청크의 데이터 부분의 시작에 대한 오프셋을 지정하므로, 형식 타입 이후의 파일 위치를 설정하려면 dwDataOffset에서 4바이트를 건너뛰어야 합니다.