您现在的位置: 范文先生网 >> 理工论文 >> 电子通信论文 >> 正文

Windows CE中实现蓝牙串口驱动程序

时间:2007-1-20栏目:电子通信论文

0,

NULL,

(PHW_VTBL)&BluetoothVTbl/*包含需要实现的所有标准串口DDSI函数的列表*/

};

HWOBJ BluetoothCTRLObj={/*描述蓝牙控制端口特征*/

(PDEVICE_LIST)&SerDL,

THREAD_IN_PDD,

0,

NULL,

(PHW_VTBL)&CTRLVTb1

};

PHWOBJ rgpHWObjects[]={/*包含两个PDD实例的数组*/

&BluetoothObj,

&BluetoothCTRLObj

};

DEVICE_LIST SerDL={/*存储设备驱动程序中所有串口设备*/

“CESerial.dll”,/*串口驱动程序的名字*/

sizeof(rgpHWObjects)/sizeof(PHWOBJ),/*串口设备的数目*/

regHWObjects

};

PDEVICE_LIST GetSerialObject(VOID)

{

return (&SerDL);

}

图2

    在串口驱动程序中注册了两个串口设备后,就要实现这两个PDD实例对应的流接口函数。微软为要实现的串口PDD模块提供了一个HWOBJ(Haredware Object)类型的串行对象表,这个结构列出了实现串口驱动的所有接口函数指针。见下面的描述:

typedef struct _HW_VTBL{

PVOID(*HWInit)(ULONG Identifier,PVOID pMDDCon-text,PHWOBJ pHWObj);

…,

…,

BOOL(*HWIoct1)(PVOID pHead,DWORD dwCode,

PBYTE pBufIn,DWORD dwLenIn,PBYTE pBufOut,DWORD

DwLenOut,PDWORDpdwActualOut);

} HW_VTBL,*PHW_VTBL;

用户通过修改串行口PDD的串行对象表改变函数集或函数名。下面的结构BluetoothVTbl的定义了蓝牙仿真串口DDSI函数的名称。

Const HW_VTBL BluetoothVTbl={

BluetoothInitSerial,

上一页  [1] [2] [3] 下一页

下页更精彩:1 2 3 4 下一页