PcNewInterruptSync function (portcls.h)
The PcNewInterruptSync function creates and initializes an interrupt-synchronization object.
Syntax
PORTCLASSAPI NTSTATUS PcNewInterruptSync(
[out] PINTERRUPTSYNC *OutInterruptSync,
[in, optional] PUNKNOWN OuterUnknown,
[in] PRESOURCELIST ResourceList,
[in] ULONG ResourceIndex,
[in] INTERRUPTSYNCMODE Mode
);
Parameters
[out] OutInterruptSync
Output pointer for the interrupt-synchronization object created by this function. This parameter points to a caller-allocated pointer variable into which the function outputs a reference to the newly created IInterruptSync object. Specify a valid, non-NULL pointer value for this parameter.
[in, optional] OuterUnknown
Pointer to the IUnknown interface of an object that needs to aggregate the object. Unless aggregation is required, set this parameter to NULL.
[in] ResourceList
Pointer to the IResourceList object that was provided to the miniport driver during initialization. The port driver will examine this resource list but will not modify it.
[in] ResourceIndex
Specifies the index of the interrupt resource in the resource list. If the IResourceList::NumberOfEntriesOfType method returns a count of N for type CmResourceTypeInterrupt, ResourceIndex must be a value in the range 0 to N-1.
[in] Mode
Specifies the way that multiple ISRs are handled. Set this parameter to one of the INTERRUPTSYNCMODE enumeration values. For more information, see the following Remarks section.
Return value
PcNewInterruptSync returns STATUS_SUCCESS if the call was successful. Otherwise, it returns an appropriate error code.
Remarks
The Mode parameter is set to one of the INTERRUPTSYNCMODE enumeration values in the following table.
Value | Meaning |
---|---|
InterruptSyncModeNormal | Call each ISR in the list until one of them returns STATUS_SUCCESS. |
InterruptSyncModeAll | Call each ISR in the list exactly once, regardless of the return codes of the various ISRs. |
InterruptSyncModeRepeat | Traverse the entire ISR list until a trip through the list occurs in which no ISR in the list returns STATUS_SUCCESS. |
For detailed descriptions of these three modes, see Interrupt Sync Objects.
The OutInterruptSync, OuterUnknown, and ResourceList parameters follow the reference-counting conventions for COM objects.
Requirements
Requirement | Value |
---|---|
Minimum supported client | Available starting in Windows 2000. |
Target Platform | Universal |
Header | portcls.h (include Portcls.h) |
Library | Portcls.lib |
IRQL | PASSIVE_LEVEL |