Appendix B: Using BuffersAppendix B: Using Buffers*
*Contents  *Index  *Topic Contents
*Previous Topic: Appendix A: HINTERNET Handles
*Next Topic: Appendix C: Handling Errors

Appendix B: Using Buffers

Functions that return strings contain an input lpszBuffer parameter and an lpdwBufferLength parameter. Although lpszBuffer can be NULL, lpdwBufferLength must be a valid pointer to a double-word (DWORD) variable. If the input buffer pointed to by lpszBuffer is either too small to hold the output string or NULL, the function returns a failure indication and GetLastError returns ERROR_INSUFFICIENT_BUFFER. The variable pointed to by lpdwBufferLength contains a number that represents the number of bytes the function requires to return the requested string, including the NULL terminator. The application should allocate a buffer of this size, set the variable pointed to by lpdwBufferLength to this value, and resubmit the request. If the buffer size is sufficient to receive the requested string, the string is copied to the output buffer with a NULL terminator and the function returns a success indication. The variable pointed to by lpdwBufferLength now contains the number of characters stored in the buffer, excluding the NULL terminator.


Up Top of Page
© 1997 Microsoft Corporation. All rights reserved. Terms of Use.