pdcomm_gem_formatted_program_selection_snapshot
함수
현재 선택 상태와, 선택된 프로그램이 있으면 그 프로그램을 새 스냅샷으로 복사합니다.
PdcommStatus pdcomm_gem_formatted_program_selection_snapshot(PdcommTcpEndpoint *endpoint, PdcommGemFormattedProgramSelectionSnapshot **out_snapshot)스냅샷은 호출 시점에 평가한 EMPTY, READY 또는 STALE을 보고합니다. STALE 스냅샷에도 선택할 때 확보한 프로그램이 들어 있습니다.
매개변수
| 이름 | 설명 |
|---|---|
endpoint | 정형 프로그램 조회 서비스가 구성된 장비 엔드포인트입니다. |
out_snapshot | 스냅샷을 받습니다. 먼저 NULL로 설정되므로, 유효한 엔드포인트에서는 실패하면 항상 NULL입니다. |
반환값
성공하면 #PDCOMM_OK를 반환합니다. endpoint 또는 out_snapshot이 NULL이면 #PDCOMM_INVALID_ARGUMENT를 반환합니다. 엔드포인트가 장비가 아니거나 조회 서비스가 구성되지 않았으면 #PDCOMM_INVALID_STATE를 반환합니다. 준비된 TCP 이벤트(staged event)를 먼저 비워야 하면 #PDCOMM_BACKPRESSURE를 반환합니다. 사본을 만들 수 없으면 #PDCOMM_ALLOCATION_FAILED 또는 #PDCOMM_LIMIT_EXCEEDED를 반환합니다. 엔드포인트가 오염(poisoned) 상태이면 #PDCOMM_POISONED를 반환합니다.
참고
- 소유권: pdcomm_gem_formatted_program_selection_snapshot_destroy()로 스냅샷을 해제합니다.
- 스레드 안전성:
endpoint에 대한 다른 모든 호출과 직렬화합니다.