当前位置: 首页 > wzjs >正文

建立网站如何赚钱5月疫情第二波爆发

建立网站如何赚钱,5月疫情第二波爆发,千图网免费海报素材图库,教学方面网站建设通常,用户模式显示驱动程序不能通过返回E_INVALIDARG来使任何函数失败。 但是,如果用户模式显示驱动程序由于驱动程序中的编程错误或操作系统 () 中运行的恶意代码而调用 Microsoft Direct3D 运行时提供的函数 之一时收到E_INVALIDARG返回值,…

通常,用户模式显示驱动程序不能通过返回E_INVALIDARG来使任何函数失败。 但是,如果用户模式显示驱动程序由于驱动程序中的编程错误或操作系统 () 中运行的恶意代码而调用 Microsoft Direct3D 运行时提供的函数 之一时收到E_INVALIDARG返回值,则驱动程序必须在运行时调用其中一个驱动程序函数后,将E_INVALIDARG返回到 Direct3D 运行时。 否则,用户模式显示驱动程序绝不应将E_INVALIDARG返回到 Direct3D 运行时。

1. 核心规则

  • 禁止主动返回 E_INVALIDARG

用户模式驱动(UMD)不得在任何函数中主动返回 E_INVALIDARG,即使参数明显无效(如 NULL 指针、越界值)。

例外:仅当 Direct3D 运行时本身返回 E_INVALIDARG 时,UMD 可传递此错误。

  • 必须传递运行时返回的 E_INVALIDARG

如果 UMD 调用运行时提供的回调函数(如 pfnAllocateCb)时收到 E_INVALIDARG,必须将错误 原样返回 给运行时。

2. 适用场景与示例

(1) 合法传递 E_INVALIDARG 的场景

HRESULT APIENTRY CreateResource(D3D10DDI_HDEVICE hDevice,CONST D3D10DDIARG_CREATERESOURCE* pArgs
) {// 调用运行时提供的函数HRESULT hr = pDeviceFuncs->pfnAllocateCb(hDevice, &allocInfo);if (hr == E_INVALIDARG) {return hr; // 必须传递运行时的E_INVALIDARG}// 其他错误处理...
}

(2) 禁止返回 E_INVALIDARG 的场景

HRESULT APIENTRY SetVertexShader(D3D10DDI_HDEVICE hDevice,D3D10DDI_HSHADER hShader
) {if (hShader == NULL) {// 错误!即使参数无效,也不能返回E_INVALIDARGreturn S_OK; // 应静默处理或返回其他错误(如E_FAIL)}
}

3. 设计原理

  • 安全性优先:防止恶意代码利用驱动返回的 E_INVALIDARG 探测系统漏洞。
  • 稳定性保障:避免应用因参数检查不严而崩溃。
  • 调试友好性:强制驱动内部处理无效参数,而非依赖运行时拦截。

4. 异常情况处理

若驱动因自身逻辑错误或恶意代码触发 E_INVALIDARG:

  • 记录错误日志:通过 ETW 或调试输出标记异常。
  • 安全降级:返回 E_FAIL 或 S_OK(视场景而定)。
  • 断言调试:在 Debug 版本中触发断言(如 ASSERT(FALSE))。

示例:

HRESULT HandleMaliciousCall() {if (IsMaliciousInput()) {DebugPrint("警告:检测到恶意参数");return E_FAIL; // 避免返回E_INVALIDARG}return S_OK;
}

5. WHCK 认证要求

测试项验证目标测试方法
Device.Graphics.UMD.InvalidArgHandling驱动是否违规返回 E_INVALIDARG注入无效参数调用所有 DDI 函数。
Device.Graphics.UMD.ErrorPropagation运行时返回的 E_INVALIDARG 是否正确传递。模拟运行时返回 E_INVALIDARG

6. 开发者注意事项

  • 参数验证:即使不返回 E_INVALIDARG,仍需验证参数安全性(如指针解引用前检查 NULL)。
  • 错误替代方案:使用 E_FAIL、E_OUTOFMEMORY 或 E_NOTIMPL 替代 E_INVALIDARG。
  • 测试覆盖:使用 WEX 工具测试非法参数场景。

7. 总结

绝对禁止:UMD 主动返回 E_INVALIDARG(除非传递运行时的错误)。

安全实践:对无效参数静默处理或返回非特异性错误。

认证关键:违反此规则将导致 WHCK 测试失败。

http://www.dtcms.com/wzjs/68165.html

相关文章:

  • 网站关键词优化排名怎么做东莞营销网站建设
  • 多个端口网站如何做域名重定向长沙正规关键词优化价格从优
  • 广渠门做网站的公司bt种子磁力搜索
  • 215做网站市场营销方案怎么写
  • wordpress头像设置方法seo咨询岳阳
  • 做鸡鸭冻品生意的都在使用的网站石家庄关键词排名提升
  • 电脑做网站服务器需要什么线上营销方式主要有哪些
  • wordpress教程nginx天津关键词优化网站
  • 搭建网站本地测试环境上海优化价格
  • dw做公司网站网络推广代运营公司
  • 做门户网站赚广告费搜索引擎优化的含义和目标
  • 地勘网站建设方案服务外包平台
  • 需要手机端网站建设的企业巢湖网站制作
  • 网站索引下降如何解决百度竞价推广
  • 云南建设银行官方网站百度人气榜排名
  • 衢州建设职业学校网站网站推广要点
  • 东营有做网站的公司seo公司赚钱吗
  • 江苏建设部网站武汉网站推广很 棒
  • 如何与知名网站做友情链接外贸网站谷歌seo
  • 福州网站建设seo佛山网站设计实力乐云seo
  • 做网站建设销售成都百度提升优化
  • 怎么做淘宝网站步骤百度服务电话6988
  • 网络营销推广的方式方法有哪些东莞搜索优化十年乐云seo
  • 建设银行信用卡在网站激活后如何设置密码磁力宝
  • 襄阳网站建设关于飞鱼网站策划是什么
  • 计算机最吃香的专业以及工资seo必备软件
  • 做网站怎么赚钱网站搜索优化官网
  • ps如何做网站轮播图软文推广网
  • 网站建设技术入股协议郑州网络营销公司哪家好
  • 网站建设需求方案pdf免费的网站域名查询app