|
|
/*++
Copyright (c) 1993 Microsoft Corporation
Module Name:
ncpsvc.idl
Abstract:
This is the IDL file that describes the RPC interface for the NCP server internal APIs.
Author:
Yi-Hsin Sung 11-Sept-1993
Environment:
User Mode -Win32
--*/
// // Interface Attributes //
[ uuid(E67AB081-9844-3521-9D32-834F038001C1), version(1.0), #ifdef __midl ms_union, #endif // __midl pointer_default(unique) ]
// // Interface Keyword //
interface ncpsvc
// // Interface Body //
{
import "imports.idl";
// // Handle type //
typedef [handle] wchar_t * NCPSVC_HANDLE;
// // Data type // typedef struct _FPNWVOLUMEINFO_CONTAINER { DWORD EntriesRead; [size_is(EntriesRead)] PFPNWVOLUMEINFO Buffer; } FPNWVOLUMEINFO_CONTAINER, *PFPNWVOLUMEINFO_CONTAINER; typedef struct _NWVOLUMEINFO_CONTAINER { DWORD EntriesRead; [size_is(EntriesRead)] PNWVOLUMEINFO Buffer; } NWVOLUMEINFO_CONTAINER, *PNWVOLUMEINFO_CONTAINER;
typedef struct _FPNWCONNECTIONINFO_CONTAINER { DWORD EntriesRead; [size_is(EntriesRead)] PFPNWCONNECTIONINFO Buffer; } FPNWCONNECTIONINFO_CONTAINER, *PFPNWCONNECTIONINFO_CONTAINER; typedef struct _NWCONNECTIONINFO_CONTAINER { DWORD EntriesRead; [size_is(EntriesRead)] PNWCONNECTIONINFO Buffer; } NWCONNECTIONINFO_CONTAINER, *PNWCONNECTIONINFO_CONTAINER;
typedef struct _FPNWVOLUMECONNINFO_CONTAINER { DWORD EntriesRead; [size_is(EntriesRead)] PFPNWVOLUMECONNINFO Buffer; } FPNWVOLUMECONNINFO_CONTAINER, *PFPNWVOLUMECONNINFO_CONTAINER; typedef struct _NWVOLUMECONNINFO_CONTAINER { DWORD EntriesRead; [size_is(EntriesRead)] PNWVOLUMECONNINFO Buffer; } NWVOLUMECONNINFO_CONTAINER, *PNWVOLUMECONNINFO_CONTAINER;
typedef struct _FPNWFILEINFO_CONTAINER { DWORD EntriesRead; [size_is(EntriesRead)] PFPNWFILEINFO Buffer; } FPNWFILEINFO_CONTAINER, *PFPNWFILEINFO_CONTAINER; typedef struct _NWFILEINFO_CONTAINER { DWORD EntriesRead; [size_is(EntriesRead)] PNWFILEINFO Buffer; } NWFILEINFO_CONTAINER, *PNWFILEINFO_CONTAINER;
// // Internal 2 structure used for passing and/or returning // self-relative security descriptors. //
typedef struct _FPNWVolumeInfo_2_I { [string] LPWSTR lpVolumeName; DWORD dwType; DWORD dwMaxUses; DWORD dwCurrentUses; [string] LPWSTR lpPath; DWORD dwFileSecurityDescriptorLength; [size_is(dwFileSecurityDescriptorLength)] PUCHAR FileSecurityDescriptor; } FPNWVOLUMEINFO_2_I, *PFPNWVOLUMEINFO_2_I;
typedef [switch_type(unsigned long)] union _VOLUME_INFO { // for Get & Set Info [case(1)] FPNWVOLUMEINFO VolumeInfo1; [case(2)] FPNWVOLUMEINFO_2_I VolumeInfo2; [default] ; } VOLUME_INFO, *PVOLUME_INFO, *LPVOLUME_INFO;
// // Function prototype //
DWORD NwrServerGetInfo( [in, string, unique] NCPSVC_HANDLE pServerName, [in] DWORD dwLevel, [out] PFPNWSERVERINFO *ppServerInfo );
DWORD NwrServerSetInfo( [in, string, unique] NCPSVC_HANDLE pServerName, [in] DWORD dwLevel, [in] PFPNWSERVERINFO pServerInfo );
DWORD NwrVolumeAdd( [in, string, unique] NCPSVC_HANDLE pServerName, [in] DWORD dwLevel, [in, switch_is(dwLevel)] LPVOLUME_INFO pVolumeInfo );
DWORD NwrVolumeDel( [in, string, unique] NCPSVC_HANDLE pServerName, [in, string] LPWSTR pVolumeName );
DWORD NwrVolumeEnum( [in, string, unique] NCPSVC_HANDLE pServerName, [in] DWORD dwLevel, [out] PFPNWVOLUMEINFO_CONTAINER pVolumeInfoContainer, [in, out, unique] PDWORD resumeHandle );
DWORD NwrVolumeGetInfo( [in, string, unique] NCPSVC_HANDLE pServerName, [in, string] LPWSTR pVolumeName, [in] DWORD dwLevel, [out, switch_is(dwLevel)] LPVOLUME_INFO *ppVolumeInfo );
DWORD NwrVolumeSetInfo( [in, string, unique] NCPSVC_HANDLE pServerName, [in, string] LPWSTR pVolumeName, [in] DWORD dwLevel, [in, switch_is(dwLevel)] LPVOLUME_INFO pVolumeInfo );
DWORD NwrConnectionEnum( [in, string, unique] NCPSVC_HANDLE pServerName, [in] DWORD dwLevel, [out] PFPNWCONNECTIONINFO_CONTAINER pConnectionInfoContainer, [in, out, unique] PDWORD resumeHandle );
DWORD NwrConnectionDel( [in, string, unique] NCPSVC_HANDLE pServerName, [in] DWORD dwConnectionId );
DWORD NwrVolumeConnEnum( [in, string, unique] NCPSVC_HANDLE pServerName, [in] DWORD dwLevel, [in, string, unique] LPWSTR pVolumeName, [in] DWORD dwConnectionId, [out] PFPNWVOLUMECONNINFO_CONTAINER pVolumeConnInfoContainer, [in, out, unique] PDWORD resumeHandle );
DWORD NwrFileEnum( [in, string, unique] NCPSVC_HANDLE pServerName, [in] DWORD dwLevel, [in, string, unique] LPWSTR pPathName, [out] PFPNWFILEINFO_CONTAINER pFileInfoContainer, [in, out, unique] PDWORD resumeHandle );
DWORD NwrFileClose( [in, string, unique] NCPSVC_HANDLE pServerName, [in] DWORD dwFileId );
DWORD NwrMessageBufferSend( [in, string, unique] NCPSVC_HANDLE pServerName, [in] DWORD dwConnectionId, [in] DWORD fConsoleBroadcast, [in, size_is(cbBuffer)] LPBYTE pbBuffer, [in] DWORD cbBuffer );
DWORD NwrSetDefaultQueue( [in, string, unique] NCPSVC_HANDLE pServerName, [in, string] LPWSTR pQueueName );
DWORD NwrAddPServer( [in, string, unique] NCPSVC_HANDLE pServerName, [in, string] LPWSTR pPServerName );
DWORD NwrRemovePServer( [in, string, unique] NCPSVC_HANDLE pServerName, [in, string] LPWSTR pPServerName );
}
|