Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

93 lines
3.5 KiB

  1. /*++
  2. Copyright (c) 2000 Microsoft Corporation
  3. All Rights Reserved
  4. Module Name:
  5. Protos.h
  6. Abstract:
  7. Prototypes for all functions
  8. Author: M. Fenelon
  9. Revision History:
  10. --*/
  11. //
  12. // Functions in DynaMon.cpp
  13. //
  14. BOOL WINAPI DynaMon_EnumPorts( LPTSTR pszName, DWORD dwLevel, LPBYTE pPorts, DWORD cbBuf,
  15. LPDWORD pcbNeeded, LPDWORD pcReturned );
  16. BOOL WINAPI DynaMon_OpenPort( LPTSTR pszPortName, LPHANDLE pHandle );
  17. BOOL WINAPI DynaMon_ClosePort( HANDLE hPort );
  18. BOOL WINAPI DynaMon_StartDocPort( HANDLE hPort, LPTSTR pPrinterName, DWORD dwJobId,
  19. DWORD dwLevel, LPBYTE pDocInfo );
  20. BOOL WINAPI DynaMon_EndDocPort( HANDLE hPort );
  21. BOOL WINAPI DynaMon_GetPrinterDataFromPort( HANDLE hPort, DWORD dwControlID, LPWSTR pValueName, LPWSTR lpInBuffer,
  22. DWORD cbInBuffer, LPWSTR lpOutBuffer, DWORD cbOutBuffer, LPDWORD lpcbReturned );
  23. BOOL WINAPI DynaMon_ReadPort( HANDLE hPort, LPBYTE pBuffer, DWORD cbBuffer, LPDWORD pcbRead );
  24. BOOL WINAPI DynaMon_WritePort( HANDLE hPort, LPBYTE pBuffer, DWORD cbBuffer, LPDWORD pcbWritten );
  25. BOOL WINAPI DynaMon_SetPortTimeOuts( HANDLE hPort, LPCOMMTIMEOUTS lpCTO, DWORD reserved );
  26. //
  27. // Functions in EnumUtil.cpp
  28. //
  29. DWORD SpinUpdateThread( void );
  30. VOID UpdateThread( PDYNAMON_MONITOR_INFO pMonInfo );
  31. BOOL GetPrinterInfo( LPPRINTER_INFO_5 *ppPrinterInfo5, LPDWORD pdwReturned );
  32. BOOL PortNameNeededBySpooler( LPTSTR pszPortName, LPPRINTER_INFO_5 pPrinterInfo5,
  33. DWORD dwPrinters, BOOL bActive );
  34. BOOL SetOnlineStaus( LPPRINTER_INFO_5 pPrinterInfo5, BOOL bOnline );
  35. DWORD BuildPortList( PDYNAMON_MONITOR_INFO pMonitorInfo, PPORT_UPDATE* ppPortUpdateList );
  36. BOOL LoadSetupApiDll( PSETUPAPI_INFO pSetupInfo );
  37. DWORD ProcessGUID( PSETUPAPI_INFO pSetupApiInfo, PDYNAMON_MONITOR_INFO pMonitorInfo,
  38. PPORT_UPDATE* ppPortUpdateList, LPGUID pGUID );
  39. PUSELESS_PORT FindUselessEntry( PDYNAMON_MONITOR_INFO pMonitorInfo, LPTSTR pszDevicePath, PUSELESS_PORT* ppPrev );
  40. PDYNAMON_PORT FindPortUsingDevicePath( PDYNAMON_MONITOR_INFO pMonitorInfo, LPTSTR pszDevicePath );
  41. VOID ProcessPortInfo( PSETUPAPI_INFO pSetupApiInfo, PDYNAMON_MONITOR_INFO pMonitorInfo, HDEVINFO hDevList,
  42. PSP_DEVICE_INTERFACE_DATA pDeviceInterface, PSP_DEVICE_INTERFACE_DETAIL_DATA pDeviceDetail,
  43. BOOL bIsPortActive, PPORT_UPDATE* ppPortUpdateInfo );
  44. HKEY GetPortNameAndRegKey( PSETUPAPI_INFO pSetupInfo, HDEVINFO hDevList, PSP_DEVICE_INTERFACE_DATA pDeviceInterface,
  45. LPTSTR pszPortName, size_t cchPortName, PORTTYPE* pPortType );
  46. VOID AddUselessPortEntry( PDYNAMON_MONITOR_INFO pMonitorInfo, LPTSTR pszDevicePath );
  47. PDYNAMON_PORT FindPort( PDYNAMON_MONITOR_INFO pMonitorInfo, LPTSTR pszPortName, PDYNAMON_PORT* ppPrev );
  48. VOID UpdatePortInfo( PDYNAMON_PORT pPort, LPTSTR pszDevicePath, BOOL bIsPortActive,
  49. HKEY* phKey, PPORT_UPDATE* ppPortUpdateList );
  50. BOOL
  51. AddPortToList( PORTTYPE portType, LPTSTR pszPortName, LPTSTR pszDevicePath, BOOL bIsPortActive, HKEY* phKey,
  52. PDYNAMON_MONITOR_INFO pMonitorInfo, PDYNAMON_PORT pPrevPort, PPORT_UPDATE* ppPortUpdateList );
  53. VOID AddToPortUpdateList( PPORT_UPDATE* ppPortUpdateList, PDYNAMON_PORT pPort, HKEY* phKey );
  54. VOID PassPortUpdateListToUpdateThread( PPORT_UPDATE pNewUpdateList );
  55. void SafeCopy(DWORD MaxBufLen, LPTSTR pszInString, LPTSTR pszOutString);