다음을 통해 공유


RxCeSendDatagram 함수(rxce.h)

RxCeSendDatagram 은 가상 회로에서 지정된 연결을 따라 TSDU(전송 서비스 데이터 단위)를 보냅니다.

구문

NTSTATUS RxCeSendDatagram(
       IN PRXCE_ADDRESS                hAddress,
  [in] IN PRXCE_CONNECTION_INFORMATION pConnectionInformation,
       IN ULONG                        SendOptions,
  [in] IN PMDL                         pMdl,
  [in] IN ULONG                        SendLength,
  [in] IN PVOID                        pCompletionContext
);

매개 변수

hAddress

TSDU를 보낼 전송에 대한 포인터입니다.

[in] pConnectionInformation

원격 주소를 포함하는 연결 정보에 대한 포인터입니다.

SendOptions

원격 주소를 포함하는 연결 정보에 대한 포인터입니다.

[in] pMdl

보낼 버퍼에 대한 포인터입니다.

[in] SendLength

보낼 데이터의 길이입니다.

[in] pCompletionContext

비동기 작업을 위해 SendCompletion 중에 호출자에게 다시 전달된 컨텍스트입니다. Options 매개 변수가 동기 전송 작업을 요청하는 경우 이 매개 변수는 무시되지 않습니다.

반환 값

RxCeSendDatagram 은 성공 시 STATUS_SUCCESS 반환하거나 실패 시 다음 오류 코드 중 하나를 반환합니다.

반환 코드 설명
STATUS_INSUFFICIENT_RESOURCES
이 루틴에 필요한 비페이지 풀 메모리 할당에 실패했습니다.
STATUS_INVALID_PARAMETER
지정한 옵션에 따라 SendLength 매개 변수에 잘못된 길이가 전달되었습니다.

설명

RxCeSendDatagram에 사용되는 Options 매개 변수에 표시된 비동기 및 동기 옵션은 두 가지 상황을 구분합니다. 비동기 경우 요청이 기본 전송에 성공적으로 제출되면 컨트롤이 호출자에게 반환됩니다. 지정된 요청에 대한 결과는 SendCompletion 콜백 루틴을 사용하여 다시 전달됩니다. RxCeSendDatagrampCompletionContext 매개 변수는 콜백 루틴에 다시 전달되어 호출자가 요청을 명확하게 할 수 있도록 지원합니다.

동기의 경우 요청이 기본 전송에 제출되고 요청이 완료될 때까지 컨트롤이 호출자에게 반환되지 않습니다. 동기의 경우 pCompletionContext 매개 변수는 무시되고 반환되는 상태 작업의 완료 상태 해당합니다.

비동기 및 동기 옵션의 이점은 기본 전송에 따라 달라집니다. 예를 들어 TCP(가상 회로 환경)에서 동기 옵션은 데이터가 서버에 도달할 때까지 컨트롤이 반환되지 않음을 의미합니다. 반면에 데이터그램 지향 전송(예: UDP)의 경우 두 옵션 간에는 거의 차이가 없습니다.

기본 전송이 데이터그램 전송에서 차단되지 않으므로 동기 옵션은 데이터그램 전송에 대해 무시됩니다.

RXCE_CONNECTION_INFORMATIONTDI_CONNECTION_INFORMATION 구조체의 typedef입니다.

요구 사항

요구 사항
대상 플랫폼 데스크톱
머리글 rxce.h(Rxce.h, Tdi.h 포함)
IRQL <= APC_LEVEL

추가 정보

Mdl

RxCeSend

TDI_CONNECTION_INFORMATION