서버/RIO

RIO Function table 구조체

MAKGA 2022. 10. 2. 00:53
320x100

함수 구조체

typedef struct _RIO_EXTENSION_FUNCTION_TABLE {
    DWORD cbSize;

    LPFN_RIORECEIVE RIOReceive;
    LPFN_RIORECEIVEEX RIOReceiveEx;
    LPFN_RIOSEND RIOSend;
    LPFN_RIOSENDEX RIOSendEx;
    LPFN_RIOCLOSECOMPLETIONQUEUE RIOCloseCompletionQueue;
    LPFN_RIOCREATECOMPLETIONQUEUE RIOCreateCompletionQueue;
    LPFN_RIOCREATEREQUESTQUEUE RIOCreateRequestQueue;
    LPFN_RIODEQUEUECOMPLETION RIODequeueCompletion;
    LPFN_RIODEREGISTERBUFFER RIODeregisterBuffer;
    LPFN_RIONOTIFY RIONotify;
    LPFN_RIOREGISTERBUFFER RIORegisterBuffer;
    LPFN_RIORESIZECOMPLETIONQUEUE RIOResizeCompletionQueue;
    LPFN_RIORESIZEREQUESTQUEUE RIOResizeRequestQueue;
} RIO_EXTENSION_FUNCTION_TABLE, *PRIO_EXTENSION_FUNCTION_TABLE;

 

 

typedef BOOL (PASCAL FAR * LPFN_RIORECEIVE)(
    _In_ RIO_RQ SocketQueue,
    _In_reads_(DataBufferCount) PRIO_BUF pData,
    _In_ ULONG DataBufferCount,
    _In_ DWORD Flags,
    _In_ PVOID RequestContext
    );

 

RIO_RQ SocketQueue:

연결된 RIO TCP 소켓 또는 RIO UDP 소켓을 식별. (Request Queue)
PRIO_BUF pData:

데이터 수신 버퍼 포인터. 이 매개 변수는 데이터 페이로드를 수신 할 필요가 없는 UDP의 경우 NULL도 가능
ULONG DataBufferCount:

pData 매개변수에 의해 indicates된 버퍼에서 데이터를 수신할지를 나타내는 데이터 버퍼 수. (NULL이면 0, 아니면 1)
DWORD Flags:

옵션의 값들은 Mswsockdef.h에서 찾을 수 있다.

RIO_MSG_DEFER

RIO_MSG_COMMIT_ONLY

PVOID RequestContext

receive에 사용할 컨텍스트

320x100

'서버 > RIO' 카테고리의 다른 글

기본 개념  (0) 2021.09.23