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

📄 device.idl

📁 JAPAN RTOS TOPPERS/JSP kernel 1.4 PreRelease simulation environment JSP kernel Windows simulation
💻 IDL
字号:
/*
 *  TOPPERS/JSP Kernel
 *      Toyohashi Open Platform for Embedded Real-Time Systems/
 *      Just Standard Profile Kernel
 * 
 *  Copyright (C) 2000-2002 by Embedded and Real-Time Systems Laboratory
 *                              Toyohashi Univ. of Technology, JAPAN
 * 
 *  忋婰挊嶌尃幰偼丆Free Software Foundation 偵傛偭偰岞昞偝傟偰偄傞 
 *  GNU General Public License 偺 Version 2 偵婰弎偝傟偰偄傞忦審偐丆埲
 *  壓偺(1)乣(4)偺忦審傪枮偨偡応崌偵尷傝丆杮僜僼僩僂僃傾乮杮僜僼僩僂僃
 *  傾傪夵曄偟偨傕偺傪娷傓丏埲壓摨偠乯傪巊梡丒暋惢丒夵曄丒嵞攝晍乮埲壓丆
 *  棙梡偲屇傇乯偡傞偙偲傪柍彏偱嫋戻偡傞丏
 *  (1) 杮僜僼僩僂僃傾傪僜乕僗僐乕僪偺宍偱棙梡偡傞応崌偵偼丆忋婰偺挊嶌
 *      尃昞帵丆偙偺棙梡忦審偍傛傃壓婰偺柍曐徹婯掕偑丆偦偺傑傑偺宍偱僜乕
 *      僗僐乕僪拞偵娷傑傟偰偄傞偙偲丏
 *  (2) 杮僜僼僩僂僃傾傪嵞棙梡壜擻側僶僀僫儕僐乕僪乮儕儘働乕僞僽儖僆僽
 *      僕僃僋僩僼傽僀儖傗儔僀僽儔儕側偳乯偺宍偱棙梡偡傞応崌偵偼丆棙梡
 *      偵敽偆僪僉儏儊儞僩乮棙梡幰儅僯儏傾儖側偳乯偵丆忋婰偺挊嶌尃昞帵丆
 *      偙偺棙梡忦審偍傛傃壓婰偺柍曐徹婯掕傪宖嵹偡傞偙偲丏
 *  (3) 杮僜僼僩僂僃傾傪嵞棙梡晄壜擻側僶僀僫儕僐乕僪偺宍傑偨偼婡婍偵慻
 *      傒崬傫偩宍偱棙梡偡傞応崌偵偼丆師偺偄偢傟偐偺忦審傪枮偨偡偙偲丏
 *    (a) 棙梡偵敽偆僪僉儏儊儞僩乮棙梡幰儅僯儏傾儖側偳乯偵丆忋婰偺挊嶌
 *        尃昞帵丆偙偺棙梡忦審偍傛傃壓婰偺柍曐徹婯掕傪宖嵹偡傞偙偲丏
 *    (b) 棙梡偺宍懺傪丆暿偵掕傔傞曽朄偵傛偭偰丆忋婰挊嶌尃幰偵曬崘偡傞
 *        偙偲丏
 *  (4) 杮僜僼僩僂僃傾偺棙梡偵傛傝捈愙揑傑偨偼娫愙揑偵惗偠傞偄偐側傞懝
 *      奞偐傜傕丆忋婰挊嶌尃幰傪柶愑偡傞偙偲丏
 * 
 *  杮僜僼僩僂僃傾偼丆柍曐徹偱採嫙偝傟偰偄傞傕偺偱偁傞丏忋婰挊嶌尃幰偼丆
 *  杮僜僼僩僂僃傾偵娭偟偰丆偦偺揔梡壜擻惈傕娷傔偰丆偄偐側傞曐徹傕峴傢
 *  側偄丏傑偨丆杮僜僼僩僂僃傾偺棙梡偵傛傝捈愙揑傑偨偼娫愙揑偵惗偠偨偄
 *  偐側傞懝奞偵娭偟偰傕丆偦偺愑擟傪晧傢側偄丏
 * 
 *  @(#) $Id: device.idl,v 1.2 2002/04/10 11:26:20 takayuki Exp $
 */

import "oaidl.idl";
import "ocidl.idl";
#include "olectl.h"
	

	[
		object,
		uuid(6998EBB2-678E-4891-8BD0-C34F165488AC),
		dual,
		helpstring("IDeviceControl Interface"),
		pointer_default(unique)
	]
	interface IDeviceControl : IDispatch
	{
		[id(1), helpstring("Make a connection with the device manager")] HRESULT Connect();
		[id(2), helpstring("Disconnect a device manager")] HRESULT Close();
		[propget, id(3), helpstring("Turn true if this device is enabled")] HRESULT Valid([out, retval] BOOL *pVal);
		[id(4), helpstring("Make a interrupt request to the kernel")] HRESULT RaiseInterrupt([in]long inhno);
		[id(5), helpstring("Make a address mapping on the manager")] HRESULT Map([in]long address,[in]long size);
		[id(6), helpstring("Release a address mapping on the manager")] HRESULT Unmap([in]long address);
		[propget, id(7), helpstring("Turn true if the kernel is running")] HRESULT IsKernelStarted([out, retval] BOOL *pVal);
		[propget, id(8), helpstring("Internal Buffer offset")] HRESULT Offset([out, retval] long *pVal);
		[propput, id(8), helpstring("Internal Buffer offset")] HRESULT Offset([in] long newVal);
		[propget, id(9), helpstring("Access Width of Internal Buffer")] HRESULT AccessSize([out, retval] short *pVal);
		[propput, id(9), helpstring("Access width of internal buffer")] HRESULT AccessSize([in] short newVal);
		[propget, id(10), helpstring("Value of current scope of internal buffer")] HRESULT Value([out, retval] long *pVal);
		[propput, id(10), helpstring("Value of current scope of internal buffer")] HRESULT Value([in] long newVal);
	};

[
	uuid(194B359F-594E-4EE4-A804-84723D1CF1C4),
	version(1.0),
	helpstring("TOPPERS/JSP on Windows Device Component Type Library")
]
library ATLDEVICELib
{
	importlib("stdole32.tlb");
	importlib("stdole2.tlb");

	[
		uuid(49253060-4210-43A1-8EA2-3A97587C89B9),
		helpstring("_IDeviceControlEvents Interface")
	]
	dispinterface _IDeviceControlEvents
	{
		properties:
		methods:
		[id(1), helpstring("Read event notification")] HRESULT OnRead([in] long address, [in] long sz);
		[id(2), helpstring("Write event notification")] HRESULT OnWrite([in] long address, [in] long sz);
		[id(3), helpstring("Kernel start notification")] HRESULT OnKernelStart();
		[id(4), helpstring("Kernel completion notification")] HRESULT OnKernelExit();
	};

	[
		uuid(D6626115-E35B-4B38-BC65-3E59D5535AD4),
		helpstring("DeviceControl Class")
	]
	coclass DeviceControl
	{
		[default] interface IDeviceControl;
		[default, source] dispinterface _IDeviceControlEvents;
	};
};

⌨️ 快捷键说明

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