VirtualBox

Changeset 24468 in vbox for trunk/src/VBox/Runtime


Ignore:
Timestamp:
Nov 6, 2009 5:03:44 PM (15 years ago)
Author:
vboxsync
Message:

iprt/req.h: Document RTReqCall* caveats better.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Runtime/common/misc/req.cpp

    r24103 r24468  
    207207 * @param   pfnFunction     Pointer to the function to call.
    208208 * @param   cArgs           Number of arguments following in the ellipsis.
    209  *                          Not possible to pass 64-bit arguments!
    210209 * @param   ...             Function arguments.
     210 *
     211 * @remarks See remarks on RTReqCallV.
    211212 */
    212213RTDECL(int) RTReqCall(PRTREQQUEUE pQueue, PRTREQ *ppReq, unsigned cMillies, PFNRT pfnFunction, unsigned cArgs, ...)
     
    241242 * @param   pfnFunction     Pointer to the function to call.
    242243 * @param   cArgs           Number of arguments following in the ellipsis.
    243  *                          Not possible to pass 64-bit arguments!
    244244 * @param   ...             Function arguments.
     245 *
     246 * @remarks See remarks on RTReqCallV.
    245247 */
    246248RTDECL(int) RTReqCallVoid(PRTREQQUEUE pQueue, PRTREQ *ppReq, unsigned cMillies, PFNRT pfnFunction, unsigned cArgs, ...)
     
    277279 * @param   pfnFunction     Pointer to the function to call.
    278280 * @param   cArgs           Number of arguments following in the ellipsis.
    279  *                          Not possible to pass 64-bit arguments!
    280281 * @param   ...             Function arguments.
     282 *
     283 * @remarks See remarks on RTReqCallV.
    281284 */
    282285RTDECL(int) RTReqCallEx(PRTREQQUEUE pQueue, PRTREQ *ppReq, unsigned cMillies, unsigned fFlags, PFNRT pfnFunction, unsigned cArgs, ...)
     
    313316 * @param   pfnFunction     Pointer to the function to call.
    314317 * @param   cArgs           Number of arguments following in the ellipsis.
    315  *                          Not possible to pass 64-bit arguments!
    316318 * @param   Args            Variable argument vector.
     319 *
     320 * @remarks Caveats:
     321 *              - Do not pass anything which is larger than an uintptr_t.
     322 *              - 64-bit integers are larger than uintptr_t on 32-bit hosts.
     323 *                Pass integers > 32-bit by reference (pointers).
     324 *              - Don't use NULL since it should be the integer 0 in C++ and may
     325 *                therefore end up with garbage in the bits 63:32 on 64-bit
     326 *                hosts because 'int' is 32-bit.
     327 *                Use (void *)NULL or (uintptr_t)0 instead of NULL.
    317328 */
    318329RTDECL(int) RTReqCallV(PRTREQQUEUE pQueue, PRTREQ *ppReq, unsigned cMillies, unsigned fFlags, PFNRT pfnFunction, unsigned cArgs, va_list Args)
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette