pdcomm_gem_equipment_configure_enhanced_commands
함수
GEM 장비 엔드포인트에 확장 원격 명령(enhanced remote command) 저장소를 설치합니다.
PdcommStatus pdcomm_gem_equipment_configure_enhanced_commands(PdcommTcpEndpoint *endpoint, const PdcommGemEnhancedCommandOptions *options, const PdcommGemEnhancedObjectDefinition *objects, size_t count)모든 객체, 명령, 매개변수 정의를 검증해 임시 저장소에 복사합니다. 모든 정의가 유효하고 모든 완료 CEID가 보고서 카탈로그에 있을 때만 이 저장소를 설치합니다. 저장소는 한 번만 구성할 수 있습니다.
매개변수
| 이름 | 설명 |
|---|---|
endpoint | GEM 장비가 구성된 Stopped 상태의 TCP 엔드포인트입니다. |
options | 저장소 한도입니다. struct_size는 sizeof(PdcommGemEnhancedCommandOptions) 이상이어야 합니다. |
objects | count개의 객체 정의 배열입니다. count가 0이면 NULL일 수 있습니다. |
count | 객체 개수입니다. options->max_objects를 넘으면 안 됩니다. |
반환값
저장소를 설치하면 #PDCOMM_OK를 반환합니다. endpoint 또는 options가 NULL이거나, struct_size가 너무 작거나, version 또는 reserved가 잘못되었거나, item_limits 값이 0이거나, 배열 포인터나 이름 항목이 NULL이거나, 플래그가 0 또는 1이 아니거나, 객체 이름이 ASCII 항목이 아니거나, 명령이나 매개변수의 이름 또는 형식이 잘못되었거나(JIS-8 포함), 개수 범위나 경계값이 잘못되었거나, 이름이 중복되었거나, 완료 CEID가 보고서 카탈로그에 없으면 #PDCOMM_INVALID_ARGUMENT를 반환합니다. 개수, 합계 또는 이름 길이가 한도를 넘으면 #PDCOMM_LIMIT_EXCEEDED를 반환합니다. 엔드포인트가 정지되어 있지 않거나, 준비된 TCP 이벤트가 있거나, GEM 장비가 없거나, 이미 확장 명령 저장소가 있으면 #PDCOMM_INVALID_STATE를 반환합니다. 메모리를 할당할 수 없으면 #PDCOMM_ALLOCATION_FAILED를 반환합니다. 엔드포인트가 오염(poisoned) 상태이거나 패닉(panic)을 격리했으면 #PDCOMM_POISONED를 반환합니다.
참고
- 호출이 반환된 뒤에는 어떤 입력 포인터나 항목도 보관하지 않습니다.