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

pdcomm_gem_equipment_alarm_at

함수

저장된 알람 하나를 등록 인덱스로 읽고 그 텍스트를 복사합니다.

PdcommStatus pdcomm_gem_equipment_alarm_at(PdcommTcpEndpoint *endpoint, size_t index, PdcommGemAlarmInfo *info, uint8_t *text, size_t capacity, size_t *required)

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

인덱스 0은 pdcomm_gem_equipment_configure_alarms()에 전달한 첫 번째 정의입니다. 조회하기 전에 info의 알려진 필드를 지우고 *required를 0으로 설정하므로, 인덱스가 잘못되면 이 값들은 지워진 상태로 남습니다. capacity가 부족해도 info와 *required는 기록되며 text는 변경하지 않습니다.

매개변수

이름설명
endpointGEM 장비와 알람 저장소가 구성된 엔드포인트입니다.
index0부터 시작하는 등록 인덱스입니다.
info호출자 저장 공간입니다. 호출 전에 info->struct_size를 설정합니다.
text알람 텍스트를 받을 대상 버퍼입니다. capacity가 0일 때만 NULL일 수 있습니다.
capacitytext의 크기(바이트)입니다.
required알람 텍스트 길이를 받습니다. NULL이 아니어야 합니다.

반환값

알람과 그 텍스트를 복사하면 #PDCOMM_OK를 반환합니다. capacity가 텍스트보다 작으면 #PDCOMM_BUFFER_TOO_SMALL을 반환합니다(메타데이터는 기록하고 텍스트는 변경하지 않음). endpoint, info 또는 required가 NULL이거나, capacity가 0이 아닌데 text가 NULL이거나, 출력이 겹치거나, info->struct_size가 너무 작으면 #PDCOMM_INVALID_ARGUMENT를 반환합니다. index가 알람 개수보다 작지 않으면 #PDCOMM_OUT_OF_RANGE를 반환합니다. 엔드포인트에 GEM 장비 또는 알람 저장소가 없으면 #PDCOMM_INVALID_STATE를 반환합니다. 엔드포인트가 오염(poisoned) 상태이거나 패닉(panic)을 격리했으면 #PDCOMM_POISONED를 반환합니다.

참고

  • info, text, required는 서로 겹치면 안 됩니다. 라이브러리는 겹치는 범위를 거부합니다.