Page tree
Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 40 Next »

The structure that defines a component within WinGate.  Instances of ComponentEntry are passed into calls to wgapi_RegisterComponent

Syntax

 

 

Members

dwSize
Type: unsigned long
The size in bytes of the ComponentEntry structure.
szUUID
Type: WCHAR
The null-terminated UUID string of the component.
szName
Type: WCHAR
The null-terminated name of the component that's displayed to the user.
dwComponentVersion
Type: unsigned long
The version number of the component. This value is displayed in the Modules panel inside the WinGate Management Console.
bPublic
Type: bool
Specifies whether this component is public. Public components will notify other modules of their existence via their own ComponentEntry.Notify callback.
hHostPrivate
 
hComponentPrivate

Handle used by a component to associate itself with the host framework. You typically set this to the address of your own ComponentEntry.

Pointer to the function to query whether the interfaces for the component can be initialised. See Remarks
Pointer to the function that initialises the component's interfaces. This will not be called by the framework unless QueryInitInterfaces has returned true;
TODO: What is this?
Type: NotifyFunc
Pointer to the function that receives notifications from the framework.
Type: StartFunc
Starts the component
Type: StopFunc
Stops the component
Type: StoreFunc
Instructs the component that it needs to store its configuration.
Type: LoadFunc
Instructs the component that it needs to refresh its configuration.

 

 

Remarks

Before a component has its interfaces initialised by a call to InitInterfacesQueryInitInterfaces is called to see whether it is ready. A component can use this to wait until all components it is dependent on have had their interfaces initialised first. The general flow if component interface initialisation is as follows:

Requirements

See Also

QueryInitInterfaces

  • No labels