使用 Unmanaged DLL 函式

平台叫用是一項服務,它可以讓 Managed 程式碼呼叫以動態連結程式庫 (DLL) 實作的 Unmanaged 函式 (例如,Win32 API 中的函式)。 它會找出並叫用匯出的函式,並且依需要封送處理它的引數 (整數、字串、陣列、結構等) 跨越互通界限。 如需這項服務的詳細資訊,請參閱詳述平台叫用

這個章節將介紹幾項與使用 Unmanaged DLL 函式關聯的工作。 除了下列工作之外,還有些一般性的考量和一個提供其他資訊與範例的連結。

若要使用匯出的 DLL 函式

  1. 識別 DLL 中的函式

    至少,您必須指定函式的名稱以及含有該函式的 DLL 名稱。

  2. 建立類別以包裝 DLL 函式

    您可以使用現有的類別、建立每一個 Unmanaged 函式所需的專用類別,或是建立一組內含相關 Unmanaged 函式的類別。

  3. 在 Managed 程式碼中建立原型

    [Visual Basic] 使用 Declare 陳述式搭配 FunctionLib 關鍵字。 在某些較罕見的情況下,您可以使用 DllImportAttribute 配合 Shared Function 關鍵字。 這些情況會在本節稍後加以說明。

    [C#] 使用 DllImportAttribute 來識別 DLL 和函式。 使用 staticextern 修飾詞 (Modifier) 標記方法。

    [C++] 使用 DllImportAttribute 來識別 DLL 和函式。 使用 extern "C" 標記包裝函式方法或函式。

  4. 呼叫 DLL 函式

    像呼叫任何其他 Managed 方法一樣地呼叫 Managed 類別上的方法。 傳遞結構實作回呼函式是特殊情況。

如需示範如何建構 .NET 架構的宣告,以便與平台叫用一起使用的範例,請參閱使用平台叫用封裝處理資料

請參閱

概念

詳述平台叫用

平台叫用範例

Interop 封送處理

其他資源

與 Unmanaged 程式碼互通