IDataModelScript interface (dbgmodel.h)
An abstraction of a particular script which is being managed by the provider. Each script which is loaded or being edited has a separate IDataModelScript instance.
Any script provider must implement this to represent a script managed by that provider.
Inheritance
IDataModelScript inherits from IUnknown.
Methods
The IDataModelScript interface has these methods.
IDataModelScript::AddRef The IDataModelScript::AddRef method increments the reference count for an interface on an object. |
IDataModelScript::Execute The Execute method executes the content of the script as dictated by the last successful Populate call and modifies the object model of the debugger according to that content. |
IDataModelScript::GetName The GetName method returns the name of the script as an allocated string via the SysAllocString function. |
IDataModelScript::InvokeMain If the script has a "main function" which is intended to execute from a UI invocation, it indicates such via a true return from the IsInvocable method. |
IDataModelScript::IsInvocable The IsInvocable method returns whether or not the script is invocable -- that is, whether it has a "main function" as defined by its language or provider. |
IDataModelScript::Populate The Populate method is called by the client in order to change or synchronize the "content" of the script. |
IDataModelScript::QueryInterface The IDataModelScript::QueryInterface method retrieves pointers to the supported interfaces on an object. |
IDataModelScript::Release The IDataModelScript::Release method decrements the reference count for an interface on an object. |
IDataModelScript::Rename The Rename method assigns a new name to the script. |
IDataModelScript::Unlink The Unlink method undoes the Execute operation. Any object model manipulations or extensibility points established during the execution of the script are undone. |
Remarks
The main interface which manages an individual script that is implemented by the provider is the IDataModelScript interface. A component implementing this interface is returned when the client wishes to create a new blank script and calls the CreateScript method on IDataModelScriptProvider.
Each script which is created by the provider should be in an independent silo. One script should not be able to impact another script except through explicit interaction with external objects via the data model. Two scripts, can for instance, both extend some type or concept (e.g.: the debugger's notion of what a process is). Either script can then access each other's fields via the external process object.
Requirements
Requirement | Value |
---|---|
Header | dbgmodel.h |