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 56 Next »

The structure that defines a component within WinGate. You pass a pointer to a ComponentEntry object to RegisterComponent in order to register your component with the host (WMC or WinGate Engine).

Structure

 

Members

dwSize
Type: unsigned long
The size in bytes of the ComponentEntry structure.
guid
Type: GUID
The UUID 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
Used by the framework internally. Do not modify.
hComponentPrivate
A space for some private data to be stored by your component for access in functions that pass you a ComponentEntry * such as Notify and InitInterfaces among others.
QueryInitInterfaces
Pointer to the function to query whether the interfaces for the component can be initialised. See Remarks
InitInterfaces
Pointer to the function that initialises the component's interfaces. This will not be called by the framework unless QueryInitInterfaces has returned true;
ObtainInterface
Undocumented
Notify
Type: NotifyFunc
Pointer to the function that receives notifications from the framework.
Start
Type: StartFunc
Starts the component
Stop
Type: StopFunc
Stops the component
Store
Type: StoreFunc
Instructs the component that it needs to store its configuration.
Load
Type: LoadFunc
Instructs the component that it needs to refresh its configuration.

 

Remarks

Before a component has its interfaces initialised by a call to InitInterfaces, QueryInitInterfaces 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