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.
420 lines
11 KiB
420 lines
11 KiB
/*++
|
|
|
|
Copyright (c) 1990 Microsoft Corporation
|
|
|
|
Module Name:
|
|
|
|
wkssvc.idl
|
|
|
|
Abstract:
|
|
|
|
Contains the Netr (Net Remote) RPC interface specification for the APIs
|
|
associated with the Workstation service. This includes APIs from the
|
|
following catagories:
|
|
NetWksta
|
|
NetUse
|
|
Also contains the RPC specific data structures for these API.
|
|
|
|
Author:
|
|
|
|
Rita Wong (ritaw) 06-May-1991
|
|
|
|
Environment:
|
|
|
|
User Mode - Win32 - MIDL
|
|
|
|
Revision History:
|
|
|
|
21-Jan-1992 rfirth
|
|
* Removed NET_API_FUNCTION from all interfaces
|
|
--*/
|
|
|
|
//
|
|
// Interface Attributes
|
|
//
|
|
|
|
[
|
|
uuid(6BFFD098-A112-3610-9833-46C3F87E345A),
|
|
version(1.0),
|
|
#ifdef __midl
|
|
ms_union,
|
|
#endif // __midl
|
|
pointer_default(unique)
|
|
]
|
|
|
|
|
|
//
|
|
// Interface Keyword
|
|
//
|
|
|
|
interface wkssvc
|
|
|
|
|
|
//
|
|
// Interface Body
|
|
//
|
|
|
|
{
|
|
|
|
import "imports.idl";
|
|
#include <lmcons.h>
|
|
|
|
//
|
|
// BUGBUG - take this definition out when midl understands LPWSTR etc
|
|
//
|
|
|
|
#ifdef UNICODE
|
|
#define LPTSTR wchar_t*
|
|
#endif
|
|
|
|
|
|
//
|
|
// ---------------------------------------------------------------//
|
|
//
|
|
|
|
|
|
typedef [handle] LPTSTR WKSSVC_IMPERSONATE_HANDLE;
|
|
|
|
typedef [handle] LPTSTR WKSSVC_IDENTIFY_HANDLE;
|
|
|
|
|
|
//
|
|
// Workstation APIs
|
|
//
|
|
|
|
|
|
//
|
|
// NetrWkstaGetInfo and NetrWkstaSetInfo
|
|
//
|
|
typedef [switch_type(unsigned long)] union _WKSTA_INFO {
|
|
[case(100)]
|
|
LPWKSTA_INFO_100 WkstaInfo100;
|
|
[case(101)]
|
|
LPWKSTA_INFO_101 WkstaInfo101;
|
|
[case(102)]
|
|
LPWKSTA_INFO_102 WkstaInfo102;
|
|
[case(1010)]
|
|
LPWKSTA_INFO_1010 WkstaInfo1010;
|
|
[case(1011)]
|
|
LPWKSTA_INFO_1011 WkstaInfo1011;
|
|
[case(1012)]
|
|
LPWKSTA_INFO_1012 WkstaInfo1012;
|
|
[case(1013)]
|
|
LPWKSTA_INFO_1013 WkstaInfo1013;
|
|
[case(1018)]
|
|
LPWKSTA_INFO_1018 WkstaInfo1018;
|
|
[case(1023)]
|
|
LPWKSTA_INFO_1023 WkstaInfo1023;
|
|
[case(1033)]
|
|
LPWKSTA_INFO_1033 WkstaInfo1033;
|
|
[case(1041)]
|
|
LPWKSTA_INFO_1041 WkstaInfo1041;
|
|
[case(1042)]
|
|
LPWKSTA_INFO_1042 WkstaInfo1042;
|
|
[case(1043)]
|
|
LPWKSTA_INFO_1043 WkstaInfo1043;
|
|
[case(1044)]
|
|
LPWKSTA_INFO_1044 WkstaInfo1044;
|
|
[case(1045)]
|
|
LPWKSTA_INFO_1045 WkstaInfo1045;
|
|
[case(1046)]
|
|
LPWKSTA_INFO_1046 WkstaInfo1046;
|
|
[case(1047)]
|
|
LPWKSTA_INFO_1047 WkstaInfo1047;
|
|
[case(1048)]
|
|
LPWKSTA_INFO_1048 WkstaInfo1048;
|
|
[case(1049)]
|
|
LPWKSTA_INFO_1049 WkstaInfo1049;
|
|
[case(1050)]
|
|
LPWKSTA_INFO_1050 WkstaInfo1050;
|
|
[case(1051)]
|
|
LPWKSTA_INFO_1051 WkstaInfo1051;
|
|
[case(1052)]
|
|
LPWKSTA_INFO_1052 WkstaInfo1052;
|
|
[case(1053)]
|
|
LPWKSTA_INFO_1053 WkstaInfo1053;
|
|
[case(1054)]
|
|
LPWKSTA_INFO_1054 WkstaInfo1054;
|
|
[case(1055)]
|
|
LPWKSTA_INFO_1055 WkstaInfo1055;
|
|
[case(1056)]
|
|
LPWKSTA_INFO_1056 WkstaInfo1056;
|
|
[case(1057)]
|
|
LPWKSTA_INFO_1057 WkstaInfo1057;
|
|
[case(1058)]
|
|
LPWKSTA_INFO_1058 WkstaInfo1058;
|
|
[case(1059)]
|
|
LPWKSTA_INFO_1059 WkstaInfo1059;
|
|
[case(1060)]
|
|
LPWKSTA_INFO_1060 WkstaInfo1060;
|
|
[case(1061)]
|
|
LPWKSTA_INFO_1061 WkstaInfo1061;
|
|
[case(1062)]
|
|
LPWKSTA_INFO_1062 WkstaInfo1062;
|
|
[case(502)]
|
|
LPWKSTA_INFO_502 WkstaInfo502;
|
|
[default]
|
|
;
|
|
} WKSTA_INFO, *PWKSTA_INFO, *LPWKSTA_INFO;
|
|
|
|
NET_API_STATUS
|
|
NetrWkstaGetInfo (
|
|
[in,string,unique] WKSSVC_IDENTIFY_HANDLE ServerName,
|
|
[in] DWORD Level,
|
|
[out, switch_is(Level)] LPWKSTA_INFO WkstaInfo
|
|
);
|
|
|
|
NET_API_STATUS
|
|
NetrWkstaSetInfo (
|
|
[in,string,unique] WKSSVC_IDENTIFY_HANDLE ServerName,
|
|
[in] DWORD Level,
|
|
[in, switch_is(Level)] LPWKSTA_INFO WkstaInfo,
|
|
[in,out,unique] LPDWORD ErrorParameter
|
|
);
|
|
|
|
|
|
|
|
//
|
|
// NetrWkstaUserEnum
|
|
//
|
|
typedef struct _WKSTA_USER_INFO_0_CONTAINER {
|
|
DWORD EntriesRead;
|
|
[size_is(EntriesRead)] LPWKSTA_USER_INFO_0 Buffer;
|
|
} WKSTA_USER_INFO_0_CONTAINER, *PWKSTA_USER_INFO_0_CONTAINER,
|
|
*LPWKSTA_USER_INFO_0_CONTAINER;
|
|
|
|
|
|
typedef struct _WKSTA_USER_INFO_1_CONTAINER {
|
|
DWORD EntriesRead;
|
|
[size_is(EntriesRead)] LPWKSTA_USER_INFO_1 Buffer;
|
|
} WKSTA_USER_INFO_1_CONTAINER, *PWKSTA_USER_INFO_1_CONTAINER,
|
|
*LPWKSTA_USER_INFO_1_CONTAINER;
|
|
|
|
typedef struct _WKSTA_USER_ENUM_STRUCT {
|
|
DWORD Level;
|
|
[switch_is(Level)] union _WKSTA_USER_ENUM_UNION {
|
|
[case(0)]
|
|
LPWKSTA_USER_INFO_0_CONTAINER Level0;
|
|
[case(1)]
|
|
LPWKSTA_USER_INFO_1_CONTAINER Level1;
|
|
[default]
|
|
;
|
|
} WkstaUserInfo;
|
|
} WKSTA_USER_ENUM_STRUCT, *PWKSTA_USER_ENUM_STRUCT, *LPWKSTA_USER_ENUM_STRUCT;
|
|
|
|
NET_API_STATUS
|
|
NetrWkstaUserEnum (
|
|
[in,string,unique] WKSSVC_IDENTIFY_HANDLE ServerName,
|
|
[in,out] LPWKSTA_USER_ENUM_STRUCT UserInfo,
|
|
[in] DWORD PreferredMaximumLength,
|
|
[out] LPDWORD TotalEntries,
|
|
[in,out,unique] LPDWORD ResumeHandle
|
|
);
|
|
|
|
|
|
|
|
//
|
|
// NetrWkstaUserGetInfo and NetrWkstaUserSetInfo
|
|
//
|
|
typedef [switch_type(unsigned long)] union _WKSTA_USER_INFO {
|
|
[case(0)]
|
|
LPWKSTA_USER_INFO_0 UserInfo0;
|
|
[case(1)]
|
|
LPWKSTA_USER_INFO_1 UserInfo1;
|
|
[case(1101)]
|
|
LPWKSTA_USER_INFO_1101 UserInfo1101;
|
|
[default]
|
|
;
|
|
} WKSTA_USER_INFO, *PWKSTA_USER_INFO, *LPWKSTA_USER_INFO;
|
|
|
|
NET_API_STATUS
|
|
NetrWkstaUserGetInfo (
|
|
[in,string,unique] WKSSVC_IDENTIFY_HANDLE Reserved,
|
|
[in] DWORD Level,
|
|
[out, switch_is(Level)] LPWKSTA_USER_INFO UserInfo
|
|
);
|
|
|
|
NET_API_STATUS
|
|
NetrWkstaUserSetInfo (
|
|
[in,string,unique] WKSSVC_IDENTIFY_HANDLE Reserved,
|
|
[in] DWORD Level,
|
|
[in, switch_is(Level)] LPWKSTA_USER_INFO UserInfo,
|
|
[in,out,unique] LPDWORD ErrorParameter
|
|
);
|
|
|
|
//
|
|
// NetrWkstaTransportEnum
|
|
//
|
|
typedef struct _WKSTA_TRANSPORT_INFO_0_CONTAINER {
|
|
DWORD EntriesRead;
|
|
[size_is(EntriesRead)] LPWKSTA_TRANSPORT_INFO_0 Buffer;
|
|
} WKSTA_TRANSPORT_INFO_0_CONTAINER, *PWKSTA_TRANSPORT_INFO_0_CONTAINER,
|
|
*LPWKSTA_TRANSPORT_INFO_0_CONTAINER;
|
|
|
|
typedef struct _WKSTA_TRANSPORT_ENUM_STRUCT {
|
|
DWORD Level;
|
|
[switch_is(Level)] union _WKSTA_TRANSPORT_ENUM_UNION {
|
|
[case(0)]
|
|
LPWKSTA_TRANSPORT_INFO_0_CONTAINER Level0;
|
|
[default]
|
|
;
|
|
} WkstaTransportInfo;
|
|
} WKSTA_TRANSPORT_ENUM_STRUCT, *PWKSTA_TRANSPORT_ENUM_STRUCT,
|
|
*LPWKSTA_TRANSPORT_ENUM_STRUCT;
|
|
|
|
NET_API_STATUS
|
|
NetrWkstaTransportEnum (
|
|
[in,string,unique] WKSSVC_IDENTIFY_HANDLE ServerName,
|
|
[in,out] LPWKSTA_TRANSPORT_ENUM_STRUCT TransportInfo,
|
|
[in] DWORD PreferredMaximumLength,
|
|
[out] LPDWORD TotalEntries,
|
|
[in,out,unique] LPDWORD ResumeHandle
|
|
);
|
|
|
|
//
|
|
// NetrWkstaTransportAdd
|
|
//
|
|
NET_API_STATUS
|
|
NetrWkstaTransportAdd (
|
|
[in,string,unique] WKSSVC_IDENTIFY_HANDLE ServerName,
|
|
[in] DWORD Level,
|
|
[in] LPWKSTA_TRANSPORT_INFO_0 TransportInfo,
|
|
[in,out,unique] LPDWORD ErrorParameter
|
|
);
|
|
|
|
//
|
|
// NetrWkstaTransportDel
|
|
//
|
|
NET_API_STATUS
|
|
NetrWkstaTransportDel (
|
|
[in,string,unique] WKSSVC_IDENTIFY_HANDLE ServerName,
|
|
[in,string,unique] LPTSTR TransportName,
|
|
[in] DWORD ForceLevel
|
|
);
|
|
|
|
|
|
|
|
//
|
|
// NetrUseAdd and NetrUseGetInfo
|
|
//
|
|
typedef [switch_type(unsigned long)] union _USE_INFO {
|
|
[case(0)]
|
|
LPUSE_INFO_0 UseInfo0;
|
|
[case(1)]
|
|
LPUSE_INFO_1 UseInfo1;
|
|
[case(2)]
|
|
LPUSE_INFO_2 UseInfo2;
|
|
[case(3)]
|
|
LPUSE_INFO_3 UseInfo3;
|
|
[default]
|
|
;
|
|
} USE_INFO, *PUSE_INFO, *LPUSE_INFO;
|
|
|
|
NET_API_STATUS
|
|
NetrUseAdd (
|
|
[in,string,unique] WKSSVC_IMPERSONATE_HANDLE ServerName,
|
|
[in] DWORD Level,
|
|
[in, switch_is(Level)] LPUSE_INFO InfoStruct,
|
|
[in,out,unique] LPDWORD ErrorParameter
|
|
);
|
|
|
|
NET_API_STATUS
|
|
NetrUseGetInfo (
|
|
[in,string,unique] WKSSVC_IMPERSONATE_HANDLE ServerName,
|
|
[in,string] LPTSTR UseName,
|
|
[in] DWORD Level,
|
|
[out, switch_is(Level)] LPUSE_INFO InfoStruct
|
|
);
|
|
|
|
|
|
|
|
//
|
|
// NetrUseDel
|
|
//
|
|
NET_API_STATUS
|
|
NetrUseDel (
|
|
[in,string,unique] WKSSVC_IMPERSONATE_HANDLE ServerName,
|
|
[in,string] LPTSTR UseName,
|
|
[in] DWORD ForceLevel
|
|
);
|
|
|
|
|
|
//
|
|
// NetrUseEnum
|
|
//
|
|
typedef struct _USE_INFO_0_CONTAINER {
|
|
DWORD EntriesRead;
|
|
[size_is(EntriesRead)] LPUSE_INFO_0 Buffer;
|
|
} USE_INFO_0_CONTAINER, *PUSE_INFO_0_CONTAINER, *LPUSE_INFO_0_CONTAINER;
|
|
|
|
typedef struct _USE_INFO_1_CONTAINER {
|
|
DWORD EntriesRead;
|
|
[size_is(EntriesRead)] LPUSE_INFO_1 Buffer;
|
|
} USE_INFO_1_CONTAINER, *PUSE_INFO_1_CONTAINER, *LPUSE_INFO_1_CONTAINER;
|
|
|
|
typedef struct _USE_INFO_2_CONTAINER {
|
|
DWORD EntriesRead;
|
|
[size_is(EntriesRead)] LPUSE_INFO_2 Buffer;
|
|
} USE_INFO_2_CONTAINER, *PUSE_INFO_2_CONTAINER, *LPUSE_INFO_2_CONTAINER;
|
|
|
|
typedef struct _USE_ENUM_STRUCT {
|
|
DWORD Level;
|
|
[switch_is(Level)] union _USE_ENUM_UNION {
|
|
[case(0)]
|
|
LPUSE_INFO_0_CONTAINER Level0;
|
|
[case(1)]
|
|
LPUSE_INFO_1_CONTAINER Level1;
|
|
[case(2)]
|
|
LPUSE_INFO_2_CONTAINER Level2;
|
|
[default]
|
|
;
|
|
} UseInfo;
|
|
|
|
}USE_ENUM_STRUCT, *PUSE_ENUM_STRUCT, *LPUSE_ENUM_STRUCT;
|
|
|
|
NET_API_STATUS
|
|
NetrUseEnum (
|
|
[in,string,unique] WKSSVC_IDENTIFY_HANDLE ServerName,
|
|
[in,out] LPUSE_ENUM_STRUCT InfoStruct,
|
|
[in] DWORD PreferedMaximumLength,
|
|
[out] LPDWORD TotalEntries,
|
|
[in,out,unique] LPDWORD ResumeHandle
|
|
);
|
|
|
|
//
|
|
// NetrMessageBufferSend
|
|
//
|
|
NET_API_STATUS
|
|
NetrMessageBufferSend (
|
|
[in,string,unique] WKSSVC_IMPERSONATE_HANDLE ServerName,
|
|
[in,string] LPTSTR MessageName,
|
|
[in,string,unique] LPTSTR FromName,
|
|
[in,size_is(MessageSize)] LPBYTE Message,
|
|
[in] DWORD MessageSize
|
|
);
|
|
|
|
NET_API_STATUS
|
|
NetrWorkstationStatisticsGet(
|
|
[in,string,unique] WKSSVC_IDENTIFY_HANDLE ServerName,
|
|
[in,string,unique] LPTSTR ServiceName,
|
|
[in] DWORD Level,
|
|
[in] DWORD Options,
|
|
[out] LPSTAT_WORKSTATION_0* Buffer
|
|
);
|
|
|
|
//
|
|
// I_NetrLogonDomainNameAdd
|
|
//
|
|
NET_API_STATUS
|
|
I_NetrLogonDomainNameAdd(
|
|
[in,string] WKSSVC_IDENTIFY_HANDLE LogonDomain
|
|
);
|
|
|
|
//
|
|
// I_NetrLogonDomainNameDel
|
|
//
|
|
NET_API_STATUS
|
|
I_NetrLogonDomainNameDel(
|
|
[in,string] WKSSVC_IDENTIFY_HANDLE LogonDomain
|
|
);
|
|
}
|