阅读:1451回复:3
如何读取文件和注册表内容?
哪位大侠能跟我讲讲 NDIS里怎样读取文件,注册表的内容。
我使用NDISOPENFILE,NIDSMAPFILE老出现蓝屏,最好有代码 一定给分。谢谢了 |
|
沙发#
发布于:2003-02-05 20:27
//――――――――――――――――――――――――――――――――――
// 打开Protocol配置得到句柄ConfigHandle // NdisOpenProtocolConfiguration(Status, &ConfigHandle, SystemSpecific1); if (*Status != NDIS_STATUS_SUCCESS) break; //―――――――――――――――――――――――――――――――――― // 利用句柄ConfigHandle读出配置参数到Param结构 // NdisReadConfiguration(Status, &Param, ConfigHandle, &DeviceStr, NdisParameterString); if (*Status != NDIS_STATUS_SUCCESS) break; //―――――――――――――――――――――――――――――――――― // 为Adapter结构分配内存 // NdisAllocateMemoryWithTag(&pAdapt, sizeof(ADAPT), TAG); if (pAdapt == NULL) { *Status = NDIS_STATUS_RESOURCES; break; } //―――――――――――――――――――――――――――――――――― // 初始化Adapter结构数据为0 // NdisZeroMemory(pAdapt, sizeof(ADAPT)); //―――――――――――――――――――――――――――――――――― // 初始化pAdapt->BundleUniString.Buffer,这个缓冲区将用来保存从注册 // 表读出来的数据。 // NdisAllocateMemoryWithTag( &(pAdapt->BundleUniString.Buffer), MAX_BUNDLEID_LENGTH ,TAG); if (pAdapt->BundleUniString.Buffer == NULL) { *Status = NDIS_STATUS_RESOURCES; break; } pAdapt->BundleUniString.MaximumLength = MAX_BUNDLEID_LENGTH ; NdisReadConfiguration(&BundleStatus, &BundleParam, ConfigHandle, &BundleStr, NdisParameterString); if (BundleStatus == NDIS_STATUS_SUCCESS) { //―――――――――――――――――――――――――――――――― // 复制绑定标识到自己初始化的缓冲区pAdapt->BundleUniString // ASSERT( pAdapt->BundleUniString.MaximumLength >= BundleParam->ParameterData.StringData.Length ); pAdapt->BundleUniString.Length = BundleParam->ParameterData.StringData.Length; RtlCopyUnicodeString( &pAdapt->BundleUniString, &BundleParam->ParameterData.StringData); } else { //―――――――――――――――――――――――――――――――― // 没有在注册表里找到绑定ID,设定BundleUniString为\"<no-bundle>\" // NDIS_STRING NoBundle = NDIS_STRING_CONST (\"<no-bundle>\"); RtlCopyUnicodeString(&pAdapt->BundleUniString, &NoBundle); } |
|
|
板凳#
发布于:2003-02-08 11:49
antspower兄你好,非常感谢你的回复,还有点问题想请教
你给的程序应该是PTBINDADAPTER中的一段吧,我想问的是 NDISREADCONFIGURATION读的是注册表中的哪个键?这个键 是系统默认的么?还有PTBINDADAPTER每次开机的时候都运 行么?还是只在安装的时候运行一次?再次感谢!! |
|
地板#
发布于:2003-02-08 18:12
inf里面设的
|
|
|