243 lines
6.1 KiB
Plaintext
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
|
|
);
|
|
|
|
}
|