Main Page | Class Hierarchy | Class List | File List | Class Members | File Members

wow.h File Reference

Go to the source code of this file.

Defines

#define StartValidateHandleMacro(h)
#define BeginAliveValidateHandleMacro()
#define EndAliveValidateHandleMacro()
#define BeginTypeValidateHandleMacro(pobj, bTypeTest)
#define EndTypeValidateHandleMacro
#define EndValidateHandleMacro


Define Documentation

 
#define BeginAliveValidateHandleMacro  ) 
 

Value:

/* \ * Now make sure that the handle is not destroyed. On free \ * builds the RIP disappears and the main line is straightthrough. \ */ \ if (!(phe->bFlags & HANDLEF_DESTROY)) { \

Definition at line 68 of file wow.h.

#define BeginTypeValidateHandleMacro pobj,
bTypeTest   ) 
 

Value:

/* \ * Now make sure the app is passing the right handle \ * type for this api. If the handle is TYPE_FREE, this'll \ * catch it. Also let Generic requests through. \ */ \ if ((phe->bType == bTypeTest) || \ (bTypeTest == TYPE_GENERIC && phe->bType != TYPE_FREE)) { \ \ /* \ * Instead of try/except we use the heap range check \ * mechanism to verify that the given 'pwnd' belongs to \ * the default desktop. We also have to do a Win 3.1 like \ * check to make sure the window is not deleted \ * See NT bug 12242 Kitchen app. Also 6479 \ * \ * TESTDESKOP returns the handle if the handle is valid \ * in the current desktop \ */ \ pobj = phe->phead; \ { \

Definition at line 80 of file wow.h.

Referenced by ValidateHandleSecure().

 
#define EndAliveValidateHandleMacro  ) 
 

Value:

} else { \ RIPMSG2(RIP_WARNING, "ValidateAliveHandle: Object phe %#p is destroyed. Handle: %#p", \ phe, h); \ } \

Definition at line 73 of file wow.h.

#define EndTypeValidateHandleMacro
 

Value:

} \ } \

Definition at line 89 of file wow.h.

Referenced by ValidateHandleSecure().

#define EndValidateHandleMacro
 

Value:

} \ } \ }

Definition at line 93 of file wow.h.

Referenced by ValidateHandleSecure(), and ValidateHwnd().

#define StartValidateHandleMacro  ) 
 

Value:

{ \ PHE phe; \ DWORD dw; \ WORD uniq; \ \ /* \ * This is a macro that does an AND with HMINDEXBITS, \ * so it is fast. \ */ \ dw = HMIndexFromHandle(h); \ \ /* \ * Make sure it is part of our handle table. \ */ \ if (dw < gpsi->cHandleEntries) { \ /* \ * Make sure it is the handle \ * the app thought it was, by \ * checking the uniq bits in \ * the handle against the uniq \ * bits in the handle entry. \ */ \ phe = &gSharedInfo.aheList[dw]; \ uniq = HMUniqFromHandle(h); \ if ( uniq == phe->wUniq \ || uniq == 0 \ || uniq == HMUNIQBITS \ ) { \

Definition at line 15 of file wow.h.

Referenced by ValidateHandleSecure(), and ValidateHwnd().


Generated on Sat May 15 19:46:09 2004 for test by doxygen 1.3.7