func (c *ErrorResponse) Encode(pkt []byte) {
	c.encodeHeader(pkt)
	res := pkt[64:]
	le.PutUint16(res[:2], 9)  
	if c.ErrorData != nil {
		le.PutUint16(res[2:4], uint16(c.ErrorData.Size()))
		c.ErrorData.Encode(res[8:])
		if e, ok := c.ErrorData.(ErrorContextListResponse); ok {
			res[2] = uint8(len(e))
		}
	}
}
it doesn't handle Command property, set it yourself
package smb2
import "github.com/hirochachacha/go-smb2/internal/utf16le"
type ErrorResponse struct {
	PacketHeader
	ErrorData Encoder  
}
func (c *ErrorResponse) Header() *PacketHeader {
	return &c.PacketHeader
}
func (c *ErrorResponse) Size() int {
	if c.ErrorData == nil {
		return 64 + 8 + 1
	}
	return 64 + 8 + c.ErrorData.Size()
}