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

pdcomm_gem_equipment_configure_data_variables

함수

장비의 데이터 변수(data variable) 저장소 전체를 설치하거나 교체합니다.

PdcommStatus pdcomm_gem_equipment_configure_data_variables(PdcommTcpEndpoint *endpoint, const PdcommGemDataOptions *options, const PdcommGemDataDefinition *definitions, size_t count)

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

모든 정의를 검증해 새 저장소에 복사한 뒤, 기존 DATA 바인딩과 이벤트 디렉터리 변수를 새 저장소로 검사합니다. 모든 것이 유효할 때만 새 저장소가 이전 저장소를 대체합니다. 모든 SECS-II 형식을 지원하며, 캐시된 각 값은 최상위 형식과 개수를 그대로 유지합니다.

매개변수

이름설명
endpoint장비 엔드포인트입니다. TCP 엔드포인트가 Stopped 상태여야 합니다.
options저장소 한도입니다. version은 #PDCOMM_GEM_DATA_OPTIONS_VERSION, reserved는 0이어야 합니다.
definitionscount개의 정의 배열입니다. count가 0이면 NULL일 수 있습니다.
count정의 개수입니다. 최대 options->max_variables입니다.

반환값

성공하면 #PDCOMM_OK를 반환합니다. endpoint 또는 options가 NULL이거나, 옵션이나 그 항목 한도가 유효하지 않거나, 형식 코드를 알 수 없거나, 길이가 0이 아닌데 문자열 포인터가 NULL이거나, 메타데이터가 ASCII가 아니거나, ID가 중복되거나, min_count가 max_count보다 크거나, 캐시된 값이 형식 또는 개수와 맞지 않거나, 기존 DATA 바인딩이나 디렉터리 변수의 대상이 더 이상 없으면 #PDCOMM_INVALID_ARGUMENT를 반환합니다. 개수, 메타데이터, 값, 항목 한도를 넘으면 #PDCOMM_LIMIT_EXCEEDED를 반환합니다. 준비된 TCP 이벤트(staged event)가 있으면 #PDCOMM_BACKPRESSURE를 반환합니다. 엔드포인트가 Stopped 상태가 아니거나, 장비가 아니거나, GEM 통신이 활성 상태이면 #PDCOMM_INVALID_STATE를 반환합니다. 그 밖에 #PDCOMM_ALLOCATION_FAILED 또는 #PDCOMM_POISONED를 반환합니다.