로그인 Category

## Method YOA_Login

- Implemented Module:
  YuantaAPI.dll, YuantaCOM.dll

  유안타증권 계정으로 공인인증 로그인을 하는 메소드입니다.

- - ### 메소드 원형

    DLL Method COM Method
    Type | Method
    --- | ---
    long | YOA_Login ( HWND hWnd, LPCTSTR szUserID, LPCTSTR szUserPWD, LPCTSTR szCertPWD )
    LONG | YOA_Login ( BSTR szUserID, BSTR szUserPWD, BSTR szCertPWD )

  - ### 매개변수

    - ### hWnd [DLL]

      `로그인 결과 메시지를 받을 Windows Handle 입니다.`
      - 비동기적인 로그인 결과를 받아서 처리할 윈도우의 핸들입니다.

    - ### szUserID [DLL/COM]

      `유안타증권 계정 ID 입니다.`
      - 최소길이는 4자리 입니다.

    - ### szUserPWD [DLL/COM]

      `유안타증권 계정 비밀번호 입니다.`
      - 최소길이는 4자리 입니다.

    - ### szCertPWD [DLL/COM]

      `공인인증서 비밀번호 입니다.`
      - 최소길이는 8자리 입니다.

  - ### 반환값

    DLL Return COM Return
    Type | Description
    --- | ---
    long | 성공 시, 1000(RESULT_SUCCESS)이 반환됩니다. 실패 시, 해당 오류코드가 반환됩니다. YOA_GetErrorMessage를 통해 오류 내용을 문자열로 확인할 수 있습니다.
    LONG | 성공 시, 1000(RESULT_SUCCESS)이 반환됩니다. 실패 시, 해당 오류코드가 반환됩니다. YOA_GetErrorMessage를 통해 오류 내용을 문자열로 확인할 수 있습니다.

  - ### 예시

    DLL Return COM Return
    제공하는 샘플소스에서 발췌한 예시입니다.
        long nResult = g_iYuantaAPI.YOA_Login( GetSafeHwnd(), m_strLoginID, m_strLoginPwd, m_strCertPwd );
        if ( RESULT_SUCCESS == nResult )
        {
            LogMessage( _T("로그인 요청이 되었습니다.") );
        }
        else
        {
            LogMessage( _T("로그인 요청이 실패하였습니다."), 1 );
            TCHAR msg[2048] = {0,};

            g_iYuantaAPI.YOA_GetErrorMessage( nResult, msg, sizeof(msg) );
            LogMessage( msg, 1, FALSE );
        }
        int nResult = m_iYuantaAPI.YOA_Login(txtUserID.Text, txtUserPW.Text, txtCertPW.Text);
        if (CommDef.RESPONSE_LOGIN_SUCCESS == nResult)
        {
            LogMessage("로그인이 완료되었습니다.");
        }
        else
        {
            LogMessage("로그인이 실패하였습니다.", CommDef.YOALOG_ERROR);

            if (CommDef.ERROR_TIMEOUT_DATA == nResult)
            {
                LogMessage("서버로부터 로그인 응답이 없습니다. 다시 시도하여 주십시오.", CommDef.YOALOG_ERROR, false);
            }
            else
            {
                LogMessage(m_iYuantaAPI.YOA_GetErrorMessage(nResult), CommDef.YOALOG_ERROR, false);
            }
        }

  COPYRIGHT @ Yuanta Securities Korea Co., Ltd. ALL RIGHT RESERVED.