sepdcrec
sepdcrec 함수는 구성 정보를 가져옵니다. 애플리케이션은 이 함수를 호출하여 사용자가 네트워크 운영 체제에 로그온한 이름의 3270 구성 정보를 가져옵니다. 호출은 서비스 테이블에 이 사용자 이름도 등록합니다.
구문
USHORT sepdcrec(
UCHAR *pBuffer,
USHORT length,
USHORT *numbytes
);
매개 변수
pBuffer
구성 정보가 반환되는 애플리케이션에서 제공하는 버퍼에 대한 포인터입니다.
length
제공된 버퍼의 크기입니다.
마비(numbytes)
호스트 통합 서버에서 버퍼에 반환된 정보의 바이트 수를 반환하는 데 사용됩니다.
반환 값
NO_ERROR(0)
OK.
NOCSSRVR(1)
사용할 수 있는 구성 파일 서버가 없습니다.
NODGNREC(2)
구성 파일에 진단 레코드가 없습니다.
NOUSRREC(3)
이 사용자의 구성 파일에서 사용자 레코드를 찾을 수 없습니다.
BUF2SMAL (4)
제공된 버퍼가 너무 작습니다.
NONOS(5)
네트워크 운영 체제가 시작되지 않았습니다.
NOTLOGON (6)
사용자가 네트워크 운영 체제에 로그온하지 않았습니다.
READERR(7)
구성 파일에서 읽지 못했습니다.
NONAP(8)
NAP(네트워크 액세스 프로그램)가 시작되지 않았습니다.
MAXAPP(9)
Windows 전용: 최대 동시 애플리케이션 수를 초과했습니다.
ERROR_SERVER (14)
RPC(원격 프로시저 호출)의 서버 끝에 오류가 발생했습니다.
ERROR_LOCAL_FAILURE (15)
RPC의 로컬 끝에 오류가 발생했습니다.
설명
sbpuinit 함수는 SNAGetVersion을 제외한 다른 DL-BASE 또는 DMOD(동적 액세스 모듈) 진입점 앞에 항상 호출되어야 합니다. 새 에뮬레이터의 경우 sbpuinit 후에 sepdcrec을 호출해야 합니다. (이전 에뮬레이터에서 사용되는 호출 순서로 인해 sbpuinit 전에 sepdcrec에 대한 호출이 계속 지원되지만 이 순서는 권장되지 않습니다.)
성공적으로 반환되면 버퍼에는 적절한 3270 사용자 레코드 및 진단 레코드에 대한 포인터와 레코드 자체에 대한 포인터가 포함됩니다. 다음과 같이 형식이 지정됩니다.
TECWRKUS *pUserRecord,
TEDIAGNS *pDiagRecord
);
(UserRecord- 가변 길이)
(DiagRecord)
제공된 포인터를 사용하여 두 레코드에 액세스해야 합니다.
이러한 레코드의 형식 및 애플리케이션에서 구성 파일 정보를 사용하는 방법에 대한 자세한 내용은 구성 정보를 참조하세요.
구성 파일에 이 사용자에 대한 3270 사용자 레코드가 없거나 구성 파일에 진단 레코드가 없는 경우(내부 오류) 애플리케이션이 종료되고 사용자가 3270 에뮬레이션을 사용할 수 없도록 해야 합니다. 호스트 통합 서버 오류 로그 메시지 COM0438 및 COM0437 사용하여 이러한 오류를 보고할 수 있습니다.
제공된 버퍼가 반환된 정보에 대해 너무 작으면 버퍼의 내용은 정의되지 않으며 검사해서는 안 되지만 , numbytes 매개 변수에는 사용 가능한 정보의 총 바이트 수(즉, 두 포인터의 크기와 두 개의 구성 레코드)가 포함됩니다. 애플리케이션은 적어도 이 크기의 버퍼를 사용하여 다시 시도해야 합니다.