local.h
上传用户:yuandong
上传日期:2022-08-08
资源大小:954k
文件大小:2k
源码类别:

Delphi控件源码

开发平台:

C++ Builder

  1. /*++
  2. Copyright (c) 1998  Microsoft Corporation
  3. All rights reserved
  4. Module Name:
  5.     local.h
  6. --*/
  7. #ifndef _LOCAL_H_
  8. #define _LOCAL_H_
  9. typedef long NTSTATUS;
  10. #include <windows.h>
  11. #include <winspool.h>
  12. #include <winsplp.h>
  13. #include <wchar.h>
  14. #include "winprint.h"
  15. #include <winddiui.h>
  16. typedef struct _pfnWinSpoolDrv {
  17.     BOOL    (*pfnOpenPrinter)(LPTSTR, LPHANDLE, LPPRINTER_DEFAULTS);
  18.     BOOL    (*pfnClosePrinter)(HANDLE);
  19.     BOOL    (*pfnDevQueryPrint)(HANDLE, LPDEVMODE, DWORD *, LPWSTR, DWORD);
  20.     BOOL    (*pfnPrinterEvent)(LPWSTR, INT, DWORD, LPARAM);
  21.     LONG    (*pfnDocumentProperties)(HWND, HANDLE, LPWSTR, PDEVMODE, PDEVMODE, DWORD);
  22.     HANDLE  (*pfnLoadPrinterDriver)(HANDLE);
  23.     BOOL    (*pfnSetDefaultPrinter)(LPCWSTR);
  24.     BOOL    (*pfnGetDefaultPrinter)(LPWSTR, LPDWORD);
  25.     HANDLE  (*pfnRefCntLoadDriver)(LPWSTR, DWORD, DWORD, BOOL);
  26.     BOOL    (*pfnRefCntUnloadDriver)(HANDLE, BOOL);
  27.     BOOL    (*pfnForceUnloadDriver)(LPWSTR);
  28. }   fnWinSpoolDrv, *pfnWinSpoolDrv;
  29. BOOL
  30. SplInitializeWinSpoolDrv(
  31.     pfnWinSpoolDrv   pfnList
  32.     );
  33. BOOL
  34. GetJobAttributes(
  35.     LPWSTR            pPrinterName,
  36.     LPDEVMODEW        pDevmode,
  37.     PATTRIBUTE_INFO_3 pAttributeInfo
  38.     );
  39. #define LOG_ERROR   EVENTLOG_ERROR_TYPE
  40. LPWSTR AllocSplStr(LPWSTR pStr);
  41. LPVOID AllocSplMem(DWORD cbAlloc);
  42. LPVOID ReallocSplMem(   LPVOID pOldMem, 
  43.                         DWORD cbOld, 
  44.                         DWORD cbNew);
  45. #define FreeSplMem( pMem )        (GlobalFree( pMem ) ? FALSE:TRUE)
  46. #define FreeSplStr( lpStr )       ((lpStr) ? (GlobalFree(lpStr) ? FALSE:TRUE):TRUE)
  47. //
  48. //  DEBUGGING:
  49. //
  50. #if DBG
  51. BOOL
  52. DebugPrint(
  53.     PCH pszFmt,
  54.     ...
  55.     );
  56.   
  57. //
  58. // ODS - OutputDebugString 
  59. //
  60. #define ODS( MsgAndArgs )       
  61.     do {                        
  62.         DebugPrint  MsgAndArgs;   
  63.     } while(0)  
  64. #else
  65. //
  66. // No debugging
  67. //
  68. #define ODS(x)
  69. #endif             // DBG
  70. #endif