Exemplo n.º 1
0
        /// <summary>
        /// Tries to parse a <see cref="NbNsNodeStatusRequest"/> from a buffer of bytes starting after <see cref="NbNsHeader.NETBIOS_HEADER_LENGTH"/> bytes
        /// </summary>
        /// <param name="header"><see cref="NbNsHeader"/> already parsed from the beginning of <see cref="buffer"/></param>
        /// <param name="buffer">Byte array containing the NbNsNodeStatusRequest</param>
        /// <param name="result">Parsed NbNsNodeStatusRequest if successful, else null</param>
        /// <returns><c>true</c> if parsing was successful, else <c>false</c></returns>
        /// <remarks>
        /// This method is only called from <see cref="NbNsPacketBase.TryParse"/>.
        /// </remarks>
        internal static bool TryParse(NbNsHeader header, byte[] buffer, out NbNsNodeStatusRequest result)
        {
            result = null;

            NbNsQuestionEntry questionEntry;

            if (!NbNsQuestionEntry.TryParse(buffer, NbNsHeader.NETBIOS_HEADER_LENGTH, out questionEntry))
            {
                return(false);
            }

            result = new NbNsNodeStatusRequest(header, questionEntry);
            return(true);
        }
Exemplo n.º 2
0
 /// <summary>
 /// Creates a new instance of <see cref="NbNsNodeStatusRequest"/> based on the given <see cref="NbNsHeader"/> and <see cref="NbNsQuestionEntry"/>
 /// </summary>
 /// <param name="header"><see cref="NbNsHeader"/> to use for this <see cref="NbNsNodeStatusRequest"/></param>
 /// <param name="question"><see cref="NbNsQuestionEntry"/> to use for this <see cref="NbNsNodeStatusRequest"/></param>
 public NbNsNodeStatusRequest(NbNsHeader header, NbNsQuestionEntry question)
     : base(header, PacketTypes.NodeStatusRequest)
 {
     PacketSegments.Add(question);
 }
Exemplo n.º 3
0
 /// <summary>
 /// Creates a new instance of <see cref="NbNsNodeStatusRequest"/> based on the given <see cref="NbNsHeader"/> and <see cref="NbNsQuestionEntry"/>
 /// </summary>
 /// <param name="header"><see cref="NbNsHeader"/> to use for this <see cref="NbNsNodeStatusRequest"/></param>
 /// <param name="question"><see cref="NbNsQuestionEntry"/> to use for this <see cref="NbNsNodeStatusRequest"/></param>
 public NbNsNodeStatusRequest(NbNsHeader header, NbNsQuestionEntry question)
   : base(header, PacketTypes.NodeStatusRequest)
 {
   PacketSegments.Add(question);
 }
Exemplo n.º 4
0
    /// <summary>
    /// Tries to parse a <see cref="NbNsNodeStatusRequest"/> from a buffer of bytes starting after <see cref="NbNsHeader.NETBIOS_HEADER_LENGTH"/> bytes
    /// </summary>
    /// <param name="header"><see cref="NbNsHeader"/> already parsed from the beginning of <see cref="buffer"/></param>
    /// <param name="buffer">Byte array containing the NbNsNodeStatusRequest</param>
    /// <param name="result">Parsed NbNsNodeStatusRequest if successful, else null</param>
    /// <returns><c>true</c> if parsing was successful, else <c>false</c></returns>
    /// <remarks>
    /// This method is only called from <see cref="NbNsPacketBase.TryParse"/>.
    /// </remarks>
    internal static bool TryParse(NbNsHeader header, byte[] buffer, out NbNsNodeStatusRequest result)
    {
      result = null;

      NbNsQuestionEntry questionEntry;
      if (!NbNsQuestionEntry.TryParse(buffer, NbNsHeader.NETBIOS_HEADER_LENGTH, out questionEntry))
        return false;

      result = new NbNsNodeStatusRequest(header, questionEntry);
      return true;
    }