/*++ 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"; // // ---------------------------------------------------------------// // // // By declaring WINSIF_HANDLE to be handle, we are specifying to rpc that // this can occur as a user-defined or generic handle. The WINSIF_HANDLE_bind // and WINSIF_HANDLE_unbind routines must be provided (are in rpcbind.c). // A parameters with a handle attribute has a double purpose. It is used to // determine the binding of the call and it is transmitted to to the called // procedure as a normal parameter. Thus, if the idl definitions of the // function below has WINSIF_HANDLE as an argument, the client code would // not need to bind to the server. It would be done by default (for each // function call) by the rpc. // // If we pass the following as an argument to one or more stub functions, the // idl compiler will generate the prototype for the WINSIF_HANDLE_bind and // WINSIF_HANDLE_unbind functions. Therefore we would then need to remove // their static declarations from rpcbind.c // typedef [handle] PWINSINTF_BIND_DATA_T WINSIF_HANDLE; //typedef [handle] LPTSTR WINSIF_HANDLE; // // WINS Server APIs // // // APIs to // DWORD R_WinsRecordAction( [in, out, ref] PWINSINTF_RECORD_ACTION_T *ppRecAction ); DWORD R_WinsStatus( [in] WINSINTF_CMD_E Cmd_e, [in, out, ref] PWINSINTF_RESULTS_T pResults ); DWORD R_WinsTrigger( [in, ref] PWINSINTF_ADD_T pWinsAdd, [in] WINSINTF_TRIG_TYPE_E TrigType_e ); DWORD R_WinsDoStaticInit( [in, unique, string] LPWSTR pDataFilePath, [in] DWORD fDel ); DWORD R_WinsDoScavenging( ); DWORD R_WinsGetDbRecs( [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 ClientHdl, [in] short fAbruptTem ); DWORD R_WinsBackup( [in, string, ref] LPBYTE pBackupPath, [in] short fIncremental ); DWORD R_WinsDelDbRecs( [in, ref] PWINSINTF_ADD_T pWinsAdd, [in] WINSINTF_VERS_NO_T MinVersNo, [in] WINSINTF_VERS_NO_T MaxVersNo ); DWORD R_WinsPullRange( [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( [in] WINSINTF_PRIORITY_CLASS_E PrCls_e ); DWORD R_WinsResetCounters( ); DWORD R_WinsWorkerThdUpd( [in] DWORD NewNoOfNbtThds ); DWORD R_WinsGetNameAndAdd( [out, ref] PWINSINTF_ADD_T pWinsAdd, [in, out, string, ref] LPBYTE pUncName ); DWORD R_WinsGetBrowserNames_Old( [out] PWINSINTF_BROWSER_NAMES_T pNames ); DWORD R_WinsDeleteWins( [in, ref] PWINSINTF_ADD_T pWinsAdd ); DWORD R_WinsSetFlags( [in] DWORD fFlags ); DWORD R_WinsGetBrowserNames( [in, ref] WINSIF_HANDLE pWinsHdl, [out] PWINSINTF_BROWSER_NAMES_T pNames ); DWORD R_WinsGetDbRecsByName( [in, unique] PWINSINTF_ADD_T pWinsAdd, [in] DWORD Location, [in, unique, size_is(NameLen)] LPBYTE pName, [in] DWORD NameLen, [in] DWORD NoOfRecsDesired, [in] DWORD fOnlyStatic, [out] PWINSINTF_RECS_T pRecs ); DWORD R_WinsStatusNew( [in] WINSINTF_CMD_E Cmd_e, [out] PWINSINTF_RESULTS_NEW_T pResults ); DWORD R_WinsStatusWHdl( [in, ref] WINSIF_HANDLE pWinsHdl, [in] WINSINTF_CMD_E Cmd_e, [in, out, ref] PWINSINTF_RESULTS_NEW_T pResults ); DWORD R_WinsDoScavengingNew( [in, ref] PWINSINTF_SCV_REQ_T pScvReq ); }