Описание тега pinvoke

P/Invoke - это спецификация реализации, созданная Microsoft Common Language Infrastructure (CLI) для вызова библиотек собственного кода из управляемого кода.
1 ответ

Как смешать Pinvoke WriteFile и BinaryFormatter с использованием одного и того же FileStream?

Я хочу использовать WriteFile для записи большого (~500 МБ) многомерного массива в файл (потому что BinaryFormatter очень медленно пишет большие вещи, и в.Net Framework нет другого способа записать многомерные байтовые массивы, только одиночные байт…
13 дек '12 в 13:59
1 ответ

C#: маршалловые строки в utf8 char*

Фон Я пытаюсь написать высокоуровневую оболочку libspotify на основе модифицированного libspotify.net ( http://libspotifydotnet.codeplex.com/). Поскольку libspotify.net - это всего лишь тонкий (и полностью ошибочный...) слой pinvoke, он не обрабаты…
03 июл '13 в 01:25
2 ответа

Как вернуть двойной указатель из C++ DLL на C#?

Я пытаюсь вернуть указатель из моей C++ DLL на C#. Я перепробовал все, но мой указатель типа double не имеет значения. Ниже мой импорт DLL C++: [DllImport("/Resources/libfli.dll", EntryPoint = "FLIGetTemperature")] public static extern unsafe int FL…
09 янв '15 в 15:01
3 ответа

Как получить текст буфера обмена на OSX, используя DllImport с C#?

Следующий код устанавливает текст буфера обмена в OSX. Что эквивалентно читать текст в буфере обмена? static class OsxClipboard { public static void SetText(string text) { var nsString = objc_getClass("NSString"); var str = objc_msgSend(objc_msgSend…
18 авг '18 в 13:24
3 ответа

Вспомогательные функции для сортировки массивов структур (с указателями)

Похоже, что это наиболее часто задаваемый вопрос о взаимодействии в C#, но все же трудно найти рабочее решение. Мне нужно выделить массив матричной структуры данных в C#, передав его в C DLL, которая заполняет данные и возвращает их вызывающей сторо…
17 дек '08 в 12:25
1 ответ

Выделение родного.dll в C# с несколькими указателями

Имея следующий код в C++: nConId - это идентификатор соединения pParName имя параметра pSubName Имя субпараметра (если есть) pValue_out указатель на массив символов длины FCL_PAR_VALUE_LENGH nValueSize реальный размер вектора pValue_out (не менее FC…
30 май '16 в 12:24
1 ответ

Утверждать одномерный двойной массив неограниченной длины (кодер Matlab)

Я в настоящее время использую этот код: assert(isa(values,'double')); assert(size(values, 1) <= 1000); убедить кодировщик Matlab сделать значения одномерным массивом. Конечная цель - иметь возможность взаимодействовать с ним через C# и PInvoke. Э…
18 фев '13 в 12:59
4 ответа

Получение любого специального пути к папке в Powershell с использованием GUID папки

Я хочу использовать скрипт PowerShell для автоматизации задач, связанных с пользователем, когда пользователь входит в систему. Иногда пользователь перемещает свою папку "Документы" из расположения по умолчанию. Как определить местоположение папки "Д…
31 июл '14 в 02:25
2 ответа

Создать файл в C#

Я использую CreateFile функция для создания HID Device Handle. Ниже приведен пример кода. После выполнения кода я всегда получаю значение HidHandle -1, чего не должно быть. Любые предложения, пожалуйста. public int CreateFile(string FileName) { HidH…
19 сен '12 в 19:11
2 ответа

Как я могу продублировать эффект в Aptana Studio 3, где GIT работает в окне инструментов, используя C#

Я создал небольшое приложение, чтобы попытаться сделать это, но мне чего-то не хватает. https://gist.github.com/852060 По сути, когда я запускаю этот код, я получаю окно GIT bash как подокно формы и могу перемещать его. Я хотел бы просто заполнить ф…
03 мар '11 в 00:37
0 ответов

C# P/Invoke | Несогласованное поведение сортировки массива blittable структуры?

Сегодня я тестировал материал с P/Invoke и столкнулся с чем-то, что сильно смутило меня. У меня есть неуправляемая библиотека с функциями, принимающими параметры массива, распечатывающими их значения и модифицирующими их: #include <cstdio> #de…
12 май '18 в 21:30
2 ответа

Измените ACL файла, чтобы разрешить полный доступ для всех

Как мне изменить владельца файла на Everyone а также позволяют Everyone объект Full Access? Есть ли API для этого? Должен ли я использовать P/Invoke? Я искал везде, но не могу найти ничего, чтобы сделать это.
20 июл '13 в 15:06
1 ответ

ManagementObjectSearcher не работает в глобальном хуке

Когда я пытаюсь получить все запущенные процессы внутри обработчика событий мыши, возникает исключение. Сначала я подумал, что проблема сохраняется, потому что я поставил async ключевое слово перед обработчиком события мыши, но это не так, поскольку…
03 авг '16 в 22:21
1 ответ

Как передать структуру функции C++ и вернуть ее с некоторыми изменениями?

У меня есть следующая структура в моей функции C++. struct Cam { char ip[16]; char login[16]; char pass[16]; char name[16]; }; Ниже приведен метод, который я раскрыл в своем классе cpp. extern "C" __declspec(dllexport) Cam* AddCameraStruct1(Cam cam)…
26 май '17 в 04:02
1 ответ

ConvertStringSecurityDescriptorToSecurityDescriptor в.NET

У кого-нибудь здесь есть фрагмент кода: как преобразовать SDDL в SECURITY_DESCRIPTOR в управляемом коде? Как вы обычно делаете в C++, вызывая ConvertStringSecurityDescriptorToSecurityDescriptor
15 июн '11 в 22:38
0 ответов

Как обернуть enum в класс cpp, который ссылается на значения из другого файла cpp в swig для C#

Я хотел бы знать, как обернуть enum в класс cpp, который ссылается на значения из другого файла cpp в swig для C#. Я столкнулся с ошибкой "MSYS_STATUS_ENUM_t" не найдена myenum.cpp #include "MSYS.hpp" enum SYS_STATUS_ENUM { SYS_STATUS_OK = MSYS_STAT…
20 дек '17 в 08:46
0 ответов

Как распределить параметр const char* в указателе функции, который используется для отправки данных из C++ dll в C#, чтобы избежать сбоя сборки выпуска

Я регистрирую указатель на функцию, которая принимает строку в качестве параметра в DLL C++, которая используется для отправки текста обратно в приложение C#. Я попытался маршалировать строковый параметр как IntPtr и BStr в дополнение к другим. С от…
27 янв '17 в 15:04
1 ответ

C Dll Import создает исключение директивы Маршалла в C#

У меня проблема с включением DLL (написанной на C) в мой проект на C#, и я надеюсь, что вы мне поможете. В своем исследовании я нашел DLLImport, но я не уверен, какие типы переменных C преобразуются в... Метод C из DLL, которую я хочу импортировать,…
31 дек '13 в 12:49
2 ответа

C# p - вызов функции C

Я был бы признателен за помощь в решении проблемы, на которой я застрял пару дней. У меня есть родной тип функции C++, объявленный так: typedef STATUS (T_TED_AcppBoxDYN_RegisterEventCallback) ( PEventCallback function, // pointer to the customer cal…
05 дек '14 в 16:13
1 ответ

Как получить все локальные группы, членом которых является локальный пользователь

Я хочу перечислить все локальные группы, членом которых является локальный пользователь, без запроса домена. Это оказалось особенно трудным, поскольку все варианты WMI запрашивают домен независимо от примененных вами фильтров. (Вот почему они берутс…