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

📄 tl.idl

📁 EVC4.rar
💻 IDL
字号:
import "oaidl.idl";
import "ocidl.idl";
import "cemgr.idl";

// error codes for copy commands 
cpp_quote("static const int E_BAD_BUFFER			= MAKE_HRESULT(11, FACILITY_ITF, 0x01);")
cpp_quote("static const int E_INSUFFICIENT_BUFFER	= MAKE_HRESULT(1, FACILITY_ITF, 0x02);")
cpp_quote("static const int E_SEND_FAILED			= MAKE_HRESULT(11, FACILITY_ITF, 0x03);")
cpp_quote("static const int E_READ_FAILED			= MAKE_HRESULT(11, FACILITY_ITF, 0x04);")

enum {
	TL_KEEPALIVE = 0x1,
	TL_DIRECT_CONNECT = 0x2,
	TL_AUTO_REGISTER = 0x4,
	TL_AUTO_STARTUP = 0x8,
	TL_NO_CONNECT = 0x10,
	TL_STRING_DATA = 0x20,
	TL_PPP_PEER = 0x40
};
typedef ULONG TL_FLAGS;


typedef struct tlpubinfo 
{
	DWORD cbSize; // sizeof(TLPUBINFO)
	DWORD dwVersion;
	DWORD dwFlags;
	DWORD dwConnectTimeOut;
	DWORD dwKeepAliveTimeOut;
	DWORD cbDataSize;
	BYTE  pData[1];
} TLPUBINFO, *PTLPUBINFO;

interface ITransportConnection;

	[
	
		uuid(5C6F612B-0158-11D2-BBA0-00A0C9C9CCEE),
	
		helpstring("ITransport Interface"),
		pointer_default(unique)
	]
	interface ITransport : IUnknown
	{
		HRESULT GetType
		(
			[out] DEVICE_TYPE *pdt
		);
		HRESULT GetName
		(
			[out] LPOLESTR *ppszName
		);
		HRESULT GetClientName
		(
			[out] LPOLESTR *ppszName
		);
		HRESULT Configure
		(
			[in] HWND hWnd, 
			[in] IRemoteDevice *piDevice
		);
		HRESULT InitConnection
		(
			[in] IRemoteDevice *piDevice
		);
		HRESULT GetConnectionInfo
		(
			[in] DWORD dwMaxSize,
			[out, size_is(dwMaxSize), length_is(*pdwActualSize)] BYTE *pData,
			[out] LPDWORD pdwActualSize
		);
		HRESULT Accept
		(
			[out] ITransportConnection **ppiTransportConnect
		);
	};
	
	[

		uuid(5C6F612D-0158-11D2-BBA0-00A0C9C9CCEE),

		helpstring("ITransportConnection Interface"),
		pointer_default(unique)
	]
	interface ITransportConnection : IUnknown
	{
		HRESULT ReadBytes
		(
			[in] DWORD dwSize,
			[out, size_is(dwSize), length_is(*pdwBytesRead)] BYTE *pData,
			[out] LPDWORD pdwBytesAvailable,
			[out] LPDWORD pdwBytesRead
		);
		HRESULT WriteBytes
		(
			[in] DWORD dwSize,
			[in, size_is(dwSize)] BYTE *pData,
			[out] LPDWORD pdwBytesWritten
		);
		HRESULT Close
		(
		);
	};

	[
		uuid(9AAEF5B7-8C4B-4369-B103-4D5FFB0AC2AD),
		helpstring("ITransportConnection2 Interface which supports timeout on readbytes"),
		pointer_default(unique)
	]
	interface ITransportConnection2 : IUnknown
	{
		HRESULT ReadBytes
		(
			[in] DWORD dwSize,
			[in] DWORD dwTimeout,
			[out, size_is(dwSize), length_is(*pdwBytesRead)] BYTE *pData,
			[out] LPDWORD pdwBytesAvailable,
			[out] LPDWORD pdwBytesRead
		);
	};

⌨️ 快捷键说明

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