1.1.1. COMI_LoadDevice


SYNOPSYS

HANDLE COMI_LoadDevice (COMIDAS_DEVID deviceID, ULONG instance)

DESCRIPTION

  • 이 함수는 하나의 COMIDAS 디바이스를 로드 합니다. 각 디바이스를 제어하기 위해서는 먼저 이 함수를 이용하여 해당 디바이스에 대한 핸들을 얻어와야 합니다.

PARAMETER

▶ DeviceId: 각 디바이스의 고유한 아이디 값입니다. 이 값은 각 디바이스 명칭과 동일하기 적어주면 됩니다.

▶ Instance: 동일 deviceID 를 가진 여러 개의 디바이스를 구분하기 위한 값입니다.

RETURN VALUE

  • 이 함수는 디바이스 핸들을 반환합니다. 이 값은 디바이스를 제어하는 각 함수의 첫번째 파라미터로 사용됩니다. 만일 이 값이 INVALID_HANDLE_VALUE 이면 디바이스 로딩이 실패한 것입니다.

Remarks

  • 이 함수는 제어하고자 하는 디바이스 수만큼 수행되어야 합니다.

EXAMPLE

  • 디바이스/시작 종료 함수 사용 예 1

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
/**********************************************************************************
/* [COMIDAS sample program by COMIZOA Inc., Ltd]
/*
/* - Subject : Library & Device loading / unloading
/* - Contents : 이 프로그램은 COMI-CP101 보드 하나를 사용할 때 시작과 종료 시 필요한
/*              절차를 보여주는 예제 입니다.
/**********************************************************************************/

#include <windows.h>
#include <stdio.h>
#include <conio.h>
#include "Comidas.h"

void main (void)
{
 HANDLE hDevice;

 //----------프로그램 시작 시 수행해야 할 패턴----------//
 if(!COMI_LoadDll){
   printf("Comidas.dll load failure");
   exit(0);
 }

 hDevice = COMI_LoadDevice (COMI_CP101, 0);
 if(hDevice == INVALID_HANDLE_VALUE){
   printf("Can't load specified device!");
   COMI_UnloadDll();
   exit(0);
 }
 //----------------------------------------//

 //필요한 디바이스 제어 루틴을 구현한다. //

 //------프로그램 종료 시 수행해야 할 루틴------//
 COMI_UnloadDevice(hDevice);
 COMI_UnloadDll();
 //----------------------------------------//
}

EXAMPLE 1

  • 디바이스 시작/종료 함수 사용예 2

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
/*********************************************************
/* [COMIDAS sample program by COMIZOA Inc., Ltd]
/*
/* - Subject  : Device loading/unloading
/* - COntents : 이 프로그램은 COMI-CP101 보드 2개와 COMI-CP301 보드 하나를 사용할 때
/*              시작과 종료시 필요한 절차를 보여주는 예제 입니다.
/*********************************************************/

#include <windows.h>
#include <stdio.h>
#include <conio.h>
#include "Comidas.C"

void main(void)
{
   HANDLE hDevice[3];

   //------프로그램 시작시 수행해야할 루틴------//
   if(!COMI_LoadDll()){
     printf("Comidas.dll load failure");
     exit(0);
   }

   hDevice[0] = COMI_LoadDevice(COMI_CP101, 0);
   hDevice[1] = COMI_LoadDevice(COMI_CP101, 1);
   hDevice[2] = COMI_LoadDevice(COMI_CP301, 0);
   //여기에서 Loading 에러처리를 해야하나 생략한다//
   //---------------------------------------//

   //필요한 디바이스 제어 루틴을 구현한다//

   //------프로그램 종료시 수행해야할 루틴-------//
   COMI_UnloadDevice(hDevice[0]);
   COMI_UnloadDevice(hDevice[1]);
   COMI_UnloadDevice(hDevice[2]);
   COMI_UnloadDll();
   //----------------------------------------//
}