mirror of https://github.com/lianthony/NT4.0
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.
173 lines
4.4 KiB
173 lines
4.4 KiB
/*++
|
|
|
|
Copyright (c) 1996 Microsoft Corporation
|
|
|
|
Module Name:
|
|
|
|
NETDFS.IDL
|
|
|
|
Abstract:
|
|
|
|
Contains the Netr (Net Remote) RPC interface specification for the
|
|
API associated with the Dfs Manager Service. This includes the following
|
|
APIs:
|
|
|
|
NetDfsEnum
|
|
|
|
Also contains the RPC specific data structures for these API.
|
|
|
|
Author:
|
|
|
|
Milan Shah (milans) 08-Jan-1996
|
|
|
|
Environment:
|
|
|
|
User Mode - Win32 - MIDL
|
|
|
|
Revision History:
|
|
|
|
08-Jan-1996 Milans Created.
|
|
|
|
--*/
|
|
|
|
|
|
//
|
|
// Interface Attributes
|
|
//
|
|
|
|
[
|
|
uuid(4fc742e0-4a10-11cf-8273-00aa004ae673),
|
|
version(3.0),
|
|
#ifdef __midl
|
|
ms_union,
|
|
#endif // __midl
|
|
pointer_default(unique)
|
|
]
|
|
|
|
|
|
interface netdfs
|
|
|
|
{
|
|
|
|
import "import.idl";
|
|
#include <lmcons.h>
|
|
|
|
//
|
|
// Data structures used by the public Dfs interface
|
|
//
|
|
|
|
typedef struct _DFS_INFO_1_CONTAINER {
|
|
DWORD EntriesRead;
|
|
[size_is(EntriesRead)] LPDFS_INFO_1 Buffer;
|
|
} DFS_INFO_1_CONTAINER, *LPDFS_INFO_1_CONTAINER;
|
|
|
|
typedef struct _DFS_INFO_2_CONTAINER {
|
|
DWORD EntriesRead;
|
|
[size_is(EntriesRead)] LPDFS_INFO_2 Buffer;
|
|
} DFS_INFO_2_CONTAINER, *LPDFS_INFO_2_CONTAINER;
|
|
|
|
typedef struct _DFS_INFO_3_CONTAINER {
|
|
DWORD EntriesRead;
|
|
[size_is(EntriesRead)] LPDFS_INFO_3 Buffer;
|
|
} DFS_INFO_3_CONTAINER, *LPDFS_INFO_3_CONTAINER;
|
|
|
|
typedef struct _DFS_INFO_ENUM_STRUCT {
|
|
DWORD Level;
|
|
[switch_is(Level)] union {
|
|
[case(1)]
|
|
LPDFS_INFO_1_CONTAINER DfsInfo1Container;
|
|
[case(2)]
|
|
LPDFS_INFO_2_CONTAINER DfsInfo2Container;
|
|
[case(3)]
|
|
LPDFS_INFO_3_CONTAINER DfsInfo3Container;
|
|
} DfsInfoContainer;
|
|
} DFS_INFO_ENUM_STRUCT, *LPDFS_INFO_ENUM_STRUCT;
|
|
|
|
typedef [switch_type(unsigned long)] union _DFS_INFO_STRUCT {
|
|
[case(1)]
|
|
LPDFS_INFO_1 DfsInfo1;
|
|
[case(2)]
|
|
LPDFS_INFO_2 DfsInfo2;
|
|
[case(3)]
|
|
LPDFS_INFO_3 DfsInfo3;
|
|
[case(100)]
|
|
LPDFS_INFO_100 DfsInfo100;
|
|
[case(101)]
|
|
LPDFS_INFO_101 DfsInfo101;
|
|
[default]
|
|
;
|
|
} DFS_INFO_STRUCT, *LPDFS_INFO_STRUCT;
|
|
|
|
//
|
|
// Data structures are used by the private Dfs Manager interface
|
|
//
|
|
|
|
typedef struct _DFSM_ENTRY_ID {
|
|
GUID idSubordinate;
|
|
[string, unique] LPWSTR wszSubordinate;
|
|
} DFSM_ENTRY_ID, *LPDFSM_ENTRY_ID;
|
|
|
|
typedef struct _DFSM_RELATION_INFO {
|
|
DWORD cSubordinates;
|
|
[size_is(cSubordinates)] DFSM_ENTRY_ID eid[];
|
|
} DFSM_RELATION_INFO, *LPDFSM_RELATION_INFO;
|
|
|
|
//
|
|
// The public Dfs interface methods
|
|
//
|
|
|
|
DWORD NetrDfsManagerGetVersion();
|
|
|
|
NET_API_STATUS NetrDfsAdd(
|
|
[in,string] LPWSTR DfsEntryPath,
|
|
[in,string] LPWSTR ServerName,
|
|
[in,unique,string] LPWSTR ShareName,
|
|
[in,unique,string] LPWSTR Comment,
|
|
[in] DWORD Flags);
|
|
|
|
NET_API_STATUS NetrDfsRemove(
|
|
[in,string] LPWSTR DfsEntryPath,
|
|
[in,unique,string] LPWSTR ServerName,
|
|
[in,unique,string] LPWSTR ShareName);
|
|
|
|
NET_API_STATUS NetrDfsSetInfo(
|
|
[in,string] LPWSTR DfsEntryPath,
|
|
[in,unique,string] LPWSTR ServerName,
|
|
[in,unique,string] LPWSTR ShareName,
|
|
[in] DWORD Level,
|
|
[in,switch_is(Level)] LPDFS_INFO_STRUCT DfsInfo);
|
|
|
|
NET_API_STATUS NetrDfsGetInfo(
|
|
[in,string] LPWSTR DfsEntryPath,
|
|
[in,unique,string] LPWSTR ServerName,
|
|
[in,unique,string] LPWSTR ShareName,
|
|
[in] DWORD Level,
|
|
[out,switch_is(Level)] LPDFS_INFO_STRUCT DfsInfo);
|
|
|
|
NET_API_STATUS NetrDfsEnum(
|
|
[in] DWORD Level,
|
|
[in] DWORD PrefMaxLen,
|
|
[in,out,unique] LPDFS_INFO_ENUM_STRUCT DfsEnum,
|
|
[in,out,unique] LPDWORD ResumeHandle);
|
|
|
|
NET_API_STATUS NetrDfsMove(
|
|
[in,string] LPWSTR DfsEntryPath,
|
|
[in,string] LPWSTR NewDfsEntryPath);
|
|
|
|
NET_API_STATUS NetrDfsRename(
|
|
[in,string] LPWSTR Path,
|
|
[in,string] LPWSTR NewPath);
|
|
|
|
//
|
|
// The private Dfs Manager methods
|
|
//
|
|
|
|
NET_API_STATUS NetrDfsManagerGetConfigInfo(
|
|
[in, string] LPWSTR wszServer,
|
|
[in, string] LPWSTR wszLocalVolumeEntryPath,
|
|
[in] GUID idLocalVolume,
|
|
[in, out, unique] LPDFSM_RELATION_INFO *ppRelationInfo);
|
|
|
|
}
|
|
|
|
|