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

📄 platman_idl.inc

📁 EVC4.rar
💻 INC
📖 第 1 页 / 共 5 页
字号:
// platman_idl.inc : Include file
//
// This file is included by both cemgr.idl and cemgrhm.idl. Any changes to any interfaces need to
// be done only to this file.
//
// Copyright 2001 Microsoft, All Rights Reserved

import "oaidl.idl";
import "ocidl.idl";

// Standard interfaces
interface IPlatformManager;
interface IEnumPlatformCE;
interface IPlatformCE;
interface IRemoteDevice;
interface IEnumDevice;
interface IEnumProperty;
interface IProperty;
interface IEnumPropInfo;
interface IConnection;
interface ICallBack;
interface IPlatManCallback2;	// QI'd from ICallBack
interface IConnectionStream;

// Configuration version
interface IPlatformManagerConfig; // QI'd from IPlatformManager
interface IPlatformConfig;	// QI'd from IPlatform
interface IRemoteDeviceConfig; // QI'd from IRemoteDevice
interface IPackage;  // IPlatformManagerConfig->AddPackage
interface IEnumComponent; // IPlatform->EnumComponents
interface IEnumPackageFiles; // IPackage->EnumFiles
interface IEnumCPU; // IPlatformConfig->EnumCPU

// VS7 updated version
interface IRemoteDeviceConfig2; //IPlatformManager stuff.
interface IEnumPackageFiles2; // IPackage2->EnumFiles
interface IPackage2;  // IPlatformManagerConfig2->AddPackage
interface IPlatformManagerConfig2; // QI'd from IPlatformManager

//Ver 4.0
interface IEnumBootableDevice;
interface IBootableDevice;
interface IServiceCategory;
interface IEnumServiceCategory;
interface IEnumServiceInfo;
interface IServiceInfo;
interface IService;

//Automation Interfaces
interface IPMPlatformManager;
interface IPMPlatform;
interface IPMRemoteDevice;
interface IPMBootableDevice;
interface IPMProperty;
interface IPMConnection;
interface IPMConnectionStream;
interface IPMPackage;
interface IPMService;
interface IPMServiceInfo;
interface IPMServiceCategory;
interface IPMCPU;
interface IPMOS;
interface IPMStartupServerInfo;
interface IPMTransportInfo;
interface IPMPropInfo;
interface IPMPackageFile;

//Automation Enumeration/Collection Interface
interface IEnumVariant;

// client info interface to get the process id's
interface IClientInfo;

//
// error codes
//
cpp_quote("// error codes")
cpp_quote("//")
cpp_quote("static const int E_BAD_PARAM				= MAKE_HRESULT(1, FACILITY_ITF, 0x01);")
cpp_quote("static const int E_DUPLICATE				= MAKE_HRESULT(1, FACILITY_ITF, 0x02);")
cpp_quote("static const int E_BUSY					= MAKE_HRESULT(1, FACILITY_ITF, 0x03);")
cpp_quote("static const int E_BAD_CONFIG			= MAKE_HRESULT(1, FACILITY_ITF, 0x04);")
cpp_quote("static const int E_NOSYSFILES			= MAKE_HRESULT(1, FACILITY_ITF, 0x05);")
cpp_quote("static const int E_TIMEOUT				= MAKE_HRESULT(1, FACILITY_ITF, 0x06);")
cpp_quote("static const int E_REFED					= MAKE_HRESULT(1, FACILITY_ITF, 0x07);")
//


// error codes for copy commands 
cpp_quote("static const int E_VERIFY				= MAKE_HRESULT(1, FACILITY_ITF, 0x01);")
cpp_quote("static const int E_EXISTS				= MAKE_HRESULT(1, FACILITY_ITF, 0x02);")
cpp_quote("static const int E_REGISTER				= MAKE_HRESULT(1, FACILITY_ITF, 0x03);")

// Return code for IConnectCallBack->Report
cpp_quote("static const int E_SKIP					= MAKE_HRESULT(1, FACILITY_ITF, 0x01);")

