コード例 #1
0
  public void encode(NdrBuffer buf) throws NdrException {
    int start = buf.getIndex();
    int alloc_hint_index = 0;

    buf.advance(16); /* momentarily skip header */
    if (ptype == 0) {
      /* Request */
      alloc_hint_index = buf.getIndex();
      buf.enc_ndr_long(0); /* momentarily skip alloc hint */
      buf.enc_ndr_short(0); /* context id */
      buf.enc_ndr_short(getOpnum());
    }

    encode_in(buf);
    length = buf.getIndex() - start;

    if (ptype == 0) {
      buf.setIndex(alloc_hint_index);
      alloc_hint = length - alloc_hint_index;
      buf.enc_ndr_long(alloc_hint);
    }

    buf.setIndex(start);
    encode_header(buf);
    buf.setIndex(start + length);
  }