⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 platman_idl.inc

📁 EVC4.rar
💻 INC
📖 第 1 页 / 共 5 页
字号:
		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 + -