|
225 | 225 | } |
226 | 226 | } |
227 | 227 | // Handle Input String |
228 | | -} else if (param.IsString) { |
229 | | -if (param.IsWideChar) {#> |
230 | | - IntPtr <#= param.TempName #> = Utilities.StringToHGlobalUni(<#= param.Name #>); |
231 | | -<#+} else {#> |
| 228 | +} else if (param.IsString && !param.IsWideChar) {#> |
232 | 229 | IntPtr <#= param.TempName #> = Utilities.StringToHGlobalAnsi(<#= param.Name #>); |
233 | | -<#+} |
234 | | -} else if ( param.IsRefIn && param.IsValueType && param.IsOptionnal) {#> |
| 230 | +<#+} else if ( param.IsRefIn && param.IsValueType && param.IsOptionnal) {#> |
235 | 231 | <#= param.PublicType.QualifiedName #> <#= param.TempName #>; |
236 | 232 | if (<#= param.Name #>.HasValue) |
237 | 233 | <#= param.TempName #> = <#= param.Name #>.Value; |
|
272 | 268 | } else if (param.IsFixed && param.IsValueType && !param.HasNativeValueType && !param.IsUsedAsReturnType) {#> |
273 | 269 | fixed (void* <#= param.TempName #> = &<#= param.Name #>) |
274 | 270 | <#+PushIndent(" "); |
275 | | -} |
| 271 | +// Handle Input String |
| 272 | +} else if (param.IsString && param.IsWideChar) {#> |
| 273 | + fixed (char* <#= param.TempName #> = <#= param.Name #>) |
| 274 | +<#+PushIndent(" "); |
| 275 | +} |
276 | 276 | } |
277 | 277 |
|
278 | 278 |
|
|
335 | 335 | <#= param.Name #> = <#= param.TempName #> != 0; |
336 | 336 | <#+} |
337 | 337 | // Handle Input String |
338 | | -} else if (param.IsString) {#> |
| 338 | +} else if (param.IsString && !param.IsWideChar) {#> |
339 | 339 | Marshal.FreeHGlobal(<#= param.TempName #> ); |
340 | 340 | <#+ |
341 | 341 | } else if (param.HasNativeValueType) { |
|