NDK_FN_CREATE_SHARED_ENDPOINT callback function (ndkpi.h)
The NdkCreateSharedEndpoint (NDK_FN_CREATE_SHARED_ENDPOINT) function creates an NDK shared endpoint.
Syntax
NDK_FN_CREATE_SHARED_ENDPOINT NdkFnCreateSharedEndpoint;
NTSTATUS NdkFnCreateSharedEndpoint(
[in] NDK_ADAPTER *pNdkAdapter,
const PSOCKADDR pAddress,
[in] ULONG AddressLength,
[in] NDK_FN_CREATE_COMPLETION CreateCompletion,
[in, optional] PVOID RequestContext,
NDK_SHARED_ENDPOINT **ppNdkSharedEndpoint
)
{...}
Parameters
[in] pNdkAdapter
A pointer to an NDK adapter object (NDK_ADAPTER).
pAddress
A local address to use for initiating outgoing connections. For AF_INET or AF_INET6 pAddress contains the local IP address and local ND port.
[in] AddressLength
The size, in bytes, of local address data at the pAddress parameter.
[in] CreateCompletion
A pointer to an NdkCreateCompletion (NDK_FN_CREATE_COMPLETION) function that completes the creation of an NDK object.
[in, optional] RequestContext
A context value that the NDK provider passes back to the NdkCreateCompletion function that is specified in the CreateCompletion parameter.
ppNdkSharedEndpoint
A pointer to a created shared endpoint object (NDK_SHARED_ENDPOINT) is returned in this location if the request succeeds without returning STATUS_PENDING. If the request returns STATUS_PENDING then this parameter is ignored and the created object is returned with the callback that is specified in the CreateCompletion parameter.
Return value
The NdkCreateSharedEndpoint function returns one of the following NTSTATUS codes.
Return code | Description |
---|---|
|
The shared endpoint object was created successfully and returned with the *ppNdkSharedEndpoint parameter. |
|
The operation is pending and will be completed later. The provider will call the function specified in the CreateCompletion parameter (NDK_FN_CREATE_COMPLETION) to complete the pending operation. |
|
The request failed due to insufficient resources.
Important The request can fail inline as well as asynchronously with this status code.
|
|
The request failed because the specified local address is already in use.
Important The request can fail inline as well as asynchronously with this status code.
|
|
The request failed because the consumer specified a local port number of zero, and the Network Direct provider was unable to allocate a port from the ephemeral port space (ports 49152-65535.) |
|
The request failed because the specified local address is not a valid address for the adapter.
Important The request can fail inline as well as asynchronously with this status code.
|
|
An error occurred. |
Remarks
The NdkCreateSharedEndpoint function creates an NDK shared endpoint to use as the local address for multiple outgoing connections that are destined to different remote addresses. This is analogous to having multiple incoming connections to the same local address that are represented by a listener object.
If the function returns STATUS_SUCCESS, the created object is returned in the ppNdkSharedEndpoint parameter. If NdkCreateSharedEndpoint returns STATUS_PENDING, the created object is returned by the NdkCreateCompletion (NDK_FN_CREATE_COMPLETION) function that is specified in the CreateCompletion parameter.
Requirements
Requirement | Value |
---|---|
Minimum supported client | None supported,Supported in NDIS 6.30 and later. |
Minimum supported server | Windows Server 2012 |
Target Platform | Windows |
Header | ndkpi.h (include Ndkpi.h) |
IRQL | <=DISPATCH_LEVEL |