HRESULT WINAPI RegisterDeviceWithManagement(
_In_ LPCWSTR ppszMDMServiceUri,
_In_ LPCWSTR pszUPN,
_In_ LPCWSTR ppzsAccessToken
);
我想将其转换为Dllimport c#signature。 任何帮助将不胜感激
答案 0 :(得分:4)
这很简单:
HRESULT
类型是无符号的32位整数,因此uint
。您可能有理由使用int
,因为签名类型在托管代码中更容易使用。但是,由于您不太可能在HRESULT
上执行算术,因此我可能会使用uint
。WINAPI
宏扩展为stdcall
调用约定,这恰好是默认值,因此我们可以省略调用约定。如果您希望明确,请添加CallingConvention = CallingConvention.Stdcall
。 CharSet.Unicode
。所以翻译是:
[DllImport(dllname, CharSet = CharSet.Unicode)]
static extern uint RegisterDeviceWithManagement(
string ppszMDMServiceUri,
string pszUPN,
string ppzsAccessToken
);
显然你需要填写DLL的名称。