// Property GUIDs
cpp_quote("static const GUID PROPID_CURRENT_CONNECTION = {0xc5562463, 0xa1cc, 0x4b78, { 0xb7, 0xe2, 0xf2, 0x7, 0x9, 0xd2, 0xf7, 0x9d}};")
cpp_quote("static const wchar_t PROPINFO_BOOTABLE_DEVICE[] = L\"CurrentDevice\";")
cpp_quote("static const wchar_t PROPINFO_IMAGE[] = L\"Image\";")

//used for the updated CEMGRC.EXE
// {69793847-677E-4658-92D3-B32A2ED13FE4}
cpp_quote("static const GUID CEMGRC2_ID = { 0x69793847, 0x677e, 0x4658, { 0x92, 0xd3, 0xb3, 0x2a, 0x2e, 0xd1, 0x3f, 0xe4 } };")

// used for universal sdks property within a platform and platform manager
// {1315CF7C-D79B-47e8-A141-CC39654E767F}
cpp_quote("static const GUID PROPID_UNIVERSAL_SDK = { 0x1315cf7c, 0xd79b, 0x47e8, { 0xa1, 0x41, 0xcc, 0x39, 0x65, 0x4e, 0x76, 0x7f } };")
cpp_quote("static const wchar_t PROPINFO_TUSDK[] = L\"TUSDK\";")
cpp_quote("static const wchar_t PROPVALUE_UNIVERSAL[] = L\"Universal\";")
cpp_quote("static const wchar_t PROPVALUE_PARENTS[] = L\"Parents\";")

// used for serial download and serial kitl property storage
// {EC345961-5500-4d8e-8C27-387542FAB812}
cpp_quote("static const GUID PROP_SERIAL_GUID = { 0xEC345961, 0x5500, 0x4d8e, { 0x8C, 0x27, 0x38, 0x75, 0x42, 0xFA, 0xB8, 0x12 } };")
cpp_quote("static const wchar_t PROP_SERIAL_STRING[] = L\"{EC345961-5500-4d8e-8C27-387542FAB812}\";")

// Configure Remote Services Dialog Property on 
// Platform Managers IBootable Device 
// GUID for Dialog Property
// {44F1DBD2-16C1-4e8a-9BC2-03E66ADB030E}
cpp_quote("static const GUID PROPID_CFG_REM_SRV = { 0x44f1dbd2, 0x16c1, 0x4e8a, { 0x9b, 0xc2, 0x3, 0xe6, 0x6a, 0xdb, 0x3, 0xe } };")
cpp_quote("static const wchar_t PROPINFONAME_PROCID[] = L\"Process ID messages\";")
cpp_quote("static const wchar_t PROPINFONAME_THRDID[] = L\"Thread ID messages\";")
cpp_quote("static const wchar_t PROPINFONAME_TSTAMP[] = L\"Time stamp messages\";")
cpp_quote("static const wchar_t PROPINFONAME_DLOAD[] = L\"Download Image\";")
cpp_quote("static const wchar_t PROPINFONAME_JUMP[] = L\"Jump to Image\";")
cpp_quote("static const wchar_t PROPINFONAME_CONNNECT[] = L\"Connect On Download\";")
cpp_quote("static const wchar_t PROPINFONAME_HARDWARE[] = L\"Hardware Debugger\";")
cpp_quote("static const wchar_t PROPINFONAME_DBGMSGFILENAME[] = L\"Dbg Msg Filename\";")
cpp_quote("static const wchar_t PROPINFONAME_SENDDBGMSGOUTPUT[] = L\"Send Dbg Output\";")
cpp_quote("static const wchar_t PROPINFONAME_DOWNLOAD_CFGSETTING[] = L\"Download Config Setting\";")
cpp_quote("static const wchar_t PROPINFONAME_KERNEL_CFGSETTING[] = L\"Kernel Config Setting\";")
cpp_quote("static const wchar_t PROPINFONAME_HARDWARE_DBG_GUID[] = L\"eXdi Driver GUID\";")
cpp_quote("static const wchar_t PROPINFONAME_HARDWARE_DBG_DESC[] = L\"eXdi Driver Name\";")
cpp_quote("static const wchar_t PROPINFONAME_COLDBOOT[] = L\"Cold Reboot\";")
cpp_quote("static const wchar_t PROPINFONAME_RESET_DL_ALWAYS[] = L\"Reset DL Always\";")
cpp_quote("static const wchar_t PROPINFONAME_RESET_DL_IMAGE_CHANGE[] = L\"Reset DL Image Change\";")
cpp_quote("static const wchar_t PROPINFONAME_RESET_JTI_ONLY[] = L\"Reset JTI Only\";")
cpp_quote("static const wchar_t PROPINFONAMR_LAST_OPEN_BIN_IMAGE[] = L\"Last Open Bin Image\";")
cpp_quote("static const wchar_t PROPINFONAME_SENDDBGMSGOUTPUTWINDOW[] = L\"Send Dbg Output Window\";")
cpp_quote("static const wchar_t PROPINFONAME_SENDDBGMSGOUTPUTWINDOWNL[] = L\"DBGMSG append new line\";")
cpp_quote("static const wchar_t PROPINFONAME_ALLOW_ACCESS_TO_FILESYSTEM[] = L\"Allow Remote Access to Local File System\";")
cpp_quote("static const wchar_t REGKEY_PLATMAN_PPFSACCESS[] = L\"Software\\\\Microsoft\\\\Windows CE Tools\\\\Platform Manager\\\\PPFSAccess\";")
cpp_quote("static const wchar_t REGVAL_PB_PPFS_ACCESS[] = L\"AllowPPFSAccess\";")


