INDEndpoint::Write Method
Initiates a one-sided write operation.
Syntax
HRESULT Write(
[in] ND_RESULT *pResult,
[in] const ND_SGE *pSgl,
[in] SIZE_T nSge,
[in] const ND_MW_DESCRIPTOR *pRemoteMwDescriptor,
[in] ULONGLONG Offset,
[in] DWORD Flags
);
Parameters
pResult [in]
An ND_RESULT structure which will receive the status of the operation. This method can set the following status codes:- ND_SUCCESS
- ND_LOCAL_LENGTH
- ND_ACCESS_VIOLATION
- ND_CANCELED
- ND_INVALID_REQUEST
- ND_FAILURE
- ND_TIMEOUT
- ND_REMOTE_ERROR
pSgl [in]
A list of NE_SGE structures for the send request. May be NULL if nSge is zero, resulting in a zero-byte send and a corresponding zero-byte receive on the remote peer. The SGL may be stack-based, and is only used in the context of this call.nSge [in]
The number of entries in the scatter/gather list. May be zero.pRemoteMwDescriptor [in]
An ND_MW_DESCRIPTOR structure that describes the memory window to which data is written.Offset [in]
Zero-based offset into the remote memory window at which the write operation should begin.Flags [in]
The following flags control the behavior of the send operation. You can specify one or both of the following flags:Value Meaning ND_OP_FLAG_SILENT_SUCCESS 0x00000001 The successful completion of the send request does not generate a completion on the associated completion queue. Work requests that fail processing always generate a work completion.
ND_OP_FLAG_READ_FENCE 0x00000002 All prior Read requests must be complete before the hardware begins processing the send request.
Return Value
When you implement this method, you should return the following return values. If you return others, try to use well-known values to aid in debugging issues.
Return code | Description |
---|---|
ND_SUCCESS | The operation succeeded. Completion status will be returned through the outbound completion queue associated with the endpoint. |
ND_CONNECTION_INVALID | The endpoint is not connected. |
ND_BUFFER_OVERFLOW | The request referenced more data than is supported by the underlying hardware. |
ND_NO_MORE_ENTRIES | The request would have exceeded the number of outbound requests allowed on the endpoint. The nOutboundEntries parameter of the INDConnector::CreateEndpoint method specifies the limit. |
ND_DATA_OVERRUN | The number of scatter/gather entries in the scatter/gather list of the request exceeded the number allowed on the endpoint. The nOutboundSge parameter of the INDConnector::CreateEndpoint method specifies the limit. |
Requirements
Product |
Microsoft Message Passing Interface (MS-MPI) |
Header |
Ndspi.h |
See Also
Send comments about this topic to Microsoft
Build date: 7/2/2010