Jungo WinDriver  
Official Documentation

◆ WD_MultiTransfer

#define WD_MultiTransfer (   h,
  pTransferArray,
  dwNumTransfers 
)
Value:
WD_FUNCTION(IOCTL_WD_MULTI_TRANSFER, h, pTransferArray, \
sizeof(WD_TRANSFER) * (dwNumTransfers), FALSE)
#define FALSE
Definition: kpstdlib.h:260
#define IOCTL_WD_MULTI_TRANSFER
Definition: windrvr.h:1618
#define WD_FUNCTION
Definition: windrvr.h:1843

Executes multiple read/write instructions to I/O ports and/or memory addresses.

Parameters
[in]hHandle to WinDriver's kernel-mode driver as received from WD_Open().
[in]pTransferArrayPointer to a beginning of an array of transfer information structures
[in,out]dwNumTransfersThe number of transfers to perform (the pTransferArray array should contain at least dwNumTransfers elements)
Returns
Returns WD_STATUS_SUCCESS (0) on success, or an appropriate error code otherwise
WD_TRANSFER Trans[4];
DWORD dwResult;
char *cData = "Message to send\n";
BZERO(Trans);
Trans[0].cmdTrans = WP_WORD; /* Write Port WORD */
Trans[0].pPort = 0x1e0;
Trans[0].Data.Word = 0x1023;
Trans[1].cmdTrans = WP_WORD;
Trans[1].pPort = 0x1e0;
Trans[1].Data.Word = 0x1022;
Trans[2].cmdTrans = WP_SBYTE; /* Write Port String BYTE */
Trans[2].pPort = 0x1f0;
Trans[2].dwBytes = strlen(cdata);
Trans[2].fAutoinc = FALSE;
Trans[2].dwOptions = 0;
Trans[2].Data.pBuffer = cData;
Trans[3].cmdTrans = RP_DWORD; /* Read Port Dword */
Trans[3].pPort = 0x1e4;
WD_MultiTransfer(hWD, &Trans, 4);
dwResult = Trans[3].Data.Dword;
DWORD dwBytes
For string transfer.
Definition: windrvr.h:593
DWORD dwOptions
Must be 0.
Definition: windrvr.h:596
DWORD cmdTrans
Transfer command WD_TRANSFER_CMD.
Definition: windrvr.h:590
UINT32 Dword
Use for 32 bit transfer.
Definition: windrvr.h:601
WORD Word
Use for 16 bit transfer.
Definition: windrvr.h:600
union WD_TRANSFER::@14 Data
KPTR pPort
I/O port for transfer or kernel memory address.
Definition: windrvr.h:589
DWORD fAutoinc
Transfer from one port/address or use incremental range of addresses.
Definition: windrvr.h:594
PVOID pBuffer
Use for string transfer.
Definition: windrvr.h:603
#define WD_MultiTransfer(h, pTransferArray, dwNumTransfers)
Executes multiple read/write instructions to I/O ports and/or memory addresses.
Definition: windrvr.h:1931
@ WP_SBYTE
Write port string byte.
Definition: windrvr.h:406
@ RP_DWORD
Read port dword.
Definition: windrvr.h:396
@ WP_WORD
Write port word.
Definition: windrvr.h:398
#define BZERO(buf)
Definition: windrvr.h:1553

Definition at line 1931 of file windrvr.h.