<< Back To All Blogs
Retrieving Text from Win32 SDK's GetLastError() in C#
Thursday, May 21st, 2009
Using C# with the Win32 SDK is like taking something that is bad and making it horrible. That is not to say it isn't manageable and isn't very useful, but it is nonetheless frustrating at the lack of information when an error occurs.
I figured I would quickly post a snippet that you can use in C# to get an actual textual error back instead of just the Windows error code that is returned by GetLastError.
You can cast the error into a textual string by doing the following in C#:
string errorMsg = new System.ComponentModel.Win32Exception(Marshal.GetLastWin32Error()).Message;
This will then return an actual string of the error that is occurring.
Just a quick note as well: These error messages are not always useful. Often times they are not very descriptive, but at least you don't have to reference the error code number against a long list to find out what is going on.
You could also do the same thing with PInvoke by calling the FormatMessage function, but I am lazy and keep as much in C# as I can.
PInvokin' Tom Out.
Awesome .NET 4: Named and Optional Parameters for Classes and Methods
Querying Table Entities with Microsoft Azure (And ADO.NET Data Services Framework)
Writing console output from a Windows form in C#
Currently no comments.
Add A Comment
Email Address: (not public, used to send notifications on further comments)
Enter the text above, except for the 1st and last character: