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

pdcomm_gem_equipment_configure_fixed_catalog

함수

고정 보고서 그래프와 그 STATUS 또는 DATA 바인딩을 원자적으로 설치합니다.

PdcommStatus pdcomm_gem_equipment_configure_fixed_catalog(PdcommTcpEndpoint *endpoint, const PdcommGemReportOptions *report_options, const PdcommGemReportSpec *reports, size_t report_count, const PdcommGemFixedEventSpec *events, size_t event_count, const PdcommGemBindingOptions *binding_options, const PdcommGemReportBinding *bindings, size_t binding_count)

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

주어진 보고서와 이벤트로 보고서 저장소를 만들고, 각 이벤트를 해당 보고서에 링크하고, enabled로 표시된 이벤트를 활성화한 뒤, 새 명시적 바인딩 저장소와 함께 설치합니다. 장비에는 아직 보고서 저장소나 바인딩 저장소가 없어야 합니다. 모든 보고서에는 VID가 하나 이상 있어야 하고, 모든 VID가 바인딩되어야 하며, 여기서는 CONSTANT 바인딩을 받지 않습니다. 모든 입력 배열은 호출 동안만 빌려 씁니다. 실패하면 두 저장소 모두 바뀌지 않습니다. 호스트는 실행 중에도 S2F33과 S2F35로 보고서와 링크를 바꿀 수 있습니다.

매개변수

이름설명
endpoint장비 엔드포인트입니다. TCP 엔드포인트가 Stopped 상태여야 합니다.
report_options보고서 저장소 한도입니다. version은 #PDCOMM_GEM_REPORT_OPTIONS_VERSION, reserved는 0이어야 합니다.
reportsreport_count개의 보고서 정의 배열입니다. RPTID는 서로 달라야 하고 각 보고서에는 VID가 하나 이상 있어야 합니다. report_count가 0이면 NULL일 수 있습니다.
report_count보고서 개수입니다. 최대 max_reports입니다.
eventsevent_count개의 이벤트 배열입니다. CEID는 서로 달라야 합니다. event_count가 0이면 NULL일 수 있습니다.
event_count이벤트 개수입니다. 최대 max_events입니다.
binding_options바인딩 저장소 한도입니다. version은 #PDCOMM_GEM_BINDING_OPTIONS_VERSION, reserved는 0이어야 합니다.
bindingsbinding_count개의 STATUS 또는 DATA 바인딩 배열입니다. binding_count가 0이면 NULL일 수 있습니다.
binding_count바인딩 개수입니다.

반환값

성공하면 #PDCOMM_OK를 반환합니다. 필수 포인터가 NULL이거나, 옵션 구조체가 유효하지 않거나, 보고서에 VID가 없거나, enabled 플래그가 1보다 크거나, ID가 중복되거나, 링크가 알 수 없는 보고서를 가리키거나, 바인딩이 유효하지 않거나 CONSTANT이거나, VID 또는 출처가 없으면 #PDCOMM_INVALID_ARGUMENT를 반환합니다(링크가 없는 활성 이벤트는 유효하며, 빈 보고서 목록으로 보고됩니다). 저장소 한도를 넘으면 #PDCOMM_LIMIT_EXCEEDED를 반환합니다. 준비된 TCP 이벤트(staged event)가 있으면 #PDCOMM_BACKPRESSURE를 반환합니다. 엔드포인트가 Stopped 상태가 아니거나, 장비가 아니거나, 이미 보고서 저장소 또는 바인딩 저장소가 있거나, GEM 통신이 활성 상태이면 #PDCOMM_INVALID_STATE를 반환합니다. 그 밖에 #PDCOMM_ALLOCATION_FAILED 또는 #PDCOMM_POISONED를 반환합니다.