메모리 파일 I/O 수행
[멀티미디어 파일 I/O 이 페이지와 연결된 기능은 레거시 기능입니다. 는 원본 판독기로 대체되었습니다. 원본 판독기 Windows 10 및 Windows 11에 최적화되었습니다. Microsoft는 가능한 경우 새 코드에서 멀티미디어 파일 I/O 대신 원본 판독기 사용할 것을 강력히 권장합니다. 가능한 경우 레거시 API를 사용하는 기존 코드를 다시 작성하여 새 API를 사용하도록 제안합니다.]
멀티미디어 파일 I/O 서비스를 사용하면 메모리 블록을 파일로 처리할 수 있습니다. 이 기능은 메모리에 파일 이미지가 이미 있는 경우에 유용할 수 있습니다. 메모리 파일을 사용하면 I/O를 위해 메모리 파일을 디스크 기반 파일처럼 처리할 수 있으므로 코드의 특수 사례 조건 수를 줄일 수 있습니다. 클립보드와 함께 메모리 파일을 사용할 수도 있습니다.
I/O 버퍼와 마찬가지로 메모리 파일은 애플리케이션 또는 파일 I/O 관리자가 할당한 메모리를 사용할 수 있습니다. 또한 메모리 파일은 확장 가능하거나 확장할 수 없습니다. 파일 I/O 관리자가 확장 가능한 메모리 파일의 끝에 도달하면 미리 정의된 증분 단위로 메모리 파일을 확장합니다.
메모리 파일을 열려면 mmioOpen 함수를 사용하고, szFilename 매개 변수를 NULL로 설정하며, dwOpenFlags 매개 변수에 MMIO_READWRITE 플래그를 설정합니다. 다음과 같이 설정된 MMIOINFO 구조를 가리키도록 lpmmioinfo 매개 변수를 설정합니다.
- pIOProc 멤버를 NULL로 설정합니다.
- fccIOProc 멤버를 FOURCC_MEM 설정합니다.
- 메모리 블록을 가리키도록 pchBuffer 멤버를 설정합니다. 파일 I/O 관리자가 메모리 블록을 할당하도록 요청하려면 pchBuffer NULL 설정합니다.
- cchBuffer 멤버를 메모리 블록의 초기 크기로 설정합니다.
- adwInfo 멤버를 메모리 블록의 최소 확장 크기로 설정합니다. 확장 불가능한 메모리 파일의 경우 adwInfo 를 NULL로 설정합니다.
- 다른 모든 멤버를 0으로 설정합니다.
제한 없이 비확장 메모리 파일로 사용할 메모리를 할당할 수 있습니다.