다음을 통해 공유


명령 바로 가기 및 변형

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

MCI 명령을 사용할 때 몇 가지 바로 가기를 사용할 수 있습니다. 이러한 바로 가기를 사용하면 단일 식별자를 사용하여 애플리케이션이 연 모든 디바이스를 참조하거나 열려 있는(MCI_OPEN) 명령을 명시적으로 실행하지 않고 디바이스를 열 수 있습니다.

정보를 반환하지 않는 명령에 대해 "all"(MCI_ALL_DEVICE_ID)을 디바이스 식별자로 지정할 수 있습니다. "all"을 지정하면 MCI는 현재 애플리케이션에서 연 모든 디바이스에 순차적으로 명령을 보냅니다.

예를 들어 닫기 "all" 명령은 열려 있는 모든 디바이스를 닫고 재생 "all" 명령은 애플리케이션에서 연 모든 디바이스를 재생하기 시작합니다. MCI는 명령을 MCI 디바이스에 순차적으로 보내기 때문에 첫 번째 디바이스와 마지막 디바이스가 명령을 받는 시점 사이에 간격이 있습니다.

"all"을 사용하는 것은 모든 디바이스에 명령을 브로드캐스트하는 편리한 방법이지만 디바이스를 동기화하는 데 의존해서는 안 됩니다. 메시지 사이의 타이밍은 다를 수 있습니다.

명령을 실행하고 열려 있지 않은 디바이스를 지정하면 MCI는 명령을 구현하기 전에 디바이스를 열려고 시도합니다. 다음 규칙은 디바이스를 자동으로 여는 데 적용됩니다.

  • 자동 열기 기능은 명령 문자열 인터페이스에서만 작동합니다.
  • 사용자 지정 디바이스 드라이버와 관련된 명령에 대해 자동 열기 기능이 실패합니다.
  • 자동으로 열린 디바이스는 "all"을 디바이스 이름으로 사용하는 명령에 응답하지 않습니다.
  • 자동 열기 기능을 사용하면 애플리케이션에서 "type" 플래그를 지정할 수 없습니다. 디바이스 이름이 없으면 MCI는 레지스트리의 항목에서 디바이스 이름을 결정합니다. 특정 디바이스를 사용하려면 open 명령에 대한 참조 자료에 설명된 대로 느낌표를 사용하여 디바이스 이름을 파일 이름과 결합할 수 있습니다.

애플리케이션에서 자동 열기 기능을 사용하여 디바이스를 여는 경우 애플리케이션은 이후 열린 모든 명령의 반환 값을 검사 디바이스가 여전히 열려 있는지 확인해야 합니다. 또한 MCI는 자동으로 열리는 모든 디바이스를 자동으로 닫습니다. MCI는 일반적으로 다음과 같은 상황에서 디바이스를 닫습니다.

  • 명령이 완료되었습니다.
  • 명령을 중단합니다.
  • 후속 명령에서 알림을 요청합니다.
  • MCI에서 오류를 검색합니다.