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.
74 lines
2.2 KiB
74 lines
2.2 KiB
|
|
|
|
/*++
|
|
|
|
Copyright (c) 1992,1993 Microsoft Corporation
|
|
|
|
Module Name:
|
|
|
|
psshmem.h
|
|
|
|
Abstract:
|
|
|
|
This module defines the interface format for the shared memory region
|
|
that psprint and psexe use together.
|
|
|
|
Author:
|
|
|
|
James Bratsanos (v-jimbr,mcrafts!jamesb) 6-Dec-1992
|
|
|
|
|
|
--*/
|
|
|
|
|
|
#define PSEXE_OK_EXIT 0
|
|
#define PSEXE_ERROR_EXIT 99
|
|
//
|
|
// Define some bits that tells us about the aborted and paused/un-paused
|
|
// state of the current job
|
|
//
|
|
#define PS_SHAREDMEM_PAUSED 0x00000001
|
|
#define PS_SHAREDMEM_ABORTED 0x00000002
|
|
#define PS_SHAREDMEM_SECURITY_ABORT 0x00000004
|
|
|
|
|
|
typedef struct {
|
|
DWORD dwSize;
|
|
DWORD dwFlags;
|
|
DWORD dwNextOffset;
|
|
DWORD dwPrinterName;
|
|
DWORD dwDocumentName;
|
|
DWORD dwPrintDocumentDocName;
|
|
DWORD dwDevmode;
|
|
DWORD dwControlName;
|
|
DWORD dwJobId;
|
|
} PSPRINT_SHARED_MEMORY;
|
|
typedef PSPRINT_SHARED_MEMORY *PPSPRINT_SHARED_MEMORY;
|
|
|
|
//
|
|
// Define some macros that make copying stuff to /from shared memory
|
|
// simple. The item passed in pItem is actually stuffed with the offset
|
|
// of the data from the base of the structure. This has to be done becuase
|
|
// processes sharing this data will not have this data at the same virtual
|
|
// address
|
|
//
|
|
#define UTLPSCOPYTOSHARED( pBase, pSrc, pItem, dwLen ) \
|
|
{ \
|
|
DWORD dwRealSize; \
|
|
PBYTE pDest; \
|
|
if (pSrc != NULL) { \
|
|
dwRealSize = (dwLen + 3) & ~0x03; \
|
|
pDest = (LPBYTE) (pBase) + pBase->dwNextOffset; \
|
|
memcpy( (LPVOID) pDest, (LPVOID) pSrc, dwLen ); \
|
|
pItem = pBase->dwNextOffset; \
|
|
pBase->dwNextOffset += dwRealSize; \
|
|
} else { \
|
|
pItem = 0; \
|
|
} \
|
|
}
|
|
|
|
#define UTLPSRETURNPTRFROMITEM( pBase, pItem ) \
|
|
( pItem ? ( (LPBYTE) ( (LPBYTE)pBase + pItem )) : (LPBYTE) NULL )
|
|
|
|
|
|
|