mirror of https://github.com/tongzx/nt5src
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.
330 lines
6.1 KiB
330 lines
6.1 KiB
/*++
|
|
|
|
Copyright (c) 1996 Microsoft Corporation
|
|
|
|
Module Name:
|
|
|
|
nteapi.h
|
|
|
|
Abstract:
|
|
|
|
Definitions of routines for manipulating dynamic IP Network Table
|
|
Entries (NTEs) and NBT devices (interfaces).
|
|
|
|
Author:
|
|
|
|
Mike Massa (mikemas) 18-Mar-1996
|
|
|
|
Environment:
|
|
|
|
User Mode - Win32
|
|
|
|
Revision History:
|
|
|
|
--*/
|
|
|
|
#ifndef _NTEAPI_INCLUDED_
|
|
#define _NTEAPI_INCLUDED_
|
|
|
|
|
|
//
|
|
// Types
|
|
//
|
|
typedef struct {
|
|
unsigned long Instance;
|
|
IPAddr Address;
|
|
IPMask SubnetMask;
|
|
unsigned long Flags;
|
|
} TCPIP_NTE_INFO, *PTCPIP_NTE_INFO;
|
|
|
|
#define TCPIP_NTE_DYNAMIC 0x00000010
|
|
|
|
|
|
//
|
|
// APIs
|
|
//
|
|
DWORD
|
|
TcpipAddNTE(
|
|
IN LPWSTR AdapterName,
|
|
IN IPAddr Address,
|
|
IN IPMask SubnetMask,
|
|
OUT PULONG NTEContext,
|
|
OUT PULONG NTEInstance
|
|
);
|
|
/*++
|
|
|
|
Routine Description:
|
|
|
|
Adds a new NTE to a specified IP interface. The target IP interface is
|
|
identified by the name of the adapter associated with it.
|
|
|
|
Arguments:
|
|
|
|
AdapterName - A unicode string identifying the adapter/interface to which
|
|
to add the new NTE.
|
|
|
|
Address - The IP address to assign to the new NTE.
|
|
|
|
SubnetMask - The IP subnet mask to assign to the new NTE.
|
|
|
|
NTEContext - On output, contains the context value identifying the new NTE.
|
|
|
|
NTEInstance - On output, contains the instance ID of the new NTE.
|
|
|
|
Return Value:
|
|
|
|
ERROR_SUCCESS if the operation was successful.
|
|
A Windows error code otherwise.
|
|
|
|
--*/
|
|
|
|
|
|
DWORD
|
|
TcpipDeleteNTE(
|
|
IN ULONG NTEContext
|
|
);
|
|
/*++
|
|
|
|
Routine Description:
|
|
|
|
Deletes a specified NTE. The target NTE must have been added using
|
|
TcpipAddNTE.
|
|
|
|
Arguments:
|
|
|
|
NTEContext - The context value identifying the NTE to delete.
|
|
|
|
Return Value:
|
|
|
|
ERROR_SUCCESS if the operation was successful.
|
|
A Windows error code otherwise.
|
|
|
|
--*/
|
|
|
|
|
|
DWORD
|
|
TcpipSetNTEAddress(
|
|
IN DWORD NTEContext,
|
|
IN IPAddr Address,
|
|
IN IPMask SubnetMask
|
|
);
|
|
/*++
|
|
|
|
Routine Description:
|
|
|
|
Sets the address of a specified NTE.
|
|
|
|
Arguments:
|
|
|
|
NTEContext - The context value identifying the target NTE.
|
|
|
|
Address - The IP address to assign to the NTE. Assigning 0.0.0.0
|
|
invalidates the NTE.
|
|
|
|
SubnetMask - The IP subnet mask to assign to the NTE.
|
|
|
|
Return Value:
|
|
|
|
ERROR_SUCCESS if the operation was successful.
|
|
A Windows error code otherwise.
|
|
|
|
--*/
|
|
|
|
|
|
DWORD
|
|
TcpipGetNTEInfo(
|
|
IN ULONG NTEContext,
|
|
OUT PTCPIP_NTE_INFO NTEInfo
|
|
);
|
|
/*++
|
|
|
|
Routine Description:
|
|
|
|
Gathers information about a specified NTE.
|
|
|
|
Arguments:
|
|
|
|
NTEContext - The context value identifying the NTE to query.
|
|
|
|
Return Value:
|
|
|
|
ERROR_SUCCESS if the operation was successful.
|
|
A Windows error code otherwise.
|
|
|
|
--*/
|
|
|
|
|
|
DWORD
|
|
NbtAddInterface(
|
|
OUT LPWSTR DeviceName,
|
|
IN OUT LPDWORD DeviceNameSize,
|
|
OUT PULONG DeviceInstance
|
|
);
|
|
/*++
|
|
|
|
Routine Description:
|
|
|
|
Adds a new NBT interface.
|
|
|
|
Arguments:
|
|
|
|
DeviceName - A unicode string identifying the new NBT interface.
|
|
|
|
DeviceNameSize - On input, the size of theh device name buffer.
|
|
On output, the size of the device name string, or
|
|
the size needed to accomodate the string.
|
|
|
|
DeviceInstance - A pointer to a variable into which to place the
|
|
instance ID associated with the new interface.
|
|
|
|
Return Value:
|
|
|
|
ERROR_SUCCESS if the operation was successful.
|
|
A Windows error code otherwise.
|
|
|
|
--*/
|
|
|
|
|
|
DWORD
|
|
NbtDeleteInterface(
|
|
IN LPWSTR DeviceName
|
|
);
|
|
/*++
|
|
|
|
Routine Description:
|
|
|
|
Deletes an NBT interface.
|
|
|
|
Arguments:
|
|
|
|
DeviceName - A unicode string identifying the target NBT interface.
|
|
|
|
Return Value:
|
|
|
|
ERROR_SUCCESS if the operation was successful.
|
|
A Windows error code otherwise.
|
|
|
|
--*/
|
|
|
|
|
|
DWORD
|
|
NbtBindInterface(
|
|
IN LPWSTR DeviceName,
|
|
IN IPAddr Address,
|
|
IN IPMask SubnetMask
|
|
);
|
|
/*++
|
|
|
|
Routine Description:
|
|
|
|
Binds a specified NBT interface to a specified IP address.
|
|
|
|
Arguments:
|
|
|
|
DeviceName - A unicode string identifying the target NBT interface.
|
|
|
|
Address - The IP address to which bind the interface. Assigning 0.0.0.0
|
|
invalidates the interface.
|
|
|
|
SubnetMask - The subnet mask of the IP interface.
|
|
|
|
Return Value:
|
|
|
|
ERROR_SUCCESS if the operation was successful.
|
|
A Windows error code otherwise.
|
|
|
|
--*/
|
|
|
|
DWORD
|
|
NbtSetWinsAddrInterface(
|
|
IN LPWSTR DeviceName,
|
|
IN IPAddr PrWinsAddress,
|
|
IN IPAddr SecWinsAddress
|
|
);
|
|
/*++
|
|
|
|
Routine Description:
|
|
|
|
Sets the WINS addrs for a given Nbt Interface.
|
|
|
|
Arguments:
|
|
|
|
DeviceName - A unicode string identifying the target NBT interface.
|
|
|
|
PrWinsAddress - Primary WINS addr
|
|
|
|
SecWinsAddress - Secondary WINS addr
|
|
|
|
Return Value:
|
|
|
|
ERROR_SUCCESS if the operation was successful.
|
|
A Windows error code otherwise.
|
|
|
|
--*/
|
|
|
|
DWORD
|
|
NbtGetInterfaceInfo(
|
|
IN LPWSTR DeviceName,
|
|
OUT IPAddr * Address,
|
|
OUT PULONG DeviceInstance
|
|
);
|
|
/*++
|
|
|
|
Routine Description:
|
|
|
|
Returns the IP address to which an NBT interface is bound and the interface
|
|
instance ID.
|
|
|
|
Arguments:
|
|
|
|
DeviceName - A unicode string identifying the target NBT interface.
|
|
|
|
Address - A pointer to the location in which to store the address of the
|
|
interface.
|
|
|
|
DeviceInstance - A pointer to the location in which to store the instance ID
|
|
associated with the interface.
|
|
|
|
Return Value:
|
|
|
|
ERROR_SUCCESS if the operation was successful.
|
|
A Windows error code otherwise.
|
|
|
|
--*/
|
|
|
|
|
|
DWORD
|
|
NbtGetWinsAddresses(
|
|
IN LPWSTR DeviceName,
|
|
OUT IPAddr * PrimaryWinsServer,
|
|
OUT IPAddr * SecondaryWinsServer
|
|
);
|
|
|
|
/*++
|
|
|
|
Routine Description:
|
|
|
|
Returns the addresses of the WINS servers for which the specified device
|
|
is configured.
|
|
|
|
Arguments:
|
|
|
|
DeviceName - A unicode string identifying the target NBT interface.
|
|
|
|
PrimaryWinsServer - A pointer to a variable into which to place the address
|
|
of the primary WINS server.
|
|
|
|
SecondaryWinsServer - A pointer to a variable into which to place the address
|
|
of the primary WINS server.
|
|
|
|
Return Value:
|
|
|
|
ERROR_SUCCESS if the operation was successful.
|
|
A Windows error code otherwise.
|
|
|
|
--*/
|
|
|
|
|
|
#endif // ifndef _NTEAPI_INCLUDED_
|
|
|
|
|