다음을 통해 공유


ISCPSecureExchange2::TransferContainerData2 메서드(mswmdm.h)

TransferContainerData2 메서드는 컨테이너 파일 데이터를 보안 콘텐츠 공급자로 전송합니다. 보안 콘텐츠 공급자는 컨테이너를 내부적으로 분해하고 컨테이너에서 추출될 때 사용할 수 있는 콘텐츠 부분을 보고합니다. 이 메서드는 보안 콘텐츠 공급자가 수행해야 하는 단계에 대한 진행률 알림을 보낼 수 있는 진행률 콜백을 수락하여 ISCPSecureExchange::TransferContainerData 를 확장합니다.

구문

HRESULT TransferContainerData2(
  [in]      BYTE           *pData,
  [in]      DWORD          dwSize,
  [in]      IWMDMProgress3 *pProgressCallback,
  [out]     UINT           *pfuReadyFlags,
  [in, out] BYTE [8]       abMac
);

매개 변수

[in] pData

컨테이너 파일에서 전송되는 현재 데이터를 보유하는 버퍼에 대한 포인터입니다. 이 매개 변수는 입력 메시지 인증 코드에 포함되어야 하며 암호화되어야 합니다.

[in] dwSize

버퍼의 바이트 수를 포함하는 DWORD입니다. 이 매개 변수는 입력 메시지 인증 코드에 포함되어야 합니다.

[in] pProgressCallback

보안 콘텐츠 공급자가 수행해야 할 수 있는 단계의 진행률을 보고할 수 있는 진행률 콜백입니다. 단계는 IWMDMProgress3 메서드의 EventId 매개 변수로 식별됩니다.

[out] pfuReadyFlags

컨테이너 파일을 읽을 준비가 된 부분을 나타내는 플래그입니다. 이 매개 변수는 출력 메시지 인증 코드에 포함됩니다. 다음 플래그는 준비된 것을 나타냅니다.

플래그 설명
WMDM_SCP_TRANSFER_OBJECTDATA 개체의 데이터는 ObjectData 메서드를 호출하여 사용할 수 있습니다.
WMDM_SCP_NO_MORE_CHANGES 보안 콘텐츠 공급자는 전송되는 파일을 더 이상 처리 및/또는 수정할 필요가 없다고 결정했습니다. Windows Media 장치 관리자 파일의 나머지 부분을 디바이스로 직접 전송할 수 있습니다.

[in, out] abMac

이 메서드의 매개 변수 데이터에 대한 메시지 인증 코드를 포함하는 8바이트 배열입니다. (WMDM_MAC_LENGTH 8로 정의됩니다.

반환 값

메서드가 성공하면 S_OK가 반환되고, 실패하면 HRESULT 오류 코드를 반환합니다.

반환 코드 설명
WMDM_E_NOT_CERTIFIED
호출자는 이 인터페이스를 사용할 권한이 없습니다.
WMDM_E_NORIGHTS
호출자에게 요청된 작업을 수행하는 데 필요한 권한이 없습니다.
WMDM_E_MAC_CHECK_FAILED
메시지 인증 코드가 잘못되었습니다.
S_FALSE
메서드가 실패했습니다. 보안 콘텐츠 공급자와의 상호 작용을 종료합니다.
E_INVALIDARG
매개 변수가 잘못되었거나 NULL 포인터입니다.
E_FAIL
지정되지 않은 오류가 발생했습니다.

설명

Windows Media 장치 관리자 이 메서드를 반복적으로 호출하여 컨테이너 파일에서 보안 콘텐츠 공급자로 데이터를 전송합니다. Windows Media 장치 관리자 결국 dwSize가 0으로 설정된 이 메서드를 호출하여 전송할 데이터가 더 이상 없음을 나타냅니다. 보안 콘텐츠 공급자는 데이터를 수집하고 다양한 개체를 추출하므로 각 호출 후에 사용할 수 있는 개체를 장치 관리자 Windows Media에 다시 보고합니다. 사용할 수 있는 개체가 없으면 보안 콘텐츠 공급자는 pfuReadyFlags 매개 변수가 0으로 설정된 S_OK 반환합니다. 보안 콘텐츠 공급자가 전송되는 파일을 더 이상 처리 및/또는 수정할 필요가 없다고 판단하면 플래그 WMDM_SCP_NO_MORE_CHANGES 반환됩니다. 그런 다음 Windows Media 장치 관리자 파일의 나머지 부분을 디바이스로 직접 전송할 수 있습니다.

개체 데이터는 ObjectData 메서드를 호출하여 보안 콘텐츠 공급자에서 전송됩니다. Windows Media 장치 관리자 두 번째 매개 변수 dwBytesWrite에서 0을 반환할 때까지 ObjectData를 반복적으로 호출합니다.

TransferComplete 메서드는 Windows Media 장치 관리자 호출되어 데이터 보안 전송이 종료되었음을 알립니다.

Windows Media 장치 관리자 pProgressCallback 매개 변수의 보안 콘텐츠 공급자에 애플리케이션 제공 진행률 콜백을 전달합니다. 보안 콘텐츠 공급자는 이 매개 변수를 사용하여 수행해야 하는 모든 단계에 대한 진행률 알림을 제공할 수 있습니다. 단계 자체는 IWMDMProgress3 메서드의 첫 번째 매개 변수인 EventId로 식별됩니다. 특정 보안 콘텐츠 공급자 구현은 사용할 애플리케이션에 대한 EventId 값을 정의합니다.

요구 사항

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

추가 정보

ISCPSecureExchange 인터페이스

ISCPSecureExchange2 인터페이스

ISCPSecureExchange::ObjectData

IWMDMProgress3 인터페이스