The structure that defines a component within WinGate. Instances of ComponentEntry are passed into calls to wgapi_RegisterComponent
Syntax
Code Block | ||
---|---|---|
| ||
struct ComponentEntry
{
unsigned long dwSize; // size of this structure
WCHAR szUUID[COMPONENT_MAXNAME + 1]; // UUID of the component
WCHAR szName[COMPONENT_MAXNAME + 1]; // display name of the component
unsigned long dwComponentVersion; // version of the component for version checking modules etc
bool bPublic; // is this component public?
HostComponentHandle hHostPrivate; // context handle used by Host to associate with the component
ComponentContextHandle hComponentPrivate; // context handle used by component to associate with the Host
QueryInitInterfacesFunc QueryInitInterfaces; // OPTIONAL: query a component to see if its dependencies for initialisation are met
InitInterfacesFunc InitInterfaces; // OPTIONAL: triggers registration of interfaces, if you have any, you need this
ObtainInterfaceFunc ObtainInterface; // OPTIONAL: requests an interface
NotifyFunc Notify; // OPTIONAL: receives notifications, should be NULL if notifications not required
StartFunc Start; // OPTIONAL: start a component service.
StopFunc Stop; // OPTIONAL: stop a component service
StoreFunc Store; // OPTIONAL: Store a component configuration
LoadFunc Load; // OPTIONAL: Load a component configuration
}; |
Members
Vardef | ||||||
---|---|---|---|---|---|---|
| ||||||
The size in bytes of the ComponentEntry structure. |
Vardef | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
The UUID of the component. |
Vardef | ||||||
---|---|---|---|---|---|---|
| ||||||
The friendly name of the component that's displayed to the user. |
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
Live Template | ||
---|---|---|
|