콘텐츠로 이동
무료 평가 시작

pdcomm_buffer_copy

함수

버퍼의 바이트를 호출자 저장 공간에 복사합니다.

PdcommStatus pdcomm_buffer_copy(const PdcommBuffer *handle, uint8_t *output, size_t capacity, size_t *required)

선언 위치: #include <pdcomm.h>

유효한 핸들이면 *required는 항상 버퍼 길이를 받습니다. 따라서 output을 NULL로, capacity를 0으로 지정해 호출하면 크기를 조회할 수 있습니다.

매개변수

이름설명
handle유효한 버퍼 핸들입니다.
output대상 버퍼입니다. 버퍼가 비어 있거나, 크기 조회를 위해 capacity가 0이면 NULL일 수 있습니다.
capacityoutput의 크기(바이트)입니다.
required버퍼 길이를 받습니다(handle이 NULL이면 0). NULL이 아니어야 하며, output이나 핸들과 겹치면 안 됩니다.

반환값

모든 바이트를 복사하면 #PDCOMM_OK를 반환합니다. capacity가 길이보다 작으면 #PDCOMM_BUFFER_TOO_SMALL을 반환하며 출력은 변경하지 않습니다. required 또는 handle이 NULL이거나, 데이터가 비어 있지 않고 용량이 충분한데 output이 NULL이면 #PDCOMM_INVALID_ARGUMENT를 반환합니다. 패닉(panic)을 격리했으면 #PDCOMM_INTERNAL_ERROR를 반환합니다.

참고

  • 스레드 안전성: 같은 핸들에 대한 복사 호출은 동시에 실행할 수 있습니다. 해제는 그 핸들에 대한 다른 어떤 호출과도 동시에 실행하면 안 됩니다.