263 lines
5.9 KiB
Plaintext
263 lines
5.9 KiB
Plaintext
/*++
|
|
|
|
Copyright (c) 1990 Microsoft Corporation
|
|
|
|
Module Name:
|
|
|
|
winsif.idl
|
|
|
|
Abstract:
|
|
|
|
Contains the WINS Server Service API.
|
|
Also contains the RPC specific data structures for these API.
|
|
|
|
Author:
|
|
Pradeep Bahl Apr, 1993
|
|
|
|
Environment:
|
|
|
|
User Mode - Win32 - MIDL
|
|
|
|
Revision History:
|
|
|
|
--*/
|
|
|
|
//
|
|
// Interface Attributes
|
|
//
|
|
|
|
//
|
|
// UUID for the winsif interface. This was generated by uuidgen /i on
|
|
// pradeepb_486 at 10:22 am.
|
|
//
|
|
|
|
[
|
|
|
|
uuid(45F52C28-7F9F-101A-B52B-08002B2EFABE),
|
|
version(1.0),
|
|
#ifdef __midl
|
|
ms_union,
|
|
#endif // __midl
|
|
pointer_default(unique)
|
|
]
|
|
|
|
//
|
|
// Interface Keyword
|
|
//
|
|
|
|
interface winsif
|
|
|
|
|
|
//
|
|
// Interface Body
|
|
//
|
|
|
|
{
|
|
|
|
import "winsimp.idl";
|
|
|
|
//
|
|
// ---------------------------------------------------------------//
|
|
//
|
|
// Note that there are two kinds of handles below. Originally, almost
|
|
// all RPC apis did not take explicit handle as an argument. WinsBind
|
|
// created an implicit handle and the same handle was used for making
|
|
// rpc calls. There were few APIs ( GetBroserName and WinsStatusWHdl)
|
|
// which tool explicit handle as an argument. This handle was a user
|
|
// defined type WINSINTF_BIND_DATA_T.
|
|
//
|
|
// However, this original scheme had fundamental problem that multiple
|
|
// threads could not call the apis simultaneously with binding to different
|
|
// wins servers. (coz there was only one implicit binding common for all
|
|
// the threads )
|
|
//
|
|
// To get around this problem, a new handle was created WINSIF2_HANDLE.
|
|
// The client stubs take this handle as an argument, but to keep the
|
|
// rpc backward compatible, the server apis are kept the same as before.
|
|
// i.e the server side stubs do not take handle as an argument. Since
|
|
// the WINSIF2_HANDLE is defined as handle_t (primitive), it is not
|
|
// passed on the wire and things work out ok. The makefil0 is modified
|
|
// so that the client stubs and the server stubs generate different
|
|
// signatures for the apis. DECLARE_WINS_HANDLE macro does the required
|
|
// trick here.
|
|
//
|
|
// In future, if new APIs need to be added, pls. always pass WINSIF2_HANDLE
|
|
// explicitly to both server and the client side.
|
|
//
|
|
|
|
typedef handle_t WINSIF2_HANDLE;
|
|
typedef [handle] PWINSINTF_BIND_DATA_T WINSIF_HANDLE;
|
|
|
|
|
|
//
|
|
// WINS Server APIs
|
|
//
|
|
|
|
#ifdef WINS_CLIENT_APIS
|
|
#define DECLARE_WINS_HANDLE( _hdl ) [in] WINSIF2_HANDLE _hdl,
|
|
#define DECLARE_WINS_HANDLE0( _hdl ) [in] WINSIF2_HANDLE _hdl
|
|
#else
|
|
#define DECLARE_WINS_HANDLE( _hdl )
|
|
#define DECLARE_WINS_HANDLE0( _hdl )
|
|
#endif WINS_CLIENT_APIS
|
|
|
|
|
|
//
|
|
// APIs to
|
|
//
|
|
|
|
DWORD
|
|
R_WinsRecordAction(
|
|
DECLARE_WINS_HANDLE( ServerHdl )
|
|
[in, out, ref] PWINSINTF_RECORD_ACTION_T *ppRecAction
|
|
);
|
|
|
|
DWORD
|
|
R_WinsStatus(
|
|
DECLARE_WINS_HANDLE( ServerHdl )
|
|
[in] WINSINTF_CMD_E Cmd_e,
|
|
[in, out, ref] PWINSINTF_RESULTS_T pResults
|
|
);
|
|
DWORD
|
|
R_WinsTrigger(
|
|
DECLARE_WINS_HANDLE( ServerHdl )
|
|
[in, ref] PWINSINTF_ADD_T pWinsAdd,
|
|
[in] WINSINTF_TRIG_TYPE_E TrigType_e
|
|
);
|
|
|
|
DWORD
|
|
R_WinsDoStaticInit(
|
|
DECLARE_WINS_HANDLE( ServerHdl )
|
|
[in, unique, string] LPWSTR pDataFilePath,
|
|
[in] DWORD fDel
|
|
);
|
|
|
|
DWORD
|
|
R_WinsDoScavenging(
|
|
DECLARE_WINS_HANDLE0( ServerHdl )
|
|
);
|
|
|
|
DWORD
|
|
R_WinsGetDbRecs(
|
|
DECLARE_WINS_HANDLE( ServerHdl )
|
|
[in, ref] PWINSINTF_ADD_T pWinsAdd,
|
|
[in] WINSINTF_VERS_NO_T MinVersNo,
|
|
[in] WINSINTF_VERS_NO_T MaxVersNo,
|
|
[out] PWINSINTF_RECS_T pRecs
|
|
);
|
|
|
|
DWORD
|
|
R_WinsTerm(
|
|
[in] handle_t ServerHdl,
|
|
[in] short fAbruptTem
|
|
);
|
|
|
|
DWORD
|
|
R_WinsBackup(
|
|
DECLARE_WINS_HANDLE( ServerHdl )
|
|
[in, string, ref] LPBYTE pBackupPath,
|
|
[in] short fIncremental
|
|
);
|
|
DWORD
|
|
R_WinsDelDbRecs(
|
|
DECLARE_WINS_HANDLE( ServerHdl )
|
|
[in, ref] PWINSINTF_ADD_T pWinsAdd,
|
|
[in] WINSINTF_VERS_NO_T MinVersNo,
|
|
[in] WINSINTF_VERS_NO_T MaxVersNo
|
|
);
|
|
|
|
DWORD
|
|
R_WinsPullRange(
|
|
DECLARE_WINS_HANDLE( ServerHdl )
|
|
[in, ref] PWINSINTF_ADD_T pWinsAdd,
|
|
[in, ref] PWINSINTF_ADD_T pOwnerAdd,
|
|
[in] WINSINTF_VERS_NO_T MinVersNo,
|
|
[in] WINSINTF_VERS_NO_T MaxVersNo
|
|
);
|
|
DWORD
|
|
R_WinsSetPriorityClass(
|
|
DECLARE_WINS_HANDLE( ServerHdl )
|
|
[in] WINSINTF_PRIORITY_CLASS_E PrCls_e
|
|
);
|
|
|
|
DWORD
|
|
R_WinsResetCounters(
|
|
DECLARE_WINS_HANDLE0( ServerHdl )
|
|
);
|
|
|
|
|
|
DWORD
|
|
R_WinsWorkerThdUpd(
|
|
DECLARE_WINS_HANDLE( ServerHdl )
|
|
[in] DWORD NewNoOfNbtThds
|
|
);
|
|
|
|
//
|
|
// Keep size_is value > MAX_COMPUTERNAME_LENGTH. Somehow, the idl parser
|
|
// is not liking a symbol here. No time to investigate this more at this
|
|
// time
|
|
//
|
|
DWORD
|
|
R_WinsGetNameAndAdd(
|
|
DECLARE_WINS_HANDLE( ServerHdl )
|
|
[out, ref] PWINSINTF_ADD_T pWinsAdd,
|
|
[out, string, size_is(80)] LPBYTE pUncName
|
|
);
|
|
DWORD
|
|
R_WinsGetBrowserNames_Old(
|
|
DECLARE_WINS_HANDLE( ServerHdl )
|
|
[out] PWINSINTF_BROWSER_NAMES_T pNames
|
|
);
|
|
|
|
DWORD
|
|
R_WinsDeleteWins(
|
|
DECLARE_WINS_HANDLE( ServerHdl )
|
|
[in, ref] PWINSINTF_ADD_T pWinsAdd
|
|
);
|
|
|
|
DWORD
|
|
R_WinsSetFlags(
|
|
DECLARE_WINS_HANDLE( ServerHdl )
|
|
[in] DWORD fFlags
|
|
);
|
|
|
|
DWORD
|
|
R_WinsGetBrowserNames(
|
|
[in, ref] WINSIF_HANDLE ServerHdl,
|
|
[out] PWINSINTF_BROWSER_NAMES_T pNames
|
|
);
|
|
DWORD
|
|
R_WinsGetDbRecsByName(
|
|
DECLARE_WINS_HANDLE( ServerHdl )
|
|
[in, unique] PWINSINTF_ADD_T pWinsAdd,
|
|
[in] DWORD Location,
|
|
[in, unique, size_is(NameLen + 1)] LPBYTE pName,
|
|
[in] DWORD NameLen,
|
|
[in] DWORD NoOfRecsDesired,
|
|
[in] DWORD fOnlyStatic,
|
|
[out] PWINSINTF_RECS_T pRecs
|
|
);
|
|
|
|
DWORD
|
|
R_WinsStatusNew(
|
|
DECLARE_WINS_HANDLE( ServerHdl )
|
|
[in] WINSINTF_CMD_E Cmd_e,
|
|
[out] PWINSINTF_RESULTS_NEW_T pResults
|
|
);
|
|
|
|
DWORD
|
|
R_WinsStatusWHdl(
|
|
[in, ref] WINSIF_HANDLE ServerHdl,
|
|
[in] WINSINTF_CMD_E Cmd_e,
|
|
[in, out, ref] PWINSINTF_RESULTS_NEW_T pResults
|
|
);
|
|
|
|
DWORD
|
|
R_WinsDoScavengingNew(
|
|
DECLARE_WINS_HANDLE( ServerHdl )
|
|
[in, ref] PWINSINTF_SCV_REQ_T pScvReq
|
|
);
|
|
|
|
}
|
|
|