PURPOSE
Waits for an interrupt.
PROTOTYPE
DWORD WD_IntWait(
HANDLE hWD,
WD_INTERRUPT *pInterrupt);
PARAMETERS
| Name | Type | Input/Output |
|---|---|---|
| HANDLE | Input | |
| WD_INTERRUPT* | ||
| HANDLE | Input | |
| DWORD | N/A | |
| WD_TRANSFER* | N/A | |
| DWORD | N/A | |
| WD_KERNEL_PLUGIN_CALL | N/A | |
| DWORD | N/A | |
| DWORD | Output | |
| DWORD | Output | |
| DWORD | Output | |
| DWORD | Output | |
| DWORD | N/A |
DESCRIPTION
| Name | Description |
|---|---|
| hWD | Handle to WinDriver's kernel-mode driver as received from WD_Open() [5.2] |
| pInterrupt | Pointer to an interrupt information structure: |
| Interrupt handle. The handle is returned by WD_CardRegister() [2.8] in pCardReg->Card.Item[i].I.Int.hInterrupt. | |
| Number of interrupts received | |
| Number of interrupts that were acknowledge in kernel mode but not yet handled in user mode | |
| Set by the function to any of the following values:
|
|
| Relevant only for MSI/MSI-X interrupts on Windows Vista (see information in the WinDriver PCI Manual): When an interrupt occurs, WinDriver's kernel-mode interrupt handler sets this field to the interrupt's message data. |
RETURN VALUE
Returns WD_STATUS_SUCCESS (0) on success, or an appropriate error code otherwise [A].
REMARKS
EXAMPLE
for (;;)
{
WD_IntWait(hWD, &Intrp);
if (Intrp.fStopped)
break;
ProcessInterrupt(Intrp.dwCounter);
}