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

pdcomm_gem_formatted_program_dry_run

함수

선택한 정형 프로그램(formatted program)을 기능(capability) 카탈로그에 비추어 분석합니다.

PdcommStatus pdcomm_gem_formatted_program_dry_run(PdcommTcpEndpoint *endpoint, const PdcommGemFormattedProgramSelectionToken *token, const PdcommGemFormattedProgramDryRunOptions *options, PdcommGemFormattedProgramDryRunReportHandle **out_report)

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

장비 전용입니다. 선택은 최신이어야 합니다. 즉 토큰이 엔드포인트의 선택과 일치하고, 선택한 저장소 엔트리가 바뀌지 않았어야 합니다. 기능이 구성되지 않았거나 카탈로그가 설치되지 않았으면 보고서에 #PDCOMM_GEM_FORMATTED_PROGRAM_DRY_RUN_CAPABILITY_MISSING 문제가 들어갑니다. 이때 보고서의 capability_revision은 현재 카탈로그 리비전이며, 기능이 구성되지 않았으면 0입니다. 연결은 필요하지 않습니다.

매개변수

이름설명
endpoint정형 프로그램 조회가 구성되고 프로그램이 선택된 장비 엔드포인트입니다.
tokenpdcomm_gem_formatted_program_select()가 반환한 선택 토큰입니다.
options시험 실행 옵션입니다.
out_report새 보고서를 받습니다. endpoint가 유효하고 오염(poisoned) 상태가 아니면 다른 어떤 검사보다 먼저 NULL로 설정되므로, 이후 실패하면 항상 NULL입니다.

반환값

성공하면 보고서 결과와 관계없이 #PDCOMM_OK를 반환합니다. 포인터가 NULL이거나, 구조체 크기, 버전, 예약 필드가 유효하지 않거나, 정책 버전을 지원하지 않으면 #PDCOMM_INVALID_ARGUMENT를 반환합니다. 선택된 것이 없거나, 선택이 지워지거나 교체되었거나, 토큰이 다른 엔드포인트나 세션에 속하거나, 선택한 저장소 엔트리가 바뀌었으면 #PDCOMM_STALE_TOKEN을 반환합니다. 엔드포인트가 GEM 장비가 아니거나 정형 프로그램 조회가 구성되지 않았으면 #PDCOMM_INVALID_STATE를 반환합니다. 프로그램이 max_program_encoded_bytes를 넘거나, 문제가 max_issues를 넘거나, 선택 한도를 넘으면 #PDCOMM_LIMIT_EXCEEDED를 반환합니다. 엔드포인트에 준비된 TCP 이벤트(staged event)가 있으면 #PDCOMM_BACKPRESSURE를 반환합니다. 그 밖에 #PDCOMM_ALLOCATION_FAILED, #PDCOMM_POISONED를 반환합니다.

참고

  • 소유권: pdcomm_gem_formatted_program_dry_run_destroy()로 보고서를 해제합니다.