ReactOS  0.4.14-dev-614-gbfd8a84
vddsup.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

VOID VDDCreateUserHook (USHORT DosPDB)
 
VOID VDDTerminateUserHook (USHORT DosPDB)
 
VOID VDDBlockUserHook (VOID)
 
VOID VDDResumeUserHook (VOID)
 
VOID VDDSupInitialize (VOID)
 

Function Documentation

◆ VDDBlockUserHook()

VOID VDDBlockUserHook ( VOID  )

Definition at line 479 of file vddsup.c.

480 {
481  PLIST_ENTRY Pointer;
482  PVDD_USER_HANDLERS UserHook;
483 
484  /* Call the hooks starting from the most recent ones */
485  for (Pointer = VddUserHooksList.Flink; Pointer != &VddUserHooksList; Pointer = Pointer->Flink)
486  {
487  UserHook = CONTAINING_RECORD(Pointer, VDD_USER_HANDLERS, Entry);
488  if (UserHook->Ublock_Handler) UserHook->Ublock_Handler();
489  }
490 }
static LIST_ENTRY VddUserHooksList
Definition: vddsup.c:56
PFLT_MESSAGE_WAITER_QUEUE CONTAINING_RECORD(Csq, DEVICE_EXTENSION, IrpQueue)) -> WaiterQ.mLock) _IRQL_raises_(DISPATCH_LEVEL) VOID NTAPI FltpAcquireMessageWaiterLock(_In_ PIO_CSQ Csq, _Out_ PKIRQL Irql)
Definition: Messaging.c:560
struct _LIST_ENTRY * Flink
Definition: typedefs.h:119
Definition: typedefs.h:117
PFNVDD_UBLOCK Ublock_Handler
Definition: vddsup.c:40
base of all file and directory entries
Definition: entries.h:82

Referenced by EmulatorPause().

◆ VDDCreateUserHook()

VOID VDDCreateUserHook ( USHORT  DosPDB)

Definition at line 453 of file vddsup.c.

454 {
455  PLIST_ENTRY Pointer;
456  PVDD_USER_HANDLERS UserHook;
457 
458  /* Call the hooks starting from the most recent ones */
459  for (Pointer = VddUserHooksList.Flink; Pointer != &VddUserHooksList; Pointer = Pointer->Flink)
460  {
461  UserHook = CONTAINING_RECORD(Pointer, VDD_USER_HANDLERS, Entry);
462  if (UserHook->Ucr_Handler) UserHook->Ucr_Handler(DosPDB);
463  }
464 }
static LIST_ENTRY VddUserHooksList
Definition: vddsup.c:56
PFLT_MESSAGE_WAITER_QUEUE CONTAINING_RECORD(Csq, DEVICE_EXTENSION, IrpQueue)) -> WaiterQ.mLock) _IRQL_raises_(DISPATCH_LEVEL) VOID NTAPI FltpAcquireMessageWaiterLock(_In_ PIO_CSQ Csq, _Out_ PKIRQL Irql)
Definition: Messaging.c:560
struct _LIST_ENTRY * Flink
Definition: typedefs.h:119
PFNVDD_UCREATE Ucr_Handler
Definition: vddsup.c:38
Definition: typedefs.h:117
base of all file and directory entries
Definition: entries.h:82

Referenced by DosLoadExecutableInternal().

◆ VDDResumeUserHook()

VOID VDDResumeUserHook ( VOID  )

Definition at line 492 of file vddsup.c.

493 {
494  PLIST_ENTRY Pointer;
495  PVDD_USER_HANDLERS UserHook;
496 
497  /* Call the hooks starting from the most recent ones */
498  for (Pointer = VddUserHooksList.Flink; Pointer != &VddUserHooksList; Pointer = Pointer->Flink)
499  {
500  UserHook = CONTAINING_RECORD(Pointer, VDD_USER_HANDLERS, Entry);
501  if (UserHook->Uresume_Handler) UserHook->Uresume_Handler();
502  }
503 }
static LIST_ENTRY VddUserHooksList
Definition: vddsup.c:56
PFNVDD_URESUME Uresume_Handler
Definition: vddsup.c:41
PFLT_MESSAGE_WAITER_QUEUE CONTAINING_RECORD(Csq, DEVICE_EXTENSION, IrpQueue)) -> WaiterQ.mLock) _IRQL_raises_(DISPATCH_LEVEL) VOID NTAPI FltpAcquireMessageWaiterLock(_In_ PIO_CSQ Csq, _Out_ PKIRQL Irql)
Definition: Messaging.c:560
struct _LIST_ENTRY * Flink
Definition: typedefs.h:119
Definition: typedefs.h:117
base of all file and directory entries
Definition: entries.h:82

Referenced by EmulatorResume().

◆ VDDSupInitialize()

VOID VDDSupInitialize ( VOID  )

Definition at line 507 of file vddsup.c.

508 {
509  /* Register the 3rd-party VDD BOP Handler */
511 
512  /* Load the installable VDDs from the registry */
514 }
VOID RegisterBop(BYTE BopCode, EMULATOR_BOP_PROC BopHandler)
Definition: bop.c:29
#define BOP_3RDPARTY
Definition: isvbop.h:30
static BOOL LoadInstallableVDD(VOID)
Definition: vddsup.c:253
static VOID WINAPI ThirdPartyVDDBop(LPWORD Stack)
Definition: vddsup.c:70

Referenced by EmulatorInitialize().

◆ VDDTerminateUserHook()

VOID VDDTerminateUserHook ( USHORT  DosPDB)

Definition at line 466 of file vddsup.c.

467 {
468  PLIST_ENTRY Pointer;
469  PVDD_USER_HANDLERS UserHook;
470 
471  /* Call the hooks starting from the most recent ones */
472  for (Pointer = VddUserHooksList.Flink; Pointer != &VddUserHooksList; Pointer = Pointer->Flink)
473  {
474  UserHook = CONTAINING_RECORD(Pointer, VDD_USER_HANDLERS, Entry);
475  if (UserHook->Uterm_Handler) UserHook->Uterm_Handler(DosPDB);
476  }
477 }
static LIST_ENTRY VddUserHooksList
Definition: vddsup.c:56
PFLT_MESSAGE_WAITER_QUEUE CONTAINING_RECORD(Csq, DEVICE_EXTENSION, IrpQueue)) -> WaiterQ.mLock) _IRQL_raises_(DISPATCH_LEVEL) VOID NTAPI FltpAcquireMessageWaiterLock(_In_ PIO_CSQ Csq, _Out_ PKIRQL Irql)
Definition: Messaging.c:560
struct _LIST_ENTRY * Flink
Definition: typedefs.h:119
Definition: typedefs.h:117
PFNVDD_UTERMINATE Uterm_Handler
Definition: vddsup.c:39
base of all file and directory entries
Definition: entries.h:82

Referenced by DosTerminateProcess().