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

INDEndpoint

 

 

Send comments about this topic to Microsoft

Build date: 7/2/2010