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

pdcomm_gem_equipment_configure_commands

함수

GEM 장비 엔드포인트의 원격 명령(remote command) 저장소를 설치합니다.

PdcommStatus pdcomm_gem_equipment_configure_commands(PdcommTcpEndpoint *endpoint, const PdcommGemCommandOptions *options, const PdcommGemCommandDefinition *definitions, size_t count)

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

모든 정의를 검증해 임시 저장소에 복사합니다. 임시 저장소는 모든 정의가 유효하고 모든 완료 CEID가 보고서 카탈로그에 있을 때만 설치됩니다. 저장소는 한 번만 구성할 수 있습니다.

매개변수

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

반환값

저장소를 설치하면 #PDCOMM_OK를 반환합니다. endpoint 또는 options가 NULL이거나, options->struct_size가 너무 작거나, version 또는 reserved가 잘못되었거나, max_commands가 0이거나, 배열 포인터 또는 이름 항목이 NULL이거나, 플래그가 0 또는 1이 아니거나, 이름 또는 형식이 유효하지 않거나, min_count가 max_count보다 크거나, 정수 형식 없이 범위를 설정했거나 minimum이 maximum보다 크거나, 명령 또는 매개변수 이름이 중복되거나, 완료 CEID가 보고서 카탈로그에 없으면 #PDCOMM_INVALID_ARGUMENT를 반환합니다. 개수, 매개변수 합계, 이름 길이가 한도를 넘으면 #PDCOMM_LIMIT_EXCEEDED를 반환합니다. 엔드포인트가 정지 상태가 아니거나, 준비된 TCP 이벤트(staged event)가 있거나, GEM 장비가 없거나, 이미 명령 저장소가 있으면 #PDCOMM_INVALID_STATE를 반환합니다. 메모리를 할당할 수 없으면 #PDCOMM_ALLOCATION_FAILED를 반환합니다. 엔드포인트가 오염(poisoned) 상태이거나 패닉(panic)을 격리했으면 #PDCOMM_POISONED를 반환합니다.

참고

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