//////////////////////////////////////////////////////////// // // Copyright (c) Microsoft Corporation. // // SYNOPSIS // // IDL source for common interfaces. // //////////////////////////////////////////////////////////// #ifndef NAPCOMMON_IDL #define NAPCOMMON_IDL import "NapTypes.idl"; import "unknwn.idl"; // NAP plug-in components (such as SHAs and SHVs) must // implement this interface so that the NAP system can // retrieve static administrative-type information // (eg. friendly name, localized strings, etc.) // [object, uuid(B475F925-E3F7-414c-8C72-1CEE64B9D8F6), pointer_default(unique)] interface INapComponentInfo : IUnknown { // Used to get the friendly name, company name, // version info and icon of health clients. // HRESULT GetFriendlyName([out] MessageId* friendlyName) const; HRESULT GetDescription([out] MessageId* description) const; HRESULT GetVendorName([out] MessageId* vendorName) const; HRESULT GetVersion([out] MessageId* version) const; // The icon should be localized according to the thread // lang-id. HRESULT GetIcon( [out] CountedString** dllFilePath, [out] UINT32* iconResourceId ) const; // Used to convert HRESULT to message id, which can then // be used to retrieve a localized string. // HRESULT ConvertErrorCodeToMessageId( [in] HRESULT errorCode, [out] MessageId* msgId ) const; // Used to get localized strings. Strings should be // localized to the thread's language-id. // HRESULT GetLocalizedString( [in] MessageId msgId, [out] CountedString** string ) const; }; // Currently, implemented by the SHVs only. // [object, uuid(a9e0af1a-3713-478e-ae03-8edd272d21fa), pointer_default(unique)] interface INapComponentConfig : IUnknown { // Used to determine if the component supports // custom UI. // HRESULT IsUISupported([out] BOOL* isSupported) const; // Used to launch the component specific UI // Note:- The call should block until the UI exits // and any updated config is persisted. // HRESULT InvokeUI([in, unique] HWND hwndParent) const; // Used to extract the configuration for // migration purposes // Any versioning information should be part of the // byte blob // HRESULT GetConfig( [out] UINT16* bCount, [out, size_is(, *bCount)] BYTE** data ) const; // Used to set the configuration // HRESULT SetConfig( [in] UINT16 bCount, [in, size_is(bCount)] BYTE* data ); }; #endif // NAPCOMMON_IDL