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.
hComponentPrivate
Type:
ComponentContextHandle
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
Type:
QueryInitInterfacesFunc
Pointer to the function to query whether the interfaces for the component can be initialised. See Remarks
InitInterfaces
Type:
InitInterfacesFunc
Pointer to the function that initialises the component's interfaces. This will not be called by the framework unless QueryInitInterfaces has returned true;
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: