private void OnNativeCallback(ref ModuleCallbackFullAuthenticationIn authIn, int inSize,
                                      ref ModuleCallbackFullAuthenticationOut authOut, int outSize, IntPtr data)
        {
            // Copy the authIn fields.
            flags         = authIn.Flags;
            uri           = authIn.Uri;
            protocol      = authIn.Protocol;
            server        = authIn.Server;
            obj           = authIn.Object;
            port          = authIn.Port;
            authtype      = authIn.Authtype;
            username      = authIn.Username;
            domain        = authIn.Domain;
            defaultUser   = authIn.DefaultUser;
            defaultDomain = authIn.DefaultDomain;

            // Activate the callback.
            ModuleCallbackHandler handler = Callback;

            if (handler != null)
            {
                handler(this);
                // Copy the values back to the authOut.
                authOut.AbortAuth    = abortAuth;
                authOut.Username     = username;
                authOut.Domain       = domain;
                authOut.Password     = password;
                authOut.SavePassword = savePassword;
                authOut.Keyring      = keyring;
            }
        }
		private void OnNativeCallback (ref ModuleCallbackFullAuthenticationIn authIn, int inSize,
					       ref ModuleCallbackFullAuthenticationOut authOut, int outSize, IntPtr data)
		{
			// Copy the authIn fields.
			flags = authIn.Flags;
			uri = authIn.Uri;
			protocol = authIn.Protocol;
			server = authIn.Server;
			obj = authIn.Object;
			port = authIn.Port;
			authtype = authIn.Authtype;
			username = authIn.Username;
			domain = authIn.Domain;
			defaultUser = authIn.DefaultUser;
			defaultDomain = authIn.DefaultDomain;
			
			// Activate the callback.
			ModuleCallbackHandler handler = Callback;
			if (handler != null) {
				handler (this);
				// Copy the values back to the authOut.
				authOut.AbortAuth = abortAuth;
				authOut.Username = username;
				authOut.Domain = domain;
				authOut.Password = password;
				authOut.SavePassword = savePassword;
				authOut.Keyring = keyring;
			}
		}