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
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
|
|
);
|
|
}
|
|
|