mirror of https://github.com/UMSKT/xpmgr.git
52 lines
2.2 KiB
Plaintext
52 lines
2.2 KiB
Plaintext
import "oaidl.idl";
|
|
import "ocidl.idl";
|
|
|
|
#define MAX_ALIAS_SIZE 256
|
|
#define MAX_FILE_EXTENSION_SIZE 24
|
|
#define MAX_PLUGIN_NAME_SIZE 256
|
|
#define MAX_RESOURCETYPE_SIZE 256
|
|
#define MAX_RESOURCELOCATION_SIZE 256
|
|
#define MAX_RESOURCELOCATION_SIZE 256
|
|
#define MAX_ENDPOINT_SIZE 256
|
|
|
|
// Resource types
|
|
#define RESOURCE_TYPE_APPLICATION 1
|
|
#define RESOURCE_TYPE_DESKTOP 2
|
|
|
|
[
|
|
object,
|
|
uuid(70C04B05-F347-412B-822F-36C99C54CA45),
|
|
helpstring("ItsPubPlugin Interface"),
|
|
pointer_default(unique)
|
|
]
|
|
interface ItsPubPlugin : IUnknown{
|
|
typedef struct {
|
|
WCHAR alias[MAX_ALIAS_SIZE];
|
|
WCHAR name[MAX_PLUGIN_NAME_SIZE];
|
|
[string, unique] WCHAR *resourceFileContents;
|
|
WCHAR fileExtension[MAX_FILE_EXTENSION_SIZE];
|
|
WCHAR resourcePluginType[MAX_PLUGIN_NAME_SIZE];
|
|
boolean isDiscoverable;
|
|
long resourceType;
|
|
unsigned long pceIconSize;
|
|
[size_is(pceIconSize)] byte *iconContents;
|
|
unsigned long pcePluginBlobSize;
|
|
[size_is(pcePluginBlobSize)] byte *blobContents;
|
|
} pluginResource;
|
|
|
|
HRESULT GetResourceList([in] LPCWSTR userID, [out] LONG *pceAppListSize, [out] pluginResource ** resourceList);
|
|
HRESULT GetResource([in] LPCWSTR alias, LONG flags, [out] pluginResource * resource);
|
|
[helpstring("Returns time the cache was last updated in FILETIME format")]
|
|
HRESULT GetCacheLastUpdateTime([out] unsigned long long * lastUpdateTime);
|
|
[propget] HRESULT pluginName([out, retval] BSTR * pVal);
|
|
[propget] HRESULT pluginVersion([out, retval] BSTR * pVal);
|
|
HRESULT ResolveResource(
|
|
[out] DWORD *resourceType,
|
|
[string, out] wchar_t resourceLocation[MAX_RESOURCELOCATION_SIZE],
|
|
[string, out] wchar_t endPointName[MAX_ENDPOINT_SIZE],
|
|
[in, string] wchar_t * userID,
|
|
[in, string] wchar_t * alias
|
|
);
|
|
|
|
};
|