다음을 통해 공유


메모리 파일 I/O 수행

멀티미디어 파일 I/O 서비스를 사용하면 메모리 블록을 파일로 처리할 수 있습니다. 이 기능은 이미 메모리에 파일 이미지가 있는 경우에 유용할 수 있습니다. 메모리 파일을 사용하면 I/O를 위해 메모리 파일을 디스크 기반 파일처럼 처리할 수 있으므로 코드의 특수 사례 조건 수를 줄일 수 있습니다. 클립보드와 함께 메모리 파일을 사용할 수도 있습니다.

I/O 버퍼와 마찬가지로 메모리 파일은 애플리케이션 또는 파일 I/O 관리자에서 할당한 메모리를 사용할 수 있습니다. 또한 메모리 파일은 확장 가능하거나 확장할 수 없습니다. 파일 I/O 관리자가 확장 가능한 메모리 파일의 끝에 도달하면 미리 정의된 증분 단위로 메모리 파일을 확장합니다.

메모리 파일을 열려면 szFilename 매개 변수가 NULL로 설정된 mmioOpen 함수와 dwOpenFlags 매개 변수에 설정된 MMIO_READWRITE 플래그를 사용합니다. 다음과 같이 설정된 MMIOINFO 구조를 가리키도록 lpmmioinfo 매개 변수를 설정합니다.

  1. pIOProc 멤버를 NULL로 설정합니다.
  2. fccIOProc 멤버를 FOURCC_MEM 설정합니다.
  3. pchBuffer 멤버를 메모리 블록을 가리키도록 설정합니다. 파일 I/O 관리자가 메모리 블록을 할당하도록 요청하려면 pchBufferNULL로 설정합니다.
  4. cchBuffer 멤버를 메모리 블록의 초기 크기로 설정합니다.
  5. adwInfo 멤버를 메모리 블록의 최소 확장 크기로 설정합니다. 비공개 메모리 파일의 경우 adwInfo를NULL로 설정합니다.
  6. 다른 모든 멤버를 0으로 설정합니다.

비공개 메모리 파일로 사용하기 위해 메모리를 할당하는 데는 제한이 없습니다.