다음을 통해 공유


IWMDMProgress3::P rogress3 메서드(mswmdm.h)

Progress3 메서드는 진행 중인 작업의 상태 나타내기 위해 Windows Media 장치 관리자 호출됩니다. 이 메서드는 이벤트의 ID(ID)와 명령 컨텍스트에 대한 포인터에 대한 추가 입력 매개 변수를 제공하여 IWMDMProgress::P rogress 를 확장합니다.

구문

HRESULT Progress3(
  [in]      GUID          EventId,
  [in]      DWORD         dwTranspiredTicks,
  [in, out] OPAQUECOMMAND *pContext
);

매개 변수

[in] EventId

진행률 알림을 보낼 이벤트 ID를 지정하는 GUID입니다. 가능한 값은 다음 표에 나와 있습니다.

이벤트 Description
SCP_EVENTID_ACQSECURECLOCK Windows Media 장치 관리자 서버에서 보안 시계를 확보하고 있습니다.
SCP_EVENTID_NEEDTOINDIV 디바이스가 개별화되고 있습니다. 현재 사용되지 않습니다.
SCP_EVENTID_DRMINFO 이 이벤트 ID는 각 파일의 콘텐츠에 있는 버전 DRM 헤더를 사용하여 애플리케이션에 알리는 데 사용됩니다.

반환된 OPAQUECOMMAND 구조체에는 guidCommand 매개 변수가 SCP_PARAMID_DRMVERSION 설정됩니다.

또한 데이터는 다음 플래그 중 하나를 지정합니다.

WMDM_SCP_DRMINFO_NOT_DRMPROTECTED

WMDM_SCP_DRMINFO_V1HEADER

WMDM_SCP_DRMINFO_V2HEADER

EVENT_WMDM_CONTENT_TRANSFER 콘텐츠가 디바이스로 또는 장치에서 전송되고 있습니다.

[in] dwTranspiredTicks

지금까지 일어난 틱 수를 지정하는 DWORD입니다.

[in, out] pContext

Windows Media 장치 관리자 처리하지 않고 디바이스로 직접 전송되는 명령을 포함하는 OPAQUECOMMAND 구조체에 대한 포인터입니다. 이 매개 변수는 선택 사항이며 NULL일 수 있습니다. 이벤트가 SCP_EVENTID_DRMINFO 경우 이 매개 변수의 데이터에는 SCP_PARAMID_DRMVERSION GUID가 있습니다.

반환 값

애플리케이션은 다음 HRESULT 값 중 하나를 반환해야 합니다.

반환 코드 Description
S_OK
작업은 계속되어야 합니다.
WMDM_E_USER_CANCELLED
Windows Media 장치 관리자 완료되기를 기다리지 않고 현재 작업을 취소해야 합니다. 애플리케이션이 블록 모드를 사용하는 경우 Windows Media 장치 관리자 이 오류를 애플리케이션에 반환합니다.

설명

작업을 구현하는 메서드를 소유하는 인터페이스는 메서드에서 정의한 작업이 수행될 때 Progress3 메서드를 호출합니다. Progress3 는 예상 틱당 한 번씩 호출됩니다. 그러나 수행 중인 작업이 예상된 각 틱에 대해 하나의 호출을 보장하지 않을 수 있으므로 각 호출에서 dwTranspiredTicks 매개 변수를 확인해야 합니다.

애플리케이션은 호출 메서드에 S_OK 반환하여 작업이 계속되어야 함을 나타냅니다. 애플리케이션은 작업을 취소해야 함을 나타내는 WMDM_E_USER_CANCELLED 반환합니다. 애플리케이션이 블록 모드를 사용하고 WMDM_E_USER_CANCELLED 반환하는 경우 Windows Media 장치 관리자 동일한 오류를 애플리케이션에 반환합니다.

예제

다음 C++ 코드는 Progress3의 구현 예제를 보여줍니다.


HRESULT Progress3(GUID  EventId, DWORD  dwTranspiredTicks, OPAQUECOMMAND*  pContext)
{
    WCHAR strGuid[64];
    ZeroMemory(strGuid, 64);
    StringFromGUID2(reinterpret_cast<GUID&>(EventId),(LPOLESTR)strGuid, 64);
    // TODO: Display the message: "Progress3 called. GUID value: " 
    // followed by the strGUID value.
    // TODO: Display the message: "Progress3 dwTranspiredTicks: " 
    // followed by the dwTranspiredTicks value.

    return S_OK;
}

요구 사항

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

추가 정보

알림 사용

IWMDMProgress3 인터페이스

IWMDMProgress::P rogress