pdcomm_gem_formatted_program_verification_retry_verification
함수
허가 뒤 자동 송신에 실패한 S7F27 보고서를 다시 보냅니다.
PdcommStatus pdcomm_gem_formatted_program_verification_retry_verification(PdcommTcpEndpoint *endpoint, PdcommGemResult *result, PdcommTcpToken *out_token)허가 결과(결과 종류 #PDCOMM_GEM_FAILED, 결과 유형 #PDCOMM_GEM_FORMATTED_PROGRAM_VERIFICATION_NEGOTIATION_GRANT_RECEIVED) 또는 같은 협상의 다른 장비 측 결과와 함께 사용합니다. S7F28 확인 응답은 나중에 결과 유형이 #PDCOMM_GEM_FORMATTED_PROGRAM_VERIFICATION_NEGOTIATION_ACK_RECEIVED인 결과를 만듭니다.
매개변수
| 이름 | 설명 |
|---|---|
endpoint | Communicating 상태인 GEM 장비 엔드포인트입니다. |
result | 허가된 협상의 장비 측 결과입니다. |
out_token | S7F27 트랜잭션 토큰을 받습니다. NULL이 아니면 항상 먼저 0으로 초기화되므로, 실패하면 항상 0입니다. |
반환값
보고서를 큐에 넣었으면 #PDCOMM_OK를 반환합니다. 포인터가 NULL이면 #PDCOMM_INVALID_ARGUMENT를 반환합니다. 엔드포인트가 Communicating 상태의 GEM 장비가 아니거나, 서비스가 구성되지 않았거나, result가 협상 결과가 아니면 #PDCOMM_INVALID_STATE를 반환합니다. result가 이 엔드포인트와 세션의 장비 측 레코드가 아니거나 협상이 이미 끝났으면 #PDCOMM_STALE_TOKEN을 반환합니다. 협상이 허가되지 않았거나 보고서를 이미 보냈을 때도 #PDCOMM_INVALID_STATE를 반환합니다. 엔드포인트에 준비된 TCP 이벤트(staged event)가 있거나, GEM 요청 슬롯 32개가 모두 사용 중이거나, 송신 큐가 가득 차면 #PDCOMM_BACKPRESSURE를 반환합니다. 그 밖에 #PDCOMM_IO_ERROR 같은 TCP 상태 코드와 #PDCOMM_POISONED를 반환합니다.