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

📄 platman_idl.inc

📁 EVC4.rar
💻 INC
📖 第 1 页 / 共 5 页
字号:
		);

		HRESULT GetNext
		(
			[out] GUID *pComponentId
		);
	};
	
	[
		object,
		uuid(2A4F783A-014E-11D2-BBA0-00A0C9C9CCEE),
		helpstring("IPackage Interface"),
		pointer_default(unique)
	]
	interface IPackage : IUnknown
	{
		HRESULT AddFile
		(
			[in] LPCOLESTR pszFullPath,
			[in] LPCOLESTR pszName,
			[in] DEVICE_TYPE dt,
			[in] WORD wArchitecture,
			[in] DWORD dwCPUType,
			[in] WORD wProcessorLevel,
			[in] DWORD dwPageSize,
			[in] WORD wMajorVersion,
			[in] WORD wMinorVersion,
			[in] DWORD dwLocaleId,
			[in] DWORD dwFlags	
		);
		HRESULT AddPackageFile
		(
			[in] LPCOLESTR pszFullPath,
			[in] LPCOLESTR pszName,
			[in] PACKAGE_FILE_INFO pfi
		);
		HRESULT DeleteFile
		(
			[in] LPCOLESTR pszFullPath,
			[in] LPCOLESTR pszName
		);
		HRESULT EnumFiles
		(
			[in] LPCOLESTR pszName, 
			[in] PACKAGE_FILE_INFO pfi,
			[out] IEnumPackageFiles **ppiEnumFiles
		);
	};

