|
|
/********************************************************************/ /** 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 );
}
|