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.
 
 
 
 
 
 

209 lines
8.5 KiB

/*++
Copyright (C) 2000 Microsoft Corporation
All rights reserved.
Module Name:
splwow64.idl
Abstract:
This is the Interface definition file for the surrogate used
to load 64 bit dlls in 32 bit apps using winspool.drv (client
side stub of the spooler). It defines one interace supplying
functions to be called from within winspool.drv whenever a dll
is required to be loaded
Author:
Khaled Sedky (khaleds) 18 January 2000
Revision History:
--*/
import "idlstub.idl";
typedef enum
{
WM_ENDADDPORT = 0X400 + 0x5777,
WM_ENDDELPORT = 0X400 + 0x5778,
WM_ENDCFGPORT = 0X400 + 0x5779,
WM_ENDDOCUMENTPROPERTIES = 0X400 + 0x577A,
WM_ENDQUEUECREATE = 0X400 + 0X577B,
WM_ENDPRINTERPROPPAGES = 0X400 + 0X577C,
WM_ENDDOCUMENTDEFAULTS = 0X400 + 0X577D,
WM_ENDPRINTERPROPERTIES = 0X400 + 0x577E,
WM_SURROGATEFAILURE = 0X400 + 0x577F,
WM_ENDPRINTUIDOCUMENTPROPERTIES = 0X400 + 0X5780,
WM_ENDPRINTERSETUP = 0X400 + 0X5781,
WM_ENDSERVERPROPPAGES = 0X400 + 0x5782
}ESurrogateMsgs;
[
uuid(5a7ccda5-1cd7-4693-a8d6-4bdded80c32f),
version(1.0),
endpoint("ncalrpc:[ld64in32]"),
pointer_default(unique)
]
interface Lding64BitDlls
{
typedef enum
{
kMaxDevModeSize = 256*1024,
kMaxDrvEventSize = 256*1024,
kMaxPrinterNameSize = 8*260
}EMaxRange;
DWORD
RPCSplWOW64RefreshLifeSpan();
DWORD
RPCSplWOW64GetProcessID();
ULONG_PTR
RPCSplWOW64GetProcessHndl(
[in] DWORD ProcessId,
[out] DWORD* ErrorCode
);
BOOL
RPCSplWOW64AddPort(
[in] ULONG_PTR hWnd,
[in,string,unique] wchar_t* ServerName,
[in,string,unique] wchar_t* UIDllName,
[in,string,unique] wchar_t* MonitorName,
[out] DWORD* ErrorCode
);
BOOL
RPCSplWOW64DeletePort(
[in] ULONG_PTR hWnd,
[in,string,unique] wchar_t* ServerName,
[in,string,unique] wchar_t* UIDllName,
[in,string,unique] wchar_t* PortName,
[out] DWORD* ErrorCode
);
BOOL
RPCSplWOW64ConfigurePort(
[in] ULONG_PTR hWnd,
[in,string,unique] wchar_t* ServerName,
[in,string,unique] wchar_t* UIDllName,
[in,string,unique] wchar_t* PortName,
[out] DWORD* ErrorCode
);
int
RPCSplWOW64DeviceCapabilities(
[in,string,unique] wchar_t* DeviceName,
[in,string,unique] wchar_t* PortName,
[in] WORD Capabilities,
[in,range(0,kMaxDevModeSize)] DWORD DevModeSize,
[in,size_is(DevModeSize),unique] byte* DevMode,
[in] BOOL OutPutFill,
[out] DWORD* OutputSize,
[out,size_is( , *OutputSize)] byte** Output,
[out] DWORD* ErrorCode
);
LONG
RPCSplWOW64DocumentProperties(
[in] ULONG_PTR hWnd,
[in,string,unique] wchar_t *PrinterName,
[out] DWORD* TouchedSize,
[out] DWORD* OutputSize,
[out,size_is( , *OutputSize)] byte** Output,
[in,range(0,kMaxDevModeSize)] DWORD DevModeSize,
[in,size_is(DevModeSize),unique] byte* DevMode,
[in] BOOL OutputFill,
[in] DWORD fMode,
[out] DWORD* ErrorCode
);
LONG
RPCSplWOW64PrintUIDocumentProperties(
[in] ULONG_PTR hWnd,
[in,string,unique] wchar_t *PrinterName,
[out] DWORD* TouchedSize,
[out] DWORD* OutputSize,
[out,size_is( , *OutputSize)] byte** Output,
[in,range(0,kMaxDevModeSize)] DWORD DevModeSize,
[in,size_is(DevModeSize),unique] byte* DevMode,
[in] BOOL OutputFill,
[in] DWORD fMode,
[in] DWORD fExclusionFlags,
[out] DWORD* ErrorCode
);
BOOL
RPCSplWOW64PrinterProperties(
[in] ULONG_PTR hWnd,
[in,string,unique] const wchar_t *PrinterName,
[in] DWORD Flag,
[out] DWORD* ErrorCode
);
BOOL
RPCSplWOW64SpoolerPrinterEvent(
[in,string,unique] wchar_t *PrinterName,
[in] int PrinterEvent,
[in] DWORD Flags,
[in] LPARAM lParam,
[out] DWORD* ErrorCode
);
int
RPCSplWOW64DocumentEvent(
[in,string,unique] wchar_t *PrinterName,
[in] ULONG_PTR hdc,
[in] int EscapeCode,
[in,range(0,kMaxDrvEventSize)] DWORD InSize,
[in,size_is(InSize),unique] byte* InBuf,
[out] DWORD* OutSize,
[out,size_is( , *OutSize)] byte** OutBuf,
[out] DWORD* ErrorCode
);
DWORD
RPCSplWOW64PrintUIQueueCreate(
[in] ULONG_PTR hWnd,
[in,string,unique] const wchar_t* PrinterName,
[in] int CmdShow,
[in] LPARAM lParam
);
DWORD
RPCSplWOW64PrintUIPrinterPropPages(
[in] ULONG_PTR hWnd,
[in,string,unique] const wchar_t* PrinterName,
[in] int CmdShow,
[in] LPARAM lParam
);
DWORD
RPCSplWOW64PrintUIDocumentDefaults(
[in] ULONG_PTR hWnd,
[in,string,unique] const wchar_t* PrinterName,
[in] int CmdShow,
[in] LPARAM lParam
);
DWORD
RPCSplWOW64PrintUIPrinterSetup(
[in] ULONG_PTR hWnd,
[in] UINT uAction,
[in] UINT cchPrinterName,
[in,range(0,kMaxPrinterNameSize)] DWORD PrinterNameSize,
[in,out,ref,size_is(PrinterNameSize)] byte* pszPrinterName,
[out] UINT* pcchPrinterName,
[in,string,unique] const wchar_t* pszServerName
);
DWORD
RPCSplWOW64PrintUIServerPropPages(
[in] ULONG_PTR hWnd,
[in,string,unique] const wchar_t* ServerName,
[in] int CmdShow,
[in] LPARAM lParam
);
}