/*++ Copyright(c) 1996 Microsoft Corporation Module Name: rasrpc.idl Abstract: Author: Anthony Discolo (adiscolo) 20-Aug-1996 --*/ [ uuid(20610036-fa22-11cf-9823-00a0c911e5df), version(1.0) ] interface rasrpc { import "imports.idl"; // // rasman.dll entry points // typedef DWORD RASRPC_HPORT; DWORD RasRpcPortEnum( [in] handle_t h, [in, out, unique, size_is(*pwcbPorts)] PBYTE pPorts, [in, out, ref] PWORD pwcbPorts, [in, out, ref] PWORD pwcPorts ); DWORD RasRpcDeviceEnum( [in] handle_t h, [in, string] PCHAR pszDeviceType, [in, out, unique, size_is(*pwcbDevices)] PBYTE pDevices, [in, out, ref] PWORD pwcbDevices, [in, out, ref] PWORD pwcDevices ); DWORD RasRpcGetDevConfig( [in] handle_t h, [in] RASRPC_HPORT hPort, [in, string] PCHAR pszDeviceType, [in, out, unique, size_is(*pdwcbConfig)] PBYTE pConfig, [in, out, ref] PDWORD pdwcbConfig ); DWORD RasRpcPortGetInfo( [in] handle_t h, [in] RASRPC_HPORT hPort, [in, out, unique, size_is(*pSize)] PBYTE buffer, [in, out, ref] PWORD pSize); // // rasapi32.dll entry points // typedef DWORD RASRPC_HRASCONN; #define RASRPC_MaxEntryName 256 #define RASRPC_MaxPortName 16 #define RASRPC_MaxDeviceName 128 #define RASRPC_MaxPhoneNumber 128 #define RASRPC_MAX_PATH 260 DWORD RasRpcEnumConnections( [in] handle_t h, [in, out, unique, size_is(dwcbBufSize)] LPBYTE lprasconn, [in, out, ref] LPDWORD lpdwcb, [in, out, ref] LPDWORD lpdwc, [in] DWORD dwcbBufSize ); DWORD RasRpcDeleteEntry( [in] handle_t h, [in, string] LPWSTR lpszPhonebook, [in, string] LPWSTR lpszEntry ); DWORD RasRpcGetErrorString( [in] handle_t h, [in] UINT uErrorValue, [in, out, unique, size_is(cbBuf)] LPWSTR lpszBuf, [in] DWORD cbBuf ); DWORD RasRpcGetCountryInfo( [in] handle_t h, [in, out, unique, size_is(*lpdwcbCountryInfo)] LPBYTE lpCountryInfo, [in, out, ref] LPDWORD lpdwcbCountryInfo ); // // nouiutil.lib entry points // typedef struct _RASRPC_CALLBACKLIST { WCHAR pszPortName[RASRPC_MaxPortName + 1]; WCHAR pszDeviceName[RASRPC_MaxDeviceName + 1]; WCHAR pszNumber[RASRPC_MaxPhoneNumber + 1]; DWORD dwDeviceType; [unique] struct _RASRPC_CALLBACKLIST *pNext; } RASRPC_CALLBACKLIST, *LPRASRPC_CALLBACKLIST; typedef struct _RASRPC_STRINGLIST { WCHAR psz[256]; [unique] struct _RASRPC_STRINGLIST *pNext; } RASRPC_STRINGLIST, *LPRASRPC_STRINGLIST; typedef struct _RASRPC_LOCATIONLIST { DWORD dwLocationId; DWORD iPrefix; DWORD iSuffix; [unique] struct _RASRPC_LOCATIONLIST *pNext; } RASRPC_LOCATIONLIST, *LPRASRPC_LOCATIONLIST; typedef struct _RASRPC_PBUSER { BOOL fOperatorDial; BOOL fPreviewPhoneNumber; BOOL fUseLocation; BOOL fShowLights; BOOL fShowConnectStatus; BOOL fCloseOnDial; BOOL fAllowLogonPhonebookEdits; BOOL fAllowLogonLocationEdits; BOOL fSkipConnectComplete; BOOL fNewEntryWizard; DWORD dwRedialAttempts; DWORD dwRedialSeconds; DWORD dwIdleDisconnectSeconds; BOOL fRedialOnLinkFailure; BOOL fPopupOnTopWhenRedialing; BOOL fExpandAutoDialQuery; DWORD dwCallbackMode; [unique] LPRASRPC_CALLBACKLIST pCallbacks; WCHAR pszLastCallbackByCaller[RASRPC_MaxPhoneNumber + 1]; DWORD dwPhonebookMode; WCHAR pszPersonalFile[RASRPC_MAX_PATH]; WCHAR pszAlternatePath[RASRPC_MAX_PATH]; [unique] LPRASRPC_STRINGLIST pPhonebooks; [unique] LPRASRPC_STRINGLIST pAreaCodes; BOOL fUseAreaAndCountry; [unique] LPRASRPC_STRINGLIST pPrefixes; [unique] LPRASRPC_STRINGLIST pSuffixes; [unique] LPRASRPC_LOCATIONLIST pLocations; DWORD dwXPhonebook; DWORD dwYPhonebook; WCHAR pszDefaultEntry[RASRPC_MaxEntryName + 1]; BOOL fInitialized; BOOL fDirty; } RASRPC_PBUSER, *LPRASRPC_PBUSER; DWORD RasRpcGetInstalledProtocols( [in] handle_t h ); DWORD RasRpcGetUserPreferences( [in] handle_t h, [in, out] LPRASRPC_PBUSER pUser, [in] DWORD dwMode ); DWORD RasRpcSetUserPreferences( [in] handle_t h, [in] LPRASRPC_PBUSER pUser, [in] DWORD dwMode ); // // kernel32.dll entry points // UINT RasRpcGetSystemDirectory( [in] handle_t h, [in, out, string, size_is(uSize)] LPWSTR lpBuffer, [in] UINT uSize ); DWORD RasRpcSubmitRequest ( [in] handle_t h, [in, out, unique, size_is(dwcbBufSize)] PBYTE pReqBuffer, [in] DWORD dwcbBufSize ); DWORD RasRpcGetInstalledProtocolsEx( [in] handle_t h, [in] BOOL fRouter, [in] BOOL fRasCli, [in] BOOL fRasSrv ); DWORD RasRpcGetVersion( [in] handle_t h, [in, out, ref] LPDWORD pdwVersion ); };