IT/MIL

[함수] MdigHookFunction 알아보기

SON JO 2025. 1. 24. 12:57

 1.  MdigHookFunction

사용자 정의 함수를 디지타이저 이벤트에 연결, 해제하는 데 사용되는 함수입니다. 예를 들어, 이미지 캡처의 시작이나 끝, 노출 시작 및 끝 등의 이벤트에 후크를 걸어 특정 작업을 수행할 수 있습니다. 이러한 후크 핸들러는 별도의 스레드에서 실행되므로, 이벤트가 발생할 때마다 지정된 작업을 비동기적으로 처리할 수 있습니다.


 2.  구조

void MdigHookFunction(
    MIL_ID DigId,			      //in
    MIL_INT HookType,			      //in
    MIL_DIG_HOOK_FUNCTION_PTR HookHandlerPtr, //in
    void *UserDataPtr			      //in-out
)

 3.  매개 변수

💡각 매개 변수에 대한 자세한 정보는 MIL Help 문서를 참조하세요.

설명
DigiId 사용할 디지타이저의 ID를 지정하세요.
HookType 연결할 디지타이저 이벤트를 지정하세요.
HookHandlerPtr 연결할 사용자 정의 함수를 지정하세요.
*UserDataPtr 함수에 입력할 매개변수 주소 또는 값을 출력 받을 변수 주소를 지정하세요.

 4.  예제 코드

#include <mil.h>

void MDH_Function(MIL_INT HookType, MIL_ID EventId, void* UserData) {
    printf("Image grab completed\n");
}

int MosMain(void) {
    MIL_ID MilApplication,
           MilSystem,
           MilDisplay,
           MilDigitizer,
           MilImage;

    MappAllocDefault(M_DEFAULT,
                     &MilApplication,
                     &MilSystem,
                     &MilDisplay,
                     &MilDigitizer,
                     &MilImage);

    MdigHookFunction(MilDigitizer, M_EVENT_GRABEND, MDH_Function, M_NULL);

    MdigGrabContinuous(MilDigitizer, MilImage);

    MosGetch();

    MappFreeDefault(MilApplication,
                    MilSystem,
                    MilDisplay,
                    MilDigitizer,
                    MilImage);

    return 0;
}