Share via


PFN_WSK_SEND_MESSAGES 콜백 함수(wsk.h)

WskSendMessages 함수는 여러 데이터그램을 원격 전송 주소로 보냅니다.

구문

PFN_WSK_SEND_MESSAGES PfnWskSendMessages;

NTSTATUS PfnWskSendMessages(
  [in]                 PWSK_SOCKET Socket,
  [in]                 PWSK_BUF_LIST BufferList,
                       ULONG Flags,
  [in, optional]       PSOCKADDR RemoteAddress,
  [in]                 ULONG ControlInfoLength,
  [In_reads_bytes_opt] PCMSGHDR ControlInfo,
  [in, out]            PIRP Irp
)
{...}

매개 변수

[in] Socket

데이터그램을 보낼 소켓 개체를 지정하는 WSK_SOCKET 구조체에 대한 포인터입니다.

[in] BufferList

보낼 데이터그램 목록을 포함하는 초기화된 WSK_BUF_LIST 구조체에 대한 포인터입니다.

Flags

[예약됨] 이 매개 변수는 시스템 사용을 위해 예약되어 있습니다. WSK 애플리케이션은 이 매개 변수를 0으로 설정해야 합니다.

[in, optional] RemoteAddress

데이터그램을 보낼 원격 전송 주소를 지정하는 구조체에 대한 포인터입니다.

[in] ControlInfoLength

ControlInfo 매개 변수가 가리키는 버퍼의 데이터 바이트 수입니다. 데이터그램과 연결된 컨트롤 정보가 없는 경우 ControlInfoLength 매개 변수는 0이어야 합니다.

[In_reads_bytes_opt] ControlInfo

전송되는 데이터그램과 연결된 제어 정보를 포함하는 버퍼에 대한 포인터입니다. 컨트롤 정보 데이터는 하나 이상의 컨트롤 데이터 개체로 구성되며, 각 개체는 CMSGHDR 구조로 시작합니다. 데이터그램과 연결된 컨트롤 정보가 없는 경우 이 매개 변수는 NULL이어야 합니다.

ControlInfo 는 모든 전송에서 지원되지 않을 수 있습니다.

[in, out] Irp

WSK 하위 시스템이 비동기적으로 보내기 작업을 완료하는 데 사용하는 호출자 할당 IRP에 대한 포인터입니다. WSK 함수에서 IRP를 사용하는 방법에 대한 자세한 내용은 Winsock 커널 함수에서 IRP 사용을 참조하세요.

반환 값

반환 코드 설명
STATUS_SUCCESS 데이터그램이 소켓을 통해 성공적으로 전송되었습니다. IRP는 성공 상태 완료됩니다. IRP의 IoStatus.Information 필드에는 전송된 바이트 수가 포함됩니다.
STATUS_PENDING WSK 하위 시스템은 소켓을 통해 데이터그램을 즉시 보낼 수 없습니다. WSK 하위 시스템은 소켓을 통해 데이터그램을 보낸 후 IRP를 완료합니다. 보내기 작업의 상태 IRP의 IoStatus.Status 필드에 반환됩니다. 작업이 성공하면 IRP의 IoStatus.Information 필드에 전송된 바이트 수가 포함됩니다.
기타 상태 코드 오류가 발생했습니다. IRP는 실패 상태 완료됩니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 8
머리글 wsk.h(wsk.h 포함)

추가 정보

WSK_SOCKET

WSK_BUF_LIST

CMSGHDR

Winsock 커널 함수와 함께 IRP 사용