Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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

Syntax

 

Code Block
languagecpp
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

 

Remarks

Anchor
Remarks
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