• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            S.l.e!ep.¢%

            像打了激速一樣,以四倍的速度運轉,開心的工作
            簡單、開放、平等的公司文化;尊重個性、自由與個人價值;
            posts - 1098, comments - 335, trackbacks - 0, articles - 1
              C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

            GetQueuedCompletionStatus 函數

            Posted on 2009-01-31 09:01 S.l.e!ep.¢% 閱讀(1327) 評論(0)  編輯 收藏 引用 所屬分類: VC
            GetQueuedCompletionStatus Function

            Attempts to dequeue an I/O completion packet from the specified I/O completion port. If there is no completion packet queued, the function waits for a pending I/O operation associated with the completion port to complete.

            To dequeue multiple I/O completion packets at once, use the GetQueuedCompletionStatusEx function.

            Syntax

            BOOL WINAPI GetQueuedCompletionStatus(
              __in   HANDLE CompletionPort,
              __out  LPDWORD lpNumberOfBytes,
              __out  PULONG_PTR lpCompletionKey,
              __out  LPOVERLAPPED *lpOverlapped,
              __in   DWORD dwMilliseconds
            );
            

            Parameters

            CompletionPort [in]

            A handle to the completion port. To create a completion port, use the CreateIoCompletionPort function.

            lpNumberOfBytes [out]

            A pointer to a variable that receives the number of bytes transferred during an I/O operation that has completed.

            lpCompletionKey [out]

            A pointer to a variable that receives the completion key value associated with the file handle whose I/O operation has completed. A completion key is a per-file key that is specified in a call to CreateIoCompletionPort.

            lpOverlapped [out]

            A pointer to a variable that receives the address of the OVERLAPPED structure that was specified when the completed I/O operation was started.

            Even if you have passed the function a file handle associated with a completion port and a valid OVERLAPPED structure, an application can prevent completion port notification. This is done by specifying a valid event handle for the hEvent member of the OVERLAPPED structure, and setting its low-order bit. A valid event handle whose low-order bit is set keeps I/O completion from being queued to the completion port.

            dwMilliseconds [in]

            The number of milliseconds that the caller is willing to wait for a completion packet to appear at the completion port. If a completion packet does not appear within the specified time, the function times out, returns FALSE, and sets *lpOverlapped to NULL.

            If dwMilliseconds is INFINITE, the function will never time out. If dwMilliseconds is zero and there is no I/O operation to dequeue, the function will time out immediately.

            Return Value

            If the function dequeues a completion packet for a successful I/O operation from the completion port, the return value is nonzero. The function stores information in the variables pointed to by the lpNumberOfBytes, lpCompletionKey, and lpOverlapped parameters.

            If *lpOverlapped is NULL and the function does not dequeue a completion packet from the completion port, the return value is zero. The function does not store information in the variables pointed to by the lpNumberOfBytes and lpCompletionKey parameters. To get extended error information, call GetLastError. If the function did not dequeue a completion packet because the wait timed out, GetLastError returns WAIT_TIMEOUT.

            If *lpOverlapped is not NULL and the function dequeues a completion packet for a failed I/O operation from the completion port, the return value is zero. The function stores information in the variables pointed to by lpNumberOfBytes, lpCompletionKey, and lpOverlapped. To get extended error information, call GetLastError.

            Remarks

            This function associates a thread with the specified completion port. A thread can be associated with at most one completion port.

            This function returns TRUE when at least one pending I/O is completed.

            This function returns FALSE when no I/O operation was dequeued. This typically means that an error occurred while processing the parameters to this call, or that the CompletionPort handle was closed or is otherwise invalid. The GetLastError function provides extended error information.

            Starting with Windows?Vista, if a call to GetQueuedCompletionStatus fails because the handle associated with it is closed, the function returns FALSE and GetLastError will return ERROR_ABANDONED_WAIT_0.

            For more information on I/O completion port theory, usage, and associated functions, see I/O Completion Ports.

            Requirements

            Minimum supported client Windows 2000 Professional
            Minimum supported server Windows 2000 Server
            Header WinBase.h (include Windows.h)
            Library Kernel32.lib
            DLL Kernel32.dll
            三级韩国一区久久二区综合| 91精品国产高清久久久久久io| 久久天堂电影网| 久久综合狠狠综合久久激情 | 国产福利电影一区二区三区久久久久成人精品综合 | 伊人热热久久原色播放www | 国产精品成人99久久久久91gav| 国内精品久久久久国产盗摄| 亚洲色欲久久久久综合网| 99久久精品免费看国产一区二区三区 | 无码任你躁久久久久久老妇App| 97久久国产露脸精品国产| 国产一区二区精品久久| 亚洲国产精品狼友中文久久久| 婷婷久久香蕉五月综合加勒比| 91精品国产高清久久久久久国产嫩草 | 久久精品成人国产午夜| 亚洲国产日韩综合久久精品| 久久精品国产亚洲麻豆| 久久精品久久久久观看99水蜜桃| 久久精品国产99国产电影网| 久久久久人妻一区二区三区| 久久精品亚洲乱码伦伦中文 | 欧美伊香蕉久久综合类网站| 色综合久久久久久久久五月| 亚洲国产成人久久精品99| 久久国产精品99国产精| 久久亚洲AV无码西西人体| 欧美日韩中文字幕久久伊人| 久久久久女人精品毛片| 中文字幕日本人妻久久久免费| 色诱久久av| 少妇久久久久久被弄到高潮| 成人精品一区二区久久久| 精品免费tv久久久久久久| 99久久成人国产精品免费| 久久久久亚洲AV无码麻豆| 久久久精品2019免费观看| 老色鬼久久亚洲AV综合| 日日躁夜夜躁狠狠久久AV| 久久久久人妻一区精品性色av|