gpt4 book ai didi

windows - 如果我违反了对 ProgID 的要求会怎样?

转载 作者:可可西里 更新时间:2023-11-01 11:22:37 24 4
gpt4 key购买 nike

This MSDN article声明任何 ProgID 都必须满足几个正式要求,包括长度限制。然而,没有说明如果违反这些规定会发生什么。

我在我们的代码库中发现了几个地方,其中 ProgID 的长度超过 39 个字符,但一切似乎都对它们有效,包括 ProgIDFromCLSID() 和 CLSIDFromProgID()。

由于违反这些要求非常容易,因此了解此类违反的实际可能后果是什么将非常有趣?

最佳答案

我猜你得到的是未定义的行为。这可能包括从正常运行到崩溃、小猫被吃掉、长子被牺牲等等。

更重要的是,一些要求可能会告诉您一些事情:

  • 不超过 39 个字符:其他软件可能使用 40 个字符的固定大小缓冲区来存储 ProgID。因此,他们将只有前 39 个,如果它更长,则可能找不到您的 ProgID。
  • 不是以数字开头;除句点外不包含标点符号: 同样,这是一个契约(Contract)。例如,软件可能依赖于此来验证它从某个地方获得的 ProgID,它们确实是 ProgID,而不是完全不同的东西。

Windows 可能不会立即咬你,但其他东西可能。

关于windows - 如果我违反了对 ProgID 的要求会怎样?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1754429/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com