⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 myaddport.h

📁 虚拟打印机
💻 H
字号:
/* * * myaddport.h *   Copyright (C) 2006 Michael H. Overlin   This program is free software; you can redistribute it and/or modify   it under the terms of the GNU General Public License as published by   the Free Software Foundation; either version 2 of the License, or   (at your option) any later version.   This program is distributed in the hope that it will be useful,   but WITHOUT ANY WARRANTY; without even the implied warranty of   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the   GNU General Public License for more details.   You should have received a copy of the GNU General Public License   along with this program; if not, write to the Free Software   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA      Contact at poster_printer@yahoo.com * */#ifndef MYADDPORT_H#define MYADDPORT_H#include <windows.h>// RETURN FALSE TO ABORTtypedef BOOL (*WaitProc)(void);// CALLER SHOULD MAKE CERTAIN THAT THE PORT DOES NOT ALREADY EXIST.// ANY DIALOGS THE OS MIGHT BRING UP TO ALERT THE USER TO A PROBLEM CAN ONLY BE TAKEN DOWN// IF THE USER CLICKS ON THEM OR THE dwMaxWaitMS CONDITION EXPIRES.// AFTER THE PORT NAME IS AUTO-ENTERED, THE WaitProc IF SPECIFIED IS NOT CALLED, SO ONLY THE// EXPIRATION OF dwMaxWaitMS CAN AUTO-TERMINATE THE DIALOG// A NEW THREAD IS CREATED TO EXECUTE AddPort AND THE PORT NAME IS AUTO-ENTERED AND "OK" AUTO-CLICKED// IF lptstrMonitorName ISN'T SPECIFIED, "Local Port" IS USED IN THE CALL TO AddPort// pfn IF SPECIFIED IS EXECUTED IN THE LOOP IN WHICH TIME SLICES OF dwNewThreadSliceMS MILLISECONDS ARE//	   GIVEN TO THE NEW THREAD.  IF IT RETURNS FALSE THE NEW THREAD IS KILLED AND THE OPERATION ABORTED// dwMaxWaitMS SPECIFIES THE MAXIMUM AMOUNT OF TIME ALLOWED FOR THE ROUTINE TO EXECUTE//		IF VALUE "INFINITE" IS GIVEN, THERE IS NO LIMIT//		IF THIS LIMIT IS EXCEEDED, THE THREAD IS TERMINATED AND THE ROUTINE RETURNS FALSE//		NOTE:	IF INFINITE IS USED, IF THERE IS AN ERROR THEN EXPECTED RESULT IS THAT USER WILL HAVE//				TO DISMISS A SPOOLER ERROR DIALOG BEFORE THE FUNCTION RETURNS// dwNewThreadSliceMS GIVES THE "TIME SLICE" TO GIVE THE NEW THREAD WITH THE ADDPORT DIALOG//		BETWEEN ATTEMPTS TO FIND ITS WINDOWS AND CALLS TO THE pfn WAITPROC// A RETURN VALUE OF TRUE MEANS THAT A CALL TO "AddPort" COMPLETED NORMALLY, IRREGARDLESS OF//		THE VALUE RETURNED BY THAT CALL (I.E. THE NEW THREAD DIDN'T HAVE TO BE TERMINATED)//		CALLER MUST USE EnumPorts TO SEE IF PORT WAS REALLY ADDED//		(I WAS SEEING AN INVALID PARAMETER ERROR EVEN WHEN PORT WAS ADDED, SO GAVE UP//		TRYING TO HAVE RETURN VALUE REFLECT WHETHER PORT WAS ACTUALLY ADDED)// A RETRUN VALUE OF FALSE MEANS THAT EITHER "AddPort" UNDER ABOVE CONDITIONS RETURNED FALSE, // OR THAT THE ADD PORT DIALOG THREAD WAS TERMINATED BECAUSE THE dwMaxWaitMS LIMIT WAS VIOLATED// OR BECAUSE pfn RETURNED FALSE, OR THAT THE THREAD CREATION FAILED// NOTE://	IT IS CONCEIVABLE THAT THE PORT COULD BE CREATED AND YET THE ROUTINE RETURN FALSE IF//	dwMaxWaitMS EXPIRES AFTER THE PORT HAS BEEN CREATED BUT BEFORE THE NEW THREAD SELF-TERMINATESBOOL MyAddPort(LPCTSTR lptstrPortName, DWORD dwMaxWaitMS = INFINITE, DWORD dwNewThreadSliceMS = 5, WaitProc pfn = NULL, LPCTSTR lptstrMonitorName = NULL) ;#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -