<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Iranian robot's Weblog</title>
	<atom:link href="http://iranrobot.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://iranrobot.wordpress.com</link>
	<description>An Iranian Robotic Group Home page</description>
	<lastBuildDate>Thu, 25 Sep 2008 03:47:54 +0000</lastBuildDate>
	<language>fa</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='iranrobot.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Iranian robot's Weblog</title>
		<link>http://iranrobot.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://iranrobot.wordpress.com/osd.xml" title="Iranian robot&#039;s Weblog" />
	<atom:link rel='hub' href='http://iranrobot.wordpress.com/?pushpress=hub'/>
		<item>
		<title>كار با پورت پارالل</title>
		<link>http://iranrobot.wordpress.com/2008/09/25/%d9%83%d8%a7%d8%b1-%d8%a8%d8%a7-%d9%be%d9%88%d8%b1%d8%aa-%d9%be%d8%a7%d8%b1%d8%a7%d9%84%d9%84/</link>
		<comments>http://iranrobot.wordpress.com/2008/09/25/%d9%83%d8%a7%d8%b1-%d8%a8%d8%a7-%d9%be%d9%88%d8%b1%d8%aa-%d9%be%d8%a7%d8%b1%d8%a7%d9%84%d9%84/#comments</comments>
		<pubDate>Thu, 25 Sep 2008 01:19:42 +0000</pubDate>
		<dc:creator>iranrobot</dc:creator>
				<category><![CDATA[كامپيوتر]]></category>
		<category><![CDATA[c++]]></category>
		<category><![CDATA[inpout32drv]]></category>
		<category><![CDATA[paralell]]></category>
		<category><![CDATA[paralell port use پورت پارالل c++]]></category>
		<category><![CDATA[port]]></category>
		<category><![CDATA[پورت]]></category>
		<category><![CDATA[پارالل]]></category>

		<guid isPermaLink="false">http://iranrobot.wordpress.com/?p=4</guid>
		<description><![CDATA[// inpout32drv.cpp : Defines the entry point for the DLL application. // #include &#8220;stdafx.h&#8221; #include &#8220;hwinterfacedrv.h&#8221; #include &#8220;resource.h&#8221; #include &#8220;conio.h&#8221; #include &#8220;stdlib.h&#8221; void _stdcall Out32(short PortAddress, short data); short  _stdcall Inp32(short PortAddress); int inst(); int start(); char str[10]; int vv; HANDLE hdriver; char path[MAX_PATH]; HINSTANCE hmodule; SECURITY_ATTRIBUTES sa; int sysver; int Opendriver(void); void Closedriver(void); BOOL [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=iranrobot.wordpress.com&amp;blog=4971556&amp;post=4&amp;subd=iranrobot&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>// inpout32drv.cpp : Defines the entry point for the DLL application.<br />
//</p>
<p>#include &#8220;stdafx.h&#8221;<br />
#include &#8220;hwinterfacedrv.h&#8221;<br />
#include &#8220;resource.h&#8221;<br />
#include &#8220;conio.h&#8221;<br />
#include &#8220;stdlib.h&#8221;</p>
<p>void _stdcall Out32(short PortAddress, short data);<br />
short  _stdcall Inp32(short PortAddress);<br />
int inst();<br />
int start();</p>
<p>char str[10];<br />
int vv;</p>
<p>HANDLE hdriver;<br />
char path[MAX_PATH];<br />
HINSTANCE hmodule;<br />
SECURITY_ATTRIBUTES sa;<br />
int sysver;</p>
<p>int Opendriver(void);<br />
void Closedriver(void);</p>
<p>BOOL APIENTRY DllMain( HINSTANCE  hModule,<br />
DWORD  ul_reason_for_call,<br />
LPVOID lpReserved<br />
)<br />
{</p>
<p>hmodule = hModule;<br />
switch(ul_reason_for_call)<br />
{<br />
case DLL_PROCESS_ATTACH:<br />
sysver = SystemVersion();<br />
if(sysver==2)<br />
{<br />
Opendriver();<br />
}<br />
break;<br />
case DLL_PROCESS_DETACH:<br />
if(sysver==2)<br />
{<br />
CloseHandle(hdriver);<br />
}<br />
break;<br />
}<br />
return TRUE;<br />
}</p>
<p>/***********************************************************************/</p>
<p>void Closedriver(void)</p>
<p>{<br />
CloseHandle(hdriver);<br />
}</p>
<p>void _stdcall Out32(short PortAddress, short data)<br />
{</p>
<p>switch(sysver)<br />
{<br />
case 1:<br />
_outp( PortAddress,data);<br />
break;</p>
<p>case 2:<br />
unsigned int error;<br />
DWORD BytesReturned;<br />
BYTE Buffer[3];<br />
unsigned short * pBuffer;<br />
pBuffer = (unsigned short *)&amp;Buffer[0];<br />
*pBuffer = LOWORD(PortAddress);<br />
Buffer[2] = LOBYTE(data);</p>
<p>error = DeviceIoControl(hdriver,<br />
IOCTL_WRITE_PORT_UCHAR,<br />
&amp;Buffer,<br />
3,<br />
NULL,<br />
0,<br />
&amp;BytesReturned,<br />
NULL);<br />
break;<br />
}</p>
<p>}</p>
<p>/*********************************************************************/</p>
<p>short _stdcall Inp32(short PortAddress)<br />
{<br />
BYTE retval;<br />
switch(sysver)<br />
{</p>
<p>case 1:<br />
retval = _inp(PortAddress);<br />
return retval;<br />
break;<br />
case 2:<br />
unsigned int error;<br />
DWORD BytesReturned;<br />
unsigned char Buffer[3];<br />
unsigned short * pBuffer;<br />
pBuffer = (unsigned short *)&amp;Buffer;<br />
*pBuffer = LOWORD(PortAddress);<br />
Buffer[2] = 0;<br />
error = DeviceIoControl(hdriver,<br />
IOCTL_READ_PORT_UCHAR,<br />
&amp;Buffer,<br />
2,<br />
&amp;Buffer,<br />
1,<br />
&amp;BytesReturned,<br />
NULL);</p>
<p>return((int)Buffer[0]);</p>
<p>break;<br />
}<br />
return 0;<br />
}</p>
<p>/*********************************************************************/</p>
<p>int Opendriver(void)</p>
<p>{<br />
hdriver = CreateFile(&#8220;\\\\.\\hwinterface&#8221;,<br />
GENERIC_READ | GENERIC_WRITE,<br />
0,<br />
NULL,<br />
OPEN_EXISTING,<br />
FILE_ATTRIBUTE_NORMAL,<br />
NULL);</p>
<p>if(hdriver == INVALID_HANDLE_VALUE)<br />
{</p>
<p>if(start())<br />
{<br />
inst();<br />
start();</p>
<p>hdriver = CreateFile(&#8220;\\\\.\\hwinterface&#8221;,<br />
GENERIC_READ | GENERIC_WRITE,<br />
0,<br />
NULL,<br />
OPEN_EXISTING,<br />
FILE_ATTRIBUTE_NORMAL,<br />
NULL);</p>
<p>}</p>
<p>return 1;<br />
}<br />
return 0;<br />
}</p>
<p>/***********************************************************************/</p>
<p>int inst()<br />
{</p>
<p>SC_HANDLE  Mgr;<br />
SC_HANDLE  Ser;</p>
<p>GetSystemDirectory(path , sizeof(path));<br />
HRSRC hResource = FindResource(hmodule, MAKEINTRESOURCE(IDR_BIN1), &#8220;bin&#8221;);<br />
if(hResource)<br />
{<br />
HGLOBAL binGlob = LoadResource(hmodule, hResource);</p>
<p>if(binGlob)<br />
{<br />
void *binData = LockResource(binGlob);</p>
<p>if(binData)<br />
{<br />
HANDLE file;<br />
strcat(path,&#8221;\\Drivers\\hwinterface.sys&#8221;);</p>
<p>file = CreateFile(path,<br />
GENERIC_WRITE,<br />
0,<br />
NULL,<br />
CREATE_ALWAYS,<br />
0,<br />
NULL);</p>
<p>if(file)<br />
{<br />
DWORD size, written;</p>
<p>size = SizeofResource(hmodule, hResource);<br />
WriteFile(file, binData, size, &amp;written, NULL);<br />
CloseHandle(file);</p>
<p>}<br />
}<br />
}<br />
}</p>
<p>Mgr = OpenSCManager (NULL, NULL,SC_MANAGER_ALL_ACCESS);<br />
if (Mgr == NULL)<br />
{       //No permission to create<br />
service<br />
if (GetLastError() == ERROR_ACCESS_DENIED)<br />
{<br />
return 5;  // error access denied<br />
}<br />
}<br />
else<br />
{<br />
Ser = CreateService (Mgr,<br />
&#8220;hwinterface&#8221;,<br />
&#8220;hwinterface&#8221;,<br />
SERVICE_ALL_ACCESS,<br />
SERVICE_KERNEL_DRIVER,<br />
SERVICE_SYSTEM_START,<br />
SERVICE_ERROR_NORMAL,<br />
&#8220;System32\\Drivers\\hwinterface.sys&#8221;,<br />
NULL,<br />
NULL,<br />
NULL,<br />
NULL,<br />
NULL<br />
);</p>
<p>}</p>
<p>CloseServiceHandle(Ser);<br />
CloseServiceHandle(Mgr);</p>
<p>return 0;<br />
}<br />
/**************************************************************************/<br />
int start(void)<br />
{<br />
SC_HANDLE  Mgr;<br />
SC_HANDLE  Ser;</p>
<p>Mgr = OpenSCManager (NULL, NULL,SC_MANAGER_ALL_ACCESS);</p>
<p>if (Mgr == NULL)<br />
{       //No permission to create<br />
service<br />
if (GetLastError() == ERROR_ACCESS_DENIED)<br />
{<br />
Mgr = OpenSCManager (NULL, NULL,GENERIC_READ);<br />
Ser = OpenService(Mgr,&#8221;hwinterface&#8221;,GENERIC_EXECUTE);<br />
if (Ser)<br />
{    // we have permission to start the service<br />
if(!StartService(Ser,0,NULL))<br />
{<br />
CloseServiceHandle (Ser);<br />
return 4; // we could open the service but unable to start<br />
}</p>
<p>}</p>
<p>}<br />
}<br />
else<br />
{// Successfuly opened Service Manager with full access</p>
<p>Ser = OpenService(Mgr,&#8221;hwinterface&#8221;,GENERIC_EXECUTE);<br />
if (Ser)<br />
{</p>
<p>if(!StartService(Ser,0,NULL))<br />
{<br />
CloseServiceHandle (Ser);<br />
return 3; // opened the Service handle with full access<br />
permission, but unable to start<br />
}<br />
else<br />
{<br />
CloseServiceHandle (Ser);<br />
return 0;<br />
}</p>
<p>}</p>
<p>}</p>
<p>return 1;<br />
}</p>
<p>?áãÚ ÔíÇãÒÂ ÑÏ C++Builder</p>
<p>ÑÏ ááÇÑÇ ÊÑ ?æÑ äÊÔæä ?ÇÑÈC++Builder Ïíä˜ ÒÇÈ ÏíÏÌ åŽæÑ ˜í .<br />
Ïíä˜ åÑíÎÐ ÇÑ äÂ .<br />
Dll ÏíÒíÑÈ åŽæÑ áÍã ÑÏ ÇÑ åÏÔ åÊÎÇÓ .<br />
?ÇÍ ÏíÓíæäÈ æ åÏÑ˜ ÒÇÈ æÑ åŽæÑ:<br />
Include Ïíä˜ åÝÇÖÇ åŽæÑ åÈ ÇÑ ÑíÒ ?Çå :<br />
#include &lt;stdio.h&gt;<br />
#include &lt;conio.h&gt;<br />
#include &lt;windows.h&gt;</p>
<p>?ÇÍ ãíåÇæÎ ?ã ÇãLED ãíä˜ ÔæãÇÎ æ äÔæÑ ÇÑ .<br />
Ó åíÇ +LED äí åÈ ÇÑ 1 Ïíä˜ áÕÊã ááÇÑÇ ÊÑ .<br />
æ åíÇ– ÇÑ  ÑÊæíãÇ˜ åäÏÈ åÈ.<br />
ÈæÎ ?ÇÍDLL ÇÑ Export ãíä˜ ?ã :</p>
<p>typedef void _stdcall (*oupfuncPtr)(short portaddr, short datum);</p>
<p>˜í ?ÇÍ Úæä ÒÇ ÑíÛÊãINT äííÇ ÑÏ TForm1 *Form1;<br />
Ïíä˜ ÝíÑÚÊ ÑíÒ ÊÑæÕ åÈ .<br />
int lamp;</p>
<p>?ÇÍÈ ãÑÝ ?æÑ ÑÈ ÑãíÇÊ ˜í  ÏíÓíæäÈ æ Ïíä˜ ˜íá˜ áÈÇÏ äÂ ?æÑ æ ÏíÑÇÐ:</p>
<p>HINSTANCE hLib;<br />
oupfuncPtr oup32;<br />
hLib = LoadLibrary(&#8220;inpout32.dll&#8221;);<br />
oup32 = (oupfuncPtr) GetProcAddress(hLib, &#8220;Out32&#8243;);<br />
if (lamp == false)<br />
{<br />
(oup32)(888,1);<br />
lamp =! lamp;<br />
}</p>
<p>else<br />
{<br />
(oup32)(888,0);<br />
lamp =! lamp;<br />
}</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/iranrobot.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/iranrobot.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/iranrobot.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/iranrobot.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/iranrobot.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/iranrobot.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/iranrobot.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/iranrobot.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/iranrobot.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/iranrobot.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/iranrobot.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/iranrobot.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/iranrobot.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/iranrobot.wordpress.com/4/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=iranrobot.wordpress.com&amp;blog=4971556&amp;post=4&amp;subd=iranrobot&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://iranrobot.wordpress.com/2008/09/25/%d9%83%d8%a7%d8%b1-%d8%a8%d8%a7-%d9%be%d9%88%d8%b1%d8%aa-%d9%be%d8%a7%d8%b1%d8%a7%d9%84%d9%84/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/76fc1276a88b431595b4cdf52eefe980?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">تيم روباتيك CGB</media:title>
		</media:content>
	</item>
		<item>
		<title>Hello world!</title>
		<link>http://iranrobot.wordpress.com/2008/09/25/hello-world/</link>
		<comments>http://iranrobot.wordpress.com/2008/09/25/hello-world/#comments</comments>
		<pubDate>Thu, 25 Sep 2008 00:37:10 +0000</pubDate>
		<dc:creator>iranrobot</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Welcome to WordPress.com. This is your first post. Edit or delete it and start blogging!<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=iranrobot.wordpress.com&amp;blog=4971556&amp;post=1&amp;subd=iranrobot&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Welcome to <a href="http://wordpress.com/">WordPress.com</a>. This is your first post. Edit or delete it and start blogging!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/iranrobot.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/iranrobot.wordpress.com/1/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/iranrobot.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/iranrobot.wordpress.com/1/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/iranrobot.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/iranrobot.wordpress.com/1/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/iranrobot.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/iranrobot.wordpress.com/1/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/iranrobot.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/iranrobot.wordpress.com/1/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/iranrobot.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/iranrobot.wordpress.com/1/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/iranrobot.wordpress.com/1/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/iranrobot.wordpress.com/1/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=iranrobot.wordpress.com&amp;blog=4971556&amp;post=1&amp;subd=iranrobot&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://iranrobot.wordpress.com/2008/09/25/hello-world/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/76fc1276a88b431595b4cdf52eefe980?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">تيم روباتيك CGB</media:title>
		</media:content>
	</item>
	</channel>
</rss>
