◄Up► ◄Next► ◄Previous► ──────────────────────────────────────────────────────────────────────────── include vmm.inc Control_Dispatch Message, Procedure The Control_Dispatch macro dispatches the given control message to the specified procedure. Parameter Description ──────────────────────────────────────────────────────────────────────────── Message Specifies a control message. It can be one of the following: Message Description ───────────────────────────────────────────────────────────────── Begin_PM_App A protected-mode application is starting Close_VM_Notify A virtual machine is closing Create_VM A virtual machine is being created Critical_Reboot_Notify System is rebooting (interrupt disabled) Debug_Query Requests for virtual device's debugging interface Destroy_VM A virtual machine is being destroyed Device_Init Virtual devices initializing (interrupts enabled) Device_Reboot_Notify System is rebooting (interrupts enabled) End_PM_App A protected-mode application is ending Init_Complete All virtual devices have initialized Power_Event Power is being suspended or resumed Reboot_Processor Virtual device must reboot system if it can Set_Device_Focus A virtual device is taking the focus Sys_Critical_Exit System is terminating (interrupt disabled) Sys_Critical_Init Virtual devices initializing (interrupts disabled) Sys_VM_Init System VM is being created Sys_VM_Terminate System VM is being destroyed System_Exit System is terminating (interrupts enabled) VM_Critical_Init Virtual machine being created (interrupts disabled) VM_Init Virtual machine being created (interrupts enabled) VM_Not_Executeable Virtual machine being destroyed VM_Resume Virtual machine execution resumed VM_Suspend Virtual machine execution suspended VM_Terminate Virtual machine begin destroyed Procedure Specifies the name of the procedure to dispatch the message to. Return Value This macro has no return value. Comments This macro is typically used in conjunction with the Begin_Control_Dispatch and End_Dispatch_Table macro to build a The Control_Dispatch macro can be used without the Begin_Control_Dispatch macro, but becomes the programmer's responsibility to declare a procedure in locked code (VxD_LOCKED_CODE_SEG) and clear the carry flag for any messages not processed. See Also Begin_Control_Dispatch, End_Control_Dispatch ♦