Code/Resource
Windows Develop
Linux-Unix program
Internet-Socket-Network
Web Server
Browser Client
Ftp Server
Ftp Client
Browser Plugins
Proxy Server
Email Server
Email Client
WEB Mail
Firewall-Security
Telnet Server
Telnet Client
ICQ-IM-Chat
Search Engine
Sniffer Package capture
Remote Control
xml-soap-webservice
P2P
WEB(ASP,PHP,...)
TCP/IP Stack
SNMP
Grid Computing
SilverLight
DNS
Cluster Service
Network Security
Communication-Mobile
Game Program
Editor
Multimedia program
Graph program
Compiler program
Compress-Decompress algrithms
Crypt_Decrypt algrithms
Mathimatics-Numerical algorithms
MultiLanguage
Disk/Storage
Java Develop
assembly language
Applications
Other systems
Database system
Embeded-SCM Develop
FlashMX/Flex
source in ebook
Delphi VCL
OS Develop
MiddleWare
MPI
MacOS develop
LabView
ELanguage
Software/Tools
E-Books
Artical/Document
npdefs.h
Package: shell.rar [view]
Upload User: xhy777
Upload Date: 2007-02-14
Package Size: 24088k
Code Size: 4k
Category:
Windows Kernel
Development Platform:
Visual C++
- /*****************************************************************/
- /** Microsoft Windows for Workgroups **/
- /** Copyright (C) Microsoft Corp., 1991-1992 **/
- /*****************************************************************/
- /* NPCOMMON.H -- Internal standard header for network provider common library.
- *
- * ATTENTION: This file is used by 16bit components and should be
- * maintained as such.
- *
- * History:
- * 03/22/93 gregj Created
- * 04/02/93 lens Added _INC_NPDEFS define and _INC_WINDOWS test.
- *
- */
- #ifndef _INC_NPDEFS
- #define _INC_NPDEFS
- #ifndef RC_INVOKED
- #pragma warning(disable:4147) // warning about ignoring __loadds on function
- // ptr decls, of which there are 5 in windows.h
- #pragma warning(disable:4118) // warning about not accepting the intrinsic function pragma
- // during a fast compile
- // Macro to quiet compiler for an unused formal parameter.
- #define UNUSED(x) ((void)(x))
- #endif
- #ifndef _INC_WINDOWS
- #include <windows.h>
- #endif
- #ifdef IS_32
- #ifndef _INC_NETSPI
- #include <netspi.h>
- #endif
- #ifndef _STRING_HXX_
- #include <npstring.h>
- #endif
- #endif /* IS_32 */
- // Fixup for when RESOURCETYPE_ANY was not compatible with NT.
- // Codework: remove from system.
- #define RESOURCETYPE_ANY1 RESOURCETYPE_RESERVED
- #define CHAR char
- #define INT int
- typedef unsigned short WCHAR;
- typedef unsigned short USHORT;
- typedef WORD HANDLE16;
- #ifndef APIENTRY
- #define APIENTRY FAR PASCAL
- #endif
- #define FAR_NETLIB /* our netlib is in netapi.dll, and always far */
- #ifndef IS_32
- #ifndef LOADDS
- #define LOADDS __loadds
- #endif
- #else
- #define LOADDS
- #endif
- #ifndef HNRES
- typedef HANDLE HNRES;
- #endif
- // That is common return type used in both common and mnr projects
- #ifndef MNRSTATUS
- #ifdef IS_32
- #define MNRSTATUS UINT
- #else
- #define MNRSTATUS WORD
- #endif
- #endif
- #define MNRENTRY DWORD APIENTRY
- // Find size of structure upto and including a field that may be the last field in the structure.
- #define SIZE_TO_FIELD(s,f) (sizeof(((s *)NULL)->f) + (LPBYTE)&(((s *)NULL)->f) - (LPBYTE)NULL)
- // Null strings are quite often taken to be either a NULL pointer or a zero
- #define IS_EMPTY_STRING(pch) ( !pch || !*(pch) )
- /*******************************************************************
- Macro Description:
- This macro is used to test that a LoadLibrary call succeeded.
- Arguments:
- hModule - the handle returned from the LoadLibrary call.
- Notes:
- Win31 documentation says that errors are less than HINSTANCE_ERROR
- and that success is greater than 32. Since HINSTANCE_ERROR is 32,
- this leaves the value of 32 as being undefined!
- *******************************************************************/
- #ifdef IS_32
- #define MNRVALIDDLLHANDLE(hdll) (hdll != NULL)
- #else
- #define MNRVALIDDLLHANDLE(hdll) (hdll > HINSTANCE_ERROR)
- #endif
- /*******************************************************************
- Macro Description:
- This macro is used to determine if a buffer passed in has valid
- addresses and writeable memory.
- Arguments:
- lpBuffer - the address of the buffer.
- lpcbBuffer - the address of a DWORD containing the size of the
- buffer that is filled in on return with the
- required size of the buffer if the buffer
- is not large enough.
- Evalutes to:
- An expression that returns TRUE or FALSE.
- Notes:
- Only valid for Win32 applications to call.
- The macro does weak validation as it is used generically in many APIs.
- In particular, this means that the macro succeeds a NULL lpcbBuffer,
- and zero *lpcbBuffer. In neither of these cases does it validate
- that lpBuffer is a valid address (and relies upon the behavior of
- IsBadWritePtr when *lpcbBuffer is zero).
- *******************************************************************/
- #define IS_BAD_WRITE_BUFFER(lpBuffer,lpcbBuffer)
- ((lpcbBuffer != NULL) &&
- (IsBadWritePtr(lpcbBuffer, sizeof(DWORD)) ||
- IsBadWritePtr(lpBuffer, *lpcbBuffer)))
- #ifdef IS_32
- extern "C" { /* Know we're using C++ internally */
- NLS_STR FAR * NPSERVICE NPSGetStatusText(DWORD dwError,
- LPBOOL pbStatic);
- DWORD NPSERVICE NPSCopyNLS(NLS_STR FAR *pnlsSourceString,
- LPVOID lpDestBuffer,
- LPDWORD lpBufferSize);
- }
- #endif /* IS_32 */
- #endif /* !_INC_NPDEFS */