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

pdcomm_gem_formatted_program_execution_complete

함수

실행에 대한 애플리케이션의 종료 보고를 기록합니다.

PdcommStatus pdcomm_gem_formatted_program_execution_complete(PdcommTcpEndpoint *endpoint, const PdcommGemFormattedProgramExecutionToken *execution_token, uint64_t report_id, uint32_t outcome, const uint8_t *detail, size_t detail_length)

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

대기 중인 동작이 없는 RUNNING 상태에서 호출할 수 있습니다. #PDCOMM_GEM_FORMATTED_PROGRAM_EXECUTION_TERMINAL_COMPLETE는 추가로 모든 명령이 적용되었어야 합니다. 상태는 COMPLETED, FAILED, OUTCOME_UNKNOWN 중 하나가 됩니다. 동일한 보고를 반복하면 상태를 바꾸지 않고 성공합니다.

매개변수

이름설명
endpoint정형 프로그램 조회가 구성된 장비 엔드포인트입니다.
execution_token현재 실행의 토큰입니다.
report_id애플리케이션이 정의한 보고 식별자이며 그대로 저장됩니다.
outcome#PDCOMM_GEM_FORMATTED_PROGRAM_EXECUTION_TERMINAL_COMPLETE, #PDCOMM_GEM_FORMATTED_PROGRAM_EXECUTION_TERMINAL_FAIL, #PDCOMM_GEM_FORMATTED_PROGRAM_EXECUTION_TERMINAL_OUTCOME_UNKNOWN 중 하나입니다.
detail애플리케이션이 정의한 상세 바이트이며 복사됩니다. detail_length가 0이면 NULL일 수 있습니다.
detail_lengthdetail의 길이입니다. 최대 GEM SECS-II message_bytes 한도입니다.

반환값

성공하거나 동일한 내용을 반복하면 #PDCOMM_OK를 반환합니다. endpoint 또는 execution_token이 NULL이거나, 길이가 0이 아닌데 detail이 NULL이거나, 토큰의 크기, 버전, 예약 필드가 유효하지 않거나, outcome을 알 수 없으면 #PDCOMM_INVALID_ARGUMENT를 반환합니다. 토큰이 현재 실행을 가리키지 않거나 다른 보고가 이미 기록되었으면 #PDCOMM_STALE_TOKEN을 반환합니다. 실행 추적을 사용할 수 없거나, 상태가 RUNNING이 아니거나, 대기 중인 동작이 있거나, 모든 명령이 적용되기 전에 COMPLETE를 보고하면 #PDCOMM_INVALID_STATE를 반환합니다. detail이 너무 길면 #PDCOMM_LIMIT_EXCEEDED를 반환합니다. 엔드포인트에 준비된 TCP 이벤트(staged event)가 있으면 #PDCOMM_BACKPRESSURE를 반환합니다. 그 밖에 #PDCOMM_ALLOCATION_FAILED와 #PDCOMM_POISONED를 반환할 수 있습니다.