다음을 통해 공유


COMTIContext를 사용하는 사용자 지정 TRM 및 ELM

TI(트랜잭션 통합자) 개발자는 클라이언트 프로그램에서 CICS 시스템으로 사용자 지정 형식의 TRM(트랜잭션 요청 메시지) 또는 ELM(고급 수신기 메시지)을 전달하고 사용자 지정 형식의 TRM 또는 ELM을 받을 수 있습니다.

사용자 지정 TRM 또는 ELM은 컨텍스트 데이터를 통해 전달됩니다. 컨텍스트 데이터는 클라이언트 애플리케이션 코드에 정의된 선택적 COMTIContext 매개 변수에 포함되며 메서드 호출의 최종 매개 변수여야 합니다. 호스트를 대상으로 하는 TRM은 COM 모델의 UDT(사용자 정의 형식) 또는 .NET Framework 모델의 구조체로 정의되어야 합니다. UDT의 이름은 TRMIN 문자로 시작해야 합니다. 호스트의 TRM 회신도 UDT로 정의해야 합니다. UDT의 이름은 TRMOUT 문자로 시작해야 합니다. 유효한 TRM 이름의 예로는 TRMINMyVeryOwn, TRMINStandard, TRMOUTMyVeryOwn 및 TRMOUTStandard가 있습니다.

형식 라이브러리 또는 구조체에는 여러 TRM 정의가 포함될 수 있지만 COMTIContext 매개 변수의 각 방향(즉, TRMIN 1개 및 TRMOUT 1개)에 대해 하나의 TRM만 단일 메서드 호출에 포함해야 합니다. 예를 들어 Visual Basic에서 각 COMTIContext 배열은 변형의 단일 차원 동적 배열로 선언됩니다(즉, 발생 횟수가 지정되지 않음).

동일한 방향으로 여러 TRM을 정의하는 경우 TI 런타임은 컨텍스트 배열에서 발생하는 첫 번째 TRM만 사용합니다. (경우에 따라 처음 발생한 TRM이 컨텍스트 배열에 추가한 첫 번째 TRM이 아닐 수도 있습니다.) TI 런타임은 사용 중인 TRM이 제거될 때까지 배열의 나머지 TRM을 무시합니다. TI 런타임이 올바른 TRM을 사용하도록 하려면 컨텍스트 배열에 동일한 방향을 위한 여러 TRM을 추가하지 마세요.

참고

컨텍스트 배열을 조작하는 클라이언트 애플리케이션은 런타임에 적절한 파일에 액세스할 수 있어야 합니다. Visual Basic6.0을 사용하는 경우 애플리케이션은 COMTIContext.dll 액세스할 수 있어야 합니다. Visual Basic .NET을 사용하는 경우 애플리케이션은 Microsoft.HostIntegration.TI.ClientContext.dll 액세스할 수 있어야 합니다.

참고

Visual Basic .NET을 사용하는 경우 사용자 지정 TRM으로 사용되는 데이터 구조는 어셈블리 내의 매개 변수에 연결되어야 합니다. 따라서 어셈블리 내에 더미 메서드, 메서드에 할당된 매개 변수 및 TRM으로 사용할 데이터 구조를 만들어야 합니다. 이렇게 하지 않으면 Visual Basic .NET 애플리케이션 내에서 구조를 참조할 수 없습니다. Visual Basic 6.0에서는 메서드와 연결되지 않은 UDT 참조를 허용했기 때문에 Visual Basic 6.0에서는 UDT를 메서드에 연결할 필요가 없었습니다.

참고 항목

트랜잭션 요청 메시지
사용자 지정 TRM을 전달하는 방법