求这2个函数的C#原型
pzlin 2009-11-24 05:17:54 /////////////////////////////////////////////////////////////////////////////////////
// 函数功能:
// 列表所支持TOKEN的连接名称
// 函数参数:
// szTokenName: 输出参数,所有指定类型的TOKEN连接名称
// 不同的TOKEN之间以'\0'作为分割符
// pulTokenNameLen: 输入参数,szTokenName的缓冲区的最大长度
// 实际返回的总的连接名称的长度
// ulTokenType: 输入参数,连接类型
// pvReserved: 输入参数,保留扩展使用,目前只支持NULL
/////////////////////////////////////////////////////////////////////////////////////
long __stdcall MWTokenList(
char* szTokenName,
unsigned long * pulTokenNameLen,
unsigned long ulTokenType,
const void* pvReserved);
/////////////////////////////////////////////////////////////////////////////////////
// 函数功能:
// 连接一个TOKEN,获得TOKEN的操作句柄
// 函数参数:
// plTokenHandle: 输出参数,返回TOKEN的连接句柄
// szTokenName: 输入参数,所要连接TOKEN的连接名称,通过MWTokenList函数获得
// ulTokenMode: 输入参数,连接模式,是连接类型和共享模式的或关系
// pvReserved: 输入参数,保留扩展使用,目前只支持NULL
/////////////////////////////////////////////////////////////////////////////////////
long __stdcall MWTokenConnect(
long* plTokenHandle,
const char* szTokenName,
unsigned long ulTokenMode,
const void* pvReserved);
MFC里面的调用:
unsigned long ulTokenType;
unsigned long ulTokenMode;
unsigned long ulTokenNameLen;
char szTokenName[100];
long m_lTokenHandle;
lResult = MWTokenList(szTokenName,&ulTokenNameLen,ulTokenType,0);
lResult = MWTokenConnect(&m_lTokenHandle,szTokenName,ulTokenMode,0);
这是我在C#里面自己定义的原型
public static extern long MWTokenList(byte[] szTokenName, ref ulong pulTokenNameLen, ulong ulTokenType, string/long pvReserved);
public static extern long MWTokenConnect(ref long plTokenHandle, byte[] szTokenName, ulong ulTokenMode, string/long pvReserved);
调用都有问题
请大家帮忙想方法, 感谢ing