Source code of Windows XP (NT5)
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.
|
|
/*++
Copyright (c) 1990-1994 Microsoft Corporation All rights reserved
Module Name:
Client.h
Abstract:
Holds Client Spooler types and prototypes
Author:
Environment:
User Mode -Win32
Revision History:
Steve Wilson (NT) (swilson) 1-Jun-95 Ported from spoolss\client\client.h
--*/
typedef int (FAR WINAPI *INT_FARPROC)();
typedef struct _GENERIC_CONTAINER { DWORD Level; LPBYTE pData; } GENERIC_CONTAINER, *PGENERIC_CONTAINER, *LPGENERIC_CONTAINER ;
typedef struct _SPOOL *PSPOOL; typedef struct _NOTIFY *PNOTIFY;
typedef struct _NOTIFY { PNOTIFY pNext; HANDLE hEvent; // event to trigger on notification
DWORD fdwFlags; // flags to watch for
DWORD fdwOptions; // PRINTER_NOTIFY_*
DWORD dwReturn; // used by WPC when simulating FFPCN
PSPOOL pSpool; } NOTIFY;
typedef struct _SPOOL { DWORD signature; HANDLE hPrinter; DWORD Status; LONG cThreads; // InterlockedDecrement/Increment variable for thread synch
HANDLE hModule; // Driver UM DLL Module Handle
DWORD (*pfnWrite)(); HANDLE (*pfnStartDoc)(); VOID (*pfnEndDoc)(); VOID (*pfnClose)(); BOOL (*pfnStartPage)(); BOOL (*pfnEndPage)(); VOID (*pfnAbort)(); HANDLE hDriver; // supplied to us by driver UI dll
DWORD JobId; } SPOOL;
//
// Change the RPC buffer size to 64K
//
#define BUFFER_SIZE 0x10000
#define SP_SIGNATURE 0x6767
#define SPOOL_STATUS_STARTDOC 0x00000001
#define SPOOL_STATUS_ADDJOB 0x00000002
#define SPOOL_STATUS_ANSI 0x00000004
#define SPOOL_FLAG_FFPCN_FAILED 0x1
#define SPOOL_FLAG_LAZY_CLOSE 0x2
DWORD TranslateExceptionCode( DWORD ExceptionCode );
PNOTIFY WPCWaitFind( HANDLE hFind);
BOOL ValidatePrinterHandle( HANDLE hPrinter );
VOID FreeSpool( PSPOOL pSpool);
LPVOID DllAllocSplMem( DWORD cb );
BOOL DllFreeSplMem( LPVOID pMem );
BOOL FlushBuffer( PSPOOL pSpool );
PSECURITY_DESCRIPTOR BuildInputSD( PSECURITY_DESCRIPTOR pPrinterSD, PDWORD pSizeSD );
typedef struct _KEYDATA { DWORD cb; DWORD cTokens; LPWSTR pTokens[1]; } KEYDATA, *PKEYDATA;
PKEYDATA CreateTokenList( LPWSTR pKeyData );
LPWSTR GetPrinterPortList( HANDLE hPrinter );
LPWSTR FreeUnicodeString( LPWSTR pUnicodeString );
LPWSTR AllocateUnicodeString( LPSTR pPrinterName );
LPWSTR StartDocDlgW( HANDLE hPrinter, DOCINFO *pDocInfo );
LPSTR StartDocDlgA( HANDLE hPrinter, DOCINFOA *pDocInfo );
|