none
完成端口编程的问题 RRS feed

  • 问题

  • 在网络编程中有一个方法是完成端口,用

    HANDLE WINAPI CreateIoCompletionPort(
      __in          HANDLE FileHandle,
      __in          HANDLE ExistingCompletionPort,
      __in          ULONG_PTR CompletionKey,
      __in          DWORD NumberOfConcurrentThreads
    );
    这里有一个完成键CompletionKey,MSDN是讲是:

    The per-file completion key that is included in every I/O completion packet for the specified file.

    很多书上是赋一个结构体的地址,我不太明白完成键的功能和用法,希望有高手帮我解答下.


    xiao
    2011年2月16日 5:49

答案

  • 这传递的是一个指针, 一般只传一个参数到完成端口的线程是不够的,所以我们要传递一个结构体,这样可以把其它的一些信息通过夹在结构体力里也传递过去


    0xBAADF00D
    • 已标记为答案 wh_xiao 2011年2月17日 0:48
    2011年2月16日 9:16
    版主

全部回复

  • 这传递的是一个指针, 一般只传一个参数到完成端口的线程是不够的,所以我们要传递一个结构体,这样可以把其它的一些信息通过夹在结构体力里也传递过去


    0xBAADF00D
    • 已标记为答案 wh_xiao 2011年2月17日 0:48
    2011年2月16日 9:16
    版主
  • 结构体相当一个类,直接在MFC类的头文件中定义相应的数据成员不就行了吗?

    为什么要在结构体内定义呢?这只是调用的问题.


    xiao
    2011年2月16日 11:01