|
|
/*++
Copyright (c) 1993 Microsoft Corporation
Module Name:
nwwks.idl
Abstract:
This is the IDL file that describes the RPC interface for the NetWare workstation internal APIs.
Author:
Rita Wong (ritaw) 11-Feb-1993
Environment:
User Mode -Win32
Revision History: Yi-Hsin Sung ( yihsins ) 24-Apr-1993 Added NwrOpenEnumPrintServers and NwrOpenEnumPrintQueues
Glenn A. Curtis (glennc) 19-Oct-1995 Added NwrGetUser, NwrGetResourceInformation, and NwrGetResourceParent
--*/
// // Interface Attributes //
[ uuid(E67AB081-9844-3521-9D32-834F038001C0), version(1.0), pointer_default(unique) ]
// // Interface Keyword //
interface nwwks
// // Interface Body //
{
import "imports.idl";
// // Handle types //
typedef [handle] wchar_t * NWWKSTA_IMPERSONATE_HANDLE;
typedef [handle] wchar_t * NWWKSTA_IDENTIFY_HANDLE;
typedef [context_handle] PVOID NWWKSTA_CONTEXT_HANDLE;
typedef NWWKSTA_CONTEXT_HANDLE *LPNWWKSTA_CONTEXT_HANDLE;
typedef [context_handle] PVOID NWWKSTA_PRINTER_CONTEXT;
typedef NWWKSTA_PRINTER_CONTEXT *LPNWWKSTA_PRINTER_CONTEXT;
typedef struct _NW_JOB_INFO { DWORD nPosition; [string, unique] wchar_t *pDocument; [string, unique] wchar_t *pUserName; } NW_JOB_INFO, *PNW_JOB_INFO;
// // Function prototype //
DWORD NwrCreateConnection( [in,string,unique] NWWKSTA_IMPERSONATE_HANDLE Reserved, [in,string,unique] wchar_t * LocalName, [in,string] wchar_t * RemoteName, [in] DWORD Type, [in,string,unique] wchar_t * Password, [in,string,unique] wchar_t * UserName );
typedef struct _NWSERVER { [string] wchar_t * ServerName; } NWSERVER, *LPNWSERVER;
DWORD NwrChangePassword( [in,string,unique] NWWKSTA_IDENTIFY_HANDLE Reserved, [in] DWORD UserLuid, [in,string] wchar_t * UserName, [in,string,unique] wchar_t * OldPassword, [in,string,unique] wchar_t * NewPassword, [in,string] wchar_t * TreeName );
DWORD NwrDeleteConnection( [in,string,unique] NWWKSTA_IMPERSONATE_HANDLE Reserved, [in,string] wchar_t * ConnectionName, [in] DWORD UseForce );
DWORD NwrQueryServerResource( [in,string,unique] NWWKSTA_IMPERSONATE_HANDLE Reserved, [in,string] wchar_t * LocalName, [in, out,string, unique, size_is(RemoteNameLen * sizeof(wchar_t))] wchar_t * RemoteName, [in] DWORD RemoteNameLen, [out] LPDWORD CharsRequired );
DWORD NwrOpenEnumConnections( [in,string,unique] NWWKSTA_IDENTIFY_HANDLE Reserved, [in] DWORD ConnectionType, [out] LPNWWKSTA_CONTEXT_HANDLE EnumHandle );
DWORD NwrOpenEnumContextInfo( [in,string,unique] NWWKSTA_IDENTIFY_HANDLE Reserved, [in] DWORD ConnectionType, [out] LPNWWKSTA_CONTEXT_HANDLE EnumHandle );
DWORD NwrOpenEnumServersAndNdsTrees( [in,string,unique] NWWKSTA_IDENTIFY_HANDLE Reserved, [out] LPNWWKSTA_CONTEXT_HANDLE EnumHandle );
DWORD NwrOpenEnumNdsSubTrees_Disk( [in,string,unique] NWWKSTA_IDENTIFY_HANDLE Reserved, [in,string] wchar_t * ParentPathName, [in,out,unique] LPDWORD ClassTypeOfNDSLeaf, [out] LPNWWKSTA_CONTEXT_HANDLE EnumHandle );
DWORD NwrOpenEnumNdsSubTrees_Print( [in,string,unique] NWWKSTA_IDENTIFY_HANDLE Reserved, [in,string] wchar_t * ParentPathName, [in,out,unique] LPDWORD ClassTypeOfNDSLeaf, [out] LPNWWKSTA_CONTEXT_HANDLE EnumHandle );
DWORD NwrOpenEnumNdsSubTrees_Any( [in,string,unique] NWWKSTA_IDENTIFY_HANDLE Reserved, [in,string] wchar_t * ParentPathName, [in,out,unique] LPDWORD ClassTypeOfNDSLeaf, [out] LPNWWKSTA_CONTEXT_HANDLE EnumHandle );
DWORD NwrOpenEnumVolumes( [in,string,unique] NWWKSTA_IDENTIFY_HANDLE Reserved, [in,string] wchar_t * ServerName, [out] LPNWWKSTA_CONTEXT_HANDLE EnumHandle );
DWORD NwrOpenEnumQueues( [in,string,unique] NWWKSTA_IDENTIFY_HANDLE Reserved, [in,string] wchar_t * ServerName, [out] LPNWWKSTA_CONTEXT_HANDLE EnumHandle );
DWORD NwrOpenEnumVolumesQueues( [in,string,unique] NWWKSTA_IDENTIFY_HANDLE Reserved, [in,string] wchar_t * ServerName, [out] LPNWWKSTA_CONTEXT_HANDLE EnumHandle );
DWORD NwrOpenEnumDirectories( [in,string,unique] NWWKSTA_IDENTIFY_HANDLE Reserved, [in,string] wchar_t * VolumeName, [in,string,unique] wchar_t * UserName, [in,string,unique] wchar_t * Password, [out] LPNWWKSTA_CONTEXT_HANDLE EnumHandle );
DWORD NwrEnum( [in] NWWKSTA_CONTEXT_HANDLE EnumHandle, [in] DWORD_PTR EntriesRequested, [out,size_is(BufferSize)] LPBYTE Buffer, [in] DWORD BufferSize, [out] LPDWORD BytesNeeded, [out] LPDWORD EntriesRead );
DWORD NwrEnumConnections( [in] NWWKSTA_CONTEXT_HANDLE EnumHandle, [in] DWORD EntriesRequested, [out,size_is(BufferSize)] LPBYTE Buffer, [in] DWORD BufferSize, [out] LPDWORD BytesNeeded, [out] LPDWORD EntriesRead, [in] DWORD fImplicitConnections );
DWORD NwrCloseEnum( [in,out] LPNWWKSTA_CONTEXT_HANDLE EnumHandle );
DWORD NwrLogonUser( [in,string,unique] NWWKSTA_IDENTIFY_HANDLE Reserved, [in] PLUID LogonId, [in,string] wchar_t * UserName, [in,string,unique] wchar_t * Password, [in,string,unique] wchar_t * ServerName, [in,string,unique] wchar_t * NdsServerName, [in,out,string,unique,size_is(LogonCommandLength * sizeof(wchar_t))] wchar_t * LogonCommand, [in] DWORD LogonCommandLength, [in] DWORD PrintOption );
DWORD NwrLogoffUser( [in,string,unique] NWWKSTA_IDENTIFY_HANDLE Reserved, [in] PLUID LogonId );
DWORD NwrSetInfo( [in,string,unique] NWWKSTA_IDENTIFY_HANDLE Reserved, [in] DWORD PrintOption, [in,string,unique] wchar_t * ServerName );
DWORD NwrValidateUser( [in,string,unique] NWWKSTA_IDENTIFY_HANDLE Reserved, [in,string,unique] wchar_t * ServerName );
DWORD NwrOpenPrinter( [in,string,unique] NWWKSTA_IDENTIFY_HANDLE Reserved, [in,string] wchar_t *PrinterName, [in] DWORD fKnownPrinter, [out] LPNWWKSTA_PRINTER_CONTEXT PrinterHandle );
DWORD NwrClosePrinter( [in,out] LPNWWKSTA_PRINTER_CONTEXT PrinterHandle );
DWORD NwrGetPrinter( [in] NWWKSTA_PRINTER_CONTEXT PrinterHandle, [in] DWORD Level, [in,out,unique,size_is(BufferSize)] LPBYTE PrinterInfo, [in] DWORD BufferSize, [out] LPDWORD BytesNeeded );
DWORD NwrSetPrinter( [in] NWWKSTA_PRINTER_CONTEXT PrinterHandle, [in] DWORD Command );
DWORD NwrEnumPrinters( [in,string,unique] NWWKSTA_IDENTIFY_HANDLE Reserved, [in,string,unique] wchar_t *ContainerName, [in,out,unique,size_is(BufferSize)] LPBYTE Buffer, [in] DWORD BufferSize, [out] LPDWORD BytesNeeded, [out] LPDWORD EntriesRead );
DWORD NwrStartDocPrinter( [in] NWWKSTA_PRINTER_CONTEXT PrinterHandle, [in,string,unique] wchar_t *DocumentName, [in,string,unique] wchar_t *UserName, [in] DWORD PrintOption );
DWORD NwrWritePrinter( [in] NWWKSTA_PRINTER_CONTEXT PrinterHandle, [in,size_is(BufferSize)] LPBYTE Buffer, [in] DWORD BufferSize, [out] LPDWORD BytesWritten );
DWORD NwrAbortPrinter( [in] NWWKSTA_PRINTER_CONTEXT PrinterHandle );
DWORD NwrEndDocPrinter( [in] NWWKSTA_PRINTER_CONTEXT PrinterHandle );
DWORD NwrEnumJobs( [in] NWWKSTA_PRINTER_CONTEXT PrinterHandle, [in] DWORD FirstJobRequested, [in] DWORD EntriesRequested, [in] DWORD Level, [in,out,unique,size_is(BufferSize)] LPBYTE Buffer, [in] DWORD BufferSize, [out] LPDWORD BytesNeeded, [out] LPDWORD EntriesRead );
DWORD NwrGetJob( [in] NWWKSTA_PRINTER_CONTEXT PrinterHandle, [in] DWORD JobId, [in] DWORD Level, [in,out,unique,size_is(BufferSize)] LPBYTE JobInfo, [in] DWORD BufferSize, [out] LPDWORD BytesNeeded );
DWORD NwrSetJob( [in] NWWKSTA_PRINTER_CONTEXT PrinterHandle, [in] DWORD JobId, [in] DWORD Level, [in, unique] PNW_JOB_INFO pNwJobInfo, [in] DWORD Command );
DWORD NwrAddJob( [in] NWWKSTA_PRINTER_CONTEXT PrinterHandle, [out] LPADDJOB_INFO_1W AddInfo1, [in] DWORD BufferSize, [out] LPDWORD BytesNeeded );
DWORD NwrScheduleJob( [in] NWWKSTA_PRINTER_CONTEXT PrinterHandle, [in] DWORD JobId );
DWORD NwrWaitForPrinterChange( [in] NWWKSTA_PRINTER_CONTEXT PrinterHandle, [in,out] LPDWORD Flags );
DWORD NwrAddPrinterConnection( [in,string,unique] NWWKSTA_IMPERSONATE_HANDLE Reserved, [in,string] wchar_t * PrinterName, [in,string] wchar_t * DriverName );
#ifndef QFE_BUILD
DWORD NwrGetService( [in, string, unique] NWWKSTA_IDENTIFY_HANDLE Reserved, [in] WORD nServiceType, [in, string] wchar_t *lpServiceName, [in] DWORD dwProperties, [in, out, unique, size_is(dwBufferLength)] LPBYTE lpServiceInfo, [in] DWORD dwBufferLength, [out] LPDWORD lpdwBytesNeeded );
DWORD NwrSetService( [in, string, unique] NWWKSTA_IDENTIFY_HANDLE Reserved, [in] DWORD dwOperation, [in] LPSERVICE_INFOW lpServiceInfo, [in] WORD nServiceType );
DWORD NwrGetUser( [in, string, unique] NWWKSTA_IDENTIFY_HANDLE Reserved, [in, string, unique] wchar_t * lpRemoteName, [out, size_is(dwUserNameBufferSize)] LPBYTE lpUserName, [in] DWORD dwUserNameBufferSize, [out] LPDWORD lpdwCharsRequired );
DWORD NwrGetResourceInformation( [in, string, unique] NWWKSTA_IDENTIFY_HANDLE Reserved, [in, string, unique] wchar_t * lpRemoteName, [in] DWORD dwType, [out, size_is(dwBufferSize)] LPBYTE lpBuffer, [in] DWORD dwBufferSize, [out] LPDWORD lpdwBytesNeeded, [out] LPDWORD lpdwSystemOffset );
DWORD NwrGetConnectionPerformance( [in, string, unique] NWWKSTA_IDENTIFY_HANDLE Reserved, [in, string, unique] wchar_t * lpRemoteName, [out, size_is(dwBufferSize)] LPBYTE lpNetConnectInfo, [in] DWORD dwBufferSize );
DWORD NwrGetResourceParent( [in, string, unique] NWWKSTA_IDENTIFY_HANDLE Reserved, [in, string, unique] wchar_t * lpRemoteName, [in] DWORD dwType, [out, size_is(dwBufferSize)] LPBYTE lpBuffer, [in] DWORD dwBufferSize, [out] LPDWORD lpdwBytesNeeded );
DWORD NwrSetLogonScript( [in,string,unique] NWWKSTA_IDENTIFY_HANDLE Reserved, [in] DWORD ScriptOptions );
#endif }
|