我如何将COleDispatchDriver方法从C ++转换为c# [英] HOW can I convert COleDispatchDriver methods from C++ to c#

查看:88
本文介绍了我如何将COleDispatchDriver方法从C ++转换为c#的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述



如何在C#中转换以下代码




代码



PCommServer.h




How can I convert following code in C#


Code

PCommServer.h

class CIPmacDevice : public  COleDispatchDriver
{
public:
    CIPmacDevice() {}       // Calls COleDispatchDriver default constructor
    CIPmacDevice(LPDISPATCH pDispatch) : COleDispatchDriver(pDispatch) {}
    CIPmacDevice(const CIPmacDevice& dispatchSrc) : COleDispatchDriver(dispatchSrc) {}

// Attributes
public:

// Operations
public:
    void Open(long dwDevice, BOOL* pbSuccess);
    void SelectDevice(long hWindow, long* pDeviceNumber, BOOL* pbSuccess);
}


PCommServer.cpp

#include "stdafx.h"
#include "pCommServer.h"
void CIPmacDevice::Open(long dwDevice, BOOL* pbSuccess)
{
	static BYTE parms[] = 
		VTS_I4 VTS_PBOOL;
	
	InvokeHelper(0x1, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
		 dwDevice, pbSuccess);
}

void CIPmacDevice::SelectDevice(long hWindow, long* pDeviceNumber, BOOL* pbSuccess)
{
	static BYTE parms[] =
		VTS_I4 VTS_PI4 VTS_PBOOL;
	InvokeHelper(0x1a, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
		 hWindow, pDeviceNumber, pbSuccess);
}

DO I NEED TO IMPORT any DLL to do this.

Or Is there any other way to use COleDisplaydispatcher class in C#
i.e any eqivalent method for it

Can anyone provide step by step instructions to do it

推荐答案

您无需转换它。



您可以在项目中使用C ++ dll。请参阅:

从C#调用非托管DLL,干净地杀死进程 [ ^ ]

从C#代码调用本机C ++ DLL [ ^ ]

C#中的动态调用C ++ DLL函数 [ ^ ]
You don't need to convert it.

You can use C++ dll in your project. Please, see:
Call Unmanaged DLLs from C#, Killing Processes Cleanly[^]
Call Native C++ DLL from C# Code[^]
Dynamic Invoke C++ DLL function in C#[^]


这篇关于我如何将COleDispatchDriver方法从C ++转换为c#的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