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.
 
 
 
 
 
 

206 lines
3.4 KiB

/*++
Copyright (c) 1990 - 1995 Microsoft Corporation
Module Name:
local.h
Abstract:
Header file for Local Print Providor
Author:
Dave Snipp (DaveSn) 15-Mar-1991
Revision History:
Matt Feton (MattFe) Jan 17 1995 add separate heaps
--*/
#define ONEDAY 60*24
#define MIN_UNC_PRINTER_NAME 5
// Timeout to start spooler's phase 2 initialization in milliseconds
#define SPOOLER_START_PHASE_TWO_INIT 2*60*1000
#define offsetof(type, identifier) (DWORD)(&(((type*)0)->identifier))
extern char *szDriverIni;
extern char *szDriverFileEntry;
extern char *szDriverDataFile;
extern char *szDriverConfigFile;
extern char *szDriverDir;
extern char *szPrintProcDir;
extern char *szPrinterDir;
extern char *szPrinterIni;
extern char *szAllShadows;
extern char *szNullPort;
extern char *szComma;
extern HANDLE hHeap;
extern HANDLE HeapSemaphore;
extern HANDLE InitSemaphore;
extern BOOL Initialized;
extern CRITICAL_SECTION SpoolerSection;
extern DWORD gbFailAllocs;
extern PrintSpoolerServerExports *gpServerExports;
BOOL
LocalInitialize(
VOID
);
VOID
EnterSplSem(
VOID
);
VOID
LeaveSplSem(
VOID
);
LPVOID
DllAllocSplMem(
DWORD cb
);
BOOL
DllFreeSplMem(
LPVOID pMem
);
LPVOID
DllReallocSplMem(
LPVOID lpOldMem,
DWORD cbOld,
DWORD cbNew
);
BOOL
DllFreeSplStr(
LPWSTR lpStr
);
BOOL
ValidateReadPointer(
PVOID pPoint,
ULONG Len
);
BOOL
ValidateWritePointer(
PVOID pPoint,
ULONG Len
);
BOOL
DeleteSubKeyTree(
HKEY ParentHandle,
WCHAR SubKeyName[]
);
LPWSTR
AppendOrderEntry(
LPWSTR szOrderString,
DWORD cbStringSize,
LPWSTR szOrderEntry,
LPDWORD pcbBytesReturned
);
LPWSTR
RemoveOrderEntry(
LPWSTR szOrderString,
DWORD cbStringSize,
LPWSTR szOrderEntry,
LPDWORD pcbBytesReturned
);
LPPROVIDOR
InitializeProvidor(
LPWSTR pProvidorName,
LPWSTR pFullName
);
VOID
WaitForSpoolerInitialization(
VOID
);
HKEY
GetClientUserHandle(
IN REGSAM samDesired
);
BOOL
MyUNCName(
LPWSTR pNameStart
);
BOOL
BuildOtherNamesFromMachineName(
LPWSTR **ppszMyOtherNames,
DWORD *cOtherNames
);
BOOL
bCompatibleDevMode(
PPRINTHANDLE pPrintHandle,
PDEVMODE pDevModeBase,
PDEVMODE pDevModeNew
);
LPWSTR
FormatPrinterForRegistryKey(
LPCWSTR pSource, /* The string from which backslashes are to be removed. */
LPWSTR pScratch, /* Scratch buffer for the function to write in; */
DWORD cchScratchLen /* must be at least as long as pSource. */
);
LPWSTR
FormatRegistryKeyForPrinter(
LPWSTR pSource, /* The string from which backslashes are to be added. */
LPWSTR pScratch, /* Scratch buffer for the function to write in; */
DWORD cchScratchLen /* must be at least as long as pSource. */
);
PWSTR
AutoCat(
PCWSTR pszInput,
PCWSTR pszCat
);
BOOL
bGetDevModePerUserEvenForShares(
IN HKEY hKeyUser, OPTIONAL
IN LPCWSTR pszPrinter,
OUT PDEVMODE *ppDevMode
);
DWORD
GetAPDPolicy(
IN HKEY hKey,
IN LPCWSTR pszRelPath,
IN LPCWSTR pszValueName,
IN LPDWORD pValue
);
DWORD
SetAPDPolicy(
IN HKEY hKey,
IN LPCWSTR pszRelPath,
IN LPCWSTR pszValueName,
IN DWORD Value
);