// IPackage2 interface to support the PACKAGE_FILE_INFO2 structure which
// includes an OS specific GUID.
// 
	[
		object,
		uuid(64D0B782-47B7-4c30-8B5F-DDB7B248A91D),
		helpstring("IPackage2 Interface"),
		pointer_default(unique)
	]
	interface IPackage2 : IUnknown
	{
		HRESULT AddFile
		(
			[in] LPCOLESTR pszFullPath,
			[in] LPCOLESTR pszName,
			[in] DEVICE_TYPE dt,
			[in] WORD wArchitecture,
			[in] DWORD dwCPUType,
			[in] WORD wProcessorLevel,
			[in] DWORD dwPageSize,
			[in] WORD wMajorVersion,
			[in] WORD wMinorVersion,
			[in] DWORD dwLocaleId,
			[in] DWORD dwFlags,
			[in] GUID OSTypeId	
		);

		HRESULT AddPackageFile
		(
			[in] LPCOLESTR pszFullPath,
			[in] LPCOLESTR pszName,
			[in] PACKAGE_FILE_INFO2 pfi
		);       
			
		HRESULT DeleteFile
		(
			[in] LPCOLESTR pszFullPath,
			[in] LPCOLESTR pszName
		);

		HRESULT EnumFiles
		(
			[in] LPCOLESTR pszName, 
			[in] PACKAGE_FILE_INFO2 pfi,
			[out] IEnumPackageFiles2 **ppiEnumFiles
		);
	};

	[
		object,
		uuid(2A4F783D-014E-11D2-BBA0-00A0C9C9CCEE),
		helpstring("IEnumPackageFiles Interface"),
		pointer_default(unique)
	]
	interface IEnumPackageFiles : IUnknown
	{
		HRESULT Next
		(
			[in] ULONG celt,
			[out, size_is(celt), length_is(*pceltFetched)] LPOLESTR rgeltFullPath[],
			[out, size_is(celt), length_is(*pceltFetched)] LPOLESTR rgeltName[],
			[out, size_is(celt), length_is(*pceltFetched)] PACKAGE_FILE_INFO rgeltInfo[],
			[out] ULONG *pceltFetched
		);

		HRESULT Skip
		(
			[in] ULONG celt
		);

		HRESULT Reset
		(
		);

		HRESULT Clone
		(
			[out] IEnumPackageFiles **ppEnum
		);

		HRESULT GetCount
		(
			[out] ULONG *pcelt
		);

		HRESULT GetNext
		(
			[out] LPOLESTR *pszFullPath,
			[out] LPOLESTR *pszName,
			[out] PACKAGE_FILE_INFO *ppfi
		);
	};
	
	[
		object,
		uuid(BA5F16F6-F3A3-44E4-88F4-10E2B1E921F4),
		helpstring("IEnumPackageFiles2 Interface"),
		pointer_default(unique)
	]
	interface IEnumPackageFiles2 : IUnknown
	{
		HRESULT Next
		(
			[in] ULONG celt,
			[out, size_is(celt), length_is(*pceltFetched)] LPOLESTR rgeltFullPath[],
			[out, size_is(celt), length_is(*pceltFetched)] LPOLESTR rgeltName[],
			[out, size_is(celt), length_is(*pceltFetched)] PACKAGE_FILE_INFO2 rgeltInfo[],
			[out] ULONG *pceltFetched
		);

		HRESULT Skip
		(
			[in] ULONG celt
		);

		HRESULT Reset
		(
		);

		HRESULT Clone
		(
			[out] IEnumPackageFiles2 **ppEnum
		);

		HRESULT GetCount
		(
			[out] ULONG *pcelt
		);

		HRESULT GetNext
		(
			[out] LPOLESTR *pszFullPath,
			[out] LPOLESTR *pszName,
			[out] PACKAGE_FILE_INFO2 *ppfi
		);
	};
	

	[
		object,
		uuid(66B6C2DD-2590-11D2-BBA9-00A0C9C9CCEE),
		helpstring("IEnumCPU Interface"),
		pointer_default(unique)
	]
	interface IEnumCPU : IUnknown
	{
		HRESULT Next
		(
			[in] ULONG celt,
			[out, size_is(celt), length_is(*pceltFetched)] WORD rgeltArchitecture[],
			[out, size_is(celt), length_is(*pceltFetched)] DWORD rgeltCPUType[],
			[out, size_is(celt), length_is(*pceltFetched)] LPOLESTR rgetName[],
			[out] ULONG *pceltFetched
		);

		HRESULT Skip
		(
			[in] ULONG celt
		);

		HRESULT Reset
		(
		);

		HRESULT Clone
		(
			[out] IEnumCPU **ppEnum
		);

		HRESULT GetCount
		(
			[out] ULONG *pcelt
		);

		HRESULT GetNext
		(
			[out] LPWORD pwArchitecture,
			[out] LPDWORD pdwCPUType,
			[out] LPOLESTR *pszName
		);
	};


	//////////////////// NEW AUTOMATION INTERFACES/////////////////
	// The following interfaces were added to support automation in
	// platman 4.0.
	// 
	// All the objects which implement non-enumeration interfaces 
	// now implement these additional dual interfaces also.
	//	For example:
	//		CBootableDevice implements IBootableDevice and
	//		IBootableDeviceConfig
	//
	//		Now, CBootableDevice implements one additional dual
	//		interface IPMBootableDevice which is a wrapper for
	//		above two interfaces for automation clients (VB)
	//
	// All the objects which implement enumeration interfaces now
	// implement two additional interfaces. These two additional
	// interfaces are common to all enumeration objects as the
	// return types in these interfaces are all variants or array
	// of variants.
	//	For Example:
	//		CEnumBootableDevice implements IEnumBootableDevice
	//
	//		Now, CEnumBootableDevice also implements two new
	//		interfaces: IEnumVariant and IEnumVARIANT.
	//
	//		Both these interfaces are implemented by a new class
	//		CBaseCollection. Only one method in this class needs
	//		to be implemented (get_Item()) by any object which
	//		needs to provide enumeration and collections to the
	//		automation clients (VB).
	//
	//		With this change, now CEnumBootableDevice now inherits
	//		from CBaseCollection and implements (get_Item()) method.
	//
	//////////////////// NEW AUTOMATION INTERFACES/////////////////

	[
		object,
		uuid(EA720E9B-5C6D-4FBF-9352-A084866596A7),
		dual,
		helpstring("dual interface for IPlatformManager -- three IUnknown versions are combined into one dual interface"),
		pointer_default(unique)
	]
	interface IPMPlatformManager : IDispatch
	{		
		[id(1), helpstring("Enumeration of all platforms")]	
		HRESULT EnumPlatforms
		(
			[out, retval]  IEnumVariant **ppiEnumPlatform
		);

		[id(2), helpstring("Get a platform based on a GUID or a Name")]	
		HRESULT GetPlatform
		(
			[in] BSTR bstrPlatformIdOrName, 
			[out, retval] IPMPlatform **ppiPlatform
		);

		[id(3), helpstring("Add a new platform based on a optional GUID and a Name")]
		HRESULT AddPlatform
		(
			[in] BSTR bstrPlatformName,
			[in, defaultvalue("")] BSTR bstrPlatformId, 
			[out, retval] IPMPlatform **ppiPlatform
		);

		[id(4), helpstring("Delete a platform based on a GUID or a Name")]
		HRESULT DeletePlatform
		(
			[in] BSTR bstrPlatformIdOrName
		);

		[id(5), helpstring("Enumeration of all 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 new 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("Enumeration of all bootable devices")]	
		HRESULT EnumBootableDevices
		(
			[out, retval]  IEnumVariant **ppiEnumBootableDevice
		);

		[id(10), helpstring("Get a bootable device based on a GUID or a Name")]
		HRESULT GetBootableDevice
		(
			[in] BSTR bstrBootableDeviceIdOrName, 
			[out, retval] IPMBootableDevice **ppiBootableDevice
		);

		[id(11), helpstring("Add a new bootable device based on a optional GUID and a Name")]
		HRESULT AddBootableDevice
		(
			[in] BSTR bstrBootableDeviceName,
			[in, defaultvalue("")] BSTR bstrBootableDeviceId,
			[out, retval] IPMBootableDevice **ppiBootableDevice
		);

		[id(12), helpstring("Delete a bootable device based on a GUID or a Name")]
		HRESULT DeleteBootableDevice
		(
			[in] BSTR bstrBootableDeviceIdOrName
		);

		[id(13), helpstring("Enumeration of all service categories")]
		HRESULT EnumServiceCategories
		(
			[out, retval]  IEnumVariant **ppiEnumServiceCategory
		);

		[id(14), helpstring("Get a service category based on a GUID or a Name")]
		HRESULT GetServiceCategory
		(
			[in] BSTR bstrServiceCategoryIdOrName, 
			[out, retval] IPMServiceCategory **ppiServiceCategory
		);

		[id(15), helpstring("Add a service category based on a optional GUID and a Name")]
		HRESULT AddServiceCategory
		(
			[in] BSTR bstrServiceCategoryName,
			[in, defaultvalue("")] BSTR bstrServiceCategoryId,
			[out, retval] IPMServiceCategory **ppiServiceCategory
		);

		[id(16), helpstring("Delete a service category based on a GUID or a Name")]
		HRESULT DeleteServiceCategory
		(
			[in] BSTR bstrServiceCategoryIdOrName
		);

		[id(17), helpstring("Enumeration of all CPUs")]
		HRESULT EnumCPUs
		(
			[out, retval]  IEnumVariant **ppiEnumCPU
		);

		[id(18), helpstring("Get a CPU based on GUID or a Name")]
		HRESULT GetCPU
		(
			[in] BSTR bstrCPUIdOrName, 
			[out, retval] IPMCPU **ppiCPU
		);

		[id(19), helpstring("Add a new CPU")]
		HRESULT AddCPU
		(
			[in] BSTR bstrCPUName, 
			[in] long dwCpuNum,
			[in, defaultvalue(0)] int wArchitecture,
			[in, defaultvalue(0)] long dwCPUType,
			[in, defaultvalue("")] BSTR bstrCPUId,
			[in, optional] VARIANT vtPageSize,
			[in, optional] VARIANT vtLevel,
			[in, defaultvalue("")] BSTR bstrDefaultValue,
			[out, retval] IPMCPU **ppiCPU
		);

		[id(20), helpstring("Delete a CPU based on a GUID or a Name")]
		HRESULT DeleteCPU
		(
			[in] BSTR bstrCPUIdOrName
		);

		[id(21), helpstring("Enumeration of all OSs")]
		HRESULT EnumOSs
		(
			[out, retval]  IEnumVariant **ppiEnumOS
		);

		[id(22), helpstring("Get a OS based on a GUID or a Name")]
		HRESULT GetOS
		(
			[in] BSTR bstrOSIdOrName, 
			[out, retval] IPMOS **ppiOS
		);

		[id(23), helpstring("Add a new OS based on a optional GUID, name, major-minor versions and type GUID")]
		HRESULT AddOS
		(
			[in] BSTR bstrOSName,
			[in] int wMajorVersion,
			[in] int wMinorVersion,
			[in] BSTR bstrOSTypeId,
			[in, defaultvalue("")] BSTR bstrOSId,
			[out, retval] IPMOS **ppiOS
		);

		[id(24), helpstring("Delete a OS based on a GUID or a Name")]
		HRESULT DeleteOS
		(
			[in] BSTR bstrOSIdOrName
		);

		[id(25), helpstring("Enumeration of all Packages")]
		HRESULT EnumPackages
		(
			[out, retval]  IEnumVariant **ppiEnumPackage
		);

		[id(26), helpstring("Get a package based on a GUID or a Name")]
		HRESULT GetPackage
		(
			[in] BSTR bstrPackageIdOrName,
			[out, retval] IPMPackage **ppiPackage
		);

		[id(27), helpstring("Add a package based on a optional GUID and a Name")]
		HRESULT AddPackage
		(
			[in] BSTR bstrPackageName,
			[in, defaultvalue("")] BSTR bstrPackageId,
			[out, retval] IPMPackage **ppiPackage
		);

		[id(28), helpstring("Delete a package based on a GUID or a Name")]
		HRESULT DeletePackage
		(
			[in] BSTR bstrPackageIdOrName
		);

		[id(29), helpstring("Add a toolkit based on a optional GUID and a Name")]
		HRESULT AddToolkit
		(
			[in] BSTR bstrName,
			[in, defaultvalue("")] BSTR bstrToolkitId
		);

		[id(30), helpstring("Delete a toolkit based on a GUID or a Name")]
		HRESULT DeleteToolkit
		(
			[in] BSTR bstrToolkitIdOrName
		);

		[id(31), helpstring("Get the connection based on a GUID")]	
		HRESULT GetConnection
		(
			[in] BSTR bstrConnectId,
			[out, retval] IPMConnection **ppiConnection	
		);
		
		[id(32), helpstring("Get platman version")]
		HRESULT GetVersion
		(
			[out] VARIANT* pwMajorVersion,
			[out] VARIANT* pwMinorVersion,
			[out] VARIANT* pdwBuildNumber
		);

		[id(33), helpstring("Create and return a new GUID")]
		HRESULT CreateGUID
		(
			[out, retval] BSTR* pbstrNewGuid
		);

		[id(34), helpstring("Removes Platform Manager registry entries if there are no toolkits or platforms")]
		HRESULT CleanRegistry
		(
		);

		// A universal platform is a combination of a standard sdk and the TUSDK on which it
		// is based on; this enumeration returns a list of all platforms which support all
		// the installed TUSDKs. The platforms returned from this call use the headers and
		// libs from the TUSDK whereas rest of the platorm stuff is captured from the real
		// platform;
		[id(35), helpstring("Enumeration of all universal platforms")]	
		HRESULT EnumUniversalPlatforms
		(
			[out, retval]  IEnumVariant **ppiEnumUniversalPlatform
		);
	};

	// Automation version of IPlatformCE
	[
		object,
		uuid(5BA32507-0015-40A2-A0FE-AA81CB265FE1),
		dual,
		helpstring("IPMPlatform dual Interface"),
		pointer_default(unique)
	]
	interface IPMPlatform : IDispatch
	{
		[propget, id(1), helpstring("Get the Platform GUID")]
		HRESULT Id
		(
			[out, retval] BSTR *pbstrPlatformId
		);
		
		[propget, id(2), helpstring("Get the platform name")]
		HRESULT Name
		(
			[out, retval] BSTR *pbstrPlatformName
		);
		
		[propput, id(2), helpstring("Set the platform name")]
		HRESULT Name
		(
			[in] BSTR bstrPlatformName
		);

		[id(3), helpstring("Enumeration of properties")]
		HRESULT EnumProperties
		(
			[out, retval] IEnumVariant **ppiEnumProperty
		);

		[id(4), helpstring("Get a property based on a GUID")]
		HRESULT GetProperty
		(
			[in] BSTR bstrPropId,
			[out, retval] IPMProperty **ppiProperty
		);

		[id(5), helpstring("Add a property based on a optional GUID and a LinkName")]

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -