ISCPSecureExchange::TransferContainerData 메서드(mswmdm.h)
TransferContainerData 메서드는 컨테이너 파일 데이터를 보안 콘텐츠 공급자로 전송합니다. 보안 콘텐츠 공급자는 컨테이너를 내부적으로 분해하고 컨테이너에서 추출할 때 사용할 수 있는 콘텐츠 부분을 보고합니다.
구문
HRESULT TransferContainerData(
[in] BYTE *pData,
[in] DWORD dwSize,
[out] UINT *pfuReadyFlags,
[in, out] BYTE [8] abMac
);
매개 변수
[in] pData
컨테이너 파일에서 전송되는 현재 데이터를 보유하는 버퍼에 대한 포인터입니다. 이 매개 변수는 입력 메시지 인증 코드에 포함되어야 하며 암호화되어야 합니다.
[in] dwSize
버퍼의 바이트 수를 포함하는 DWORD입니다. 이 매개 변수는 입력 메시지 인증 코드에 포함되어야 합니다.
[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 오류 코드가 반환됩니다.
반환 코드 | 설명 |
---|---|
|
호출자에게 이 인터페이스를 사용할 권한이 없습니다. |
|
호출자에게 요청된 작업을 수행하는 데 필요한 권한이 없습니다. |
|
메시지 인증 코드가 잘못되었습니다. |
|
메서드가 실패했습니다. 보안 콘텐츠 공급자와의 상호 작용을 종료합니다. |
|
매개 변수가 잘못되었거나 NULL 포인터입니다. |
|
지정되지 않은 오류가 발생했습니다. |
설명
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 |
헤더 | mswmdm.h |
라이브러리 | Mssachlp.lib |