Windows API的哪些部分不能从ANSI C代码访问?

Windows API的哪些部分不能从ANSI C代码访问?,c,winapi,ansi,C,Winapi,Ansi,2000年之前,我一直在使用ANSIC进行Windows编程。后来我改为C++和MFC,然后转到Delphi,现在我更喜欢C,但是我很好奇,是否仍然可以用普通C来访问现代版本的Windows的每个API。p> 例如,描述了Windows API列表 大多数API都是基于C的结构和函数。然而,很少有基于C++的类: 下面介绍了Windows API列表 大多数API都是基于C的结构和函数。然而,很少有基于C++的类: 考虑到WindowsTrueAPI从一开始就是C,现在仍然是,我会选择yes。其

2000年之前,我一直在使用ANSIC进行Windows编程。后来我改为C++和MFC,然后转到Delphi,现在我更喜欢C,但是我很好奇,是否仍然可以用普通C来访问现代版本的Windows的每个API。p>
例如,描述了Windows API列表

大多数API都是基于C的结构和函数。然而,很少有基于C++的类:


下面介绍了Windows API列表

大多数API都是基于C的结构和函数。然而,很少有基于C++的类:


考虑到WindowsTrueAPI从一开始就是C,现在仍然是,我会选择yes。其他的东西大部分都是放在上面的。@WhozCraig谢谢。这正是我所期望的,但是微软是否有官方声明他们将来是否会保留C API?请查阅GDI+以获得反例。官方?我从来没有见过,但我不会为此屏住呼吸。我想,每次他们发布一个Windows SDK,它都会重申这一点,而且由于他们不断地加入其中,我认为这是一个很长的机会,至少在我们的有生之年,它将永远消失。我向你保证,如果他们曾经考虑过这个想法,即使是在路过的时候,上帝的愤怒也会在他们身上燃烧硫磺。实际上,需要它的代码有几十亿行,而将所有这些都过时将使Linux/Mac的速度更快,然后它们已经在流失。@librik GDI+有一个所谓的平面API,可以从ANSI C访问。但是,MSDN表示,微软产品支持服务将不支持直接调用平面API的代码。考虑到WindowsTrueAPI从一开始就是C,现在仍然是,我会选择yes。其他的东西大部分都是放在上面的。@WhozCraig谢谢。这正是我所期望的,但是微软是否有官方声明他们将来是否会保留C API?请查阅GDI+以获得反例。官方?我从来没有见过,但我不会为此屏住呼吸。我想,每次他们发布一个Windows SDK,它都会重申这一点,而且由于他们不断地加入其中,我认为这是一个很长的机会,至少在我们的有生之年,它将永远消失。我向你保证,如果他们曾经考虑过这个想法,即使是在路过的时候,上帝的愤怒也会在他们身上燃烧硫磺。实际上,需要它的代码有几十亿行,而将所有这些都过时将使Linux/Mac的速度更快,然后它们已经在流失。@librik GDI+有一个所谓的平面API,可以从ANSI C访问。但是,MSDN表示,微软产品支持服务将不支持直接调用平面API的代码+1,并指出:所有这些仍然可以从C中访问,如果您从未用C编程COM接口,您不知道您缺少了什么。我同意@WhozCraig。基于C++的方法只意味着有类,但是VC表中的COM类的LPVTBL成员仍然可以从C访问。有时也有一个C版本的API,就像GDI+的平面API一样。我想知道的是,是否有一个API是绝对没有C访问权限的。+1,并指出:所有这些仍然可以从C访问,如果你从未用C编程COM接口,你不知道你缺少了什么。我同意@WhozCraig。基于C++的方法只意味着有类,但是VC表中的COM类的LPVTBL成员仍然可以从C访问。有时也有一个C版本的API,就像GDI+的平面API一样。我想知道的是,是否有一个API是绝对没有C访问权限的。