Class: TurboRex::MSRPC::RPCBase::MIDL_STUB_DESC_Klass

Inherits:
Structures_Klass show all
Defined in:
lib/turborex/msrpc/rpcbase.rb

Instance Attribute Summary

Attributes inherited from Structures_Klass

#xrefs

Instance Method Summary collapse

Methods inherited from Structures_Klass

#[], #initialize, #link_and_xref, #method_missing, #to_s, #xref_from

Constructor Details

This class inherits a constructor from TurboRex::MSRPC::RPCBase::Structures_Klass

Dynamic Method Handling

This class handles dynamic methods through the method_missing method in the class TurboRex::MSRPC::RPCBase::Structures_Klass

Instance Method Details



769
770
771
772
773
# File 'lib/turborex/msrpc/rpcbase.rb', line 769

def link_to(struct)
  if struct.is_a? RPC_SERVER_INTERFACE_Klass
    link_and_xref :interface_info_link_to, struct
  end
end

#parse_struct(cstruct) ⇒ Object



733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
# File 'lib/turborex/msrpc/rpcbase.rb', line 733

def parse_struct(cstruct)
  @value_table = {
    RpcInterfaceInformation: cstruct['rpcInterfaceInformation'].value,
    pfnAllocate: cstruct['pfnAllocate'].value,
    pfnFree: cstruct['pfnFree'].value,
    pAutoHandle: cstruct['implicit_handle_info'].value,
    pPrimitiveHandle: cstruct['implicit_handle_info'].value,
    pGenericBindingInfo: cstruct['implicit_handle_info'].value,
    apfnNdrRundownRoutines: cstruct['apfnNdrRundownRoutines'].value,
    aGenericBindingRoutinePairs: cstruct['aGenericBindingRoutinePairs'].value,
    apfnExprEval: cstruct['apfnExprEval'].value,
    aXmitQuintuple: cstruct['aXmitQuintuple'].value,
    pFormatTypes: cstruct['pFormatTypes'].value,
    fCheckBounds: cstruct['fCheckBounds'].value,
    Version: cstruct['version'].value,
    pMallocFreeStruct: cstruct['pMallocFreeStruct'].value,
    MIDLVersion: cstruct['midlVersion'].value,
    CommFaultOffsets: cstruct['commFaultOffsets'].value,
    aUserMarshalQuadruple: cstruct['aUserMarshalQuadruple'].value,
    NotifyRoutineTable: cstruct['notifyRoutineTable'].value,
    mFlags: cstruct['mFlags'].value,
    CsRoutineTables: cstruct['csRoutineTables'].value,
    ProxyServerInfo: cstruct['proxyServerInfo'].value,
    pExprInfo: cstruct['pExprInfo'].value
  }

  @interface_info_link_to = nil
  @format_types_link_to = nil

  true
end

#pFormatTypesObject



765
766
767
# File 'lib/turborex/msrpc/rpcbase.rb', line 765

def pFormatTypes
  @value_table[:pFormatTypes] || @format_types_link_to
end