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) 1991 Microsoft Corporation
Module Name:
xsdata.h
Abstract:
Header file for XACTSRV global data.
Author:
David Treadwell (davidtr) 05-Jan-1991 Shanku Niyogi (w-shanku)
Revision History:
--*/
#ifndef _XSDATA_
#define _XSDATA_
#include <nturtl.h>
#include <winbase.h>
#include <rap.h>
#include <xstypes.h>
#include <ntmsv1_0.h>
//
// Routine used to load and initialize for xactsrv processing
//
extern BOOLEAN XsLoadXactLibrary( WORD FunctionNumber );
extern VOID XsProcessApisWrapper ( LPVOID ThreadNum );
//
// Table of information necessary for dispatching API requests.
//
// ImpersonateClient specifies whether XACTSRV should impersonate the caller
// before invoking the API handler.
//
// Handler specifies the function XACTSRV should call to handle the API. The
// function is dynamically loaded from xactsrv.dll the first time that the client
// requests the service.
//
typedef struct _XS_API_TABLE_ENTRY { BOOL ImpersonateClient; LPSTR HandlerName; PXACTSRV_API_HANDLER Handler; LPDESC Params; } XS_API_TABLE_ENTRY, *PXS_API_TABLE_ENTRY;
//
// Table of information necessary for dispatching API requests.
// XsProcessApis uses the API number in the request transaction find
// the appropriate entry.
//
#define XS_SIZE_OF_API_TABLE 216
extern XS_API_TABLE_ENTRY XsApiTable[XS_SIZE_OF_API_TABLE];
//
// These entry points are dynamically loaded from xactsrv.dll the first time a
// client requests the service
//
typedef VOID (*XS_SET_PARAMETERS_FUNCTION) ( IN LPTRANSACTION Transaction, IN LPXS_PARAMETER_HEADER Header, IN LPVOID Parameters );
extern XS_SET_PARAMETERS_FUNCTION XsSetParameters;
typedef LPVOID (*XS_CAPTURE_PARAMETERS_FUNCTION ) ( IN LPTRANSACTION Transaction, OUT LPDESC *AuxDescriptor );
extern XS_CAPTURE_PARAMETERS_FUNCTION XsCaptureParameters;
typedef BOOL (*XS_CHECK_SMB_DESCRIPTOR_FUNCTION)( IN LPDESC SmbDescriptor, IN LPDESC ActualDescriptor );
extern XS_CHECK_SMB_DESCRIPTOR_FUNCTION XsCheckSmbDescriptor;
//
// The license functions are dynamically loaded, as they are not used on workstations
//
extern BOOLEAN SsLoadLicenseLibrary();
//
// Print Spooler dynamic loading info
//
typedef BOOL (*PSPOOLER_OPEN_PRINTER)( IN LPWSTR pPrinterName, OUT LPHANDLE phPrinter, IN PVOID pDefault );
typedef BOOL (*PSPOOLER_RESET_PRINTER)( IN HANDLE hPrinter, IN PVOID pDefault );
typedef BOOL (*PSPOOLER_ADD_JOB)( IN HANDLE hPrinter, IN DWORD Level, OUT LPBYTE pData, IN DWORD cbBuf, OUT LPDWORD pcbNeeded );
typedef BOOL (*PSPOOLER_SCHEDULE_JOB)( IN HANDLE hPrinter, IN DWORD JobId );
typedef BOOL (*PSPOOLER_CLOSE_PRINTER)( IN HANDLE hPrinter );
extern PSPOOLER_OPEN_PRINTER pSpoolerOpenPrinterFunction; extern PSPOOLER_RESET_PRINTER pSpoolerResetPrinterFunction; extern PSPOOLER_ADD_JOB pSpoolerAddJobFunction; extern PSPOOLER_SCHEDULE_JOB pSpoolerScheduleJobFunction; extern PSPOOLER_CLOSE_PRINTER pSpoolerClosePrinterFunction;
#endif // ndef _XSDATA_
|