Skip to Content
C# 10 en pocas palabras
book

C# 10 en pocas palabras

by Joseph Albahari
October 2024
Intermediate to advanced
1060 pages
28h 16m
Spanish
O'Reilly Media, Inc.
Book available
Content preview from C# 10 en pocas palabras

Capítulo 24. Interoperabilidad nativa y COM

Este trabajo se ha traducido utilizando IA. Agradecemos tus opiniones y comentarios: translation-feedback@oreilly.com

Este capítulo describe cómo integrarse con Bibliotecas de Enlace Dinámico (DLL) nativas (no gestionadas) y componentes del Modelo de Objetos Componentes (COM). A menos que se indique lo contrario, los tipos mencionados en este capítulo existen en el espacio de nombres System o System.Runtime.InteropServices.

Llamada a DLL nativas

P/Invoke, abreviatura de Platform Invocation Services (Servicios de Invocación de Plataforma), te permite acceder a funciones, structs y callbacks en DLL no gestionadas(bibliotecas compartidas en Unix).

Por ejemplo, considera la función MessageBox, definida en la DLL de Windows user32.dll, como sigue:

int MessageBox (HWND hWnd, LPCTSTR lpText, LPCTSTR lpCaption, UINT uType);

Puedes llamar directamente a esta función declarando un método estático con el mismo nombre, aplicando la palabra clave extern y añadiendo el atributo DllImport:

using System;
using System.Runtime.InteropServices;

MessageBox (IntPtr.Zero,
            "Please do not press this again.", "Attention", 0);

[DllImport("user32.dll")]
static extern int MessageBox (IntPtr hWnd, string text, string caption,
                              int type);

Las propias clases MessageBox de los espacios de nombres System.Windows y System.Windows.Forms llaman a métodos no gestionados similares.

Aquí tienes un ejemplo de DllImport para Ubuntu Linux:

Console.WriteLine ($"User ID: {getuid()}"); ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

C# 12 en pocas palabras

C# 12 en pocas palabras

Joseph Albahari
Referencia de bolsillo de C# 12

Referencia de bolsillo de C# 12

Joseph Albahari, Ben Albahari
Algoritmos en pocas palabras, 2ª edición

Algoritmos en pocas palabras, 2ª edición

George T. Heineman, Gary Pollice, Stanley Selkow

Publisher Resources

ISBN: 9798341600669Supplemental Content