Jungo WinDriver  
Official Documentation

◆ WD_KernelPlugInCall

#define WD_KernelPlugInCall (   h,
  pKernelPlugInCall 
)
Value:
WD_FUNCTION(IOCTL_WD_KERNEL_PLUGIN_CALL, h, pKernelPlugInCall, \
#define FALSE
Definition: kpstdlib.h:260
#define IOCTL_WD_KERNEL_PLUGIN_CALL
Definition: windrvr.h:1620
#define WD_FUNCTION
Definition: windrvr.h:1838

Calls a routine in the Kernel PlugIn to be executed.

Parameters
[in]hHandle to WinDriver's kernel-mode driver as received from WD_Open()
[in,out]pKernelPlugInCallPointer to Kernel PlugIn information structure
Returns
Returns WD_STATUS_SUCCESS (0) on success, or an appropriate error code otherwise
Remarks
Calling the WD_KernelPlugInCall() function in the user mode will call your KP_Call callback function in the kernel. The KP_Call Kernel PlugIn function will determine what routine to execute according to the message passed to it in the WD_KERNEL_PLUGIN_CALL structure.
BZERO (kpCall);
/* Prepare the kpCall structure from WD_KernelPlugInOpen(): */
kpCall.hKernelPlugIn = hKernelPlugIn;
/* Set the message to pass to KP_Call. This will determine
the action performed in the kernel: */
kpCall.dwMessage = MY_DRV_MSG;
kpCall.pData = &mydrv; /* The data to pass to the Kernel PlugIn */
dwStatus = WD_KernelPlugInCall(hWD, &kpCall);
if (dwStatus == WD_STATUS_SUCCESS)
{
printf("Result = 0x%x\n", kpCall.dwResult);
}
else
{
printf("WD_KernelPlugInCall() failed. Error: 0x%x (%s)\n",
dwStatus, Stat2Str(dwStatus));
}
const char *DLLCALLCONV Stat2Str(_In_ DWORD dwStatus)
Retrieves the status string that corresponds to a status code.
#define WD_KernelPlugInCall(h, pKernelPlugInCall)
Calls a routine in the Kernel PlugIn to be executed.
Definition: windrvr.h:2588
@ WD_STATUS_SUCCESS
[0] Operation completed successfully
Definition: windrvr.h:1061
#define BZERO(buf)
Definition: windrvr.h:1548

Definition at line 2588 of file windrvr.h.