# GetProcProgramFile

### int GetProcProgramFile(int lMsgId, ref string psPPID, ref string psFilePath, ref ulong plFileSize)

호스트로부터 수신된 레시피 다운로드 요청(S7F3) 메시지에서 실제 레시피 파일의 정보를 가져옵니다.\
EZGemPlus 라이브러리는 수신된 레시피 데이터를 파일 형태로 로컬에 저장하는데, 개발자는 이 함수를 통해 해당 파일이 어디에 어떤 이름으로 저장되었는지 확인하여 실제 장비의 공정 파라미터로 적용할 수 있습니다.

Parameters

<table data-header-hidden><thead><tr><th width="162"></th><th width="153"></th><th></th></tr></thead><tbody><tr><td><strong>Name</strong></td><td><strong>Type</strong></td><td><strong>Description</strong></td></tr><tr><td>lMsgId</td><td>int</td><td>수신된 S7F3 메시지의 고유 ID</td></tr><tr><td>psPPID</td><td>ref string</td><td>(Output) 레시피 식별자 (Process Program ID)</td></tr><tr><td>psFilePath</td><td>ref string</td><td>(Output) 레시피 데이터가 저장된 물리적 파일 경로</td></tr><tr><td>plFileSize</td><td>ref ulong</td><td>(Output) 레시피 파일의 크기 (Bytes)</td></tr></tbody></table>

<pre class="language-csharp"><code class="lang-csharp">// 이벤트 핸들러 내부에 이벤트번호 703으로 들어옵니다.
 private void OnEventReceived(IntPtr lpParam, short nEventId, int lParam)                
 {
    case 703:              //S7F3
        HostSentPPBody(lParam);
        break;
 }
    
    
    
public void HostSentPPBody(int lMsgId)
{
    int nCount = 0, nRet = 0, ACK = 0;
    ulong nFileSize = 0;
<strong>    string sPPID = "", sFilePath = "";
</strong>    string[] arrPPID = { };
    // 필요한 정보를 읽어옴. PPID, 파일크기, 임시로 저장된 경로
    nRet = m_gem.GetProcProgramFile(lMsgId, ref sPPID, ref sFilePath, ref nFileSize);
    // 응답을 내보냄
    // NACK처리할때는 ACK값을 0보다 큰값. (CODE는 스펙참고)
    ACK = 1;
    nRet = m_gem.ReplyProcProgram(lMsgId, ACK, "");    
}
</code></pre>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://nviasoft.gitbook.io/nviasoft-docs/api-reference/undefined-3/getprocprogramfile.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
