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

pdcomm_gem_formatted_program_select

함수

PPID로 저장된 프로그램을 선택하고 선택 토큰을 반환합니다.

PdcommStatus pdcomm_gem_formatted_program_select(PdcommTcpEndpoint *endpoint, const PdcommSecsItem *id, PdcommGemFormattedProgramSelectionToken *output)

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

프로그램은 저장소에서 복사됩니다. 같은 세션에서 바뀌지 않은 같은 엔트리를 다시 선택하면 새 선택을 만들지 않고 기존 토큰을 반환합니다. 그 밖의 선택은 이전 선택을 대체합니다.

매개변수

이름설명
endpoint정형 프로그램 조회 서비스가 구성된 장비 엔드포인트입니다.
id저장된 프로그램의 PPID 항목(ASCII 또는 Binary)입니다.
output토큰 저장 공간입니다. 먼저 struct_size, version, reserved를 설정합니다. 헤더가 받아들여지면 토큰을 0으로 초기화하므로, 이후 실패해도 0인 상태로 남습니다.

반환값

성공하면 #PDCOMM_OK를 반환합니다. endpoint, id 또는 output이 NULL이거나, 토큰 헤더가 유효하지 않거나, id가 ASCII 또는 Binary 항목이 아니면 #PDCOMM_INVALID_ARGUMENT를 반환합니다. 엔드포인트가 장비가 아니거나, 조회 서비스가 구성되지 않았거나, 저장소에 이 PPID의 프로그램이 없으면 #PDCOMM_INVALID_STATE를 반환합니다. 프로그램의 인코딩 크기가 엔드포인트의 SECS-II message_bytes 한도를 넘거나 선택 리비전이 소진되면 #PDCOMM_LIMIT_EXCEEDED를 반환합니다. 준비된 TCP 이벤트(staged event)를 먼저 비워야 하면 #PDCOMM_BACKPRESSURE를 반환합니다. #PDCOMM_ALLOCATION_FAILED를 반환할 수도 있습니다. 엔드포인트가 오염(poisoned) 상태이면 #PDCOMM_POISONED를 반환합니다.

참고

  • 스레드 안전성: endpoint에 대한 다른 모든 호출과 직렬화합니다.