📄 platman_idl.inc
字号:
helpstring("IConnection2 Interface"),
pointer_default(unique)
]
interface IConnection2 : IConnection
{
//SystemGetInfoEx will also query the Device for the OSTypeId, which should be
//specified as a GUID
HRESULT SystemGetInfoEx
(
[out] LPWORD pwArchitecture,
[out] LPDWORD pdwCPUType,
[out] LPDWORD pdwPageSize,
[out] LPWORD pwMajorVersion,
[out] LPWORD pwMinorVersion,
[out] GUID *OSTypeId
);
//ConnectId will query the connection object for a GUID that represents
// the connection
HRESULT GetConnectId //Get the GUID that represents the connection.
(
[out] GUID *pConnectId
);
};
[
object,
uuid(DA438BB0-FA87-11D1-BB9E-00A0C9C9CCEE),
helpstring("IStream Interface"),
pointer_default(unique)
]
interface IConnectionStream : IUnknown
{
HRESULT Send
(
[in] DWORD dwSize,
[in, size_is(dwSize)] BYTE *pBuffer,
[out] LPDWORD pdwSizeSent
);
HRESULT Receive
(
[out] LPDWORD pdwBytesReceived
);
HRESULT ReadBytes
(
[in] DWORD dwSize,
[out, size_is(dwSize), length_is(*pdwSizeRecv)] BYTE *pBuffer,
[out] LPDWORD pdwSizeRecv
);
HRESULT ReceiveAsync
(
[in] ICallBack *piCallBack
);
HRESULT SendAsync
(
[in] ICallBack *piCallBack
);
HRESULT Close
(
);
};
[
object,
uuid(EF075F33-141A-4D6A-9D88-33360EBFCBA5),
helpstring("IConnectionStream2 Interface which provides timeout option on receive"),
pointer_default(unique)
]
interface IConnectionStream2 : IUnknown
{
HRESULT Receive
(
[in] DWORD dwTimeout,
[out] LPDWORD pdwBytesReceived
);
HRESULT ReadBytes
(
[in] DWORD dwSize,
[in] DWORD dwTimeout,
[out, size_is(dwSize), length_is(*pdwSizeRecv)] BYTE *pBuffer,
[out] LPDWORD pdwSizeRecv
);
};
[
object,
uuid(DA438BB3-FA87-11D1-BB9E-00A0C9C9CCEE),
helpstring("ICallBack Interface"),
pointer_default(unique)
]
interface ICallBack : IUnknown
{
HRESULT Connect
(
[in] IConnection *piConnection
);
HRESULT RecvNotify
(
[in] DWORD dwSize,
[in, size_is(dwSize)] BYTE *pBuffer
);
HRESULT SendNotify
(
);
HRESULT ReportAction
(
[in] REPORT_ACTION_TYPE at,
[in] LPCOLESTR pszName,
[in] HRESULT hrActionFailed,
[in] DWORD dwSize
);
HRESULT ConfirmCopy
(
[in] LPCOLESTR pszName,
[in] FILETIME ftSource,
[in] FILETIME ftDest
);
HRESULT CopyUpdate
(
[in] LPCOLESTR pszName,
[in] DWORD dwSizeCopied,
[in] DWORD dwSizeTotal
);
HRESULT StreamNotify
(
[in] IConnectionStream *piConnectionStream
);
};
// You can build a class that inherits from ICallBack and from IPlatManCallback2.
// You must pass the ICallBack interface to the routines like Attach,
// CopyQueuedFiles, SendAsync, etc. Some of these routines will, however, QI the
// ICallBack interface for IID_IPlatManCallback2. If your callback object can export
// an IPlatManCallback2 interface, then the routine will pass information to that
// interface.
typedef struct
{
BOOL fIsPeExe;
FILETIME FileTime;
WORD TargetCpu;
} CB2_FILEINFO;
[
object,
uuid(EC0A1BC0-A1F4-11d3-98FC-00105AA90682),
helpstring("IPlatManCallback2 Interface"),
pointer_default(unique)
]
interface IPlatManCallback2 : IUnknown
{
HRESULT ConfirmCopy2
(
[in] LPCOLESTR pszName,
[in] CB2_FILEINFO* pSrcFileInfo,
[in] CB2_FILEINFO* pDestFileInfo
);
};
[
object,
uuid(DA438BC2-FA87-11D1-BB9E-00A0C9C9CCEE),
helpstring("IPlatformManagerConfig Interface"),
pointer_default(unique)
]
interface IPlatformManagerConfig : IUnknown
{
HRESULT AddPackage
(
[in] GUID PackageId,
[in] LPCOLESTR pszPackageName,
[out] IPackage **ppiPackage
);
HRESULT GetPackage
(
[in] GUID PackageId,
[out] IPackage **ppiPackage
);
HRESULT DeletePackage
(
[in] GUID PackageId
);
HRESULT AddPlatform
(
[in] GUID PlatformId,
[in] LPCOLESTR pszPlatformName,
[out] IPlatformCE **ppiPlatform
);
HRESULT DeletePlatform
(
[in] GUID PlatformId
);
HRESULT GetVersion
(
[out] LPWORD pwMajorVersion,
[out] LPWORD pwMinorVersion,
[out] LPDWORD pdwBuildNumber
);
HRESULT GetVersion2
(
[out] LPWORD pwMajorVersion,
[out] LPWORD pwMinorVersion,
[out] LPDWORD pdwBuildNumber
);
HRESULT AddToolkit
(
[in] GUID ToolkitId,
[in] LPCOLESTR pszName
);
HRESULT DeleteToolkit
(
[in] GUID ToolkitId
);
};
[
object,
uuid(30A76E8E-8B0D-4E3b-8EC7-9B57862EFBF1),
helpstring("IPlatformManagerConfig2 Interface"),
pointer_default(unique)
]
interface IPlatformManagerConfig2 : IPlatformManagerConfig
{
// AddPackage adds an IPackage2 interface
HRESULT AddPackage2
(
[in] GUID PackageId,
[in] LPCOLESTR pszPackageName,
[out] IPackage2 **ppiPackage
);
//GetPackage retrieves an IPackage2 interface
HRESULT GetPackage2
(
[in] GUID PackageId,
[out] IPackage2 **ppiPackage
);
};
//The IPlatformManagerConfig3 interface is to help configure Bootable Devices
// and add Service Categories.
[
object,
uuid(817E8295-C9EE-48ec-B1AC-37A858B73609),
helpstring("IPlatformManagerConfig3 Interface"),
pointer_default(unique)
]
interface IPlatformManagerConfig3 : IPlatformManagerConfig2
{
HRESULT AddBootableDevice
(
[in] GUID BootableDeviceId,
[in] LPCOLESTR pszBootableDeviceName,
[out] IBootableDevice **ppiBootableDevice
);
HRESULT DeleteBootableDevice
(
[in] GUID BootableDeviceId
);
HRESULT AddServiceCategory
(
[in] GUID ServiceCategoryId,
[in] LPCOLESTR pszServiceCategoryName,
[out] IServiceCategory **ppiServiceCategory
);
HRESULT DeleteServiceCategory
(
[in] GUID ServiceCategoryId
);
};
// IBootableDeviceConfig to support
// bootable devices
[
object,
uuid(016ED627-9104-4fb6-8F82-E522755CC5AA),
helpstring("IBootableDeviceConfig Interface"),
pointer_default(unique)
]
interface IBootableDeviceConfig : IUnknown
{
HRESULT SetBootableDeviceName
(
[in] LPCOLESTR pszName
);
HRESULT AddService
(
[in] GUID ServiceCategoryId,
[in] GUID ServiceCLSID
);
HRESULT DeleteService
(
[in] GUID ServiceCategoryId
);
};
// IServiceCategoryConfig to support
// bootable devices
[
object,
uuid(C335A883-E95A-4ea4-9DDA-FBE83C55D519),
helpstring("IServiceCategoryConfig Interface"),
pointer_default(unique)
]
interface IServiceCategoryConfig : IUnknown
{
HRESULT SetServiceCategoryName
(
[in] LPCOLESTR pszServiceCategoryName
);
HRESULT AddServiceInfo
(
[in] GUID ServiceCLSID,
[in] LPCOLESTR pszServiceName,
[out] IServiceInfo **ppiServiceInfo
);
HRESULT DeleteServiceInfo
(
[in] GUID ServiceCLSID
);
};
// IServiceInfoConfig to support
// bootable devices
[
object,
uuid(324AA352-F2F5-4c23-AD31-1088D7D8EA97),
helpstring("IServiceInfoConfig Interface"),
pointer_default(unique)
]
interface IServiceInfoConfig : IUnknown
{
HRESULT SetServiceInfoName
(
[in] LPCOLESTR pszServiceInfoName
);
};
[
object,
uuid(DA438BC7-FA87-11D1-BB9E-00A0C9C9CCEE),
helpstring("IPlatformConfig Interface"),
pointer_default(unique)
]
interface IPlatformConfig : IUnknown
{
HRESULT AddPackage
(
[in] GUID PackageId,
[in] LPCOLESTR pszPackageName,
[out] IPackage **ppiPackage
);
HRESULT GetPackage
(
[in] GUID PackageId,
[out] IPackage **ppiPackage
);
HRESULT DeletePackage
(
[in] GUID PackageId
);
HRESULT AddComponent
(
[in] COMPONENT_KIND ck,
[in] GUID ComponentId,
[in] BOOL fDefault
);
HRESULT SetPlatformName
(
[in] LPCOLESTR pszPlatformName
);
HRESULT AddDevice
(
[in] GUID DeviceId,
[in] LPCOLESTR pszName,
[in] DEVICE_TYPE dt,
[out] IRemoteDevice **ppiDevice
);
HRESULT DeleteDevice
(
[in] GUID DeviceId
);
HRESULT EnumComponent
(
[in] COMPONENT_KIND ck,
[out] IEnumComponent **ppiEnumComponent
);
HRESULT GetComponentName
(
[in] COMPONENT_KIND ck,
[in] GUID ComponentId,
[out] LPOLESTR *pszName
);
HRESULT GetComponentType
(
[in] COMPONENT_KIND ck,
[in] GUID ComponentId,
[out] DEVICE_TYPE *pdt
);
HRESULT AddSupportedCPU
(
[in] WORD wArchitecture,
[in] DWORD dwCPUType,
[in] LPCOLESTR pszName
);
HRESULT SetOSInfo
(
[in] WORD wMajorVersion,
[in] WORD wMinorVersion
);
};
[
object,
uuid(FA59C739-CFD3-4421-B7F0-AA22D48D864C),
helpstring("IPlatformConfig2 Interface"),
pointer_default(unique)
]
interface IPlatformConfig2 : IPlatformConfig
{
// AddPackage adds an IPackage2 interface
HRESULT AddPackage2
(
[in] GUID PackageId,
[in] LPCOLESTR pszPackageName,
[out] IPackage2 **ppiPackage
);
// AddPackage now gets an IPackage2 interface
HRESULT GetPackage2
(
[in] GUID PackageId,
[out] IPackage2 **ppiPackage
);
};
[
object,
uuid(DA438BCA-FA87-11D1-BB9E-00A0C9C9CCEE),
helpstring("IRemoteDeviceConfig Interface"),
pointer_default(unique)
]
interface IRemoteDeviceConfig : IUnknown
{
HRESULT SetDeviceName
(
[in] LPCOLESTR pszName
);
HRESULT SetComponent
(
[in] COMPONENT_KIND ck,
[in] GUID ComponentId
);
HRESULT GetComponent
(
[in] COMPONENT_KIND ck,
[out] GUID *pComponentId
);
HRESULT ConfigureComponent
(
[in] HWND hWnd,
[in] COMPONENT_KIND ck,
[in] GUID ComponentId
);
};
#ifdef DEVICE_SPECIFIC_TRANSPORTS
[
object,
uuid(22ADBCCF-2007-451b-95D6-267E78B0EF98),
helpstring("IRemoteDeviceConfig Interface"),
pointer_default(unique)
]
interface IRemoteDeviceConfig2 : IRemoteDeviceConfig
{
//Allows you to Add a Device specific package.
HRESULT AddPackage2
(
[in] GUID PackageId,
[in] LPCOLESTR pszPackageName,
[out] IPackage2 **ppiPackage
);
//Allows you to Get the specified Device specific package.
HRESULT GetPackage2
(
[in] GUID PackageId,
[out] IPackage2 **ppiPackage
);
//Allows you to Delete the specified Device specific package.
HRESULT DeletePackage
(
[in] GUID PackageId
);
//Allows you to Add device specific Servers and Transports.
HRESULT AddComponent
(
[in] COMPONENT_KIND ck,
[in] GUID ComponentId,
[in] BOOL fDefault
);
//Allows you to get an enumeration of device specific Servers and Transports.
HRESULT EnumComponent
(
[in] COMPONENT_KIND ck,
[out] IEnumComponent **ppiEnumComponent
);
}
#endif //DEVICE_SPECIFIC_TRANSPORTS
[
object,
uuid(DA438BCD-FA87-11D1-BB9E-00A0C9C9CCEE),
helpstring("IEnumComponent Interface"),
pointer_default(unique)
]
interface IEnumComponent : IUnknown
{
HRESULT Next
(
[in] ULONG celt,
[out, size_is(celt), length_is(*pceltFetched)] GUID *rgelt[],
[out] ULONG *pceltFetched
);
HRESULT Skip
(
[in] ULONG celt
);
HRESULT Reset
(
);
HRESULT Clone
(
[out] IEnumComponent **ppEnum
);
HRESULT GetCount
(
[out] ULONG *pcelt
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -