|
 |
 |
 |
 |
Microsoft Knowledge Base Article
This article contents is Microsoft Copyrighted material.
©2005-©2007 Microsoft Corporation. All rights reserved. Terms
of Use |
Trademarks
Article ID: 917868 - Last Review: October 9, 2011 - Revision: 2.0 FIX: An exception is not raised to the managed caller when you implement a custom marshaler in a .NET Framework 2.0 applicationWhen you implement a custom marshaler in a Microsoft .NET
Framework 2.0 application, an exception is not raised to the managed caller.
The exception should be thrown at the ICustomMarshaler.CleanUpNativeData method to indicate an error in native code. A supported hotfix
is now available from Microsoft, but it is only intended to correct the problem
that is described in this article. Only apply it to systems that are
experiencing this specific problem. This hotfix may receive additional testing.
Therefore, if you are not severely affected by this problem, we recommend that
you wait for the next Microsoft .NET Framework 2.0 service pack that contains
this hotfix. To resolve this problem immediately, contact Microsoft
Product Support Services to obtain the hotfix. For a complete list of Microsoft
Product Support Services telephone numbers and information about support costs,
visit the following Microsoft Web site: Note In special cases, charges that are ordinarily incurred for
support calls may be canceled if a Microsoft Support Professional determines
that a specific update will resolve your problem. The usual support costs will
apply to additional support questions and issues that do not qualify for the
specific update in question. The English
version of this hotfix has the file attributes (or later file attributes) that
are listed in the following table. The dates and times for these files are
listed in Coordinated Universal Time (UTC). When you view the file information,
it is converted to local time. To find the difference between UTC and local
time, use the Time Zone tab in the Date and Time item in
Control Panel. Microsoft .NET Framework 2.0, 32-bit systemsCollapse this tableExpand this table | File name | File version | File
size | Date | Time | Platform |
|---|
| Mscordacwks.dll | 2.0.50727.166 | 801,280 | 13-Jun-2006 | 13:03 | x86 | | Mscorlib.dll | 2.0.50727.166 | 4,317,184 | 13-Jun-2006 | 13:03 | x86 | | Mscorwks.dll | 2.0.50727.166 | 5,623,808 | 13-Jun-2006 | 13:03 | x86 | | Normalization.dll | 2.0.50727.166 | 15,360 | 13-Jun-2006 | 13:03 | x86 | | Normidna.nlp | Not
Applicable | 59,342 | 13-Jun-2006 | 13:03 | Not
Applicable | | Normnfc.nlp | Not
Applicable | 45,794 | 13-Jun-2006 | 13:03 | Not
Applicable | | Normnfd.nlp | Not
Applicable | 39,284 | 13-Jun-2006 | 13:03 | Not
Applicable | | Normnfkc.nlp | Not
Applicable | 66,384 | 13-Jun-2006 | 13:03 | Not
Applicable | | Normnfkd.nlp | Not
Applicable | 60,294 | 13-Jun-2006 | 13:03 | Not
Applicable | | Sos.dll | 2.0.50727.166 | 377,344 | 13-Jun-2006 | 13:03 | x86 |
Microsoft .NET Framework 2.0, 64-bit systemsCollapse this tableExpand this table | File name | File version | File
size | Date | Time | Platform |
|---|
| Mscordacwks.dll | 2.0.50727.166 | 1,597,440 | 13-Jun-2006 | 04:09 | x64 | | Mscorlib.dll | 2.0.50727.166 | 3,956,736 | 13-Jun-2006 | 09:17 | x64 | | Mscorwks.dll | 2.0.50727.166 | 10,300,928 | 13-Jun-2006 | 04:06 | x64 | | Normalization.dll | 2.0.50727.166 | 18,432 | 13-Jun-2006 | 04:06 | x64 | | Normidna.nlp | Not
Applicable | 59,342 | 13-Jun-2006 | 04:09 | Not
Applicable | | Normnfc.nlp | Not
Applicable | 45,794 | 13-Jun-2006 | 04:09 | Not
Applicable | | Normnfd.nlp | Not
Applicable | 39,284 | 13-Jun-2006 | 04:09 | Not
Applicable | | Normnfkc.nlp | Not
Applicable | 66,384 | 13-Jun-2006 | 04:09 | Not
Applicable | | Normnfkd.nlp | Not
Applicable | 60,294 | 13-Jun-2006 | 04:09 | Not
Applicable | | Sos.dll | 2.0.50727.166 | 476,160 | 13-Jun-2006 | 04:16 | x64 |
Microsoft .NET Framework 2.0, itanium-based systemsCollapse this tableExpand this table | File name | File version | File
size | Date | Time | Platform |
|---|
| Mscordacwks.dll | 2.0.50727.166 | 2,710,528 | 13-Jun-2006 | 04:14 | IA-64 | | Mscorlib.dll | 2.0.50727.166 | 3,956,736 | 13-Jun-2006 | 10:01 | IA-64 | | Mscorwks.dll | 2.0.50727.166 | 21,258,752 | 13-Jun-2006 | 04:11 | IA-64 | | Normalization.dll | 2.0.50727.166 | 44,032 | 13-Jun-2006 | 04:11 | IA-64 | | Normidna.nlp | Not
Applicable | 59,342 | 13-Jun-2006 | 04:14 | Not
Applicable | | Normnfc.nlp | Not
Applicable | 45,794 | 13-Jun-2006 | 04:14 | Not
Applicable | | Normnfd.nlp | Not
Applicable | 39,284 | 13-Jun-2006 | 04:14 | Not
Applicable | | Normnfkc.nlp | Not
Applicable | 66,384 | 13-Jun-2006 | 04:14 | Not
Applicable | | Normnfkd.nlp | Not
Applicable | 60,294 | 13-Jun-2006 | 04:14 | Not
Applicable | | Sos.dll | 2.0.50727.166 | 857,088 | 13-Jun-2006 | 04:22 | IA-64 |
To work around this problem, set the in/out attribute to the parameter that you will perform custom
marshaling on. After you have set the in/out parameter, call the MarshalNativeToManaged method after the native method is called. Your custom marshaling
call must resemble the following: static extern void TestMethod(int outputKind, [In, Out, MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(CustomMarshaler))]object data); Note On a computer that is running a 64-bit version of Microsoft
Windows, you can work around this problem by using only this workaround.
However, on a computer that is running a 32-bit version of Windows, you must
apply the hotfix package before you use this workaround. Microsoft
has confirmed that this is a problem in the Microsoft products that are listed
in the "Applies to" section. For more information, click the
following article number to view the article in the Microsoft Knowledge Base: 824684Â
(http://kbalertz.com/Feedback.aspx?kbNumber=824684/
)
Description of the standard terminology that is used to describe Microsoft software updates
For more information, visit the following Microsoft
Developer Network (MSDN) Web sites:
APPLIES TO- Microsoft .NET Framework 2.0
| kbfix kbbug kbqfe KB917868 |
Community Feedback System
Very often, it takes hours to solve a problem. Very often, you've looked high
and low, and have tried a lot of solutions. When you finally found it, chances
are, it was because someone else helped you. Here's your chance to give back.
Use our community feedback tool to let others know what worked for you and what
didn't.
Please also understand that the community feedback system is not warranted to be
correct, it's simply a system that we've built to let people try and help each
other. If something in a feedback response doesn't make sense to you, or you're
not comfortable making changes that the feedback talks about (like registry
edits), please consult a professional.
Thank you for using kbAlertz.com Feedback System.
-- Scott Cate
|
 |
 |
 |
 |
 |
 |
 |
| |