다음을 통해 공유


IWMDMNotification::WMDMMessage 메서드(mswmdm.h)

WMDMMessage 메서드는 클라이언트에서 구현한 콜백 메서드이며, 플러그 앤 플레이 규격 디바이스 또는 스토리지 매체가 연결되거나 제거될 때 Windows Media 장치 관리자 호출됩니다.

구문

HRESULT WMDMMessage(
  [in] DWORD   dwMessageType,
  [in] LPCWSTR pwszCanonicalName
);

매개 변수

[in] dwMessageType

메시지 유형을 지정하는 DWORD 입니다.

이벤트 유형에 사용할 수 있는 값은 다음과 같습니다.

메시지 유형 Description
WMDM_MSG_DEVICE_ARRIVAL 디바이스가 연결되었습니다.
WMDM_MSG_DEVICE_REMOVAL 디바이스가 제거되었습니다.
WMDM_MSG_MEDIA_ARRIVAL 연결된 디바이스에 스토리지 미디어가 삽입되었습니다.
WMDM_MSG_MEDIA_REMOVAL 연결된 디바이스에서 스토리지 미디어가 제거되었습니다.

[in] pwszCanonicalName

이 이벤트가 생성되는 디바이스의 정식 이름을 지정하는 와이드 문자 null로 끝나는 문자열에 대한 포인터입니다. 애플리케이션이 이 값을 해제하지 않습니다.

반환 값

반환 값은 애플리케이션이 메시지 처리 결과를 반환할 수 있는 HRESULT 입니다. 반환 값은 WMDM에서 무시됩니다.

설명

애플리케이션이 이 방법을 통해 알림을 수신하도록 구독하는 방법을 알아보려면 알림 사용을 참조하세요.

예제

다음 C++ 코드는 WMDMMessage 메서드를 구현하고 디바이스 또는 스토리지 도착 또는 출발 알림 메시지를 출력합니다.


HRESULT WMDMMessage(DWORD  dwMessageType, LPCWSTR  pwszCanonicalName)
{
    switch(dwMessageType)
    {
    case WMDM_MSG_DEVICE_ARRIVAL:
        // TODO: Display a message indicating that a new device has been detected and display the device name.
        break;
    case WMDM_MSG_DEVICE_REMOVAL:
        // TODO: Display a message that the device has been removed and display the device name.
        break;
    case WMDM_MSG_MEDIA_ARRIVAL:
        // TODO: Display a message indicating that storage media has been added to the device and display the device name.
        break;
    case WMDM_MSG_MEDIA_REMOVAL:
        // TODO: Display a message that storage media has been removed from the device and display the device name.
        break;
    default:
        // TODO: Display a message indicating that an unidentified message has been received.
        break;
    }
    return S_OK; // Return value is ignored, and not returned to the application.
}

요구 사항

요구 사항
대상 플랫폼 Windows
헤더 mswmdm.h
라이브러리 Mssachlp.lib

추가 정보

알림 사용

IWMDMNotification 인터페이스