/// <summary> /// NetrLogonUasLogon IDL method. Opnum: 0 /// </summary> /// <param name="ServerName"> /// ServerName parameter. /// </param> /// <param name="UserName"> /// UserName parameter. /// </param> /// <param name="Workstation"> /// Workstation parameter. /// </param> /// <param name="ValidationInformation"> /// ValidationInformation parameter. /// </param> public NetApiStatus NetrLogonUasLogon( string ServerName, string UserName, string Workstation, out _NETLOGON_VALIDATION_UAS_INFO? ValidationInformation) { const ushort opnum = 0; byte[] requestStub; byte[] responseStub; Int3264[] paramList; int retVal; SafeIntPtr pServerName = Marshal.StringToHGlobalUni(ServerName); SafeIntPtr pUserName = Marshal.StringToHGlobalUni(UserName); SafeIntPtr pWorkstation = Marshal.StringToHGlobalUni(Workstation); paramList = new Int3264[] { pServerName, pUserName, pWorkstation, IntPtr.Zero, 0 // retVal }; requestStub = RpceStubEncoder.ToBytes( RpceStubHelper.GetPlatform(), NrpcRpcStubFormatString.TypeFormatString, new RpceStubExprEval[] { new RpceStubExprEval(logon__NETLOGON_DELTA_USERExprEval_0000) }, NrpcRpcStubFormatString.ProcFormatString, NrpcRpcStubFormatString.ProcFormatStringOffsetTable[opnum], true, paramList); rpceClientTransport.Call(opnum, requestStub, rpceTimeout, out responseStub); using (RpceInt3264Collection outParamList = RpceStubDecoder.ToParamList( RpceStubHelper.GetPlatform(), NrpcRpcStubFormatString.TypeFormatString, new RpceStubExprEval[] { new RpceStubExprEval(logon__NETLOGON_DELTA_USERExprEval_0000) }, NrpcRpcStubFormatString.ProcFormatString, NrpcRpcStubFormatString.ProcFormatStringOffsetTable[opnum], true, responseStub, paramList)) { IntPtr pValidationInformation = outParamList[3]; pValidationInformation = Marshal.ReadIntPtr(pValidationInformation); ValidationInformation = TypeMarshal.ToNullableStruct<_NETLOGON_VALIDATION_UAS_INFO>(pValidationInformation); retVal = outParamList[4].ToInt32(); } pServerName.Dispose(); pUserName.Dispose(); pWorkstation.Dispose(); return (NetApiStatus)retVal; }
/// <summary> /// NetrLogonUasLogon IDL method. Opnum: 0 /// </summary> /// <param name="serverName"> /// ServerName parameter. /// </param> /// <param name="userName"> /// UserName parameter. /// </param> /// <param name="workstation"> /// Workstation parameter. /// </param> /// <param name="validationInformation"> /// ValidationInformation parameter. /// </param> /// <returns> /// The method returns 0x00000000 on success; /// otherwise, it returns a nonzero error code. /// </returns> public NetApiStatus NetrLogonUasLogon( string serverName, string userName, string workstation, out _NETLOGON_VALIDATION_UAS_INFO? validationInformation) { return rpc.NetrLogonUasLogon( serverName, userName, workstation, out validationInformation); }