BUG: TIMER_ALL_ACCESS Not Defined in Platform SDK Headers

ID: Q172495

The information in this article applies to:

SYMPTOMS

The CreateWaitableTimer reference page in the Platform SDK documentation mentions the TIMER_ALL_ACCESS access right for waitable timers. However, this constant is not defined in any of the header files in the Platform SDK.

CAUSE

The following definitions should be located in WINBASE.H, but are currently missing.

   #define TIMER_QUERY_STATE       0x0001
   #define TIMER_MODIFY_STATE      0x0002

   #define TIMER_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED|SYNCHRONIZE| \ 
                TIMER_QUERY_STATE|TIMER_MODIFY_STATE)

RESOLUTION

To incorporate the definitions in your code, use the preprocessor as follows to define them only if they are not already defined (as will be the case when this bug is fixed):

   #if !defined (TIMER_ALL_ACCESS)
   #define TIMER_QUERY_STATE       0x0001
   #define TIMER_MODIFY_STATE      0x0002
   #define TIMER_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED|SYNCHRONIZE| \ 
                             TIMER_QUERY_STATE|TIMER_MODIFY_STATE)
   #endif

STATUS

Microsoft has confirmed this to be a bug in the Microsoft products listed at the beginning of this article. We are researching this bug and will post new information here in the Microsoft Knowledge Base as it becomes available.

Additional query words: waitable timer right access constant

Keywords          : kbKernBase kbThread kbGrpKernBase 
Version           : WINDOWS NT:
Platform          : NT WINDOWS
Issue type        : kbbug
Solution Type     : kbpending

Last Reviewed: August 9, 1997