|
|
/*++
Copyright (c) 1994 Microsoft Corporation
Module Name:
dhcpsrv.idl
Abstract:
Contains the DHCP Server Service API. Also contains the RPC specific data structures for these API.
Author:
Madan Appiah (madana) 10-Sep-1993
Environment:
User Mode - Win32 - MIDL
Revision History:
Cheng Yang (t-cheny) 12-Jun-1996 superscope Cheng Yang (t-cheny) 17-Jul-1996 vendor specific information
Notes:
Do not change this interface!!! The stub code produced by this interface has been hand modified and checked in to fix bug #66798. If you need to add new functions, create a v2 interface. See #66798 for details.
--*/
// // Interface Attributes //
[ uuid(6BFFD098-A112-3610-9833-46C3F874532D), version(1.0), pointer_default(unique) ]
// // Interface Keyword //
interface dhcpsrv
// // Interface Body //
{
import "imports.idl";
// // ---------------------------------------------------------------// //
typedef [handle] LPWSTR DHCP_SRV_HANDLE;
// // DHCP Server APIs //
// // Subnet APIs //
DWORD R_DhcpCreateSubnet( [in, unique, string] DHCP_SRV_HANDLE ServerIpAddress, [in] DHCP_IP_ADDRESS SubnetAddress, [in, ref] LPDHCP_SUBNET_INFO SubnetInfo );
DWORD R_DhcpSetSubnetInfo( [in, unique, string] DHCP_SRV_HANDLE ServerIpAddress, [in] DHCP_IP_ADDRESS SubnetAddress, [in, ref] LPDHCP_SUBNET_INFO SubnetInfo );
DWORD R_DhcpGetSubnetInfo( [in, unique, string] DHCP_SRV_HANDLE ServerIpAddress, [in] DHCP_IP_ADDRESS SubnetAddress, [out] LPDHCP_SUBNET_INFO *SubnetInfo );
DWORD R_DhcpEnumSubnets( [in, unique, string] DHCP_SRV_HANDLE ServerIpAddress, [in, out] DHCP_RESUME_HANDLE *ResumeHandle, [in] DWORD PreferredMaximum, [out] LPDHCP_IP_ARRAY *EnumInfo, [out] DWORD *ElementsRead, [out] DWORD *ElementsTotal );
DWORD R_DhcpAddSubnetElement( [in, unique, string] DHCP_SRV_HANDLE ServerIpAddress, [in] DHCP_IP_ADDRESS SubnetAddress, [in, ref] LPDHCP_SUBNET_ELEMENT_DATA AddElementInfo );
DWORD R_DhcpEnumSubnetElements( [in, unique, string] DHCP_SRV_HANDLE ServerIpAddress, [in] DHCP_IP_ADDRESS SubnetAddress, [in] DHCP_SUBNET_ELEMENT_TYPE EnumElementType, [in, out] DHCP_RESUME_HANDLE *ResumeHandle, [in] DWORD PreferredMaximum, [out] LPDHCP_SUBNET_ELEMENT_INFO_ARRAY *EnumElementInfo, [out] DWORD *ElementsRead, [out] DWORD *ElementsTotal );
DWORD R_DhcpRemoveSubnetElement( [in, unique, string] DHCP_SRV_HANDLE ServerIpAddress, [in] DHCP_IP_ADDRESS SubnetAddress, [in, ref] LPDHCP_SUBNET_ELEMENT_DATA RemoveElementInfo, [in] DHCP_FORCE_FLAG ForceFlag );
DWORD R_DhcpDeleteSubnet( [in, unique, string] DHCP_SRV_HANDLE ServerIpAddress, [in] DHCP_IP_ADDRESS SubnetAddress, [in] DHCP_FORCE_FLAG ForceFlag );
// // Option APIs //
DWORD R_DhcpCreateOption( [in, unique, string] DHCP_SRV_HANDLE ServerIpAddress, [in] DHCP_OPTION_ID OptionID, [in, ref] LPDHCP_OPTION OptionInfo );
DWORD R_DhcpSetOptionInfo( [in, unique, string] DHCP_SRV_HANDLE ServerIpAddress, [in] DHCP_OPTION_ID OptionID, [in, ref] LPDHCP_OPTION OptionInfo );
DWORD R_DhcpGetOptionInfo( [in, unique, string] DHCP_SRV_HANDLE ServerIpAddress, [in] DHCP_OPTION_ID OptionID, [out] LPDHCP_OPTION *OptionInfo );
DWORD R_DhcpRemoveOption( [in, unique, string] DHCP_SRV_HANDLE ServerIpAddress, [in] DHCP_OPTION_ID OptionID );
DWORD R_DhcpSetOptionValue( [in, unique, string] DHCP_SRV_HANDLE ServerIpAddress, [in] DHCP_OPTION_ID OptionID, [in, ref] LPDHCP_OPTION_SCOPE_INFO ScopeInfo, [in, ref] LPDHCP_OPTION_DATA OptionValue );
DWORD R_DhcpGetOptionValue( [in, unique, string] DHCP_SRV_HANDLE ServerIpAddress, [in] DHCP_OPTION_ID OptionID, [in, ref] LPDHCP_OPTION_SCOPE_INFO ScopeInfo, [out] LPDHCP_OPTION_VALUE *OptionValue );
DWORD R_DhcpEnumOptionValues( [in, unique, string] DHCP_SRV_HANDLE ServerIpAddress, [in, ref] LPDHCP_OPTION_SCOPE_INFO ScopeInfo, [in, out] DHCP_RESUME_HANDLE *ResumeHandle, [in] DWORD PreferredMaximum, [out] LPDHCP_OPTION_VALUE_ARRAY *OptionValues, [out] DWORD *OptionsRead, [out] DWORD *OptionsTotal );
DWORD R_DhcpRemoveOptionValue( [in, unique, string] DHCP_SRV_HANDLE ServerIpAddress, [in] DHCP_OPTION_ID OptionID, [in, ref] LPDHCP_OPTION_SCOPE_INFO ScopeInfo );
// // Client APIs //
DWORD R_DhcpCreateClientInfo( [in, unique, string] DHCP_SRV_HANDLE ServerIpAddress, [in, ref] LPDHCP_CLIENT_INFO ClientInfo );
DWORD R_DhcpSetClientInfo( [in, unique, string] DHCP_SRV_HANDLE ServerIpAddress, [in, ref] LPDHCP_CLIENT_INFO ClientInfo );
DWORD R_DhcpGetClientInfo( [in, unique, string] DHCP_SRV_HANDLE ServerIpAddress, [in, ref] LPDHCP_SEARCH_INFO SearchInfo, [out] LPDHCP_CLIENT_INFO *ClientInfo );
DWORD R_DhcpDeleteClientInfo( [in, unique, string] DHCP_SRV_HANDLE ServerIpAddress, [in, ref] LPDHCP_SEARCH_INFO ClientInfo );
DWORD R_DhcpEnumSubnetClients( [in, unique, string] DHCP_SRV_HANDLE ServerIpAddress, [in] DHCP_IP_ADDRESS SubnetAddress, [in, out] DHCP_RESUME_HANDLE *ResumeHandle, [in] DWORD PreferredMaximum, [out] LPDHCP_CLIENT_INFO_ARRAY *ClientInfo, [out] DWORD *ClientsRead, [out] DWORD *ClientsTotal );
DWORD R_DhcpGetClientOptions( [in, unique, string] DHCP_SRV_HANDLE ServerIpAddress, [in] DHCP_IP_ADDRESS ClientIpAddress, [in] DHCP_IP_MASK ClientSubnetMask, [out] LPDHCP_OPTION_LIST *ClientOptions );
DWORD R_DhcpGetMibInfo( [in, unique, string] DHCP_SRV_HANDLE ServerIpAddress, [out] LPDHCP_MIB_INFO *MibInfo );
DWORD R_DhcpEnumOptions( [in, unique, string] DHCP_SRV_HANDLE ServerIpAddress, [in, out] DHCP_RESUME_HANDLE *ResumeHandle, [in] DWORD PreferredMaximum, [out] LPDHCP_OPTION_ARRAY *Options, [out] DWORD *OptionsRead, [out] DWORD *OptionsTotal );
DWORD R_DhcpSetOptionValues( [in, unique, string] DHCP_SRV_HANDLE ServerIpAddress, [in, ref] LPDHCP_OPTION_SCOPE_INFO ScopeInfo, [in, ref] LPDHCP_OPTION_VALUE_ARRAY OptionValues );
DWORD R_DhcpServerSetConfig( [in, unique, string] DHCP_SRV_HANDLE ServerIpAddress, [in] DWORD FieldsToSet, [in, ref] LPDHCP_SERVER_CONFIG_INFO ConfigInfo );
DWORD R_DhcpServerGetConfig( [in, unique, string] DHCP_SRV_HANDLE ServerIpAddress, [out] LPDHCP_SERVER_CONFIG_INFO *ConfigInfo );
DWORD R_DhcpScanDatabase( [in, unique, string] DHCP_SRV_HANDLE ServerIpAddress, [in] DHCP_IP_ADDRESS SubnetAddress, [in] DWORD FixFlag, [out] LPDHCP_SCAN_LIST *ScanList );
DWORD R_DhcpGetVersion( [in, unique, string] DHCP_SRV_HANDLE ServerIpAddress, [out] LPDWORD MajorVersion, [out] LPDWORD MinorVersion );
#ifdef VENDOR_SPECIFIC_OPTIONS_ENABLED
DWORD R_DhcpSetOptionValueForVendor( [in, unique, string] DHCP_SRV_HANDLE ServerIpAddress, [in] DHCP_OPTION_ID OptionID, [in, ref] LPDHCP_OPTION_SCOPE_INFO ScopeInfo, [in, ref] LPWSTR VendorName, [in, ref] LPDHCP_OPTION_DATA OptionValue );
DWORD R_DhcpGetOptionValueForVendor( [in, unique, string] DHCP_SRV_HANDLE ServerIpAddress, [in] DHCP_OPTION_ID OptionID, [in, ref] LPDHCP_OPTION_SCOPE_INFO ScopeInfo, [in, ref] LPWSTR VendorName, [out] LPDHCP_OPTION_VALUE *OptionValue );
#endif
// // NT4 SP1 interface //
// // new subnet interface //
DWORD R_DhcpAddSubnetElementV4( [in, unique, string] DHCP_SRV_HANDLE ServerIpAddress, [in] DHCP_IP_ADDRESS SubnetAddress, [in, ref] LPDHCP_SUBNET_ELEMENT_DATA_V4 AddElementInfo );
DWORD R_DhcpEnumSubnetElementsV4( [in, unique, string] DHCP_SRV_HANDLE ServerIpAddress, [in] DHCP_IP_ADDRESS SubnetAddress, [in] DHCP_SUBNET_ELEMENT_TYPE EnumElementType, [in, out] DHCP_RESUME_HANDLE *ResumeHandle, [in] DWORD PreferredMaximum, [out] LPDHCP_SUBNET_ELEMENT_INFO_ARRAY_V4 *EnumElementInfo, [out] DWORD *ElementsRead, [out] DWORD *ElementsTotal );
DWORD R_DhcpRemoveSubnetElementV4( [in, unique, string] DHCP_SRV_HANDLE ServerIpAddress, [in] DHCP_IP_ADDRESS SubnetAddress, [in, ref] LPDHCP_SUBNET_ELEMENT_DATA_V4 RemoveElementInfo, [in] DHCP_FORCE_FLAG ForceFlag );
// // Client APIs //
DWORD R_DhcpCreateClientInfoV4( [in, unique, string] DHCP_SRV_HANDLE ServerIpAddress, [in, ref] LPDHCP_CLIENT_INFO_V4 ClientInfo );
DWORD R_DhcpSetClientInfoV4( [in, unique, string] DHCP_SRV_HANDLE ServerIpAddress, [in, ref] LPDHCP_CLIENT_INFO_V4 ClientInfo );
DWORD R_DhcpGetClientInfoV4( [in, unique, string] DHCP_SRV_HANDLE ServerIpAddress, [in, ref] LPDHCP_SEARCH_INFO SearchInfo, [out] LPDHCP_CLIENT_INFO_V4 *ClientInfo );
DWORD R_DhcpEnumSubnetClientsV4( [in, unique, string] DHCP_SRV_HANDLE ServerIpAddress, [in] DHCP_IP_ADDRESS SubnetAddress, [in, out] DHCP_RESUME_HANDLE *ResumeHandle, [in] DWORD PreferredMaximum, [out] LPDHCP_CLIENT_INFO_ARRAY_V4 *ClientInfo, [out] DWORD *ClientsRead, [out] DWORD *ClientsTotal );
// // Superscope support //
DWORD R_DhcpSetSuperScopeV4( [in, unique, string] DHCP_SRV_HANDLE ServerIpAddress, [in] DHCP_IP_ADDRESS SubnetAddress, [in, unique, string] WCHAR *SuperScopeName, [in] BOOL ChangeExisting );
DWORD R_DhcpGetSuperScopeInfoV4( [in, unique, string] DHCP_SRV_HANDLE ServerIpAddress, [out] LPDHCP_SUPER_SCOPE_TABLE *SuperScopeTable );
DWORD R_DhcpDeleteSuperScopeV4( [in, unique, string] DHCP_SRV_HANDLE ServerIpAddress, [in, ref, string] WCHAR *SuperScopeName );
// // Global configuration //
DWORD R_DhcpServerSetConfigV4( [in, unique, string] DHCP_SRV_HANDLE ServerIpAddress, [in] DWORD FieldsToSet, [in, ref] LPDHCP_SERVER_CONFIG_INFO_V4 ConfigInfo );
DWORD R_DhcpServerGetConfigV4( [in, unique, string] DHCP_SRV_HANDLE ServerIpAddress, [out] LPDHCP_SERVER_CONFIG_INFO_V4 *ConfigInfo );
}
|