cniCreateNodeContext

노드 오브젝트의 인스턴스에 대한 컨텍스트를 작성합니다. 노드 오브젝트의 인스턴스가 구성될 때마다 메시지 브로커에 의해 호출됩니다. 브로커가 메시지 플로우를 전개할 때나 실행 그룹이 시작될 때 노드가 구성됩니다.

이때 노드의 역할은 다음과 같습니다.
  1. (선택사항) nodeName 매개변수에 지정된 노드 이름을 팩토리에서 지원하는지 확인합니다.
  2. 필요할 수 있는 모든 노드 인스턴스별 데이터 영역을 할당합니다(예: 컨텍스트, 속성 데이터, 터미널).
  3. 노드의 처리를 위해 필요할 수 있는 모든 추가 자원 취득 또는 초기화를 수행합니다.
  4. 컨텍스트의 주소를 호출 함수로 돌려보냅니다. 이 노드 인스턴스의 구현 함수가 호출될 때마다 해당 함수의 인수로서 적절한 컨텍스트가 전달됩니다. 즉, C로 개발된 사용자 정의 노드는 인스턴스별 데이터 영역에 자체 static 포인터를 유지할 필요가 없습니다.
정의 대상 유형 구성원
CNI_VFT 필수 iFpCreateNodeContext

구문

CciContext* cniCreateNodeContext(
    CciFactory* factoryObject,
    CciChar*    nodeName,
    CciNode*    nodeObject);

매개변수

factoryObject
작성 중인 노드를 소유하는 팩토리 오브젝트의 주소(입력)
nodeName
작성 중인 노드의 이름(입력)
nodeObject
방금 작성된 노드 오브젝트의 주소(입력)

리턴 값

함수가 정상적으로 실행되면, 노드 컨텍스트가 리턴됩니다. 정상적으로 실행되지 않으면 0 값(CCI_NULL_ADDR)이 리턴됩니다.

    static char* functionName = (char *)"_Switch_createNodeContext()";
    NODE_CONTEXT_ST* p;

    /* Allocate a pointer to the local context */
      p = (NODE_CONTEXT_ST *)malloc(sizeof(NODE_CONTEXT_ST));

    if (p) {

        /* Clear the context area */
         memset(p, 0, sizeof(NODE_CONTEXT_ST));

        /* Save our node object pointer in our context */
    p->nodeObject = nodeObject;

        /* Save our node name */
    CciCharNCpy((CciChar*) &p->nodeName, nodeName, MAX_NODE_NAME_LEN);
}
      else
	 /* Handle errors */
주의사항 | 등록상표 | 다운로드 | 라이브러리 | 지원 | 피드백
Copyright IBM Corporation 1999, 2006 마지막 갱신 날짜: 2006/08/21
as07430_