// Copyright (c) 1997-1999 Microsoft Corporation // Win32LogicalDisk.odl : type library source for ActiveX Control project. // //********************************************************************* // QueryNeedsSave // // Query to determine whether the currently selected object has // been modified and needs to be saved. If the object has been // modified, it can be saved by calling "SaveData". // // // Parameters: // None. // // Returns: // long // TRUE if there is something that needs to be saved. // //********************************************************************* // AddContextRef // // Increment the reference count for the specified context handle. // // Parameters: // [out] long lCtxtHandle // The context handle. // // Returns: // long // S_OK if the reference count was successfully incremented, // a failure code otherwise. // //********************************************************************* // ReleaseContext // // Decrement the reference count for the specified context handle. // // Parameters: // [out] long lCtxtHandle // The context handle. // // Returns: // long // S_OK if the reference count was successfully decremented, // a failure code otherwise. // //********************************************************************* // RestoreContext // // Restore the state of this custom view control to the previously saved // context. // // Parameters: // long lCtxtHandle // This is the handle of the context to restore to. // // Returns: // long // S_OK if the view's context could be restored, a failure code // otherwise. // //********************************************************************* // GetContext // // Take a snapshot of the current state of this custom view control, // save the state in a context object and return a handle to the // context object. The intial reference count to the context object // will be one. The context object will be deleted when its reference // count is decremented to zero. // // Parameters: // [out] long FAR* plCtxtHandle // This is a pointer to the place to return the context // handle. // // Returns: // long // S_OK if the context was returned successfully, E_FAIL // if not. // //********************************************************************* // GetEditMode // // Get the current state of the edit mode flag. // // Parameters: // None. // // Returns: // long // 0 if the view's data is for browsing only. // 1 if the view's data can be edited. // //********************************************************************* // SetEditMode // // Set the view's edit mode flag. // // Parameters: // [in] long lMode // 0 if the view's data is for browsing only. // 1 if the view's data can be edited. // // Returns: // Nothing. // //********************************************************************* // RefreshView // // This method causes the contents of the view to be re-loaded from // the database. // // Parameters: // None. // // Returns: // long // S_OK if successful, a failure code if some error occurred. // //********************************************************************* // SaveData // // Save changes to current object. // // Parameters: // None // // Returns: // long // S_OK if successful, otherwise a failure code. // //********************************************************************* // SelectObjectByPath // // Select the specified object. // // Parameters: // [in] BSTR szObjectPath // The WBEM object path. // // Returns: // long if the object is selected, a failure code // otherwise. // //********************************************************************* // ExternInstanceCreated // // The container calls this method whenever it creates a new CIMOM // object instance. This allows a custom view to easily reflect the // existance of the new object if desired. // // Parameters: // [in] BSTR szObjectPath // The WBEM object path. // // Returns: // Nothing. // //********************************************************************* // ExternInstanceDeleted // // The container calls this method whenever it deletes a CIMOM // object instance. This allows a custom view to easily reflect the // non-existance of the specified object if desired. // // Parameters: // [in] BSTR szObjectPath // The WBEM object path. // // Returns: // Nothing. // //********************************************************************* //_____________________________________________________________________ /////////////////////////////////////////////////////////////////////// //////////////////// EVENTS /////////////////////////////////////////// /////////////////////////////////////////////////////////////////////// //_____________________________________________________________________ //********************************************************************* // JumpToMultipleInstanceView // // The custom view fires this event to request that a multiple instance // view of an array of object should be displayed. // // Parameters: // [in] BSTR szTitle // The title to be displayed for the multiple instances. // // [in] VARIANT varPathArray // An array of WBEM object paths. // // Returns: // Nothing. // //********************************************************************* // NotifyContextChanged // // Custom views fire this event when the current context changes. This may // result in the container calling the custom view to get the current context // so that it can be restored later. // // Parameters: // None. // // Returns: // Nothing. // //********************************************************************* // NotifySaveRequired // // The custom view fires this event when the current object is modified. // // Parameters: // None. // // Returns: // Nothing. // //********************************************************************* // NotifyViewModified // // A custom view fires this event when the view is modified in some // way that changes its state, but not necessarily in a way that // requires the current object to be saved. // // Parameters: // None. // // Returns: // Nothing. // //********************************************************************* // GetIWbemServices // // A custom view fires this event to get the IWbemServices pointer for // a given namespace. The container must catch this event and return // the requested IWbemServices pointer. // // Parameters: // BSTR szNamespace // The custom view passes the requested namespace to the container via this // parameter. // // VARIANT* pvarUpdatePointer // // VARIANT* pvarServices // // VARIANT* pvarSc // // VARIANT* pvarUserCancel // //*************************************************************************** // This file will be processed by the Make Type Library (mktyplib) tool to // produce the type library (Win32LogicalDisk.tlb) that will become a resource in // Win32LogicalDisk.ocx. #include #include [ uuid(D5FF1882-0191-11D2-853D-00C04FD7BB08), version(1.0), helpfile("Win32LogicalDisk.hlp"), helpstring("Win32LogicalDisk ActiveX Control module"), control ] library WIN32LOGICALDISKLib { importlib(STDOLE_TLB); importlib(STDTYPE_TLB); // Primary dispatch interface for CWin32LogicalDiskCtrl [ uuid(D5FF1884-0191-11D2-853D-00C04FD7BB08), helpstring("Dispatch interface for Win32LogicalDisk Control"), hidden ] dispinterface _DWin32LogicalDisk { properties: // NOTE - ClassWizard will maintain property information here. // Use extreme caution when editing this section. //{{AFX_ODL_PROP(CWin32LogicalDiskCtrl) [id(1)] BSTR NameSpace; //}}AFX_ODL_PROP methods: // NOTE - ClassWizard will maintain method information here. // Use extreme caution when editing this section. //{{AFX_ODL_METHOD(CWin32LogicalDiskCtrl) [id(2)] long QueryNeedsSave(); [id(3)] long AddContextRef(long lCtxtHandle); [id(4)] long GetContext(long* plCtxthandle); [id(5)] long GetEditMode(); [id(6)] void ExternInstanceCreated(BSTR szObjectPath); [id(7)] void ExternInstanceDeleted(BSTR szObjectPath); [id(8)] long RefreshView(); [id(9)] long ReleaseContext(long lCtxtHandle); [id(10)] long RestoreContext(long lCtxtHandle); [id(11)] long SaveData(); [id(12)] void SetEditMode(long lMode); [id(13)] long SelectObjectByPath(BSTR szObjectPath); //}}AFX_ODL_METHOD [id(DISPID_ABOUTBOX)] void AboutBox(); }; // Event dispatch interface for CWin32LogicalDiskCtrl [ uuid(D5FF1885-0191-11D2-853D-00C04FD7BB08), helpstring("Event interface for Win32LogicalDisk Control") ] dispinterface _DWin32LogicalDiskEvents { properties: // Event interface has no properties methods: // NOTE - ClassWizard will maintain event information here. // Use extreme caution when editing this section. //{{AFX_ODL_EVENT(CWin32LogicalDiskCtrl) [id(1)] void JumpToMultipleInstanceView(BSTR szTitle, VARIANT varPathArray); [id(2)] void NotifyContextChanged(); [id(3)] void NotifySaveRequired(); [id(4)] void NotifyViewModified(); [id(5)] void GetIWbemServices(BSTR szNamespace, VARIANT* pvarUpdatePointer, VARIANT* pvarServices, VARIANT* pvarSc, VARIANT* pvarUserCancel); [id(6)] void RequestUIActive(); //}}AFX_ODL_EVENT }; // Class information for CWin32LogicalDiskCtrl [ uuid(D5FF1886-0191-11D2-853D-00C04FD7BB08), helpstring("Win32LogicalDisk Control"), control ] coclass Win32LogicalDisk { [default] dispinterface _DWin32LogicalDisk; [default, source] dispinterface _DWin32LogicalDiskEvents; }; //{{AFX_APPEND_ODL}} //}}AFX_APPEND_ODL}} };