CreateWindowEx的lpClassName参数如何是可选的

时间:2013-12-16 16:12:29

标签: windows winapi

根据MSDNlpClassName的{​​{1}}参数是可选的。

  

lpClassName [in,optional]

但是,文档没有提及传递CreateWindowEx的含义。更重要的是,如果传递NULL,则窗口管理器无法为新窗口找到窗口过程。

那么,文档错了吗?或者它是否正确,有些情况NULLNULL的有效值?

1 个答案:

答案 0 :(得分:4)

lpClassName的{​​{1}}参数被声明为CreateWindowEx,但它实际上可以是指向字符串的指针,也可以是LPCTSTR或{返回的类原子{1}}。

理想情况下,类型注释会准确指定此参数允许的内容,但我猜注释语言没有办法描述与其声明类型不匹配的事物类型。

他们可以做的最好的事情是将其声明为可选,以表明该字符串可能无效。