■ StartDocPrinter 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 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 |
using System; using System.Runtime.InteropServices; #region 프린터 문서 인쇄 시작하기 - StartDocPrinter(printerHandle, level, documentInformation) /// <summary> /// 프린터 문서 인쇄 시작하기 /// </summary> /// <param name="printerHandle">프린터 핸들</param> /// <param name="level">레벨</param> /// <param name="documentInformation">문서 정보</param> /// <returns>처리 결과</returns> [ DllImport ( "winspool", EntryPoint = "StartDocPrinterA", SetLastError = true, CharSet = CharSet.Ansi, ExactSpelling = true, CallingConvention = CallingConvention.StdCall ) ] private static extern bool StartDocPrinter(IntPtr printerHandle, int level, [In, MarshalAs(UnmanagedType.LPStruct)] DOCINFOA documentInformation); #endregion /// <summary> /// 문서 정보 A /// </summary> [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi)] public class DOCINFOA { //////////////////////////////////////////////////////////////////////////////////////////////////// Field ////////////////////////////////////////////////////////////////////////////////////////// Public #region Field /// <summary> /// 문서명 /// </summary> [MarshalAs(UnmanagedType.LPStr)] public string DocumentName; /// <summary> /// 출력 파일 /// </summary> [MarshalAs(UnmanagedType.LPStr)] public string OutputFile; /// <summary> /// 데이터 타입 /// </summary> [MarshalAs(UnmanagedType.LPStr)] public string DataType; #endregion } |