本文整理汇总了C#中System.Net.Security.SSPIInterface.SetContextAttributes方法的典型用法代码示例。如果您正苦于以下问题:C# SSPIInterface.SetContextAttributes方法的具体用法?C# SSPIInterface.SetContextAttributes怎么用?C# SSPIInterface.SetContextAttributes使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.Net.Security.SSPIInterface
的用法示例。
在下文中一共展示了SSPIInterface.SetContextAttributes方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: SetContextAttributes
public static int SetContextAttributes(SSPIInterface SecModule, SafeDeleteContext securityContext, ContextAttribute contextAttribute, object value) {
GlobalLog.Enter("SetContextAttributes", contextAttribute.ToString());
byte[] nativeBuffer;
switch (contextAttribute) {
case ContextAttribute.UiInfo:
Debug.Assert(value is IntPtr, "Type Mismatch");
IntPtr hwnd = (IntPtr)value; // A window handle
nativeBuffer = new byte[IntPtr.Size];
if (IntPtr.Size == 4) // 32bit
{
int ptr = hwnd.ToInt32();
nativeBuffer[0] = (byte)(ptr);
nativeBuffer[1] = (byte)(ptr >> 8);
nativeBuffer[2] = (byte)(ptr >> 16);
nativeBuffer[3] = (byte)(ptr >> 24);
}
else // 64bit
{
long ptr = hwnd.ToInt64();
nativeBuffer[0] = (byte)(ptr);
nativeBuffer[1] = (byte)(ptr >> 8);
nativeBuffer[2] = (byte)(ptr >> 16);
nativeBuffer[3] = (byte)(ptr >> 24);
nativeBuffer[4] = (byte)(ptr >> 32);
nativeBuffer[5] = (byte)(ptr >> 40);
nativeBuffer[6] = (byte)(ptr >> 48);
nativeBuffer[7] = (byte)(ptr >> 56);
}
break;
default:
throw new ArgumentException(SR.GetString(SR.net_invalid_enum, "ContextAttribute"), "contextAttribute");
}
return SecModule.SetContextAttributes(securityContext, contextAttribute, nativeBuffer);
}