阅读:1642回复:9
关于WINDOWS CE 串口得GetSerialObject()函数得疑问
我在MDD层看到pSerialHead->pHWObj=GetSerialObject(),我要是在PDD层定义GetSerialObject()这个函数,怎么样才能把这个函数在这两个层里面联系起来。
我在函数中也没有看到一些extern之类得东西 |
|
沙发#
发布于:2005-03-10 20:06
GetSerialObject()这个函数所返回的结构体指针,就是起到了连接MDD & PDD的作用
|
|
板凳#
发布于:2005-03-10 20:58
返回值是能够联系到一起,起到从MDD调用PDD得目的。这个函数再MDD里面,她怎么能找到PDD层得这个函数。主要是怎么调用这个函数本身。因为这个函数体在PDD中,在MDD中调用得话应该用extern之类的,然后在把那个函数得头文件包含进去。但是这些什么都没有,怎么调用。
|
|
地板#
发布于:2005-03-10 22:35
..\\WINCE420\\PUBLIC\\COMMON\\OAK\\INC\\serhw.h
..\\WINCE420\\PUBLIC\\COMMON\\OAK\\INC\\serhwex.h 有此函数声明 |
|
地下室#
发布于:2005-03-10 22:38
typedef struct __HWOBJ {
ULONG BindFlags; // Flags controlling MDD behaviour. Se above. DWORD dwIntID; // Interrupt Identifier used if THREAD_AT_INIT or THREAD_AT_OPEN PHW_VTBL pFuncTbl; } HWOBJ, *PHWOBJ; 结构体原形 [编辑 - 3/10/05 by ILznFE] |
|
5楼#
发布于:2005-03-10 22:39
// GetSerialObj : The purpose of this function is to allow multiple PDDs to be
// linked with a single MDD creating a multiport driver. In such a driver, the // MDD must be able to determine the correct vtbl and associated parameters for // each PDD. Immediately prior to calling HWInit, the MDD calls GetSerialObject // to get the correct function pointers and parameters. // PHWOBJ GetSerialObject(DWORD DeviceArrayIndex) { PHWOBJ pSerObj; RETAILMSG(DEBUGMODE, (TEXT(\"GetSerialObject : DeviceArrayIndex = %d\\r\\n\"), DeviceArrayIndex)); // Now return this structure to the MDD. if (DeviceArrayIndex == 1) { pSerObj = (PHWOBJ)(&IrObj); } else { pSerObj = (PHWOBJ)(&IoObj); } return (pSerObj); } |
|
6楼#
发布于:2005-03-11 08:31
我知道这个声明,上面你给得我也看过。但是,因为在MDD层并没有包含serhw.h这个文件,这样得话,MDD怎么知道在PDD中有GetSerialObject(),如果知道有这个函数,那么MDD和PDD得联系就顺理成章了。但是我就是不明白得是这个函数本身是如果调用得。就是MDD得给我了这个函数,如何知道在PDD中有这个函数。
|
|
7楼#
发布于:2005-03-11 10:41
我的包含了呀
这是我中MDD.C的包含 #include <windows.h> #include <types.h> #include <memory.h> #include <linklist.h> #include <nkintr.h> #include <serdbg.h> #include <serpriv.h>---------------->注意这里,这个文件中包含了#include <serhw.h> #include <hwcomapi.h> #include <pegdser.h> #include <devload.h> #include <pm.h> |
|
8楼#
发布于:2005-03-11 10:43
顺便提一句,我用的是2410的开发版,不支你的是什末,有可能会不一样
|
|
9楼#
发布于:2005-03-11 11:02
3KS.我用得是PXA255
|
|