Changeset 24468 in vbox
- Timestamp:
- Nov 6, 2009 5:03:44 PM (15 years ago)
- Location:
- trunk
- Files:
-
- 2 edited
-
include/iprt/req.h (modified) (4 diffs)
-
src/VBox/Runtime/common/misc/req.cpp (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/iprt/req.h
r24100 r24468 209 209 * @param pfnFunction Pointer to the function to call. 210 210 * @param cArgs Number of arguments following in the ellipsis. 211 * The arguments must be of integer or pointer type and212 * not bigger in size than uintptr_t. Do not try pass213 * 64-bit integers directly in portable code.214 211 * @param ... Function arguments. 212 * 213 * @remarks See remarks on RTReqCallV. 215 214 */ 216 215 RTDECL(int) RTReqCall(PRTREQQUEUE pQueue, PRTREQ *ppReq, unsigned cMillies, PFNRT pfnFunction, unsigned cArgs, ...); … … 237 236 * @param pfnFunction Pointer to the function to call. 238 237 * @param cArgs Number of arguments following in the ellipsis. 239 * The arguments must be of integer or pointer type and240 * not bigger in size than uintptr_t. Do not try pass241 * 64-bit integers directly in portable code.242 238 * @param ... Function arguments. 239 * 240 * @remarks See remarks on RTReqCallV. 243 241 */ 244 242 RTDECL(int) RTReqCallVoid(PRTREQQUEUE pQueue, PRTREQ *ppReq, unsigned cMillies, PFNRT pfnFunction, unsigned cArgs, ...); … … 267 265 * @param pfnFunction Pointer to the function to call. 268 266 * @param cArgs Number of arguments following in the ellipsis. 269 * The arguments must be of integer or pointer type and270 * not bigger in size than uintptr_t. Do not try pass271 * 64-bit integers directly in portable code.272 267 * @param ... Function arguments. 268 * 269 * @remarks See remarks on RTReqCallV. 273 270 */ 274 271 RTDECL(int) RTReqCallEx(PRTREQQUEUE pQueue, PRTREQ *ppReq, unsigned cMillies, unsigned fFlags, PFNRT pfnFunction, unsigned cArgs, ...); … … 297 294 * @param pfnFunction Pointer to the function to call. 298 295 * @param cArgs Number of arguments following in the ellipsis. 299 * The arguments must be of integer or pointer type and300 * not bigger in size than uintptr_t. Do not try pass301 * 64-bit integers directly in portable code.302 296 * @param Args Variable argument vector. 297 * 298 * @remarks Caveats: 299 * - Do not pass anything which is larger than an uintptr_t. 300 * - 64-bit integers are larger than uintptr_t on 32-bit hosts. 301 * Pass integers > 32-bit by reference (pointers). 302 * - Don't use NULL since it should be the integer 0 in C++ and may 303 * therefore end up with garbage in the bits 63:32 on 64-bit 304 * hosts because 'int' is 32-bit. 305 * Use (void *)NULL or (uintptr_t)0 instead of NULL. 303 306 */ 304 307 RTDECL(int) RTReqCallV(PRTREQQUEUE pQueue, PRTREQ *ppReq, unsigned cMillies, unsigned fFlags, PFNRT pfnFunction, unsigned cArgs, va_list Args); -
trunk/src/VBox/Runtime/common/misc/req.cpp
r24103 r24468 207 207 * @param pfnFunction Pointer to the function to call. 208 208 * @param cArgs Number of arguments following in the ellipsis. 209 * Not possible to pass 64-bit arguments!210 209 * @param ... Function arguments. 210 * 211 * @remarks See remarks on RTReqCallV. 211 212 */ 212 213 RTDECL(int) RTReqCall(PRTREQQUEUE pQueue, PRTREQ *ppReq, unsigned cMillies, PFNRT pfnFunction, unsigned cArgs, ...) … … 241 242 * @param pfnFunction Pointer to the function to call. 242 243 * @param cArgs Number of arguments following in the ellipsis. 243 * Not possible to pass 64-bit arguments!244 244 * @param ... Function arguments. 245 * 246 * @remarks See remarks on RTReqCallV. 245 247 */ 246 248 RTDECL(int) RTReqCallVoid(PRTREQQUEUE pQueue, PRTREQ *ppReq, unsigned cMillies, PFNRT pfnFunction, unsigned cArgs, ...) … … 277 279 * @param pfnFunction Pointer to the function to call. 278 280 * @param cArgs Number of arguments following in the ellipsis. 279 * Not possible to pass 64-bit arguments!280 281 * @param ... Function arguments. 282 * 283 * @remarks See remarks on RTReqCallV. 281 284 */ 282 285 RTDECL(int) RTReqCallEx(PRTREQQUEUE pQueue, PRTREQ *ppReq, unsigned cMillies, unsigned fFlags, PFNRT pfnFunction, unsigned cArgs, ...) … … 313 316 * @param pfnFunction Pointer to the function to call. 314 317 * @param cArgs Number of arguments following in the ellipsis. 315 * Not possible to pass 64-bit arguments!316 318 * @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. 317 328 */ 318 329 RTDECL(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.

