阅读:1035回复:5
我在“NDIS网络接口开发”发的问题,没人回答,希望这里能得到答案,TDI的Connect遇到的问题
代码如下:
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 23:54
参考PCAUSA的例子吧,里面有现成的代码
|
|
板凳#
发布于:2003-07-10 08:50
我就是参考PCAUSA的例子写的,不知道哪里错了。
系统提示是“扩展属性不一致”,是我那个pEa没有设置对吗?我不知道哪里错了啊 |
|
地板#
发布于:2003-07-10 14:58
发现师弟!
|
|
地下室#
发布于:2003-07-10 15:41
发现师弟! vcmfc: 你也遇到过相同的情况吗?能否帮帮我? |
|
5楼#
发布于:2003-07-11 10:58
我执行ZwCreateFile后发现IoStatus.Information是FILE_SUPERSEDED,这是什么意思,有什么线索吗
|
|