Jungo WinDriver  
Official Documentation

◆ KP_PCI_Call()

void __cdecl KP_PCI_Call ( PVOID  pDrvContext,
WD_KERNEL_PLUGIN_CALL kpCall 
)

Called when the user-mode application calls WDC_CallKerPlug() (or the low-level WD_KernelPlugInCall() function — see the WinDriver PCI Low-Level API Reference).

This function is a message handler for your utility functions.

Parameters
[in,out]pDrvContextDriver context data that was set by KP_Open() and will also be passed to KP_Close(), KP_IntEnable() and KP_Event()
[in,out]kpCallStructure with user-mode information received from the WDC_CallKerPlug() (or from the low-level WD_KernelPlugInCall() function — see the WinDriver PCI Low-Level API Reference) and/or with information to return back to the user mode.
[in]kpCall->dwMessageMessage number for the handler.
[in,out]kpCall->pDataMessage context.
[out]kpCall->dwResultMessage result to send back to the user application.
Remarks
Calling WDC_CallKerPlug()(or the low-level WD_KernelPlugInCall() function — see the WinDriver PCI Low-Level API Reference) in the user mode will call your KP_Call() callback function in the kernel mode. The KP_Call() function in the Kernel PlugIn will determine which routine to execute according to the message passed to it. The fIsKernelMode parameter is passed by the WinDriver kernel to the KP_Call routine. The user is not required to do anything about this parameter. However, notice how this parameter is passed in the sample code to the macro COPY_TO_USER_OR_KERNEL — This is required for the macro to function correctly.

Definition at line 377 of file kp_pci.c.