473,508 Members | 2,346 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

Using Winerror.h in C#

Hi,

I would like to use one of the error codes defined in WinError.h.
There is no iclude anymore.
I have put in "using System.Runtime.InteropServices" and the compiler
still doesn't recognize the error code.
There must be some way, other than defining it by myself...

Anybody ?
Oct 17 '05 #1
3 8046
On Mon, 17 Oct 2005 02:59:53 +0000, "Lady_A" <al*****@wavesys.com>
wrote:
Hi,

I would like to use one of the error codes defined in WinError.h.
There is no iclude anymore.
I have put in "using System.Runtime.InteropServices" and the compiler
still doesn't recognize the error code.
There must be some way, other than defining it by myself...

Anybody ?


Greetings & Salutations,

Sorry but you will have to define it yourself.

From my understanding, C# (and other .NET languages) are not meant to
refer to the Windows API in any 'normal' way.

This isn't too hard though (but still time consuming if you want to do
all the errors). Just write a sealed class with the error code
constants in it. Then you can refer to it in code as
WinError.ERR_CODE.

public sealed class WinError {
public const int ERR_CODE = <errnum>;
}

Although if you use the SUCCESS/FAILED macros, you will have to write
these into code. Maybe as static methods of the sealed class?

If you're lucky, someone has already done this work and posted it
somewhere on the net.

Gary K
Oct 17 '05 #2
Download http://www.paulyao.com/pinvoke and save yourself a ton of effort.

Jason Newell
Gary K wrote:
On Mon, 17 Oct 2005 02:59:53 +0000, "Lady_A" <al*****@wavesys.com>
wrote:

Hi,

I would like to use one of the error codes defined in WinError.h.
There is no iclude anymore.
I have put in "using System.Runtime.InteropServices" and the compiler
still doesn't recognize the error code.
There must be some way, other than defining it by myself...

Anybody ?

Greetings & Salutations,

Sorry but you will have to define it yourself.

From my understanding, C# (and other .NET languages) are not meant to
refer to the Windows API in any 'normal' way.

This isn't too hard though (but still time consuming if you want to do
all the errors). Just write a sealed class with the error code
constants in it. Then you can refer to it in code as
WinError.ERR_CODE.

public sealed class WinError {
public const int ERR_CODE = <errnum>;
}

Although if you use the SUCCESS/FAILED macros, you will have to write
these into code. Maybe as static methods of the sealed class?

If you're lucky, someone has already done this work and posted it
somewhere on the net.

Gary K

Oct 17 '05 #3
Lady_A wrote:
Hi,

I would like to use one of the error codes defined in WinError.h.
There is no iclude anymore.
I have put in "using System.Runtime.InteropServices" and the compiler
still doesn't recognize the error code.
There must be some way, other than defining it by myself...


C# does not use C++ header files. The values in winerror.h are
*constants* so platform invoke is not relevant (platform invoke is used
to call *functions*). As Gary K says, you'll just have to copy the
constants into your own C# code.

Richard
--
http://www.grimes.demon.co.uk/workshops/fusionWS.htm
http://www.grimes.demon.co.uk/workshops/securityWS.htm
Oct 17 '05 #4

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

5
9084
by: Giles Brown | last post by:
I'm feeling quite dumb this morning. I'm trying to build a COM server DLL using py2exe and it ain't working. Here's what ain't working... setup_dll.py based on py2exe sample: """from...
2
5877
by: rawCoder | last post by:
Hi All, I have a *.cer file, a public key of some one and I want to encrypt some thing using this public key. Can someone point me to a sample code for Encrypting some file using...
1
567
by: Mike | last post by:
When trying to compile (using Visual Web Developer 2005 Express Beta; frameworkv2.0.50215 ) the source code below I get errors (listed below due to the use of ICallBackEventHandler. Ultimately I...
10
2632
by: Christopher Benson-Manica | last post by:
Why can't I use a class destructor in a using declaration: using MyClass::~MyClass; ? -- Christopher Benson-Manica | I *should* know what I'm talking about - if I ataru(at)cyberspace.org ...
17
3481
by: beliavsky | last post by:
Many of my C++ programs have the line using namespace std; but the "Accelerated C++" book of Koenig and Moo has many examples where the library names are included one at a time, for example ...
8
4894
by: Petter Reinholdtsen | last post by:
I ran into a problem on HP-UX 11.00 the other day, where it refused to compile a program using 'using namespace std;' at the top. The reason seem to be that the compiler refuses to accept 'using...
8
4568
by: Joakim Persson | last post by:
Hello all. I am involved in a project where we have a desire to improve our software testing tools, and I'm in charge of looking for solutions regarding the logging of our software (originating...
3
348
by: Lady_A | last post by:
Hi, I would like to use one of the error codes defined in WinError.h. There is no iclude anymore. I have put in "using System.Runtime.InteropServices" and the compiler still doesn't recognize...
3
8210
by: JDeats | last post by:
I have some .NET 1.1 code that utilizes this technique for encrypting and decrypting a file. http://support.microsoft.com/kb/307010 In .NET 2.0 this approach is not fully supported (a .NET 2.0...
0
7225
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
7324
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
7382
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
1
7042
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...
0
7495
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...
0
3193
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The...
0
3181
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
1
766
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.
0
418
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.