有关参数类型
C语言不是很好,以下是调用WIN API中一个函数GETPRINTER
.....
HANDLE hPrinter=0;
unsigned long m_count=0;
PRINTER_INFO_2 P_INFO2;
.....
以下语句出错
GetPrinter(hPrinter,2,(LPBYTE)&P_INFO2,sizeof(P_INFO2),&m_count)
出错信息为:传给系统调用的数据区域太小
不知道是哪个参数有问题.我猜想是第3个,请指教,谢谢!
以下GETPRINTER的帮助
--------------------------------------------------------------------------
The GetPrinter function retrieves information about a specified printer.
BOOL GetPrinter(
HANDLE hPrinter, // handle to printer of interest
DWORD Level, // version of printer info data structure
LPBYTE pPrinter, // pointer to array of bytes that receives printer info. structure
DWORD cbBuf, // size, in bytes, of array of bytes
LPDWORD pcbNeeded // pointer to variable with count of bytes retrieved (or required)
);
Parameters
hPrinter
Handle to the printer of interest.
Level
Specifies the level, or type, of PRINTER_INFO_* structure that the function stores into the buffer pointed to by pPrinter.
Windows 95: This value can be 1, 2, or 5.
Windows NT: This value can be 1, 2, 3, 4, or 5.
pPrinter
Pointer to a buffer that receives a PRINTER_INFO_* structure. This structure contains information about the specified printer. The type of structure is determined by the value of Level.
Windows 95: The buffer can receive a PRINTER_INFO_1, PRINTER_INFO_2, PRINTER_INFO_5 structure.
Windows NT: The buffer can receive a PRINTER_INFO_1, PRINTER_INFO_2, PRINTER_INFO_3, PRINTER_INFO_4, or PRINTER_INFO_5 structure.
cbBuf
Specifies the size, in bytes, of the buffer pointed to by pPrinter.
pcbNeeded
Pointer to a variable that the function sets to the size in bytes of the printer information. If cbBuf is smaller than this value, GetPrinter fails, and the value represents the required buffer size. If cbBuf is equal to or greater than this value, GetPrinter succeeds, and the value represents the number of bytes stored into the buffer.
Return Values
If the function succeeds, the return value is nonzero.
If the function fails, the return value is zero. To get extended error information, call
GetLastError.
_---------------------------------------------------------------------------------------