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

pdcomm_gem_equipment_configure_alarms

함수

GEM 장비 엔드포인트의 알람 저장소를 설치합니다.

PdcommStatus pdcomm_gem_equipment_configure_alarms(PdcommTcpEndpoint *endpoint, const PdcommGemAlarmOptions *options, const PdcommGemAlarmDefinition *definitions, size_t count)

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

모든 정의를 검증해 임시 저장소에 복사하며, 모든 정의가 유효하고 지정한 설정 또는 해제 CEID가 모두 보고서 카탈로그에 있을 때만 이 저장소를 설치합니다. 알람은 해제 상태이고 보고가 비활성화된 상태로 시작합니다. 저장소는 엔드포인트마다 한 번만 구성할 수 있습니다.

매개변수

이름설명
endpointGEM 장비가 구성된 Stopped 상태의 TCP 엔드포인트입니다(pdcomm_gem_configure_equipment() 참고).
options저장소 한도입니다. struct_size는 sizeof(PdcommGemAlarmOptions) 이상이어야 합니다.
definitionscount개의 정의 배열입니다. count가 0이면 NULL일 수 있으며, 이때는 빈 저장소를 설치합니다.
count정의 개수입니다. options->max_alarms를 넘으면 안 됩니다.

반환값

저장소를 설치하면 #PDCOMM_OK를 반환합니다. endpoint 또는 options가 NULL이거나, options->struct_size가 너무 작거나, version 또는 reserved가 잘못되었거나, max_alarms가 0이거나, count가 0이 아닌데 definitions가 NULL이거나, 존재 플래그가 0이나 1이 아니거나, 길이가 0이 아닌데 텍스트 포인터가 NULL이거나, 텍스트가 ASCII가 아니거나, 범주가 1~63 범위를 벗어나거나, ALID가 중복되거나, 지정한 CEID가 보고서 카탈로그에 없으면 #PDCOMM_INVALID_ARGUMENT를 반환합니다. count가 max_alarms를 넘거나 텍스트 길이 또는 전체 텍스트 길이가 한도를 넘으면 #PDCOMM_LIMIT_EXCEEDED를 반환합니다. 엔드포인트가 정지 상태가 아니거나, 준비된 TCP 이벤트(staged event)가 있거나, GEM 장비가 없거나, 이미 알람 저장소가 있으면 #PDCOMM_INVALID_STATE를 반환합니다. 메모리를 할당할 수 없으면 #PDCOMM_ALLOCATION_FAILED를 반환합니다. 엔드포인트가 오염(poisoned) 상태이거나 패닉(panic)을 격리했으면 #PDCOMM_POISONED를 반환합니다.

참고

  • 호출이 반환된 뒤에는 어떤 입력 포인터도 보관하지 않습니다.