怎么使用API函数EnumJobs?
我的一段程序如下
//声明win32 api打开打印机 获得打印机句柄
[DllImport("winspool.drv", CharSet=CharSet.Auto)]
public static extern bool OpenPrinter( string pPrinterName, out IntPtr
phPrinter, IntPtr pDefault );
//声明win32 api关闭打印机 获得打印机句柄
[DllImport("winspool.drv",CharSet=CharSet.Auto)]
static extern bool ClosePrinter(IntPtr ptrPrinter);
[DllImport("Winspool.drv", SetLastError=true, EntryPoint="EnumJobsA")]
public static extern bool EnumJobs(
IntPtr hPrinter,
UInt32 FirstJob,
UInt32 NoJobs,
UInt32 Level,
IntPtr pJob,
UInt32 cbBuf,
out UInt32 pcbNeeded,
out UInt32 pcReturned
);
private void button1_Click(object sender, System.EventArgs e)
{
UInt32 dwNeeded, dwReturned;
PrintDocument prtdoc = new PrintDocument();
string strPrnName = prtdoc.PrinterSettings.PrinterName;
IntPtr prnHandle,ppp;
if(OpenPrinter(strPrnName,out prnHandle,IntPtr.Zero))
{
EnumJobs(prnHandle,0,0,1,ppp,1000,dwNeeded,dwReturned);//这里应该怎么写?
MessageBox.Show(dwReturned.ToString());
}
}
EnumJobs的参数应该怎么写?有没有实例参考一下啊