■ TimeSetEvent API 함수를 선언하는 방법을 보여준다.
▶ 예제 코드 (C#)
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 |
using System.Runtime.InteropServices; #region 타이머 이벤트 설정하기 - TimeSetEvent(delay, resolution, callback, userContext, eventType) /// <summary> /// 타이머 이벤트 설정하기 /// </summary> /// <param name="delay">지연 시간 (단위 : ms)</param> /// <param name="resolution">해상도 (단위 : ms)</param> /// <param name="callback">콜백 함수</param> /// <param name="userContext">사용자 컨텍스트</param> /// <param name="eventType">이벤트 타입</param> /// <returns>타이머 ID</returns> /// <remarks> /// eventType : 0(1회성 이벤트), 1(정기 이벤트) /// </remarks> [DllImport("winmm", SetLastError = true, EntryPoint = "timeSetEvent")] private static extern uint TimeSetEvent(uint delay, uint resolution, MultimediaTimerDelegate callback, ref uint userContext, uint eventType); #endregion /// <summary> /// 멀티미디어 타이머 대리자 /// </summary> /// <param name="id">ID</param> /// <param name="message">메시지</param> /// <param name="userContext">사용자 컨텍스트</param> /// <param name="reserved1">예약 1</param> /// <param name="reserved2">예약 2</param> public delegate void MultimediaTimerDelegate(uint id, uint message, ref uint userContext, uint reserved1, uint reserved2); |