DevHelp_Save_Message

From EDM2
Jump to: navigation, search

This service displays a message from a base physical device driver on the system console.

Syntax

C

USHORT APIENTRY DevHelp_Save_Message( NPBYTE MsgTable );

Assembler

MOV   DS,SEG  Msg_Table     ; DS = Segment of message table
MOV   SI,OFFSET  Msg_Table  ; SI = Offset of message table
XOR   BX,BX                 ; BX = Reserved (must be 0)
MOV   DL,DevHlp_SAVE_MESSAGE

CALL  [Device_Help]

The structure of the message table is:

  WORD     Message ID
  WORD     Number of fill-in items
  DWORD    Pointer to first fill-in item of ASCIIZ string
  DWORD    Pointer to second fill-in item of ASCIIZ string
   .
   .
   .
  DWORD    Pointer to last fill-in item of ASCIIZ string

Parameters

C

MsgTable (NPBYTE)
pointer to the message table
typedef struct _MSGTABLE { 
  USHORT   MsgId;                       /* Message Id #                  */
  USHORT   cMsgStrings;                 /* # of (%) substitution strings */
  PSZ      MsgStrings[1];               /* Substitution string pointers  */
} MSGTABLE;
typedef MSGTABLE *NPMSGTABLE;

Return Code

C

Success Indicator: 0

Possible errors: Too many messages

Assembler

None.

Remarks

The message is not displayed immediately, but is queued until system initialization retrieves it from the system message file.

Example Code

C

#include  "dhcalls.h"

USHORT APIENTRY DevHelp_Save_Message( NPBYTE MsgTable );

typedef struct _MSGTABLE {
  USHORT   MsgId;             /* Message Id #                  */
  USHORT   cMsgStrings;       /* # of (%) substitution strings */
  PSZ      MsgString[1];      /* Substitution string pointers  */
} MSGTABLE;
typedef MSGTABLE *NPMSGTABLE;