IT/MIL

[함수] MdigInquireFeature 알아보기

SON JO 2025. 1. 24. 16:40

 1.  MdigInquireFeature

디지타이저의 특정 기능이나 속성을 조회하는 데 사용됩니다. 주로 디지털 입력 장치가 지원하는 기능, 설정 가능한 속성, 하드웨어 제약 사항 등을 확인할 때 유용하게 활용됩니다.


 2.  구조

void MdigInquireFeature(
    MIL_ID DigId,			//in
    MIL_INT64 InquireType,		//in
    MIL_CONST_TEXT_PTR FeatureName,	//in
    MIL_INT64 UserVarType,		//in
    void *UserVarPtr			//out
)

 3.  매개 변수

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

설명
DigiId 사용할 디지타이저의 ID를 지정하세요.
InquireType 조회할 유형을 지정하세요.
FeatureName 조회할 기능의 이름을 지정하세요.
UserVarType 출력값을 저장할 변수의 자료형을 지정하세요.
*UserVarPtr 출력값을 저장할 변수의 주소를 지정하세요.

 4.  예제 코드

/** PixelFormat, ExposureTime 출력 **/

#include <mil.h>

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

    MappAllocDefault(M_DEFAULT,
        	    &MilApplication,
        	    &MilSystem,
        	    M_NULL,
        	    &MilDigitizer,
        	    M_NULL);

    // PixelFormat 변수 선언 (문자열)
    MIL_TEXT_CHAR pixelFormatString[256] = { 0 };
    
    // ExposureTime 변수 선언 (실수형)
    MIL_DOUBLE exposureTime = 0.0;

    // 현재 Feature 값을 String으로 받기
    MdigInquireFeature(MilDigitizer,
        	       M_FEATURE_VALUE,
        	       MIL_TEXT("PixelFormat"),
        	       M_TYPE_STRING,
        	       pixelFormatString);
                   
    // 현재 Feature 값을 실수형(double)로 받기
    MdigInquireFeature(MilDigitizer,
        	       M_FEATURE_VALUE,
        	       MIL_TEXT("ExposureTime"),
        	       M_TYPE_DOUBLE,
        	       &exposureTime);
    
    // Feature 값 출력
    MosPrintf(MIL_TEXT("PixelFormat: %s\n"), pixelFormatString);
    MosPrintf(MIL_TEXT("ExposureTime: %.3f\n"), exposureTime);

    MosGetch();

    MappFreeDefault(MilApplication,
        MilSystem,
        M_NULL,
        MilDigitizer,
        M_NULL);

    return 0;
}