Author Topic: EDM/2 - The API Project - Undocumented  (Read 730 times)

Martin Iturbide

  • OS2World NewsMaster
  • Global Moderator
  • Hero Member
  • *****
  • Posts: 5255
  • Karma: +44/-1
  • Your Friend Wil Declares...
    • View Profile
    • Martin's Personal Blog
EDM/2 - The API Project - Undocumented
« on: April 08, 2025, 02:43:12 pm »
Hello

I want to ask a little help here. I found this undocumented functions and I want to see if we can document those on the EDM/2 wiki.

1) DrgQueryFormat
Ref: https://www.edm2.com/index.php/OS/2_DLL_Entry_Points_Cross_Reference
- PMCTLS.107

2) DrgGetClipPS
Ref: https://www.edm2.com/index.php/OS/2_DLL_Entry_Points_Cross_Reference
- PMCTLS.108    PMDRAG.76

I want to provide as close as possible a documentation like this function as sample, syntax, parameters, etc.. just what we can find out.

Thanks in advance.

Regards
Martin Iturbide
OS2World NewsMaster
... just share the dream.

Lars

  • Hero Member
  • *****
  • Posts: 1426
  • Karma: +72/-0
    • View Profile
Re: EDM/2 - The API Project - Undocumented
« Reply #1 on: April 09, 2025, 05:47:55 pm »
"DrgQueryFormat", as a starter: https://www.gladir.com/CODER/COS2/drgqueryformat.htm

ULONG DrgQueryFormat(PDRAGITEM dragItem, PCSZ a, ULONG b, PCSZ c, ULONG d);

Translation: "This function allows to query the data format of a drag operation."

The fun part will be to find out what "a", "b", "c", "d" stand for. I would suspect that "b" is the buffer size of string "a" and "d" is the buffer size of string "c".
My gut feeling is that this function is replaced by functions "DrgQueryNativeRMF" and "DrgQueryNativeRMFLen" plus possibly "DrgQueryTrueType" and "DrgQueryTrueTypeLen".


« Last Edit: April 09, 2025, 05:56:03 pm by Lars »

Martin Iturbide

  • OS2World NewsMaster
  • Global Moderator
  • Hero Member
  • *****
  • Posts: 5255
  • Karma: +44/-1
  • Your Friend Wil Declares...
    • View Profile
    • Martin's Personal Blog
Re: EDM/2 - The API Project - Undocumented
« Reply #2 on: April 09, 2025, 07:01:02 pm »
Thanks Lars.

Here in spanish we say "something is something", which also means "everything counts".

I had created the page with the corresponding warning first:

- https://www.edm2.com/index.php/DrgQueryFormat

Regards
« Last Edit: April 09, 2025, 07:10:52 pm by Martin Iturbide »
Martin Iturbide
OS2World NewsMaster
... just share the dream.

Martin Iturbide

  • OS2World NewsMaster
  • Global Moderator
  • Hero Member
  • *****
  • Posts: 5255
  • Karma: +44/-1
  • Your Friend Wil Declares...
    • View Profile
    • Martin's Personal Blog
Re: EDM/2 - The API Project - Undocumented
« Reply #3 on: April 09, 2025, 07:03:33 pm »
Hello

The github search can help me a little bit.

I found:
Quote
   ULONG APIENTRY DrgQueryFormat(PDRAGITEM pditem,
                                 PCSZ  pszAppMech,
                                 ULONG cbBuffer,
                                 PCSZ  pBuffer,
                                 ULONG ulFMTIndex);

Source.
« Last Edit: April 09, 2025, 07:16:18 pm by Martin Iturbide »
Martin Iturbide
OS2World NewsMaster
... just share the dream.

Martin Iturbide

  • OS2World NewsMaster
  • Global Moderator
  • Hero Member
  • *****
  • Posts: 5255
  • Karma: +44/-1
  • Your Friend Wil Declares...
    • View Profile
    • Martin's Personal Blog
Re: EDM/2 - The API Project - Undocumented
« Reply #4 on: April 09, 2025, 07:10:28 pm »
2) DrgGetClipPS
Ref: https://www.edm2.com/index.php/OS/2_DLL_Entry_Points_Cross_Reference
- PMCTLS.108    PMDRAG.76

I only found this on the OS2World Github,
Quote
HPS   APIENTRY DrgGetClipPS(HWND hwnd,               // Not yet in PMWIN.H
                            HWND hwndClip,
                            ULONG fl);
Source.

-- https://www.edm2.com/index.php/DrgGetClipPS
« Last Edit: April 09, 2025, 07:14:12 pm by Martin Iturbide »
Martin Iturbide
OS2World NewsMaster
... just share the dream.