xpmgr/BuildTools/Include/vdshpcm.idl

73 lines
2.1 KiB
Plaintext

//+---------------------------------------------------------------------------
//
// Microsoft Windows
// Copyright (C) Microsoft Corporation, 2000
//
// File: vdshpcm.idl
//
// Abstract:
// declarations of interfaces that are exposed by hardware providers to
// the common layer, but not exposed through the common layer.
//
// IVdsOwnershipChangeQuery is also implemented by service and exposed
// to software providers.
//
//----------------------------------------------------------------------------
interface IVdsHwProviderPrivate;
interface IVdsHwProviderPrivateMpio;
//
// IVdsHwProviderPrivate:
// Implemented by: provider object
// Implemented where: hardware providers
// Accessed by: common layer
//
[
object,
uuid(98f17bf3-9f33-4f12-8714-8b4075092c2e),
pointer_default(unique)
]
interface IVdsHwProviderPrivate : IUnknown
{
// QueryIfOwnLun:
// This method tells the service if the provider owns the disk. The
// service passes in the disk's device interface. If the method
// returns S_OK, the provider owns this disk; otherwise, it returns
// S_FALSE. The provider pass back the disk id to the service.
[helpstring("method QueryIfOwnLun")]
HRESULT QueryIfCreatedLun(
[in,string] LPWSTR pwszDevicePath,
[in] VDS_LUN_INFORMATION *pVdsLunInformation,
[out] VDS_OBJECT_ID *pLunId
);
}
//
// IVdsHwProviderPrivateMpio:
// This interface is to add the ability to set HBA port status in a provider
// for a class implementing the IVdsHwProviderPrivate interface. This is
// needed to support MPIO.
// Implemented by: provider object
// Implemented where: non-iSCSI hardware providers supporting MPIO
// Accessed by: common layer
//
[
object,
uuid(310a7715-ac2b-4c6f-9827-3d742f351676),
pointer_default(unique)
]
interface IVdsHwProviderPrivateMpio : IUnknown
{
[helpstring("method SetAllPathStatusesFromHbaPort")]
HRESULT SetAllPathStatusesFromHbaPort(
[in] VDS_HBAPORT_PROP hbaPortProp,
[in] VDS_PATH_STATUS status
);
}