📄 platman_idl.inc
字号:
// 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 + -