DevHelp RegisterPDD

This service registers a 16:16 physical device driver with a virtual device driver for physical device driver/virtual device driver (PDD/VDD) communication. The function is used by a physical device driver to register its name and a communication entry point with the DOS Session Manager. Later, a virtual device driver can use VDHOpenPDD to open communication with the physical device driver.

C
USHORT APIENTRY DevHelp_RegisterPDD (NPSZ PhysDevName, PFN HandlerRoutine)

Assembler
 MOV  DS,SEGMENT PDD_Name        ; DS:SI = Pointer to ASCIIZ name for ; the physical device driver LEA  SI,PDD_Name MOV  DI,SEGMENT PDD_Function MOV  ES,DI                      ; ES:DI = Pointer to physical device driver's                                 ; communication function LEA  DI,PDD_Function MOV  DL,DevHlp_RegisterPDD

CALL [Device_Help] 

C

 * PhysDevName (NPSZ): input - Pointer to ASCIIZ name for the physical device driver.
 * HandlerRoutine (PFN): input - Pointer to physical device driver's communication function.

Assembler
 MOV  DS,SEGMENT PDD_Name        ; DS:SI = Pointer to ASCIIZ name for ; the physical device driver LEA  SI,PDD_Name MOV  DI,SEGMENT PDD_Function MOV  ES,DI                      ; ES:DI = Pointer to physical device driver's                                 ; communication function 

C
Success Indicator: 0 - The data area is filled in.

Possible errors:

System Halts if the function fails.

Assembler
'C' Clear if successful. AX = 0.

If the function fails, a system halt will occur.

Remarks
If ES:DI is NULL (0:0), this call removes the registration of the name of this physical device driver. The physical device driver name supplied to this service does not need to match the string in the physical device driver's header.

If a physical device driver deactivates itself, it must close down any interaction with virtual device drivers. If a physical device driver registers an entry point during initialization, but fails later during initialization, it must call this function with a NULL function pointer in order to remove the registration.

C

 * 1) include "dhcalls.h"

USHORT APIENTRY DevHelp_RegisterPDD (NPSZ PhysDevName,                                    PFN HandlerRoutine) 