명령 메시지

[이 페이지 MCI와 연결된 기능은 레거시 기능입니다. MediaPlayer로 대체되었습니다. MediaPlayer는 Windows 10 및 Windows 11 최적화되었습니다. 가능한 경우 새 코드에서 MCI 대신 MediaPlayer를 사용하는 것이 좋습니다. 가능한 경우 레거시 API를 사용하는 기존 코드를 다시 작성하여 새 API를 사용하도록 제안합니다.]

명령 메시지 인터페이스는 멀티미디어 디바이스를 제어하기 위해 C 언어 인터페이스가 필요한 애플리케이션에서 사용하도록 설계되었습니다. 메시지 전달 패러다임을 사용하여 MCI 디바이스와 통신합니다. mciSendCommand 함수를 사용하여 명령을 보낼 수 있습니다.

mciSendCommand 함수는 성공하면 0을 반환합니다. 함수가 실패하면 반환 값의 하위 순서 단어에 오류 코드가 포함됩니다. 이 오류 코드를 mciGetErrorString 함수에 전달하여 오류에 대한 텍스트 설명을 가져올 수 있습니다.

명령 메시지 구문

MCI 명령 메시지는 다음 요소로 구성됩니다.

  • 상수 메시지 값
  • 명령에 대한 매개 변수를 포함하는 구조체
  • 명령에 대한 옵션을 지정하고 매개 변수 블록의 필드 유효성을 검사하는 플래그 집합

다음 예제에서는 mciSendCommand 함수를 사용하여 MCI_ PLAY 명령을 디바이스 식별자가 식별한 디바이스로 보냅니다.

mciSendCommand(wDeviceID,            // device identifier 
    MCI_PLAY,                        // command message 
    0,                               // flags 
    (DWORD)(LPVOID) &mciPlayParms);  // parameter block 

첫 번째 매개 변수에 지정된 디바이스 식별자는 MCI_ OPEN 명령을 사용하여 디바이스를 열 때 검색됩니다. 마지막 매개 변수는 재생을 시작하고 종료할 위치에 대한 정보를 포함할 수 있는 MCI_ PLAY_ PARMS 구조체의 주소입니다. 많은 MCI 명령 메시지는 구조를 사용하여 이러한 종류의 매개 변수를 포함합니다. 이러한 각 구조체의 첫 번째 멤버는 작업이 완료될 때 MM_ MCINOTIFY 메시지를 수신하는 창을 식별합니다.