Source code of Windows XP (NT5)
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.
 
 
 
 
 
 

423 lines
14 KiB

/********************************************************************/
/** Copyright(c) 1991 Microsoft Corporation. **/
/********************************************************************/
//***
//
// Filename: dimsvc.idl
//
// Description: Contains the RDimAdmir (DIM Remote) RPC interface
// specification for the API associated with the DIM Service.
// Also contains the RPC specific data structures for
// these APIs.
//
// History: June 11,1995. NarenG Created original version.
//
//
// Interface Attributes
//
[
uuid(8f09f000-b7ed-11ce-bbd2-00001a181cad),
version(0.0),
pointer_default(unique)
]
interface dimsvc
{
import "import.idl";
typedef handle_t DIM_HANDLE;
//
// Generic information container
//
typedef struct _DIM_INFORMATION_CONTAINER
{
DWORD dwBufferSize;
[size_is(dwBufferSize)] LPBYTE pBuffer;
} DIM_INFORMATION_CONTAINER, *PDIM_INFORMATION_CONTAINER;
DWORD
RMprAdminServerGetInfo (
[in] DIM_HANDLE hDimServer,
[in] DWORD dwLevel,
[out] PDIM_INFORMATION_CONTAINER pInfoStruct
);
//
// Connection management APIs
//
DWORD
RRasAdminConnectionEnum (
[in] DIM_HANDLE hDimServer,
[in] DWORD dwLevel,
[in,out] PDIM_INFORMATION_CONTAINER pInfoStruct,
[in] DWORD dwPreferedMaximumLength,
[out] LPDWORD lpdwEntriesRead,
[out] LPDWORD lpdwTotalEntries,
[in,out,unique] LPDWORD lpdwResumeHandle
);
DWORD
RRasAdminConnectionGetInfo (
[in] DIM_HANDLE hDimServer,
[in] DWORD dwLevel,
[in] DWORD hDimConnection,
[out] PDIM_INFORMATION_CONTAINER pInfoStruct
);
DWORD
RRasAdminConnectionClearStats (
[in] DIM_HANDLE hDimServer,
[in] DWORD hDimConnection
);
//
// Port management APIs
//
DWORD
RRasAdminPortEnum (
[in] DIM_HANDLE hDimServer,
[in] DWORD dwLevel,
[in] DWORD hRasConnection,
[in,out] PDIM_INFORMATION_CONTAINER pInfoStruct,
[in] DWORD dwPreferedMaximumLength,
[out] LPDWORD lpdwEntriesRead,
[out] LPDWORD lpdwTotalEntries,
[in,out,unique] LPDWORD lpdwResumeHandle
);
DWORD
RRasAdminPortGetInfo (
[in] DIM_HANDLE hDimServer,
[in] DWORD dwLevel,
[in] DWORD hPort,
[out] PDIM_INFORMATION_CONTAINER pInfoStruct
);
DWORD
RRasAdminPortClearStats (
[in] DIM_HANDLE hDimServer,
[in] DWORD hPort
);
DWORD
RRasAdminPortReset (
[in] DIM_HANDLE hDimServer,
[in] DWORD hPort
);
DWORD
RRasAdminPortDisconnect (
[in] DIM_HANDLE hDimServer,
[in] DWORD hPort
);
//
// Interface management APIs
//
typedef struct _DIM_INTERFACE_CONTAINER
{
DWORD fGetInterfaceInfo;
DWORD dwInterfaceInfoSize;
[size_is(dwInterfaceInfoSize)] LPBYTE pInterfaceInfo;
DWORD fGetGlobalInfo;
DWORD dwGlobalInfoSize;
[size_is(dwGlobalInfoSize)] LPBYTE pGlobalInfo;
} DIM_INTERFACE_CONTAINER, *PDIM_INTERFACE_CONTAINER;
DWORD
RRouterInterfaceTransportSetGlobalInfo(
[in] DIM_HANDLE hDimServer,
[in] DWORD dwTransportId,
[in] PDIM_INTERFACE_CONTAINER pInfoStruct
);
DWORD
RRouterInterfaceTransportGetGlobalInfo(
[in] DIM_HANDLE hDimServer,
[in] DWORD dwTransportId,
[in,out] PDIM_INTERFACE_CONTAINER pInfoStruct
);
DWORD
RRouterInterfaceGetHandle(
[in] DIM_HANDLE hDimServer,
[in,string] LPWSTR lpwsInterfaceName,
[in,out] LPDWORD phInterface,
[in] DWORD fIncludeClientInterfaces
);
DWORD
RRouterInterfaceCreate(
[in] DIM_HANDLE hDimServer,
[in] DWORD dwLevel,
[in] PDIM_INFORMATION_CONTAINER pInfoStruct,
[in,out] LPDWORD phInterface
);
DWORD
RRouterInterfaceGetInfo(
[in] DIM_HANDLE hDimServer,
[in] DWORD dwLevel,
[in,out] PDIM_INFORMATION_CONTAINER pInfoStruct,
[in] DWORD hInterface
);
DWORD
RRouterInterfaceSetInfo(
[in] DIM_HANDLE hDimServer,
[in] DWORD dwLevel,
[in] PDIM_INFORMATION_CONTAINER pInfoStruct,
[in] DWORD hInterface
);
DWORD
RRouterInterfaceDelete(
[in] DIM_HANDLE hDimServer,
[in] DWORD hInterface
);
DWORD
RRouterInterfaceTransportRemove(
[in] DIM_HANDLE hDimServer,
[in] DWORD hInterface,
[in] DWORD dwTransportId
);
DWORD
RRouterInterfaceTransportAdd(
[in] DIM_HANDLE hDimServer,
[in] DWORD hInterface,
[in] DWORD dwTransportId,
[in] PDIM_INTERFACE_CONTAINER pInfoStruct
);
DWORD
RRouterInterfaceTransportGetInfo(
[in] DIM_HANDLE hDimServer,
[in] DWORD hInterface,
[in] DWORD dwTransportId,
[in,out] PDIM_INTERFACE_CONTAINER pInfoStruct
);
DWORD
RRouterInterfaceTransportSetInfo(
[in] DIM_HANDLE hDimServer,
[in] DWORD hInterface,
[in] DWORD dwTransportId,
[in] PDIM_INTERFACE_CONTAINER pInfoStruct
);
DWORD
RRouterInterfaceEnum (
[in] DIM_HANDLE hDimServer,
[in] DWORD dwLevel,
[in,out] PDIM_INFORMATION_CONTAINER pInfoStruct,
[in] DWORD dwPreferedMaximumLength,
[out] LPDWORD lpdwEntriesRead,
[out] LPDWORD lpdwTotalEntries,
[in,out,unique] LPDWORD lpdwResumeHandle
);
DWORD
RRouterInterfaceConnect(
[in] DIM_HANDLE hDimServer,
[in] DWORD hInterface,
[in] ULONG_PTR hEvent,
[in] DWORD fBlocking,
[in] DWORD dwCallersProcessId
);
DWORD
RRouterInterfaceDisconnect(
[in] DIM_HANDLE hDimServer,
[in] DWORD hInterface
);
DWORD
RRouterInterfaceUpdateRoutes(
[in] DIM_HANDLE hDimServer,
[in] DWORD hInterface,
[in] DWORD dwTransportId,
[in] ULONG_PTR hEvent,
[in] DWORD dwClientProcessId
);
DWORD
RRouterInterfaceQueryUpdateResult(
[in] DIM_HANDLE hDimServer,
[in] DWORD hInterface,
[in] DWORD dwTransportId,
[out] LPDWORD pUpdateResult
);
DWORD
RRouterInterfaceUpdatePhonebookInfo(
[in] DIM_HANDLE hDimServer,
[in] DWORD hInterface
);
//
// MIB APIs
//
typedef struct _DIM_MIB_ENTRY_CONTAINER
{
DWORD dwMibInEntrySize;
[size_is(dwMibInEntrySize)] LPBYTE pMibInEntry;
DWORD dwMibOutEntrySize;
[size_is(dwMibOutEntrySize)] LPBYTE pMibOutEntry;
} DIM_MIB_ENTRY_CONTAINER, *PDIM_MIB_ENTRY_CONTAINER;
DWORD
RMIBEntryCreate(
[in] DIM_HANDLE hDimServer,
[in] DWORD dwPid,
[in] DWORD dwRoutingPid,
[in] PDIM_MIB_ENTRY_CONTAINER pInfoStuct
);
DWORD
RMIBEntryDelete(
[in] DIM_HANDLE hDimServer,
[in] DWORD dwPid,
[in] DWORD dwRoutingPid,
[in] PDIM_MIB_ENTRY_CONTAINER pInfoStuct
);
DWORD
RMIBEntrySet(
[in] DIM_HANDLE hDimServer,
[in] DWORD dwPid,
[in] DWORD dwRoutingPid,
[in] PDIM_MIB_ENTRY_CONTAINER pInfoStuct
);
DWORD
RMIBEntryGet(
[in] DIM_HANDLE hDimServer,
[in] DWORD dwPid,
[in] DWORD dwRoutingPid,
[in,out] PDIM_MIB_ENTRY_CONTAINER pInfoStuct
);
DWORD
RMIBEntryGetFirst(
[in] DIM_HANDLE hDimServer,
[in] DWORD dwPid,
[in] DWORD dwRoutingPid,
[in,out] PDIM_MIB_ENTRY_CONTAINER pInfoStuct
);
DWORD
RMIBEntryGetNext(
[in] DIM_HANDLE hDimServer,
[in] DWORD dwPid,
[in] DWORD dwRoutingPid,
[in,out] PDIM_MIB_ENTRY_CONTAINER pInfoStuct
);
DWORD
RMIBGetTrapInfo(
[in] DIM_HANDLE hDimServer,
[in] DWORD dwPid,
[in] DWORD dwRoutingPid,
[in,out] PDIM_MIB_ENTRY_CONTAINER pInfoStuct
);
DWORD
RMIBSetTrapInfo(
[in] DIM_HANDLE hDimServer,
[in] DWORD dwPid,
[in] DWORD dwRoutingPid,
[in] ULONG_PTR hEvent,
[in] DWORD dwCurrentProcessId,
[in,out] PDIM_MIB_ENTRY_CONTAINER pInfoStuct
);
DWORD
RRasAdminConnectionNotification(
[in] DIM_HANDLE hDimServer,
[in] DWORD fRegister,
[in] DWORD dwClientProcessId,
[in] ULONG_PTR hEventNotification
);
DWORD
RRasAdminSendUserMessage(
[in] DIM_HANDLE hDimServer,
[in] DWORD hDimConnection,
[in,string] LPWSTR lpwszMessage
);
DWORD
RRouterDeviceEnum(
[in] DIM_HANDLE hDimServer,
[in] DWORD dwLevel,
[in,out] PDIM_INFORMATION_CONTAINER pInfoStruct,
[in,out] LPDWORD lpdwTotalEntries
);
DWORD
RRouterInterfaceTransportCreate(
[in] DIM_HANDLE hDimServer,
[in] DWORD dwTransportId,
[in,string] LPWSTR lpwsTransportName,
[in] PDIM_INTERFACE_CONTAINER pInfoStruct,
[in,string] LPWSTR lpwsDLLPath
);
DWORD
RRouterInterfaceDeviceGetInfo(
[in] DIM_HANDLE hDimServer,
[in] DWORD dwLevel,
[in,out] PDIM_INFORMATION_CONTAINER pInfoStruct,
[in] DWORD dwIndex,
[in] DWORD hInterface
);
DWORD
RRouterInterfaceDeviceSetInfo(
[in] DIM_HANDLE hDimServer,
[in] DWORD dwLevel,
[in] PDIM_INFORMATION_CONTAINER pInfoStruct,
[in] DWORD dwIndex,
[in] DWORD hInterface
);
DWORD
RRouterInterfaceSetCredentialsEx(
[in] DIM_HANDLE hDimServer,
[in] DWORD dwLevel,
[in] PDIM_INFORMATION_CONTAINER pInfoStruct,
[in] DWORD hInterface
);
DWORD
RRouterInterfaceGetCredentialsEx(
[in] DIM_HANDLE hDimServer,
[in] DWORD dwLevel,
[in,out] PDIM_INFORMATION_CONTAINER pInfoStruct,
[in] DWORD hInterface
);
}