@msdn=http://search.microsoft.com/search/results.aspx?qu=$$$ @pinvoke=http://pinvoke.net/$$$.htm Summary: Enumerates the PrintProcessors on a specified server !!!!C# Signature: [DllImport("winspool.drv", CharSet = CharSet.Auto, SetLastError = true)] private static extern bool EnumPrintProcessors(string pName,string pEnvironment,UInt32 Level,IntPtr pPrintProcessorInfo,UInt32 cbBuf, ref UInt32 cbNeeded, ref UInt32 cReturned); !!!!VB Signature: Declare Function EnumPrintProcessors Lib "winspool.drv" (TODO) As TODO !!!!User-Defined Types: [PRINTPROCESSOR_INFO_1] !!!!Notes: None. !!!!Sample Code: uint cbNeeded = 0; uint cReturned = 0; if (EnumPrintProcessors("","",1,IntPtr.Zero, 0, ref cbNeeded, ref cReturned)) { return null; } int lastWin32Error = Marshal.GetLastWin32Error(); if (lastWin32Error == ERROR_INSUFFICIENT_BUFFER) { IntPtr pAddr = Marshal.AllocHGlobal((int)cbNeeded); if (EnumPrintProcessors("", "", 1, pAddr, cbNeeded , ref cbNeeded, ref cReturned)) { PRINTPROCESSOR_INFO_1[] printprocessorInfo1 = new PRINTPROCESSOR_INFO_1[cReturned]; int offset = pAddr.ToInt32(); Type type = typeof(PRINTPROCESSOR_INFO_1); int increment = Marshal.SizeOf(type); for (int i = 0; i < cReturned; i++) { printprocessorInfo1[i] = (PRINTPROCESSOR_INFO_1)Marshal.PtrToStructure(new IntPtr(offset), type); offset += increment; } Marshal.FreeHGlobal(pAddr); return printprocessorInfo1; } lastWin32Error = Marshal.GetLastWin32Error(); } Documentation: EnumPrintProcessors@msdn on MSDN
Edit winspool.EnumPrin...
You do not have permission to change this page. If you feel this is in error, please send feedback with the contact link on the main page.