- Timestamp:
- Jul 18, 2000, 8:00:01 PM (25 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/shlwapi/url.cpp
r3687 r3849 1 /* $Id: url.cpp,v 1. 3 2000-06-12 08:09:48 phallerExp $ */1 /* $Id: url.cpp,v 1.4 2000-07-18 18:00:01 bird Exp $ */ 2 2 3 3 /* … … 54 54 BOOL flagNoHistory; /* usually not in history of browsers */ 55 55 DWORD dwType; /* URL type */ 56 56 57 57 } URLSCHEME, *PURLSCHEME; 58 58 … … 90 90 /***************************************************************************** 91 91 * Name : UrlApplyScheme 92 * Purpose : Takes a URL string, determines a scheme for it, and returns a 92 * Purpose : Takes a URL string, determines a scheme for it, and returns a 93 93 * string with an appropriate prefix. 94 94 * Parameters: pszIn [in] A NULL-terminated URL string. 95 * pszOut [out] A buffer to receive a NULL-terminated string, 96 * set to the URL specified by pszIn, converted 95 * pszOut [out] A buffer to receive a NULL-terminated string, 96 * set to the URL specified by pszIn, converted 97 97 * to the standard scheme://URL_string format. 98 * pcchOut [in/out] Address of a value set to the number of 99 * characters in the pszOut buffer. When the 100 * function returns, the value depends on whether 101 * the function is successful or returns 102 * E_POINTER. For other return values, the value 98 * pcchOut [in/out] Address of a value set to the number of 99 * characters in the pszOut buffer. When the 100 * function returns, the value depends on whether 101 * the function is successful or returns 102 * E_POINTER. For other return values, the value 103 103 * of this parameter is meaningless. 104 * dwFlags [in] Flags that specify how to determine the 104 * dwFlags [in] Flags that specify how to determine the 105 105 * scheme. The following flags can be combined. 106 106 * URL_APPLY_DEFAULT … … 122 122 * string, not counting the terminating NULL character. 123 123 * S_FALSE There were no errors, but no prefix was prepended. 124 * E_POINTER The buffer was too small. The value of pcchOut is 125 * set to the minimum number of characters that the 126 * buffer must be able to contain, including the 124 * E_POINTER The buffer was too small. The value of pcchOut is 125 * set to the minimum number of characters that the 126 * buffer must be able to contain, including the 127 127 * terminating NULL character. 128 128 * Other errors - A standard OLE error value is returned. 129 * Remark : If the URL has a valid scheme, the string will not be modified. 130 * However, almost any combination of two or more characters 131 * followed by a colon will be parsed as a scheme. Valid 132 * characters include some common punctuation marks, such as ".". 133 * If your input string fits this description, UrlApplyScheme may 134 * treat it as valid and not apply a scheme. To force the function 135 * to apply a scheme to a URL, set the URL_APPLY_FORCEAPPLY and 136 * URL_APPLY_DEFAULT flags in dwFlags. This combination of flags 137 * forces the function to apply a scheme to the URL. Typically, 138 * the function will not be able to determine a valid scheme. The 139 * second flag guarantees that, if no valid scheme can be 129 * Remark : If the URL has a valid scheme, the string will not be modified. 130 * However, almost any combination of two or more characters 131 * followed by a colon will be parsed as a scheme. Valid 132 * characters include some common punctuation marks, such as ".". 133 * If your input string fits this description, UrlApplyScheme may 134 * treat it as valid and not apply a scheme. To force the function 135 * to apply a scheme to a URL, set the URL_APPLY_FORCEAPPLY and 136 * URL_APPLY_DEFAULT flags in dwFlags. This combination of flags 137 * forces the function to apply a scheme to the URL. Typically, 138 * the function will not be able to determine a valid scheme. The 139 * second flag guarantees that, if no valid scheme can be 140 140 * determined, the function will apply the default scheme to the URL. 141 141 * Status : UNTESTED 142 142 * 143 * Aut or: Patrick Haller [Thu, 2000/04/20 19:46]143 * Author : Patrick Haller [Thu, 2000/04/20 19:46] 144 144 *****************************************************************************/ 145 145 … … 151 151 { 152 152 dprintf(("not implemented.")); 153 153 154 154 strncpy(pszOut, 155 155 pszIn, 156 156 *pcchOut); 157 157 *pcchOut = 0; 158 158 159 159 return S_OK; 160 160 } … … 168 168 { 169 169 dprintf(("not implemented.")); 170 170 171 171 wcsncpy((wchar_t*)pszOut, 172 172 (wchar_t*)pszIn, 173 173 *pcchOut); 174 174 *pcchOut = 0; 175 175 176 176 return S_OK; 177 177 } … … 181 181 * Name : UrlCanonicalize 182 182 * Purpose : Takes a URL string and converts it into canonical form. 183 * Parameters: pszUrl [in] Pointer to a URL string. If it does not refer 184 * to a file, it must include a valid scheme such 183 * Parameters: pszUrl [in] Pointer to a URL string. If it does not refer 184 * to a file, it must include a valid scheme such 185 185 * as "http://". 186 186 * pszCanonicalized [out] A pointer to a NULL-terminated string 187 187 * used to return the converted URL. 188 * pcchCanonicalized [out] The number of characters in 188 * pcchCanonicalized [out] The number of characters in 189 189 * pszCanonicalized. 190 * dwFlags [in] Flags that specify how the URL will be 191 * converted to canonical form. The 190 * dwFlags [in] Flags that specify how the URL will be 191 * converted to canonical form. The 192 192 * following flags can be combined. 193 193 * URL_DONT_SIMPLIFY … … 226 226 * escaped. 227 227 * Variables : 228 * Result : Returns S_OK if successful, or a standard OLE error 228 * Result : Returns S_OK if successful, or a standard OLE error 229 229 * value otherwise. 230 * Remark : This function will do such tasks as replacing unsafe characters 230 * Remark : This function will do such tasks as replacing unsafe characters 231 231 * with their escape sequences and collapsing sequences like "..\...". 232 * If a URL string contains '/../' or '/./', UrlCanonicalize 232 * If a URL string contains '/../' or '/./', UrlCanonicalize 233 233 * will normally treat the characters as indicating navigation in 234 * the URL hierarchy. The function will simplify the URLs before 235 * combining them. For instance "/hello/cruel/../world" will be 236 * simplified to "/hello/world". If the URL_DONT_SIMPLIFY flag is 237 * set in dwFlags, the function will not simplify URLs. In this 234 * the URL hierarchy. The function will simplify the URLs before 235 * combining them. For instance "/hello/cruel/../world" will be 236 * simplified to "/hello/world". If the URL_DONT_SIMPLIFY flag is 237 * set in dwFlags, the function will not simplify URLs. In this 238 238 * case, "/hello/cruel/../world" will be left as is. 239 * Status : 239 * Status : 240 240 * 241 241 * Author : Patrick Haller [Thu, 2000/04/20 19:49] … … 249 249 { 250 250 dprintf(("not implemented.")); 251 251 252 252 return S_OK; 253 253 } … … 261 261 { 262 262 dprintf(("not implemented.")); 263 263 264 264 return S_OK; 265 265 } … … 269 269 /***************************************************************************** 270 270 * Name : UrlCombine 271 * Purpose : Takes a relative URL and its base and returns a URL in canonical form. 271 * Purpose : Takes a relative URL and its base and returns a URL in canonical form. 272 272 * Parameters: pszBase [in] Pointer to a string with the base URL. 273 273 * pszRelative [in] Pointer to a string with the relative URL. 274 * pszCombined [out] Pointer to a buffer to receive a 274 * pszCombined [out] Pointer to a buffer to receive a 275 275 * NULL-terminated string containing the combined URL. 276 * pcchCombined [in/out] Pointer to a value set to the number of 276 * pcchCombined [in/out] Pointer to a value set to the number of 277 277 * characters in the pszCombined buffer. When the 278 * function returns, the value depends on whether 278 * function returns, the value depends on whether 279 279 * the function is successful or returns E_POINTER. 280 * For other return values, the value of this 280 * For other return values, the value of this 281 281 * parameter is meaningless. 282 * dwFlags [in] Flags that specify how the URL will be converted 282 * dwFlags [in] Flags that specify how the URL will be converted 283 283 * to canonical form. The following flags can be combined. 284 284 * URL_DONT_SIMPLIFY 285 * Treat '/./' and '/../' in a URL string as literal 285 * Treat '/./' and '/../' in a URL string as literal 286 286 * characters, not as shorthand for 287 287 * navigation. See Remarks for further discussion. … … 289 289 * Convert any occurrence of '%' to its escape sequence. 290 290 * URL_ESCAPE_SPACES_ONLY 291 * Replace only spaces with escape sequences. This flag 291 * Replace only spaces with escape sequences. This flag 292 292 * takes precedence over 293 293 * URL_ESCAPE_UNSAFE, but does not apply to opaque URLs. 294 294 * URL_ESCAPE_UNSAFE 295 * Replace unsafe values with their escape sequences. 295 * Replace unsafe values with their escape sequences. 296 296 * This flag applies to all URLs, 297 297 * including opaque URLs. 298 298 * URL_PLUGGABLE_PROTOCOL 299 * Combine URLs with client-defined pluggable protocols, 300 * according to the W3C specification. This flag does not 301 * apply to standard protocols such as ftp, http, 302 * gopher, and so on. If this flag is set, 303 * UrlCombine will not simplify URLs, so there is 299 * Combine URLs with client-defined pluggable protocols, 300 * according to the W3C specification. This flag does not 301 * apply to standard protocols such as ftp, http, 302 * gopher, and so on. If this flag is set, 303 * UrlCombine will not simplify URLs, so there is 304 304 * no need to also set URL_DONT_SIMPLIFY. 305 305 * URL_UNESCAPE 306 * Unescape any escape sequences that the URLs contain, 307 * with two exceptions. The escape sequences 308 * for '?' and '#' will not be unescaped. 309 * If one of the URL_ESCAPE_XXX flags is also 310 * set, the two URLs will unescaped, then 306 * Unescape any escape sequences that the URLs contain, 307 * with two exceptions. The escape sequences 308 * for '?' and '#' will not be unescaped. 309 * If one of the URL_ESCAPE_XXX flags is also 310 * set, the two URLs will unescaped, then 311 311 * combined, then escaped. 312 312 * Variables : 313 * Result : S_OK pszCombined points to a string containing the 313 * Result : S_OK pszCombined points to a string containing the 314 314 * combined URLs. The value of pcchCombined is set to 315 * the number of characters in the string, not counting 315 * the number of characters in the string, not counting 316 316 * the terminating NULL character. 317 * E_POINTER The buffer was too small. The value of pcchCombined 318 * is set to the minimum number of characters that the 319 * buffer must be able to contain, including the 317 * E_POINTER The buffer was too small. The value of pcchCombined 318 * is set to the minimum number of characters that the 319 * buffer must be able to contain, including the 320 320 * terminating NULL character. 321 321 * Other errors A standard OLE error value is returned. … … 334 334 { 335 335 dprintf(("not implemented.")); 336 336 337 337 return S_OK; 338 338 } … … 347 347 { 348 348 dprintf(("not implemented.")); 349 349 350 350 return S_OK; 351 351 } … … 357 357 * Parameters: pszURL1 [in] NULL-terminated string with the first URL. 358 358 * pszURL2 [in] NULL-terminated string with the second URL. 359 * fIgnoreSlash [in] Value that is set to TRUE to have UrlCompare 359 * fIgnoreSlash [in] Value that is set to TRUE to have UrlCompare 360 360 * ignore a trailing '/' character on either or 361 361 * both URLs. 362 362 * Variables : 363 * Result : Returns zero if the two strings are equal, apart from a 363 * Result : Returns zero if the two strings are equal, apart from a 364 364 * trailing '\' character if fIgnoreSlash is set to TRUE. 365 * Returns a negative integer if the string pointed to by pszURL1 366 * is less than the string pointed to by pszURL2. Otherwise, it 365 * Returns a negative integer if the string pointed to by pszURL1 366 * is less than the string pointed to by pszURL2. Otherwise, it 367 367 * returns a positive integer. 368 368 * Remark : SHLWAPI. 369 * For the best results, you should first canonicalize the URLs 370 * with UrlCanonicalize. Then, compare the canonicalized URLs with 369 * For the best results, you should first canonicalize the URLs 370 * with UrlCanonicalize. Then, compare the canonicalized URLs with 371 371 * UrlCompare. 372 372 * Status : UNTESTED … … 381 381 { 382 382 dprintf(("not correctly implemented.")); 383 383 384 384 return strcmp(pszURL1, 385 385 pszURL2); … … 392 392 { 393 393 dprintf(("not correctly implemented.")); 394 394 395 395 return wcscmp((const wchar_t *)pszURL1, 396 396 (const wchar_t *)pszURL2); … … 400 400 /***************************************************************************** 401 401 * Name : UrlCreateFromPath 402 * Purpose : Takes a DOS path and converts it to a canonicalized URL. 402 * Purpose : Takes a DOS path and converts it to a canonicalized URL. 403 403 * Parameters: pszPath Pointer to the string with the DOS path. 404 404 * pszUrl Value used to return the URL. … … 406 406 * dwReserved Reserved. Set this parameter to NULL. 407 407 * Variables : 408 * Result : Returns S_FALSE if pszPath is already in URL format. In this 409 * case, pszPath will simply be copied to pszUrl. Otherwise, it 408 * Result : Returns S_FALSE if pszPath is already in URL format. In this 409 * case, pszPath will simply be copied to pszUrl. Otherwise, it 410 410 * returns S_OK if successful or a standard OLE error value if not. 411 411 * Remark : SHLWAPI. … … 422 422 { 423 423 dprintf(("not implemented.")); 424 424 425 425 return S_FALSE; 426 426 } … … 434 434 { 435 435 dprintf(("not implemented.")); 436 436 437 437 return S_FALSE; 438 438 } … … 441 441 /***************************************************************************** 442 442 * Name : UrlEscape 443 * Purpose : Converts unsafe characters, such as spaces, into their 443 * Purpose : Converts unsafe characters, such as spaces, into their 444 444 * corresponding escape sequences. 445 445 * Parameters: pszURL [in] Pointer to a NULL-terminated string with the URL. 446 * pszEscaped [out] Pointer to a NULL-terminated string containing 446 * pszEscaped [out] Pointer to a NULL-terminated string containing 447 447 * the string pointed to by pszURL, with unsafe 448 448 * characters converted to their escape sequences. 449 * pcchEscaped [in/out] Number of characters in the buffer pointed 450 * to by pszEscaped. On entry, the value pcchEscaped 451 * points to is set to the size of the buffer. 452 * When the function returns, the value pcchEscaped 453 * points to is set to the number of characters 454 * written to that buffer, not counting the terminating 455 * NULL character. If an E_POINTER error code is 456 * returned, the buffer was too small, and the 457 * value pcchEscaped points to is set to the 449 * pcchEscaped [in/out] Number of characters in the buffer pointed 450 * to by pszEscaped. On entry, the value pcchEscaped 451 * points to is set to the size of the buffer. 452 * When the function returns, the value pcchEscaped 453 * points to is set to the number of characters 454 * written to that buffer, not counting the terminating 455 * NULL character. If an E_POINTER error code is 456 * returned, the buffer was too small, and the 457 * value pcchEscaped points to is set to the 458 458 * required number of characters in the buffer. If 459 * any other errors are returned, the value that 459 * any other errors are returned, the value that 460 460 * pcchEscaped points to is undefined. 461 * dwFlags [in] Flags that control which characters are escaped. 461 * dwFlags [in] Flags that control which characters are escaped. 462 462 * It can be a combination of the following flags. 463 463 * Flag Description … … 480 480 * ? character. 481 481 * Variables : 482 * Result : Returns an OLE success code if successful. The value pointed to 483 * by pcchEscaped will be set to the number of characters written 484 * to the output buffer, excluding the terminating NULL. If the 485 * buffer was too small, E_POINTER is returned, and the value 486 * pointed to by pcchEscaped will be set to the required buffer 482 * Result : Returns an OLE success code if successful. The value pointed to 483 * by pcchEscaped will be set to the number of characters written 484 * to the output buffer, excluding the terminating NULL. If the 485 * buffer was too small, E_POINTER is returned, and the value 486 * pointed to by pcchEscaped will be set to the required buffer 487 487 * size. Otherwise, an OLE error value is returned. 488 488 * Remark : SHLWAPI. 489 * Unsafe characters are those characters that may be altered 490 * during transport across the internet. This functions converts 489 * Unsafe characters are those characters that may be altered 490 * during transport across the internet. This functions converts 491 491 * unsafe characters into their equivalent "%xy" escape sequences. 492 492 * Status : UNTESTED … … 502 502 { 503 503 dprintf(("not implemented.")); 504 504 505 505 return S_FALSE; 506 506 } … … 514 514 { 515 515 dprintf(("not implemented.")); 516 516 517 517 return S_FALSE; 518 518 } … … 522 522 * Name : UrlGetLocation 523 523 * Purpose : Retrieves the location from a URL. 524 * Parameters: pszURL [in] Pointer to a NULL-terminated string that contains 524 * Parameters: pszURL [in] Pointer to a NULL-terminated string that contains 525 525 * the location. 526 526 * Variables : 527 * Result : Returns a pointer to a NULL-terminated string with the 527 * Result : Returns a pointer to a NULL-terminated string with the 528 528 * location, or NULL otherwise. 529 529 * Remark : SHLWAPI. 530 * The location is the segment of the URL starting with a ? or # 531 * character. If a file URL has a query string, the returned 530 * The location is the segment of the URL starting with a ? or # 531 * character. If a file URL has a query string, the returned 532 532 * string includes the query string. 533 533 * Status : UNTESTED … … 540 540 { 541 541 dprintf(("not implemented.")); 542 542 543 543 return pszURL; 544 544 } … … 549 549 { 550 550 dprintf(("not implemented.")); 551 551 552 552 return pszURL; 553 553 } … … 558 558 * Purpose : Takes a URL string and returns a specified part. 559 559 * Parameters: pszIn [in] NULL-terminated string that contains the URL. 560 * pszOut [out] A buffer that will receive a NULL-terminated 560 * pszOut [out] A buffer that will receive a NULL-terminated 561 561 * string with the specified part. 562 * pcchOut [in/out] Address of a value set to the number of 562 * pcchOut [in/out] Address of a value set to the number of 563 563 * characters in the pszOut buffer. When the 564 * function returns, the value depends on whether 564 * function returns, the value depends on whether 565 565 * the function is successful or returns E_POINTER. 566 * For other return values, the value of this 566 * For other return values, the value of this 567 567 * parameter is meaningless. 568 568 * dwPart [in] Flags that specify which part of the URL to retrieve. … … 576 576 * URL_PART_USERNAME The username. 577 577 * 578 * dwFlags [in] Flag that can be set to keep the URL scheme, 578 * dwFlags [in] Flag that can be set to keep the URL scheme, 579 579 * in addition to the part that is specified by dwPart. 580 580 * Flag Description 581 581 * URL_PARTFLAG_KEEPSCHEME Keep the URL scheme. 582 582 * Variables : 583 * Result : 584 * Remark : SHLWAPI. 585 * Returns an OLE success code if successful. The value pointed to 586 * by pcchOut will be set to the number of characters written to 587 * the output buffer, excluding the terminating NULL. If the buffer 588 * was too small, E_POINTER is returned, and the value pointed to 589 * by pcchOut will be set to the minimum number of characters that 590 * the buffer must be able to contain, including the terminating 583 * Result : 584 * Remark : SHLWAPI. 585 * Returns an OLE success code if successful. The value pointed to 586 * by pcchOut will be set to the number of characters written to 587 * the output buffer, excluding the terminating NULL. If the buffer 588 * was too small, E_POINTER is returned, and the value pointed to 589 * by pcchOut will be set to the minimum number of characters that 590 * the buffer must be able to contain, including the terminating 591 591 * NULL character. Otherwise, an OLE error value is returned. 592 592 * Status : UNTESTED … … 603 603 { 604 604 dprintf(("not implemented.")); 605 605 606 606 return S_OK; 607 607 } … … 616 616 { 617 617 dprintf(("not implemented.")); 618 618 619 619 return S_OK; 620 620 } … … 626 626 * Parameters: pszURL [in] Pointer to a NULL-terminated string with the URL. 627 627 * pbHash [out] Buffer to receive the hashed array. 628 * cbHash [in] Number of elements in pbHash. It should be no larger 628 * cbHash [in] Number of elements in pbHash. It should be no larger 629 629 * than 256. 630 630 * Variables : 631 631 * Result : Returns S_OK if successful, or a standard OLE error value otherwise. 632 632 * Remark : SHLWAPI. 633 * For example, to hash a URL into a single byte, set 634 * cbHash = sizeof(BYTE) and 635 * pbHash = (LPBYTE)&bHashedValue, where bHashedValue is a 636 * one-byte buffer. To hash a URL into a DWORD, set 637 * cbHash = sizeof(DWORD) and 633 * For example, to hash a URL into a single byte, set 634 * cbHash = sizeof(BYTE) and 635 * pbHash = (LPBYTE)&bHashedValue, where bHashedValue is a 636 * one-byte buffer. To hash a URL into a DWORD, set 637 * cbHash = sizeof(DWORD) and 638 638 * pbHash = (LPBYTE)&dwHashedValue, where dwHashedValue is a 639 639 * DWORD buffer. … … 649 649 { 650 650 dprintf(("not implemented.")); 651 651 652 652 return S_OK; 653 653 } … … 660 660 { 661 661 dprintf(("not implemented.")); 662 662 663 663 return S_OK; 664 664 } … … 667 667 /***************************************************************************** 668 668 * Name : UrlIs 669 * Purpose : Tests whether or not a URL is a specified type. 669 * Purpose : Tests whether or not a URL is a specified type. 670 670 * Parameters: pszUrl [in] Pointer to a string containing the URL. 671 * UrlIs [in] Type of URL to be tested for. 671 * UrlIs [in] Type of URL to be tested for. 672 672 * UrlIs can take one of the following values: 673 673 * URLIS_APPLIABLE Attempt to determine a valid scheme for the URL. … … 679 679 * URLIS_URL Is the URL valid? 680 680 * Variables : 681 * Result : For all but one of the URL types, UrlIs returns TRUE if the URL 682 * is the specified type, or FALSE if not. If UrlIs is set to 683 * URLIS_APPLIABLE, UrlIs will attempt to determine the URL scheme. 684 * If the function is able to determine a scheme, it returns TRUE, 681 * Result : For all but one of the URL types, UrlIs returns TRUE if the URL 682 * is the specified type, or FALSE if not. If UrlIs is set to 683 * URLIS_APPLIABLE, UrlIs will attempt to determine the URL scheme. 684 * If the function is able to determine a scheme, it returns TRUE, 685 685 * or FALSE otherwise. 686 686 * Remark : SHLWAPI. … … 695 695 { 696 696 dprintf(("not implemented.")); 697 697 698 698 return TRUE; 699 699 } … … 705 705 { 706 706 dprintf(("not implemented.")); 707 707 708 708 return TRUE; 709 709 } … … 716 716 * Result : Returns a non-zero value if the URL is a No History URL, or zero otherwise. 717 717 * Remark : SHLWAPI. 718 * A No History URL is a URL that browsers typically do not 718 * A No History URL is a URL that browsers typically do not 719 719 * include in their navigation history. 720 720 * Status : UNTESTED … … 742 742 * Parameters: pszURL [in] NULL-terminated string with the URL. 743 743 * Variables : 744 * Result : Returns a non-zero value if the URL is opaque, or zero 744 * Result : Returns a non-zero value if the URL is opaque, or zero 745 745 * otherwise. 746 746 * Remark : SHLWAPI. 747 * A URL that has a scheme that is not followed by two slashes (//) 748 * is opaque. For example, mailto:xyz@somecompany.com is an opaque 747 * A URL that has a scheme that is not followed by two slashes (//) 748 * is opaque. For example, mailto:xyz@somecompany.com is an opaque 749 749 * URL. Opaque URLs cannot be separated into the standard 750 750 * URL heirarchy. … … 775 775 * the converted string is returned through this 776 776 * parameter. 777 * pszUnEscaped [out] Pointer to a buffer that will receive a 778 * NULL-terminated string containing the 779 * unescaped version of pszURL. If 780 * URL_UNESCAPE_INPLACE is set in dwFlags, this 777 * pszUnEscaped [out] Pointer to a buffer that will receive a 778 * NULL-terminated string containing the 779 * unescaped version of pszURL. If 780 * URL_UNESCAPE_INPLACE is set in dwFlags, this 781 781 * parameter is ignored. 782 * pcchUnEscaped [in/out] Number of characters in the buffer 783 * pointed to by pcchUnEscaped. On entry, the 784 * value pcchUnEscaped points to is set to the 785 * size of the buffer. If the function returns 786 * a success code, the value that pcchUnEscaped 787 * points to is set to the number of characters 788 * written to that buffer, not counting the 789 * terminating NULL character. If an E_POINTER 790 * error code is returned, the buffer was too 791 * small, and the value pcchUnEscaped points to 792 * is set to the required number of characters 793 * that the buffer must be able to contain. If 794 * any other errors are returned, the value 782 * pcchUnEscaped [in/out] Number of characters in the buffer 783 * pointed to by pcchUnEscaped. On entry, the 784 * value pcchUnEscaped points to is set to the 785 * size of the buffer. If the function returns 786 * a success code, the value that pcchUnEscaped 787 * points to is set to the number of characters 788 * written to that buffer, not counting the 789 * terminating NULL character. If an E_POINTER 790 * error code is returned, the buffer was too 791 * small, and the value pcchUnEscaped points to 792 * is set to the required number of characters 793 * that the buffer must be able to contain. If 794 * any other errors are returned, the value 795 795 * that pcchUnEscaped points to is undefined. 796 * dwFlags [in] Flags that control which characters are 797 * unescaped. It can be a combination of the 796 * dwFlags [in] Flags that control which characters are 797 * unescaped. It can be a combination of the 798 798 * following flags. 799 799 * Flag Description … … 805 805 * string instead of pszUnEscaped. 806 806 * Variables : 807 * Result : Returns an OLE success code if successful. If the 808 * URL_UNESCAPE_INPLACE flag is not set, the value pointed to by 809 * pcchUnEscaped will be set to the number of characters in the 810 * output buffer pointed to by pszUnEscaped. Returns E_POINTER if 807 * Result : Returns an OLE success code if successful. If the 808 * URL_UNESCAPE_INPLACE flag is not set, the value pointed to by 809 * pcchUnEscaped will be set to the number of characters in the 810 * output buffer pointed to by pszUnEscaped. Returns E_POINTER if 811 811 * the URL_UNESCAPE_INPLACE flag is not set and the output buffer 812 * is too small. The pcchUnEscaped parameter will be set to the 812 * is too small. The pcchUnEscaped parameter will be set to the 813 813 * required buffer size. Otherwise, returns an OLE error value. 814 814 * Remark : SHLWAPI.UrlUnEscape … … 826 826 { 827 827 dprintf(("not implemented.")); 828 828 829 829 return S_OK; 830 830 } … … 838 838 { 839 839 dprintf(("not implemented.")); 840 841 return S_OK; 842 } 840 841 return S_OK; 842 }
Note:
See TracChangeset
for help on using the changeset viewer.