Please do not reply to this email- if you want to comment on the bug, go to the
URL shown below and enter your comments there.

Changed by [EMAIL PROTECTED]

http://bugzilla.ximian.com/show_bug.cgi?id=81370

--- shadow/81370        2007-04-13 08:21:10.000000000 -0400
+++ shadow/81370.tmp.28139      2007-04-13 08:21:10.000000000 -0400
@@ -0,0 +1,74 @@
+Bug#: 81370
+Product: Mono: Runtime
+Version: 1.0
+OS: 
+OS Details: 
+Status: NEW   
+Resolution: 
+Severity: 
+Priority: Normal
+Component: interop
+AssignedTo: [EMAIL PROTECTED]                            
+ReportedBy: [EMAIL PROTECTED]               
+QAContact: [EMAIL PROTECTED]
+TargetMilestone: ---
+URL: 
+Cc: 
+Summary: some LP(C)WSTR marshal weirdness on win32
+
+During cardspace work I'm getting a weird error which seems to be caused by
+marshalling behavioral difference.
+
+Unfortunately this test depends on .NET 3.0 (infocardapi.dll) and thus it
+is reproducible only on windows...
+
+I have a structure that looks like:
+
+       [StructLayout (LayoutKind.Sequential, CharSet = CharSet.Unicode)]
+       struct NativePolicyElement
+       {
+               string target;
+               string issuer;
+               string parameters;
+               string privacy_link;
+               int privacy_ver;
+               bool is_managed;
+       }
+
+and a P/Invoke method:
+
+       [DllImport ("infocardapi", CharSet = CharSet.Unicode)]
+       static extern int GetToken (int cPolicyChain,
+               NativePolicyElement [] pPolicyChain,
+               out NativeGenericXmlToken securityToken,
+               out NativeInfocardCryptoHandle phProofTokenCrypto);
+
+When I compiled the attached repro with gmcs, and run under .NET, it raises
+Infocard selector without errors. When I run the same binary with mono
+(win32 runtime), it raises an error saying:
+
+       "Incoming policy failed validation."
+
+It files an application error on win32 EventLog:
+
+<blockquote>
+Incoming policy failed validation.  Received policy with invalid epr.
+
+Inner Exception: The data at the root level is invalid. Line 1, position 1.
+
+
+Additional Information:
+Microsoft.InfoCards.PolicyValidationException: Received policy with invalid
+epr. ---> System.Xml.XmlException: The data at the root level is invalid.
+Line 1, position 1.
+...
+</blockquote>
+
+(note that there is no invalid XML; .NET runs it just fine).
+
+The error message above refers to "invalid epr", which corresponds to the
+"target" field in NativePolicyElement.
+
+Other parameters such as those "out" ones are ignorable (they will cause an
+error only after you selected a card) and they can be removed to reproduce
+the issue above.
_______________________________________________
mono-bugs maillist  -  [EMAIL PROTECTED]
http://lists.ximian.com/mailman/listinfo/mono-bugs

Reply via email to