WG_NAMED_INTERFACE is a helper macro for declaring a proprietary interface that contains a name. These interfaces are typically used within other API's for callbacks.
Use the macro WG_PREPARE_NAMED_INTERFACE to initialise an interface declared with WG_NAMED_INTERFACE.
// Declare the interface WG_NAMED_INTERFACE(FileProviderInterface) OpenFileFunc OpenFile; CloseFileFunc CloseFile; }; FileProviderInterface fileProvider; void RegisterFileProvider() { WG_PREPARE_NAMED_INTERFACE(fileProvider, FILE_PROVIDER_UUID, L"My File Provider"); fileProvider.OpenFileFunc = OpenFile; // Our handler functions fileProvider.CloseFileFunc = CloseFile; RegisterFileProvider(fileProvider); // Some API provided by another component } |