You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
212 lines
5.9 KiB
212 lines
5.9 KiB
//+-------------------------------------------------------------------------
|
|
//
|
|
// Microsoft Windows
|
|
// Copyright (C) Microsoft Corporation, 2000.
|
|
//
|
|
// File:
|
|
// partitions.idl
|
|
//
|
|
// Contents:
|
|
// Definition of interfaces for partitions.
|
|
//
|
|
// History:
|
|
// SteveJam 01-22-2000 Created
|
|
//
|
|
//--------------------------------------------------------------------------
|
|
|
|
|
|
#ifndef DO_NO_IMPORTS
|
|
import "objidl.idl";
|
|
#endif
|
|
|
|
|
|
// some existing interfaces consolidated here from CLBCatQ.idl (COM+) and cat_int.idl (ole32)
|
|
|
|
|
|
// IUserToken: interface on user token object
|
|
[
|
|
object,
|
|
local,
|
|
pointer_default(unique),
|
|
uuid(000001FC-0000-0000-C000-000000000046)
|
|
]
|
|
interface IUserToken : IUnknown
|
|
{
|
|
HRESULT GetUserClassesRootKey ([out] HKEY *phKey);
|
|
HRESULT ReleaseUserClassesRootKey (void);
|
|
HRESULT GetUserSid ([out] BYTE **ppSid, [out] USHORT *pcbSid);
|
|
HRESULT GetUserToken ([out] HANDLE* phToken);
|
|
};
|
|
|
|
|
|
// IPartitionProperty: interface on partition object and partition context property
|
|
[
|
|
object,
|
|
local,
|
|
pointer_default(unique),
|
|
uuid(000001F2-0000-0000-C000-000000000046)
|
|
]
|
|
interface IPartitionProperty : IUnknown
|
|
{
|
|
HRESULT GetPartitionID([out] GUID* pGuid);
|
|
HRESULT SetPartitionID([in] GUID* pGuid);
|
|
}
|
|
|
|
|
|
// IPartitionLookup: interface on catalog object for local partition lookup and validation
|
|
[
|
|
object,
|
|
local,
|
|
pointer_default(unique),
|
|
uuid(000001F8-0000-0000-C000-000000000046)
|
|
]
|
|
interface IPartitionLookup : IUnknown
|
|
{
|
|
HRESULT GetDefaultPartitionForUser ([out] IPartitionProperty** ppPartitionProperty);
|
|
HRESULT IsPartitionValidForUser ([in] GUID* pguidPartitionId, [out] BOOL* pfIsPartitionValid);
|
|
HRESULT GetDefaultPartitionForUserByToken ([in] IUserToken *pUserToken, [out] IPartitionProperty** ppPartitionProperty);
|
|
HRESULT IsPartitionValidForUserByToken ([in] IUserToken *pUserToken, [in] GUID* pguidPartitionId, [out] BOOL* pfIsPartitionValid);
|
|
HRESULT IsLocalStoreEnabled([out] BOOL *pfEnabled);
|
|
HRESULT IsDSLookupEnabled([out] BOOL *pfEnabled);
|
|
}
|
|
|
|
|
|
// IReplaceClassInfo: interface on activators to get replacement class info
|
|
[
|
|
object,
|
|
local,
|
|
pointer_default(unique),
|
|
uuid(000001FB-0000-0000-C000-000000000046)
|
|
]
|
|
interface IReplaceClassInfo : IUnknown
|
|
{
|
|
HRESULT GetClassInfo ([in] REFGUID guidConfiguredClsid, [in] REFIID riid, [out] void** ppv);
|
|
}
|
|
|
|
|
|
// IGetCatalogObject: interface on act props to get the catalog
|
|
[
|
|
object,
|
|
local,
|
|
pointer_default(unique),
|
|
uuid(000001FE-0000-0000-C000-000000000046)
|
|
]
|
|
interface IGetCatalogObject : IUnknown
|
|
{
|
|
HRESULT GetCatalogObject ([in] REFIID riid, [out] void** ppv);
|
|
}
|
|
|
|
|
|
// IComCatalogInternal: Required interface on catalog object.
|
|
[
|
|
object,
|
|
local,
|
|
pointer_default(unique),
|
|
uuid(a6304910-4115-11d2-8133-0060089f5fed)
|
|
]
|
|
interface IComCatalogInternal : IUnknown
|
|
{
|
|
HRESULT GetClassInfo ([in] IUserToken *pUserToken,
|
|
[in] REFGUID guidConfiguredClsid,
|
|
[in] REFIID riid,
|
|
[out] void** ppv,
|
|
[in] void* pvReserved);
|
|
|
|
HRESULT GetApplicationInfo ([in] IUserToken *pUserToken,
|
|
[in] REFGUID guidApplId,
|
|
[in] REFIID riid,
|
|
[out] void** ppv,
|
|
[in] void* pvReserved);
|
|
|
|
HRESULT GetProcessInfo ([in] IUserToken *pUserToken,
|
|
[in] REFGUID guidProcess,
|
|
[in] REFIID riid,
|
|
[out] void** ppv,
|
|
[in] void* pvReserved);
|
|
|
|
HRESULT GetServerGroupInfo ([in] IUserToken *pUserToken,
|
|
[in] REFGUID guidServerGroup,
|
|
[in] REFIID riid,
|
|
[out] void** ppv,
|
|
[in] void* pvReserved);
|
|
|
|
HRESULT GetRetQueueInfo ([in] IUserToken *pUserToken,
|
|
[in,string] WCHAR* wszFormatName,
|
|
[in] REFIID riid,
|
|
[out] void** ppv,
|
|
[in] void* pvReserved);
|
|
|
|
HRESULT GetApplicationInfoForExe ([in] IUserToken *pUserToken,
|
|
[in,string] WCHAR* pwszExeName,
|
|
[in] REFIID riid,
|
|
[out] void** ppv,
|
|
[in] void* pvReserved);
|
|
|
|
HRESULT GetTypeLibrary ([in] IUserToken *pUserToken,
|
|
[in] REFGUID guidTypeLib,
|
|
[in] REFIID riid,
|
|
[out] void** ppv,
|
|
[in] void* pvReserved);
|
|
|
|
HRESULT GetInterfaceInfo ([in] IUserToken *pUserToken,
|
|
[in] REFIID iidInterface,
|
|
[in] REFIID riid,
|
|
[out] void** ppv,
|
|
[in] void* pComCatalog);
|
|
|
|
|
|
HRESULT FlushCache();
|
|
|
|
HRESULT GetClassInfoFromProgId ([in] IUserToken *pUserToken,
|
|
[in] WCHAR *pwszProgID,
|
|
[in] REFIID riid,
|
|
[out] void **ppv,
|
|
[in] void* pComCatalog);
|
|
};
|
|
|
|
|
|
// IComCatalog2Internal: interface on catalog object for partition and application queries
|
|
[
|
|
object,
|
|
local,
|
|
pointer_default(unique),
|
|
uuid(3310dab4-edc0-4ce9-8a9c-8fea2980fd89)
|
|
]
|
|
interface IComCatalog2Internal : IUnknown
|
|
{
|
|
HRESULT GetClassInfoByPartition ([in] IUserToken *pUserToken, [in] REFGUID guidConfiguredClsid,
|
|
[in] REFGUID guidPartitionId, [in] REFIID riid, [out] void** ppv, [in] void* pComCatalog);
|
|
|
|
HRESULT GetClassInfoByApplication ([in] IUserToken *pUserToken, [in] REFGUID guidConfiguredClsid,
|
|
[in] REFGUID guidPartitionId, [in] REFGUID guidApplId, [in] REFIID riid, [out] void** ppv, [in] void* pComCatalog);
|
|
}
|
|
|
|
|
|
// IComCatalogLocation: interface for notifying catalogs of their location (i.e., in SCM or not)
|
|
[
|
|
object,
|
|
local,
|
|
pointer_default(unique),
|
|
uuid(fae51051-9887-47f2-af44-7392bf90039b)
|
|
]
|
|
interface IComCatalogLocation : IUnknown
|
|
{
|
|
HRESULT SetCatalogLocation ([in] BOOL bInSCM);
|
|
HRESULT GetCatalogLocation ([out] BOOL* pbInSCM);
|
|
}
|
|
|
|
|
|
// ICacheControl: debugging interface on some cachable objects
|
|
[
|
|
object,
|
|
local,
|
|
pointer_default(unique),
|
|
uuid(59a47420-0094-11d2-bbf7-0060089f5fed)
|
|
]
|
|
interface ICacheControl : IUnknown
|
|
{
|
|
ULONG CacheAddRef(void);
|
|
ULONG CacheRelease(void);
|
|
}
|
|
|
|
|