Loading ...
Sorry, an error occurred while loading the content.

How do I do this in DJGPP then?

Expand Messages
  • Vince Negri
    Using the following two calls: Name SetClipboardData() Parameters AX = 1703H DX = WinOldAp-Supported Clipboard format ES:BX = Pointer to data
    Message 1 of 2 , Jan 11, 2000
    • 0 Attachment
      Using the following two calls:

      Name SetClipboardData()
      Parameters AX = 1703H
      DX = WinOldAp-Supported Clipboard format
      ES:BX = Pointer to data
      SI:CX = Size of data in bytes
      Return Values AX == 0: Error occurred
      <> 0: OK. Data copied into allocated memory.


      Name GetClipboardData()
      Parameters AX = 1705H
      DX = WinOldAp-Supported Clipboard format
      ES:BX = Pointer to data buffer to hold data
      Return Values AX == 0: Error occurred (or data in this format is not
      in the clipboard)
      <> 0: OK

      Using that "union REGS" stuff..

      How do I get/set the ES:BX values into/out of a char_u* ?
      How do I set up the SI:CX value?


      MTIA

      --
      Vince Negri (vnegri@...)
      Application Solutions Ltd. Tel:+44(0)1273-476608 Fax:+44(0)1273-478888

      Legal Disclaimer: Any views expressed by the sender of this message are
      not necessarily those of Application Solutions Ltd. Information in this
      e-mail may be confidential and is for the use of the intended recipient
      only, no mistake in transmission is intended to waive or compromise such
      privilege. Please advise the sender if you receive this e-mail by mistake.
    • Vince Negri
      Gordon Bennett.. just found out that you can t call DOS services which use the segment registers (e.g. ES) from DPMI directly. You have to: 1) Create some
      Message 2 of 2 , Jan 11, 2000
      • 0 Attachment
        Gordon Bennett.. just found out that you can't
        call DOS services which use the segment registers
        (e.g. ES) from DPMI directly. You have to:

        1) Create some 16-bit code to do the call
        2) allocate low DOS memory
        3) Copy said code into the low DOS memory
        4) Copy desired params into more DOS memory
        5) Call 16-routine via DPMI services
        6) retrieve result
        7) Free lumps of DOS memory previously allocated.

        Phew! No wonder no-one's bothered yet. Boxer doesn't
        have this trouble because it's 16-bit...
        Legal Disclaimer: Any views expressed by the sender of this message are
        not necessarily those of Application Solutions Ltd. Information in this
        e-mail may be confidential and is for the use of the intended recipient
        only, no mistake in transmission is intended to waive or compromise such
        privilege. Please advise the sender if you receive this e-mail by mistake.
      Your message has been successfully submitted and would be delivered to recipients shortly.