📄 mdmscwritingyourowncustomizedhandler.htm
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML dir=ltr>
<HEAD>
<META HTTP-EQUIV="Content-Type" Content="text/html; charset=gb2312"><title>编写自己的自定义处理程序</title>
<style>@import url(msdn_ie4.css);</style>
</HEAD>
<BODY>
<h2><a name="mdmscwritingyourowncustomizedhandler"></a>编写自己的自定义处理程序</h2>
<p><a href="dir.htm">目录</a></p>
<p>
如果您是需要默认 RDS 支持的 IIS 服务器管理员,但需要进一步控制用户请求和访问权限,则可能需要编写自己的处理程序。</p>
<p>
MSDFMAP.Handler 实现 <b>IDataFactoryHandler </b>接口。 </p>
<h3>IDataFactoryHandler 接口</h3>
<p>
该接口有两种方法,即 <b>GetRecordset</b> 和 <b>Reconnect</b>。两种方法都要求将 <b>CursorLocation</b> 属性设置为 <b>adUseClient</b>。</p>
<p>
两种方法都取“<b>Handler</b>=”关键词的第一个逗号后面出现的参数。例如,“Handler=progid,arg1,arg2;”将传递“arg1,arg2”的参数字符串,而“Handler=progid”将传递参数 NULL。</p>
<h3>GetRecordset 方法</h3>
<p>
该方法使用提供的参数查询数据源并创建新的 <b>Recordset</b> 对象。<b>Recordset</b> 必须使用 <b>adLockBatchOptimistic</b> 打开,不能异步打开。 </p>
<p class=label>
<b>参数</b></p>
<p>
<b><i>conn</i></b> 连接字符串。</p>
<p>
<b><i>args</i></b> 处理程序参数。</p>
<p>
<b><i>query </i></b>产生查询所用的命令文本。</p>
<p>
<b><i>ppRS</i></b> 指向返回 <b>Recordset</b> 的位置。</p>
<h3>Reconnect 方法</h3>
<p>
该方法更新数据源。它创建新的 <b>Connection </b>对象,并附加给定的 <b>Recordset</b>。 </p>
<p class=label>
<b>参数</b></p>
<p>
<b><i>conn</i></b> 连接字符串。</p>
<p>
<b><i>args</i></b> 处理程序参数。</p>
<p>
<b><i>pRS</i></b> <b>Recordset</b> 对象。</p>
<h3>msdfhdl.idl</h3>
<p>
这是出现在 <b>msdfhdl.idl</b> 文件中对 <b>IDataFactoryHandler </b>的接口定义。</p>
<pre>[
uuid(D80DE8B3-0001-11d1-91E6-00C04FBBBFB3),
version(1.0)
]
library MSDFHDL
{
importlib("stdole32.tlb");
importlib("stdole2.tlb"); // TLib : Microsoft ActiveX Data Objects 2.0 Library
// {00000200-0000-0010-8000-00AA006D2EA4}
#ifdef IMPLIB
importlib("implib\\x86\\release\\ado\\msado15.dll");
#else
importlib("msado20.dll");
#endif [
odl,
uuid(D80DE8B5-0001-11d1-91E6-00C04FBBBFB3),
version(1.0)
]
interface IDataFactoryHandler : IUnknown
{
HRESULT _stdcall GetRecordset(
[in] BSTR conn,
[in] BSTR args,
[in] BSTR query,
[out, retval] _Recordset **ppRS);// DataFactory 将在调用 Reconnect 后
// 使用记录集的 ActiveConnection 属性。
HRESULT _stdcall Reconnect(
[in] BSTR conn,
[in] BSTR args,
[in] _Recordset *pRS);
};
};
</pre>
<center> <A HREF="http://www.51windows.Net">www.51windows.Net</A></center>
<SCRIPT LANGUAGE="JavaScript" src="/log/sitelog2.asp"></SCRIPT>
<script src="script.js"></script></BODY>
</HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -