456 lines
9.9 KiB
Plaintext
456 lines
9.9 KiB
Plaintext
|
/*++
|
||
|
|
||
|
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
|
||
|
);
|
||
|
|
||
|
}
|