平台叫用服務

平台调用服务

平台叫用服務(英語:Platform Invocation Services),或称P/Invoke,通常指微软公共语言运行时提供的跨平台调用方式。

平台叫用服務是公共语言基础设施相关实现的一个特性。这一特性与微软的公共语言运行时提供的较为类似,因此一般提到P/Invoke多数指微软的.NET实现方案。这一方案能够实现通过托管代码访问原生代码。使用P/Invoke可以通过CLR来控制DLL的加载,以及将非托管代码的数据类型转换为托管数据类型

Windows编辑

在Microsoft Windows作業系統中,Native API有時也是以COM介面方式來推出,像是ADSI,FSRM(File Server Resource Manager)等,通常是新的服務或是介面才會廣泛使用COM原生介面方式。因為.NET Framework的推行,Windows的應用程式介面被分為兩種,一種是遵循原本Windows API方式的,稱為Native API,另一種則是以.NET Framework為基礎開發的,稱為Managed API,例如Managed DirectX或是IIS Admin APIs等。

在Microsoft Windows作業系統中,若是透過VB或是.NET Framework存取直接開放C函式的Native API時,則必須要利用平台叫用服務方式存取;若是存取以COM方式開放的Native API時,若該API支援COM Automation規格時,即可利用COM Interop Services來存取。