Jungo WinDriver  
Official Documentation
wds_lib.h File Reference
#include "windrvr.h"
#include "wdc_lib.h"

Go to the source code of this file.

Data Structures

struct  WDS_IPC_SCAN_RESULT
 IPC scan processes results. More...
 
struct  WDS_IPC_MSG_RX
 IPC message received. More...
 

Macros

#define WDS_SharedBufferGetGlobalHandle(pKerBuf)   ((pKerBuf)->hKerBuf)
 Utility macro that returns a kernel buffer global handle that can be used for buffer sharing between multiple processes.
 

Typedefs

typedef void(* IPC_MSG_RX_HANDLER) (_In_ WDS_IPC_MSG_RX *pIpcRxMsg, _In_ void *pData)
 WinDriver IPC message handler callback.
 

Functions

BOOL DLLCALLCONV WDS_IsIpcRegistered (void)
 Enables the application to check if it is already registered with WinDriver IPC.
 
DWORD DLLCALLCONV WDS_IpcRegister (_In_ const CHAR *pcProcessName, _In_ DWORD dwGroupID, _In_ DWORD dwSubGroupID, _In_ DWORD dwAction, _In_ IPC_MSG_RX_HANDLER pFunc, _In_ void *pData)
 Registers an application with WinDriver IPC.
 
void DLLCALLCONV WDS_IpcUnRegister (void)
 This function enables the user application to unregister with WinDriver IPC.
 
DWORD DLLCALLCONV WDS_IpcScanProcs (_Outptr_ WDS_IPC_SCAN_RESULT *pIpcScanResult)
 Scans and returns information of all registered processes that share the application process groupID (as was given to WDS_IpcRegister() or a specific groupID.)
 
DWORD DLLCALLCONV WDS_IpcUidUnicast (_In_ DWORD dwRecipientUID, _In_ DWORD dwMsgID, _In_ UINT64 qwMsgData)
 Sends a message to a specific process with WinDriver IPC unique ID.
 
DWORD DLLCALLCONV WDS_IpcSubGroupMulticast (_In_ DWORD dwRecipientSubGroupID, _In_ DWORD dwMsgID, _In_ UINT64 qwMsgData)
 Sends a message to all processes that registered with the same sub-group ID.
 
DWORD DLLCALLCONV WDS_IpcMulticast (_In_ DWORD dwMsgID, _In_ UINT64 qwMsgData)
 Sends a message to all processes that were registered with the same group ID as the sending process.
 
DWORD DLLCALLCONV WDS_SharedBufferAlloc (_In_ UINT64 qwBytes, _In_ DWORD dwOptions, _Outptr_ WD_KERNEL_BUFFER **ppKerBuf)
 Allocates a memory buffer that can be shared between the user mode and the kernel mode ("shared buffer"), and returns user-mode and kernel-mode virtual address space mappings of the allocated buffer.
 
DWORD DLLCALLCONV WDS_SharedBufferGet (_In_ DWORD hKerBuf, _Outptr_ WD_KERNEL_BUFFER **ppKerBuf)
 Retrieves a shared buffer which was allocated by another process.
 
DWORD DLLCALLCONV WDS_SharedBufferFree (_In_ WD_KERNEL_BUFFER *pKerBuf)
 Frees a shared buffer that was allocated by a previous call to WDS_SharedBufferAlloc().
 
DWORD DLLCALLCONV WDS_SharedIntEnable (_In_ const CHAR *pcProcessName, _In_ DWORD dwGroupID, _In_ DWORD dwSubGroupID, _In_ DWORD dwAction, _In_ IPC_MSG_RX_HANDLER pFunc, _In_ void *pData)
 Enables the shared interrupts mechanism of WinDriver.
 
DWORD DLLCALLCONV WDS_SharedIntDisableGlobal (void)
 Disables the Shared Interrupts mechanism of WinDriver for all processes.
 
DWORD DLLCALLCONV WDS_SharedIntDisableLocal (void)
 Disables the Shared Interrupts mechanism of WinDriver for the current process.
 
BOOL DLLCALLCONV WDS_IsSharedIntsEnabledLocally (void)
 Check and returns whether shared interrupts are enabled for the current process.