![]() |
what is the following type
Hi,
I am looking at some source code and in one file there is the following definition : typedef enum _EXCEPTION_DISPOSITION { ExceptionContinueExecution, ExceptionContinueSearch, ExceptionNestedException, ExceptionCollidedUnwind, ExceptionExecuteHandler } EXCEPTION_DISPOSITION; typedef EXCEPTION_DISPOSITION EXCEPTION_ROUTINE ( struct _EXCEPTION_RECORD *ExceptionRecord, void *EstablisherFrame, struct _CONTEXT *ContextRecord, struct _DISPATCHER_CONTEXT *DispatcherContext ); typedef EXCEPTION_ROUTINE *PEXCEPTION_ROUTINE; EXCEPTION_ROUTINE __C_specific_handler; I am puzzled by the EXCEPTION_ROUTINE definition, it looks like a function pointer but without the *. Is it a function pointer ? |
Re: what is the following type
Mosfet a écrit :
> Hi, > > I am looking at some source code and in one file there is the following > definition : > > typedef enum _EXCEPTION_DISPOSITION { > ExceptionContinueExecution, > ExceptionContinueSearch, > ExceptionNestedException, > ExceptionCollidedUnwind, > ExceptionExecuteHandler > } EXCEPTION_DISPOSITION; > > typedef EXCEPTION_DISPOSITION EXCEPTION_ROUTINE ( > struct _EXCEPTION_RECORD *ExceptionRecord, > void *EstablisherFrame, > struct _CONTEXT *ContextRecord, > struct _DISPATCHER_CONTEXT *DispatcherContext > ); > typedef EXCEPTION_ROUTINE *PEXCEPTION_ROUTINE; > > EXCEPTION_ROUTINE __C_specific_handler; > > I am puzzled by the EXCEPTION_ROUTINE definition, it looks like a > function pointer but without the *. Is it a function pointer ? Hum actually I think it's a function type ... Someone to confirm ? |
Re: what is the following type
On Dec 1, 9:55 pm, Mosfet <mos...@anonymous.org> wrote:
> I am looking at some source code and in one file there is the following > definition : It looks more like C than C++. The naming conventions are also illegal, resulting in a lot of undefined behavior (both in C and in C++). However... > typedef enum _EXCEPTION_DISPOSITION { > ExceptionContinueExecution, > ExceptionContinueSearch, > ExceptionNestedException, > ExceptionCollidedUnwind, > ExceptionExecuteHandler > } EXCEPTION_DISPOSITION; > typedef EXCEPTION_DISPOSITION EXCEPTION_ROUTINE ( > struct _EXCEPTION_RECORD *ExceptionRecord, > void *EstablisherFrame, > struct _CONTEXT *ContextRecord, > struct _DISPATCHER_CONTEXT *DispatcherContext > ); > typedef EXCEPTION_ROUTINE *PEXCEPTION_ROUTINE; > EXCEPTION_ROUTINE __C_specific_handler; > I am puzzled by the EXCEPTION_ROUTINE definition, it looks > like a function pointer but without the *. Is it a function > pointer ? No. It's a function (type). You can use it to declare functions, but not to define them. Thus, __C_specific_handler is an (extern) function, or it would be if the name didn't trigger undefined behavior. -- James Kanze (GABI Software) email:james.kanze@gmail.com Conseils en informatique orientée objet/ Beratung in objektorientierter Datenverarbeitung 9 place Sémard, 78210 St.-Cyr-l'École, France, +33 (0)1 30 23 00 34 |
| All times are GMT. The time now is 01:58 PM. |
Powered by vBulletin®. Copyright ©2000 - 2013, vBulletin Solutions, Inc.
SEO by vBSEO ©2010, Crawlability, Inc.