다음을 통해 공유


MMIOPROC 콜백 함수(mmiscapi.h)

MMIOProc 함수는 mmioInstallIOProc 함수에 의해 설치된 사용자 지정 입력/출력(I/O) 프로시저입니다. MMIOProc 은 애플리케이션 정의 함수 이름의 자리 표시자입니다. 이 함수의 주소는 mmioInstallIOProc의 콜백 주소 매개 변수에 지정할 수 있습니다.

구문

MMIOPROC Mmioproc;

LRESULT Mmioproc(
  LPSTR lpmmioinfo,
  UINT uMsg,
  LPARAM lParam1,
  LPARAM lParam2
)
{...}

매개 변수

lpmmioinfo

열려 있는 파일에 대한 정보가 포함된 MMIOINFO 구조를 가리킵니다.

I/O 프로시저는 다음 읽기 또는 쓰기 위치에 대한 파일 오프셋을 나타내기 위해 이 구조체에서 lDiskOffset 멤버를 유지해야 합니다. I/O 프로시저는 adwInfo[] 멤버를 사용하여 상태 정보를 저장할 수 있습니다. I/O 프로시저는 MMIOINFO 구조체의 다른 멤버를 수정해서는 안 됩니다.

uMsg

요청된 I/O 작업을 나타내는 메시지를 지정합니다. 수신할 수 있는 메시지에는 MMIOM_OPEN, MMIOM_CLOSE, MMIOM_READ, MMIOM_SEEK, MMIOM_WRITEMMIOM_WRITEFLUSH 포함됩니다.

lParam1

메시지에 대한 애플리케이션 정의 매개 변수를 지정합니다.

lParam2

메시지에 대한 애플리케이션 정의 매개 변수를 지정합니다.

반환 값

반환 값은 uMsg에서 지정한 메시지에 따라 달라집니다. I/O 프로시저에서 메시지를 인식하지 못하면 0을 반환해야 합니다.

설명

파일과 연결된 MMIOINFO 구조의 fccMMIOProc 멤버가 지정한 네 문자 코드는 사용자 지정 스토리지 시스템의 파일 이름 확장명을 식별합니다. 애플리케이션이 "one.xyz+two"와 같은 파일 이름으로 mmioOpen 을 호출하는 경우 4자 코드 "XYZ"와 연결된 I/O 프로시저가 호출되어 "one.xyz" 파일의 "two" 요소를 엽니다.

mmioInstallIOProc 함수는 각 Windows 기반 애플리케이션에 대해 설치된 I/O 프로시저의 별도 목록을 유지 관리합니다. 따라서 다른 애플리케이션은 충돌 없이 다른 I/O 프로시저에 동일한 I/O 프로시저 식별자를 사용할 수 있습니다. 그러나 I/O 프로시저를 전역적으로 설치하면 모든 프로세스가 프로시저를 사용할 수 있습니다.

애플리케이션이 동일한 I/O 프로시저를 등록하기 위해 mmioInstallIOProc 을 두 번 이상 호출하는 경우 mmioInstallIOProc 을 호출하여 프로시저를 설치할 때마다 프로시저를 한 번 제거해야 합니다.

mmioInstallIOProc 는 애플리케이션이 동일한 식별자를 사용하여 두 개의 서로 다른 I/O 프로시저를 설치하거나 미리 정의된 식별자("DOS ", "MEM ") 중 하나를 사용하여 I/O 프로시저를 설치하는 것을 방지하지 않습니다. 가장 최근에 설치된 프로시저가 우선적으로 적용되며 가장 최근에 설치된 프로시저가 제거되는 첫 번째 프로시저입니다.

지정된 I/O 프로시저를 검색할 때 로컬 프로시저가 먼저 검색된 다음 전역 프로시저를 검색합니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 2000 Professional[데스크톱 앱만]
지원되는 최소 서버 Windows 2000 Server[데스크톱 앱만]
대상 플랫폼 Windows
헤더 mmiscapi.h(Mmiscapi.h, Windows.h 포함)