pdcomm_gem_configure_equipment
함수
정지된 TCP 엔드포인트에 GEM 장비 역할을 붙입니다.
PdcommStatus pdcomm_gem_configure_equipment(PdcommTcpEndpoint *endpoint, const PdcommGemEquipmentOptions *options)모델과 소프트웨어 리비전은 복사되며, 이후 S1F2, S1F13, S1F14로 전송됩니다. 장비는 통신 상태 #PDCOMM_GEM_DISCONNECTED와 지정한 초기 제어 상태로 시작합니다.
매개변수
| 이름 | 설명 |
|---|---|
endpoint | GEM 역할이 없고 #PDCOMM_TCP_STOPPED 상태인 유효한 TCP 엔드포인트입니다. |
options | 장비 옵션입니다. 호출 중에만 읽습니다. |
반환값
역할을 붙였으면 #PDCOMM_OK를 반환합니다. endpoint 또는 options가 NULL이거나, struct_size가 너무 작거나, version 또는 reserved가 유효하지 않거나, 길이가 0이 아닌데 텍스트 포인터가 NULL이거나, 모델 또는 리비전이 ASCII가 아니거나, initial_control 또는 online_mode가 유효하지 않거나(#PDCOMM_GEM_ATTEMPT_ONLINE 포함), max_variables, max_value_bytes 또는 항목 한도가 0이면 #PDCOMM_INVALID_ARGUMENT를 반환합니다. 식별 응답이 항목 한도 안에 들어가지 않으면 #PDCOMM_LIMIT_EXCEEDED를 반환합니다. 레지스트리나 식별 정보 저장 공간을 할당할 수 없으면 #PDCOMM_ALLOCATION_FAILED를 반환합니다. 엔드포인트가 정지 상태가 아니거나 이미 GEM 역할이 있으면 #PDCOMM_INVALID_STATE를 반환합니다. 엔드포인트가 오염(poisoned) 상태이면 #PDCOMM_POISONED를 반환합니다.
참고
- 역할은 pdcomm_tcp_start() 전에 한 번 구성합니다. 역할은 pdcomm_tcp_destroy()까지 연결된 상태로 남습니다.