Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

183 lines
4.0 KiB

  1. //////////////////////////////////////////////////////////////////////////////
  2. //
  3. // Copyright (c) 2000-2001 Microsoft Corporation
  4. //
  5. // Module Name:
  6. // LoadString.h
  7. //
  8. // Description:
  9. // LoadStringIntoBSTR implementation.
  10. //
  11. // Maintained By:
  12. // David Potter (DavidP) 01-FEB-2001
  13. // Galen Barbee (GalenB) 22-MAY-2000
  14. //
  15. //////////////////////////////////////////////////////////////////////////////
  16. #pragma once
  17. //////////////////////////////////////////////////////////////////////////////
  18. // Load string routines
  19. //////////////////////////////////////////////////////////////////////////////
  20. HRESULT
  21. HrLoadStringIntoBSTR(
  22. HINSTANCE hInstanceIn
  23. , LANGID langidIn
  24. , UINT idsIn
  25. , BSTR * pbstrInout
  26. );
  27. inline
  28. HRESULT
  29. HrLoadStringIntoBSTR(
  30. HINSTANCE hInstanceIn
  31. , UINT idsIn
  32. , BSTR * pbstrInout
  33. )
  34. {
  35. return HrLoadStringIntoBSTR(
  36. hInstanceIn
  37. , MAKELANGID( LANG_NEUTRAL, SUBLANG_NEUTRAL )
  38. , idsIn
  39. , pbstrInout
  40. );
  41. } //*** HrLoadStringIntoBSTR()
  42. //////////////////////////////////////////////////////////////////////////////
  43. // Format string ID routines
  44. //////////////////////////////////////////////////////////////////////////////
  45. HRESULT
  46. HrFormatStringIntoBSTR(
  47. HINSTANCE hInstanceIn
  48. , LANGID langidIn
  49. , UINT idsIn
  50. , BSTR * pbstrInout
  51. , ...
  52. );
  53. HRESULT
  54. HrFormatStringWithVAListIntoBSTR(
  55. HINSTANCE hInstanceIn
  56. , LANGID langidIn
  57. , UINT idsIn
  58. , BSTR * pbstrInout
  59. , va_list valistIn
  60. );
  61. inline
  62. HRESULT
  63. HrFormatStringIntoBSTR(
  64. HINSTANCE hInstanceIn
  65. , UINT idsIn
  66. , BSTR * pbstrInout
  67. , ...
  68. )
  69. {
  70. HRESULT hr;
  71. va_list valist;
  72. va_start( valist, pbstrInout );
  73. hr = HrFormatStringWithVAListIntoBSTR(
  74. hInstanceIn
  75. , MAKELANGID( LANG_NEUTRAL, SUBLANG_NEUTRAL )
  76. , idsIn
  77. , pbstrInout
  78. , valist
  79. );
  80. va_end( valist );
  81. return hr;
  82. } //*** HrFormatStringIntoBSTR( idsIn )
  83. inline
  84. HRESULT
  85. HrFormatStringWithVAListIntoBSTR(
  86. HINSTANCE hInstanceIn
  87. , UINT idsIn
  88. , BSTR * pbstrInout
  89. , va_list valistIn
  90. )
  91. {
  92. return HrFormatStringWithVAListIntoBSTR(
  93. hInstanceIn
  94. , MAKELANGID( LANG_NEUTRAL, SUBLANG_NEUTRAL )
  95. , idsIn
  96. , pbstrInout
  97. , valistIn
  98. );
  99. } //*** HrFormatStringWithVAListIntoBSTR( idsIn )
  100. //////////////////////////////////////////////////////////////////////////////
  101. // Format string routines
  102. //////////////////////////////////////////////////////////////////////////////
  103. HRESULT
  104. HrFormatStringIntoBSTR(
  105. LPCWSTR pcwszFmtIn
  106. , BSTR * pbstrInout
  107. , ...
  108. );
  109. HRESULT
  110. HrFormatStringWithVAListIntoBSTR(
  111. LPCWSTR pcwszFmtIn
  112. , BSTR * pbstrInout
  113. , va_list valistIn
  114. );
  115. // This is obsolete. Use HrFormatStringIntoBSTR intead.
  116. HRESULT
  117. HrFormatMessageIntoBSTR(
  118. HINSTANCE hInstanceIn
  119. , UINT uIDIn
  120. , BSTR * pbstrInout
  121. , ...
  122. );
  123. //////////////////////////////////////////////////////////////////////////////
  124. // Format error routines
  125. //////////////////////////////////////////////////////////////////////////////
  126. HRESULT
  127. HrFormatErrorIntoBSTR(
  128. HRESULT hrIn
  129. , BSTR * pbstrInout
  130. , ...
  131. );
  132. HRESULT
  133. HrFormatErrorWithVAListIntoBSTR(
  134. HRESULT hrIn
  135. , BSTR * pbstrInout
  136. , va_list valistIn
  137. );
  138. //////////////////////////////////////////////////////////////////////////////
  139. // String conversion routines
  140. //////////////////////////////////////////////////////////////////////////////
  141. HRESULT
  142. HrAnsiStringToBSTR(
  143. LPCSTR pcszAnsiIn
  144. , BSTR * pbstrOut
  145. );
  146. HRESULT
  147. HrConcatenateBSTRs(
  148. BSTR * pbstrDstInout
  149. , BSTR bstrSrcIn
  150. );
  151. HRESULT
  152. HrFormatGuidIntoBSTR(
  153. GUID * pguidIn
  154. , BSTR * pbstrInout
  155. );