windows-nt/Source/XPSP1/NT/ds/nw/fpnw/idl/ncpsvc.idl
2020-09-26 16:20:57 +08:00

243 lines
6.1 KiB
Plaintext

/*++
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
);
}