FwpsCompleteOperation0 (Compact 7)
3/12/2014
This function resumes packet processing that was suspended pending completion of another operation.
Syntax
VOID NTAPI
FwpsCompleteOperation0(
IN HANDLE completionContext,
IN PNET_BUFFER_LIST netBufferList
);
Parameters
- completionContext
A completion context handle that was previously created by a call to the FwpsPendOperation0 function
- netBufferList
A pointer to a NET_BUFFER_LIST structure that describes the packet data for which processing has been suspended pending completion of another operation.
Return Value
The FwpsCompleteOperation0 function returns one of the following NTSTATUS codes:
Value | Description |
---|---|
STATUS_SUCCESS |
The packet processing was successfully resumed. |
Other status codes |
An error occurred. |
Remarks
When the callout is ready to resume packet processing after operations on the packet were suspended by a call to FwpsPendOperation0, the callout should call the FwpsCompleteOperation0 function. The completionContext parameter value from FwpsPendOperation0 and the NET_BUFFER_LIST data that describes the packet should be passed to the callout.
To complete a connection that was previously pended at the FWPS_LAYER_ALE_AUTH_RECV_ACCEPT_Xxx layer, the callout must reinject the packet that was cloned at that layer and call FwpsCompleteOperation0.
Pended connections are reauthenticated after the FwpsCompleteOperation0 function executes. TCP connections, if they are allowed, are created by completing the handshake operation. Non-TCP connections create state entries. Any pended packet data is flushed from memory when the FwpsCompleteOperation0 function finishes. Therefore, an application must retransmit those packets. The callout can buffer such data and reinject the data on the application's behalf.
Requirements
Header |
fwpsk.h |
See Also
Reference
Functions Called by Callout Drivers
NET_BUFFER_LIST
FwpsPendOperation0
WFP Callout Driver Functions