📄 platman_idl.inc
字号:
HRESULT AddProperty
(
[in] BSTR pszLinkName,
[in, defaultvalue("")] BSTR bstrPropId,
[out, retval] IPMProperty **ppiProperty
);
[id(6), helpstring("Delete a property based on a GUID")]
HRESULT DeleteProperty
(
[in] BSTR bstrPropId
);
[id(7), helpstring("Enum all the devices within this platform")]
HRESULT EnumDevices
(
[out, retval] IEnumVariant **ppiEnumDevice
);
[id(8), helpstring("Get a device based on a GUID or a Name")]
HRESULT GetDevice
(
[in] BSTR bstrDeviceIdOrName,
[out, retval] IPMRemoteDevice **ppiRemoteDevice
);
[id(9), helpstring("Add a device based on a optional GUID and a Name")]
HRESULT AddDevice
(
[in] BSTR bstrName,
[in, defaultvalue("")] BSTR bstrDeviceId,
[out, retval] IPMRemoteDevice **ppiDevice
);
[id(10), helpstring("Delete a device based on a GUID or a Name")]
HRESULT DeleteDevice
(
[in] BSTR bstrDeviceIdOrName
);
[id(11), helpstring("Enumeration of associated CPUs with this platform")]
HRESULT EnumCPUs
(
[out, retval] IEnumVariant **ppiEnumCPU
);
[id(12), helpstring("Get a CPU based on GUID or a Name")]
HRESULT GetCPU
(
[in] BSTR bstrCPUIdOrName,
[out, retval] IPMCPU **ppiCPU
);
[id(13), helpstring("Associate an existing CPU with this platform")]
HRESULT AddCPU
(
[in] BSTR bstrIdOrName,
[out, retval] IPMCPU **ppiCPU
);
[id(14), helpstring("Delete an association of a CPU with this platform based on a GUID or a Name")]
HRESULT DeleteCPU
(
[in] BSTR bstrCPUIdOrName
);
[id(15), helpstring("Get a OS based on a GUID or a Name")]
HRESULT GetOS
(
[out, retval] IPMOS **ppiOS
);
[id(16), helpstring("Associate an existing OS with this platform")]
HRESULT AddOS
(
[in] BSTR bstrIdOrName,
[out, retval] IPMOS **ppiOS
);
[id(17), helpstring("Delete an association of an OS with this platform")]
HRESULT DeleteOS
(
);
[id(18), helpstring("Enumeration of Packages")]
HRESULT EnumPackages
(
[out, retval] IEnumVariant **ppiEnumPackage
);
[id(19), helpstring("Get a package based on a GUID or a Name")]
HRESULT GetPackage
(
[in] BSTR bstrPackageIdOrName,
[out, retval] IPMPackage **ppiPackage
);
[id(20), helpstring("Add a new Package to this platform based on a optional GUID and a Name")]
HRESULT AddPackage
(
[in] BSTR bstrPackageName,
[in, defaultvalue("")] BSTR bstrPackageId,
[out, retval] IPMPackage **ppiPackage
);
[id(21), helpstring("Delete a particular package based on a GUID or a Name")]
HRESULT DeletePackage
(
[in] BSTR bstrPackageIdOrName
);
[id(22), helpstring("Enumeration of startup servers")]
HRESULT EnumStartupServers
(
[out, retval] IEnumVariant **ppiEnumStartupServer
);
[id(23), helpstring("Get a startup server based on a GUID or a Name")]
HRESULT GetStartupServer
(
[in] BSTR bstrStartupServerIdOrName,
[out, retval] IPMStartupServerInfo **ppiStartupServer
);
[id(24), helpstring("Add a startup server to this platform based on a optional GUID, name, and default options")]
HRESULT AddStartupServer
(
[in] BSTR bstrStartupServerId,
[in, defaultvalue(TRUE)] VARIANT_BOOL bDefault,
[out, retval] IPMStartupServerInfo** ppiStartupServer
);
[id(25), helpstring("Delete a particular startup server based on a GUID or a Name")]
HRESULT DeleteStartupServer
(
[in] BSTR bstrStartupServerIdOrName
);
[id(26), helpstring("Enumeration of transports")]
HRESULT EnumTransports
(
[out, retval] IEnumVariant **ppiEnumTransport
);
[id(27), helpstring("Get a transport for this platform based on a GUID or a Name")]
HRESULT GetTransport
(
[in] BSTR bstrTransportIdOrName,
[out, retval] IPMTransportInfo **ppiTransport
);
[id(28), helpstring("Add a Transport based on a optional GUID, name, and default options")]
HRESULT AddTransport
(
[in] BSTR bstrTransportId,
[in, defaultvalue(TRUE)] VARIANT_BOOL bDefault,
[out, retval] IPMTransportInfo** ppiTransport
);
[id(29), helpstring("Delete a particular transport in this platform based on a GUID or a Name")]
HRESULT DeleteTransport
(
[in] BSTR bstrTransportIdOrName
);
[id(30), helpstring("Get the major and minor version of the OS")]
HRESULT GetOSInfo
(
[out] VARIANT* pwMajorVersion,
[out] VARIANT* pwMinorVersion
);
[propget, id(31), helpstring("Get the corresponding universal sdk guid")]
HRESULT UniversalSDK
(
[out, retval] BSTR *pbstrUniversalSDKGuid
);
[propput, id(31), helpstring("Set the corresponding universal sdk guid")]
HRESULT UniversalSDK
(
[in] BSTR bstrUniversalSDKGuid
);
[propget, id(32), helpstring("Get the Remote Dbg Directory property value")]
HRESULT RemoteDbgDirectory
(
[out, retval] BSTR *pbstrRemoteDbgDirectory
);
};
// Automation version of IRemoteDevice
[
object,
uuid(BCDAA3C8-E342-4DC0-A127-192780E4244B),
dual,
helpstring("IRemoteDevice dual Interface"),
pointer_default(unique)
]
interface IPMRemoteDevice : IDispatch
{
[propget, id(1), helpstring("Get this device GUID")]
HRESULT Id
(
[out, retval] BSTR *pbstrDeviceId
);
[propget, id(2), helpstring("Get this device name")]
HRESULT Name
(
[out, retval] BSTR *pbstrDeviceName
);
[propput, id(2), helpstring("Set this device name")]
HRESULT Name
(
[in] BSTR bstrName
);
[propget, id(3), helpstring("Get startup server for this device")]
HRESULT StartupServer
(
[out, retval] BSTR *pbstrStartupServerId
);
[propput, id(3), helpstring("Set startup server for this device")]
HRESULT StartupServer
(
[in] BSTR bstrStartupServerId
);
[propget, id(4), helpstring("Get Transport for this device")]
HRESULT Transport
(
[out, retval] BSTR *pbstrTransportId
);
[propput, id(4), helpstring("Set Transport for this device")]
HRESULT Transport
(
[in] BSTR bstrTransportId
);
[id(5), helpstring("Enumeration of the properties")]
HRESULT EnumProperties
(
[out, retval] IEnumVariant **ppiEnumProperty
);
[id(6), helpstring("Get a property based on a GUID")]
HRESULT GetProperty
(
[in] BSTR bstrPropId,
[out, retval] IPMProperty **ppiProperty
);
[id(7), helpstring("Add a property based on a optional GUID and a LinkName")]
HRESULT AddProperty
(
[in] BSTR bstrLinkName,
[in, defaultvalue("")] BSTR bstrPropId,
[out, retval] IPMProperty **ppiProperty
);
[id(8), helpstring("Delete a property based on a GUID")]
HRESULT DeleteProperty
(
[in] BSTR bstrPropId
);
[id(9), helpstring("Attach a connection to this device")]
HRESULT Attach
(
[in] BSTR bstrProcessName,
[in] long dwTimeOut,
[in, optional] VARIANT vtProcessId,
[out, retval] IPMConnection **ppiConnection
);
[id(10), helpstring("Get a connection for this device given a GUID")]
HRESULT GetConnection
(
[in] BSTR bstrConnectId,
[out, retval] IPMConnection **ppiConnection
);
[id(11), helpstring("Configure startup server")]
HRESULT ConfigureStartupServer
(
[in, optional] VARIANT hWnd
);
[id(12), helpstring("Configure transport")]
HRESULT ConfigureTransport
(
[in, optional] VARIANT hWnd
);
[propget, id(13), helpstring("Get Platform GUID corresponding to this device")]
HRESULT Platform
(
[out, retval] IPMPlatform **ppiPlatform
);
};
// Automation version of IProperty
[
object,
uuid(D9956420-DF23-46E0-88E1-4E0D759E97DB),
dual,
helpstring("IProperty dual Interface"),
pointer_default(unique)
]
interface IPMProperty : IDispatch
{
[propget, id(1), helpstring("Get a property id")]
HRESULT Id
(
[out, retval] BSTR *pbstrPropId
);
[id(2), helpstring("Enumeration of the properties")]
HRESULT EnumProperties
(
[out, retval] IEnumVariant **ppiEnumProperty
);
[id(3), helpstring("Get a property based on a GUID")]
HRESULT GetProperty
(
[in] BSTR bstrPropId,
[out, retval] IPMProperty **ppiProperty
);
[id(4), helpstring("Add a property based on a optional GUID and a LinkName")]
HRESULT AddProperty
(
[in] BSTR bstrLinkName,
[in, defaultvalue("")] BSTR bstrPropId,
[out, retval] IPMProperty **ppiProperty
);
[id(5), helpstring("Delete a property based on a GUID")]
HRESULT DeleteProperty
(
[in] BSTR bstrPropId
);
[id(6), helpstring("Enumeration of the properties info")]
HRESULT EnumPropInfos
(
[out, retval] IEnumVariant **ppiEnumPropInfo
);
[id(7), helpstring("Get a property info object based on a Name")]
HRESULT GetPropInfo
(
[in] BSTR bstrPropName,
[out, retval] IPMPropInfo **ppiPropInfo
);
//
//
// dwPropInfoType can be one of the following values
//
/*
(1) -- REG_SZ // nul terminated string
(4) -- REG_DWORD // 32-bit number
Any other value translates to REG_BINARY
*/
[id(8), helpstring("Add a property info object based on a Name")]
HRESULT AddPropInfo
(
[in] BSTR bstrPropInfoName,
[in] long dwPropInfoType,
[in] BSTR bstrPropInfoValue,
[out, retval] IPMPropInfo **ppiPropInfo
);
[id(9), helpstring("Delete a property info object based on a Name")]
HRESULT DeletePropInfo
(
[in] BSTR bstrPropInfoName
);
};
// Automation version of IBootableDevice
[
object,
uuid(6C8863F4-54B3-417E-83BF-2D63BFDDE437),
dual,
helpstring("IPMBootableDevice Interface"),
pointer_default(unique)
]
interface IPMBootableDevice : IDispatch
{
[propget, id(1), helpstring("Get device GUID")]
HRESULT Id
(
[out, retval] BSTR *pbstrBootableDeviceId
);
[propget, id(2), helpstring("Get device name")]
HRESULT Name
(
[out, retval] BSTR *pbstrBootableDeviceName
);
[propput, id(2), helpstring("Set the bootable device name")]
HRESULT Name
(
[in] BSTR bstrName
);
[id(3), helpstring("Get all device properties")]
HRESULT EnumProperties
(
[out, retval] IEnumVariant **ppiEnumProperty
);
[id(4), helpstring("Get a property based on an GUID")]
HRESULT GetProperty
(
[in] BSTR bstrPropId,
[out, retval] IPMProperty **ppiProperty
);
[id(5), helpstring("Add a property based on a optional GUID and a Link Name")]
HRESULT AddProperty
(
[in] BSTR bstrLinkName,
[in, defaultvalue("")] BSTR bstrPropId,
[out, retval] IPMProperty **ppiProperty
);
[id(6), helpstring("Delete a property based on a GUID")]
HRESULT DeleteProperty
(
[in] BSTR bstrPropId
);
[id(7), helpstring("Get a service given a service category GUID or Name")]
HRESULT GetService
(
[in] BSTR bstrServiceCategoryIdOrName,
[out, retval] IPMService **ppiService
);
[id(8), helpstring("Add service info based on a service category GUID or a Name, and service class id")]
HRESULT AddServiceInfo
(
[in] BSTR bstrServiceCategoryIdOrName,
[in] BSTR bstrServiceCLSID
);
[id(9), helpstring("Delete a service based on a category GUID or a Name")]
HRESULT DeleteService
(
[in] BSTR bstrServiceCategoryIdOrName
);
[id(10), helpstring("Delete all services associated with this device")]
HRESULT Disconnect
(
);
};
// Automation version of IPackage & IPackage2
[
object,
uuid(AF7FD18F-EC3E-4760-B1A7-EF9EC0B8D4D1),
dual,
helpstring("IPackage dual Interface"),
pointer_default(unique)
]
interface IPMPackage : IDispatch
{
[propget, id(1), helpstring("Get package Id")]
HRESULT Id
(
[out, retval] BSTR *pbstrPackageId
);
[propget, id(2), helpstring("Get package name")]
HRESULT Name
(
[out, retval] BSTR* pbstrPackageName
);
[id(3), helpstring("Enumeration of files")]
HRESULT EnumFiles
(
[out, retval] IEnumVariant **ppiEnumFiles
);
[id(4), helpstring("Get a file whose value is bstrFullPath and is listed under key bstrKeyName in registry")]
HRESULT GetFile
(
[in] BSTR bstrFullPath,
[in] BSTR bstrKeyName,
[out, retval] IPMPackageFile** ppiPMPackageFile
);
[id(5), helpstring("Add a file to the package based on a full name of the file, name of the key, cpu info., os info., locale, and file flags")]
HRESULT AddFile
(
[in] BSTR bstrFullPath,
[in] BSTR bstrKeyName,
[in] IPMCPU* piPMCPU,
[in] IPMOS* piPMOS,
[in] long dwLocaleId,
[in] long dwFlags,
[out, retval] IPMPackageFile** ppiPMPackageFile
);
[id(6), helpstring("Delete a file whose value if bstrFullPath and is listed under key bstrKeyName in registry")]
HRESULT DeleteFile
(
[in] BSTR bstrFullPath,
[in] BSTR bstrKeyName
);
[id(7), helpstring("Add multiple package files based on a path, filename")]
HRESULT AddCPUFiles
(
[in] BSTR bstrFullPath,
[in] BSTR bstrKeyName,
[in, defaultvalue("")] BSTR bsOSIdOrName,
[in, optional] VARIANT vtLocaleId,
[in, optional] VARIANT vtFlags
);
};
// Automation version of IService & IServiceConfig
[
object,
uuid(CBC7337C-2A7C-4062-83A2-72C3E30C42BF),
dual,
helpstring("IPMService Interface"),
pointer_default(unique)
]
interface IPMService : IDispatch
{
[propget, id(1), helpstring("Get service classid")]
HRESULT Id
(
[out, retval] BSTR *pbstrServiceCLSID
);
[propget, id(2), helpstring("Get service name")]
HRESULT Name
(
[out, retval] BSTR *pbstrName
);
[propput, id(2), helpstring("Set the service name")]
HRESULT Name
(
[in] BSTR bstrName
);
[propget, id(3), helpstring("Get service category id"
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -