阅读:1210回复:5
TDI 建立ConnectionEndPoint时的问题,大家帮忙看一下
代码如下:
NTSTATUS CreateConnection(PHANDLE pConnHandle, PFILE_OBJECT* pConnObj) { NTSTATUS status; UNICODE_STRING DeviceName; OBJECT_ATTRIBUTES oa; CHAR Buffer[sizeof(FILE_FULL_EA_INFORMATION) + TDI_CONNECTION_CONTEXT_LENGTH]; PFILE_FULL_EA_INFORMATION pEa; IO_STATUS_BLOCK IoStatus; RtlInitUnicodeString(&DeviceName, TCP_DEVICE); InitializeObjectAttributes( &oa, &DeviceName, OBJ_CASE_INSENSITIVE, NULL, NULL ); pEa = (PFILE_FULL_EA_INFORMATION)Buffer; pEa->NextEntryOffset = 0; pEa->Flags = 0; pEa->EaNameLength = TDI_CONNECTION_CONTEXT_LENGTH; pEa->EaValueLength = 0; RtlCopyMemory(pEa->EaName, TdiConnectionContext, pEa->EaNameLength + 1); status = ZwCreateFile( pConnHandle, 0, &oa, &IoStatus, 0, FILE_ATTRIBUTE_NORMAL, 0, FILE_OPEN, 0, pEa, sizeof(Buffer) ); if( !NT_SUCCESS(status) ) { ErrPrint(\"Fail to create a connction\\n\"); return status; } status = ObReferenceObjectByHandle( *pConnHandle, GENERIC_READ | GENERIC_WRITE, 0, KernelMode, pConnObj, 0 ); return status; } 在执行的时候,提示错误255,扩展属性不一致,我打印错误行,__LINE__提示是在执行ZwCreateFile的时候出的错 这是怎么回事啊,我在论坛上搜索发现以前也有人跟我一样的问题,不过没有人回答,我昨天搞了一晚都没弄出来,55555555 救命啊 |
|
沙发#
发布于:2003-07-09 21:10
没有人回答吗?我自己顶。
我把DDK文档中关于建立ConnectionEndPoint的说明都看烂了,都没明白我错在那里,郁闷死了 |
|
板凳#
发布于:2003-07-20 19:34
再顶一次,希望不要让我失望
|
|
地板#
发布于:2003-07-20 20:53
看看这里,也许可以帮你的忙。
http://www.ntdev.org/archive/ntdev9803/msg0151.html http://www.ntdev.org/archive/ntdev9803/msg0157.html http://www.ntdev.org/archive/ntdev9701/msg0080.html http://www.ntdev.org/archive/ntdev9701/msg0084.html http://www.ntdev.org/archive/ntdev0008/msg0059.html |
|
地下室#
发布于:2003-07-21 10:58
好的,我先去看一下,多谢。
完了一定给分 |
|
5楼#
发布于:2003-07-21 22:15
多谢
|
|