Graphisoft®

InputOutputVersion: 1.0

MemoryOChannel::GetDestination


데이터 목적지 버퍼에 대한 포인터를 리턴합니다.

char*  GetDestination (
    OwnershipType ot = OriginalOwnership
);

파라미터

ot
리턴된 목적지 버퍼의 소유권을 결정합니다. 가능한 값들은 다음과 같습니다:
의미
OriginalOwnership 버퍼의 소유권이 변경되지 않았습니다. 원래 소유자(MemoryOChannel 인스턴스 또는 사용자)가 버퍼를 제거할 책임이 있습니다.
(이것은 기본적인 경우입니다)
GrantOwnership 만약 이전에 MemoryOChannel이 버퍼를 소유했다면, 사용자에게 소유권을 전달합니다. 사용자는 버퍼를 제거할 책임이 있습니다.

BMpFree 함수를 이용하여 버퍼를 해제해야 합니다!

리턴 값

데이터 목적지 버퍼에 대한 포인터입니다. 만약 인스턴스의 상태가 유효하지 않으면 NULL입니다. (예를 들면, 메모리 고갈로 인해)

설명

이 메소드는 데이터 목적지 버퍼에 대한 포인터를 리턴합니다. 만약 특정 인스턴스가 버퍼를 소유했다면, ot 파라미터의 GrantOwnership 값을 이용하여 사용자에게 소유권을 부여할 수 있습니다. 그래서 사용자는 버퍼를 제거할 책임을 갖게 됩니다. 그러한 경우 사용자는 BMpAll 함수를 이용하여 버퍼를 할당한다고 가정해야 합니다. 그래서 BMpFree 함수로 버퍼를 제거해야 합니다!

이 메소드는 내부 버퍼들이 flush되게 만들 수도 있습니다. 그래서 사용자는 목적지 버퍼 안에 이 출력 채널로 전송할 모든 데이터를 갖게 됩니다. 그러나 flush를 하는 동안 잠재적인 오류 발생이 보고되지 않습니다. 만약 이것이 문제를 발생시키면, 사용자는 이 메소드를 호출하기 전에 수동으로 Flush 메소드를 호출할 수 있습니다. 버퍼링에 대한 자세한 것은 OChannelAdapter 베이스 클래스를 보십시오.

이 출력 채널에 전송할 데이터의 크기는 GetDataSize 메소드를 통해 쿼리될 수 있습니다.


다음 버전부터 이용 가능합니다: 1.0