//
// Defines
//
typedef enum component_kind {
	COMPONENT_TRANSPORT,
	COMPONENT_SERVER
} COMPONENT_KIND;

enum {
	DEVICE_TYPE_EMULATION = 0x1,
	DEVICE_TYPE_CE = 0x2,
	DEVICE_TYPE_NT = 0x4 // Only for testing purposes
};
typedef ULONG DEVICE_TYPE;

typedef enum report_action_type {
	SERVER_START,
	SERVER_FAIL,
	SERVER_FINISH,
	CONNECT_START,
	CONNECT_FAIL,
	CONNECT_FINISH,
	VERIFY_START,
	VERIFY_FAIL,
	VERIFY_FINISH,
	COPY_START,
	COPY_FAILED,
	COPY_FINISH,
	REGISTER_START,
	REGISTER_FAILED,
	REGISTER_FINISH,
	COPY_COMPLETE,
	ATTACH_TIMEOUT,
	COPY_SOURCENOTFOUND,
} REPORT_ACTION_TYPE;

// Flags for Packages
cpp_quote("static const int FILE_FLAG_REQUIRED	= 0x00000001;")
cpp_quote("static const int FILE_FLAG_16BIT		= 0x00000002;")
cpp_quote("static const int FILE_FLAG_FPSUPPORT	= 0x00000004;")
cpp_quote("static const int FILE_FLAG_CPUNUM   	= 0x00000008;")

// Flags for Platforms
cpp_quote("static const int DEVICE_FLAG_NO_FILESYS = 0x00000001;")

// If the FILE_FLAG_CPUNUM bit is set in dwFlags, then the dwCPUType
// is the return value of QueryInstructionSet, which uniquely identifies
// the device.
// Else we do the old matching based on architechture, cputype, processor level
// and page size.

typedef struct package_file_info 
{
	DEVICE_TYPE dt;
	WORD wArchitecture;
	DWORD dwCPUType;
	WORD wProcessorLevel;
	DWORD dwPageSize;
	WORD wMajorVersion;
	WORD wMinorVersion;
	DWORD dwLocaleId;
	DWORD dwFlags;
} PACKAGE_FILE_INFO, *PPACKAGE_FILE_INFO;

