12#if defined(__KERNEL__)
125 _In_ DWORD dwGroupID,
_In_ DWORD dwSubGroupID,
_In_ DWORD dwAction,
287#define WDS_SharedBufferGetGlobalHandle(pKerBuf) ((pKerBuf)->hKerBuf)
361 _In_ DWORD dwGroupID,
_In_ DWORD dwSubGroupID,
_In_ DWORD dwAction,
DWORD dwSenderUID
WinDriver IPC unique ID of the sending process.
DWORD dwMsgID
A 32 bit unique number defined by the user application.
UINT64 qwMsgData
Optional - 64 bit additional data from the sending user-application process.
DWORD dwNumProcs
Number of matching processes.
IPC scan processes results.
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.
BOOL DLLCALLCONV WDS_IsIpcRegistered(void)
Enables the application to check if it is already registered with WinDriver IPC.
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.
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 buffe...
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.
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.
BOOL DLLCALLCONV WDS_IsSharedIntsEnabledLocally(void)
Check and returns whether shared interrupts are enabled for the current process.
void DLLCALLCONV WDS_IpcUnRegister(void)
This function enables the user application to unregister with WinDriver IPC.
DWORD DLLCALLCONV WDS_SharedBufferGet(_In_ DWORD hKerBuf, _Outptr_ WD_KERNEL_BUFFER **ppKerBuf)
Retrieves a shared buffer which was allocated by another process.
void(* IPC_MSG_RX_HANDLER)(_In_ WDS_IPC_MSG_RX *pIpcRxMsg, _In_ void *pData)
WinDriver IPC message handler callback.
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_SharedBufferFree(_In_ WD_KERNEL_BUFFER *pKerBuf)
Frees a shared buffer that was allocated by a previous call to WDS_SharedBufferAlloc().
DWORD DLLCALLCONV WDS_IpcScanProcs(_Outptr_ WDS_IPC_SCAN_RESULT *pIpcScanResult)
Scans and returns information of all registered processes that share the application process groupID ...
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.