Author Topic: DevHelp call from DDD Kit 32 (David)  (Read 269 times)

Igor

  • Full Member
  • ***
  • Posts: 156
  • Karma: +20/-0
DevHelp call from DDD Kit 32 (David)
« on: June 27, 2026, 03:08:32 pm »
Hi All!

I need to call the DevHelp function RocBlock and ProcRun. How do I do this?
I write basedev 32 bit.
The parametr passed to the StrategyInit structure contains an address in an incomprehensible format (16:16?).
Attempts to convert it were unsuccessful. I receive a trap.
Please help me.

Code: [Select]
ULONG DevHlp;

ULONG ProcBlock(ULONG EventId,ULONG Timeout, USHORT Flags) {
if (!DevHlp) return 0xFFFFFFFF;
ULONG rc = 0;
_asm {
mov eax, DevHelp_ProcBlock_Code
mov edx, EventId
mov ecx, Timeout
mov bx,  Flags
mov esi, dword ptr [DevHlp]
call     esi
jc       short_err
mov rc,  0
jmp      done
    short_err:
mov rc,  eax
    done:
}
return rc;
}



USHORT StrategyInit(REQPACKET *prp) {
  DevHlp = (ULONG)Far16ToFlat(prp->init_in.ulDevHlp);
..............
}
« Last Edit: June 27, 2026, 03:14:41 pm by Igor »

Roderick Klein

  • Hero Member
  • *****
  • Posts: 792
  • Karma: +18/-0
Re: DevHelp call from DDD Kit 32 (David)
« Reply #1 on: June 28, 2026, 05:14:33 pm »
Hi All!

I need to call the DevHelp function RocBlock and ProcRun. How do I do this?
I write basedev 32 bit.
The parametr passed to the StrategyInit structure contains an address in an incomprehensible format (16:16?).
Attempts to convert it were unsuccessful. I receive a trap.
Please help me.

Code: [Select]
ULONG DevHlp;

ULONG ProcBlock(ULONG EventId,ULONG Timeout, USHORT Flags) {
if (!DevHlp) return 0xFFFFFFFF;
ULONG rc = 0;
_asm {
mov eax, DevHelp_ProcBlock_Code
mov edx, EventId
mov ecx, Timeout
mov bx,  Flags
mov esi, dword ptr [DevHlp]
call     esi
jc       short_err
mov rc,  0
jmp      done
    short_err:
mov rc,  eax
    done:
}
return rc;
}



USHORT StrategyInit(REQPACKET *prp) {
  DevHlp = (ULONG)Far16ToFlat(prp->init_in.ulDevHlp);
..............
}

Why not send David an email and ask him ? I know he does not read the forums that often.

Roderick

Steven Levine

  • Full Member
  • ***
  • Posts: 136
  • Karma: +16/-0
Re: DevHelp call from DDD Kit 32 (David)
« Reply #2 on: June 29, 2026, 03:43:42 am »
Hi,

Take a look at Convert1632.txt.  It states

* All DevHelp functions must be changed to 32 bit functions:
  DevHelp_ProcBlock() -> KernBlock()

The DevHlp entry point passed in the CMDInit packet is 16:16, but you should not need to use it directly.

HTH,

Steven

Igor

  • Full Member
  • ***
  • Posts: 156
  • Karma: +20/-0
Re: DevHelp call from DDD Kit 32 (David)
« Reply #3 on: June 29, 2026, 08:46:23 pm »
Hi Steven,
Hi,

Take a look at Convert1632.txt.  It states

* All DevHelp functions must be changed to 32 bit functions:
  DevHelp_ProcBlock() -> KernBlock()

The DevHlp entry point passed in the CMDInit packet is 16:16, but you should not need to use it directly.

HTH,

Steven

Thank you! Unfortunately, in the unfamiliar field of driver programming, I use AI.
This request correction from those who known the subject.
« Last Edit: June 30, 2026, 02:57:02 am by Igor »

Igor

  • Full Member
  • ***
  • Posts: 156
  • Karma: +20/-0
Re: DevHelp call from DDD Kit 32 (David)
« Reply #4 on: June 29, 2026, 08:49:28 pm »
Hi All,

The problem is solved. Thank you all!