//New package to support the OS item.
typedef struct package_file_info2 
{
	DEVICE_TYPE dt;
	WORD wArchitecture;
	DWORD dwCPUType;
	WORD wProcessorLevel;
	DWORD dwPageSize;
	WORD wMajorVersion;
	WORD wMinorVersion;
	DWORD dwLocaleId;
	DWORD dwFlags;
	GUID OSTypeId;
} PACKAGE_FILE_INFO2, *PPACKAGE_FILE_INFO2;

	[
		uuid(F384D882-F9AA-11D1-BB9E-00A0C9C9CCEE),
	
		helpstring("IPlatformManager Interface"),
		pointer_default(unique)
	]
	interface IPlatformManager : IUnknown
	{
		HRESULT EnumPlatforms
		(
			[out]  IEnumPlatformCE **ppiEnumPlatform
		);
		HRESULT GetProperty
		(
			[in] GUID PropId, 
			[out] IProperty **ppiProperty
		);
		HRESULT AddProperty
		(
			[in] GUID PropId, 
			[in,ptr] LPCOLESTR pszLinkName,
			[out] IProperty **ppiProperty
		);
		HRESULT DeleteProperty					   
		(
			[in] GUID PropId
		);
		HRESULT EnumProperties
		(
			[out] IEnumProperty **ppiEnumProperty
		);
		HRESULT GetPlatform
		(
			[in] GUID PlatformId, 
			[out] IPlatformCE **ppiPlatform
		);
	};
	// Updated IPlatformManger2 interface to support
	// the new GetConnection method
	[
		uuid(D08B18FB-0471-4a4d-88F3-9F1187A058AA),

		helpstring("IPlatformManager2 Interface"),
		pointer_default(unique)
	]
	interface IPlatformManager2 : IPlatformManager
	{
		// GetConnection will return a IConnection from a GUID.  If
		// there are no connections active that is assigned with the 
		// specified GUID then E_FAIL is returned
		HRESULT GetConnection
		(
			[in] GUID ConnectId,
			[out] IConnection **ppiConnection	
		);	
	};







	// IPlatformManger3 interface to support
	// bootable devices
	[
		uuid(91DAF806-2EEB-44a5-B7D1-B1EF3DB9FC88),

		helpstring("IPlatformManager3 Interface"),
		pointer_default(unique)
	]
	interface IPlatformManager3 : IPlatformManager2
	{

		HRESULT EnumBootableDevice
		(
			[out]  IEnumBootableDevice **ppiEnumBootableDevice
		);

		HRESULT GetBootableDevice
		(
			[in] GUID BootableDeviceId, 
			[out] IBootableDevice **ppiBootableDevice
		);

		
		HRESULT EnumServiceCategory
		(
			[out]  IEnumServiceCategory **ppiEnumServiceCategory
		);

		HRESULT GetServiceCategory
		(
			[in] GUID ServiceCategoryId, 
			[out] IServiceCategory **ppiServiceCategory
		);

	};


	// IEnumServiceCategory to support
	// bootable devices
	[
		object,
		uuid(4E4527E8-BCE4-4675-B564-E7DE0EA6D163),
		helpstring("IEnumServiceCategory Interface"),
		pointer_default(unique)
	]
	interface IEnumServiceCategory : IUnknown
	{
		HRESULT Next
		(
			[in] ULONG celt,
			[out, size_is(celt), length_is(*pceltFetched)] IServiceCategory *rgelt[],
			[out] ULONG *pceltFetched
		);

		HRESULT Skip
		(
			[in] ULONG celt
		);

		HRESULT Reset
		(
		);

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

		HRESULT GetCount
		(
			[out] ULONG *pcelt
		);

		HRESULT GetNext
		(
			[out] IServiceCategory **ppiServiceCategory
		);
	};
	

	// IServiceCategory to support
	// bootable devices
	[
		object,
		uuid(73EA2A51-09D5-416c-99FF-A6935A02672B),
		helpstring("IServiceCategory Interface"),
		pointer_default(unique)
	]
	interface IServiceCategory : IUnknown
	{
		HRESULT GetServiceCategoryId
		(
			[out] GUID *pServiceCategoryId
		);
		HRESULT GetServiceCategoryName
		(
			[out] LPOLESTR *ppszServiceCategoryName
		);
		HRESULT EnumServiceInfo
		(
			[out] IEnumServiceInfo **ppiEnumServiceInfo
		);
		HRESULT GetServiceInfo
		(
			[in] GUID ServiceCLSID,
			[out] IServiceInfo **ppiServiceInfo
		);
		HRESULT EnumProperties
		(
			[out] IEnumProperty **ppiEnumProperty
		);
		HRESULT GetProperty
		(
			[in] GUID PropId,
			[out] IProperty **ppiProperty
		);
		HRESULT AddProperty
		(
			[in] GUID PropId,
			[in,ptr] LPCOLESTR pszLinkName,
			[out] IProperty **ppiProperty
		);
		HRESULT DeleteProperty
		(
			[in] GUID PropId
		);

	};




	// IEnumServiceInfo to support
	// bootable devices
	[
		object,
		uuid(53CCA653-3F54-434c-8DB0-3D8A610745E4),
		helpstring("IEnumServiceInfo Interface"),
		pointer_default(unique)
	]
	interface IEnumServiceInfo : IUnknown
	{
		HRESULT Next
		(
			[in] ULONG celt,
			[out, size_is(celt), length_is(*pceltFetched)] IServiceInfo *rgelt[],
			[out] ULONG *pceltFetched
		);

		HRESULT Skip
		(
			[in] ULONG celt
		);

		HRESULT Reset
		(
		);

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

		HRESULT GetCount
		(
			[out] ULONG *pcelt
		);

		HRESULT GetNext
		(
			[out] IServiceInfo **ppiServiceInfo
		);
	};
	

	// IServiceInfo to support
	// bootable devices
	[
		object,
		uuid(320494E2-0D2A-4594-A8FC-73913FAE85C8),
		helpstring("IServiceInfo Interface"),
		pointer_default(unique)
	]
	interface IServiceInfo : IUnknown
	{
		HRESULT GetServiceCLSID
		(
			[out] GUID *pServiceCLSID
		);
		HRESULT GetServiceInfoName
		(
			[out] LPOLESTR *ppszServiceInfoName
		);
		HRESULT EnumProperties
		(
			[out] IEnumProperty **ppiEnumProperty
		);
		HRESULT GetProperty
		(
			[in] GUID PropId,
			[out] IProperty **ppiProperty
		);
		HRESULT AddProperty
		(
			[in] GUID PropId,
			[in,ptr] LPCOLESTR pszLinkName,
			[out] IProperty **ppiProperty
		);
		HRESULT DeleteProperty
		(
			[in] GUID PropId
		);

	};





	// IEnumBootableDevice to support
	// bootable devices
	[
		object,
		uuid(B7D6E6F7-8D72-45f6-AE37-D7724989E5CB),
		helpstring("IEnumBootableDevice Interface"),
		pointer_default(unique)
	]
	interface IEnumBootableDevice : IUnknown
	{
		HRESULT Next
		(
			[in] ULONG celt,
			[out, size_is(celt), length_is(*pceltFetched)] IBootableDevice *rgelt[],
			[out] ULONG *pceltFetched
		);

		HRESULT Skip
		(
			[in] ULONG celt
		);

		HRESULT Reset
		(
		);

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

		HRESULT GetCount
		(
			[out] ULONG *pcelt
		);

		HRESULT GetNext
		(
			[out] IBootableDevice **ppiBootableDevice
		);
	};
	

	// IBootableDevice to support
	// bootable devices
	//    Notes:
	//	EnumService : Enumerates through all selected services for BootableDevice
	//	GetService  : Loads the service and returns an IService Interface
	[
		object,
		uuid(6014FEE5-B7BF-4c3c-A2B8-A9D0F8B64110),
		helpstring("IBootableDevice Interface"),
		pointer_default(unique)
	]
	interface IBootableDevice : IUnknown
	{
		HRESULT GetBootableDeviceId
		(
			[out] GUID *pBootableDeviceId

⌨️ 快捷键说明

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