Want to protect your cyber security and still get fast solutions? Ask a secure question today.Go Premium

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 276
  • Last Modified:

User Logon Groups & Windows 95

Under NT, I can use NetUserGetLocalGroups to get a list of groups the user belongs to. A similar function can be used for global groups. When I transfer my executable to Windows95, it tells me there are DLLs missing. I know the DLLs relate to the function for getting this group information. The DLLs are netapi32, netrap, ntdll, samlib, and advapi32.

How do I keep this functionality under Windows 95 and keep the source code the same?
0
flfmdll
Asked:
flfmdll
1 Solution
 
TiutinCommented:
flfmdll...
I have found the wollowing article at the MSDN Library:

============================================
Windows 95 Support for Net Function Calls

Article ID: Q125700
Creation Date: 01-FEB-1995
Revision Date: 21-OCT-1996

The information in this article applies to:
•Microsoft Win32 Software Development Kit (SDK)

Windows 95 supports a subset of Net function calls. This is a list of the supported functions:

  NetAccessAdd
  NetAccessCheck
  NetAccessDel
  NetAccessEnum
  NetAccessGetInfo
  NetAccessGetUserPerms
  NetAccessSetInfo
  NetConnectionEnum
  NetFileClose2
  NetFileEnum
  NetSecurityGetInfo
  NetServerGetInfo
  NetServerSetInfo
  NetSessionDel
  NetSessionEnum
  NetSessionGetInfo
  NetShareAdd
  NetShareDel
  NetShareEnum
  NetShareGetInfo
  NetShareSetInfo

Windows 95 support for these functions differs from Windows NT in two ways. First, because Windows 95 doesn't support Unicode, these functions require ANSI strings. Second, Windows 95 exports the Net functions from SVRAPI.DLL instead of NETAPI32.DLL. If an attempt is made to run a native Windows NT application on Windows 95, the following error will result:

  "The <application> file is linked to missing export NETAPI32.DLL
   <Net...API>"

To handle these differences, applications targeted to both Windows NT and Windows 95 should do the following:
1. Avoid importing Net functions from NETAPI32.DLL at link time. Instead, applications should do a run time version check and dynamically link to NETAPI32.DLL for Windows NT or SVRAPI.DLL for Windows 95.

For additional information on version checking, please see the following article in the Microsoft Knowledge Base:

ARTICLE-ID:Q92395
TITLE     :Determining System Version from a Win32-based Application

2. Make sure the application doesn't depend on the presence of unsupported API's. 3.When calling Net functions, pass strings using a character set appropriate for the host operating system. Use Unicode strings for Windows NT and ANSI strings for Windows 95.

If you are only targeting Windows 95 and wish to use SVRAPI.DLL, SVRAPI.H and SVRAPI.LIB are included in the Windows 95 DDK. NOTE: The formal parameter lists for the Net function calls may be slightly different between the header files for Windows NT and Windows 95.

------------------------------------------------------------------------
©1997 Microsoft Corporation. All rights reserved. Legal Notices.

Additional reference words: 4.00 95
KBCategory: kbnetwork
KBSubcategory: NtwkLmapi

0
 
flfmdllAuthor Commented:
This is the most correct answer I have seen. I stumbled upon the same MS item late yesterday. Thanks.
0

Featured Post

Keep up with what's happening at Experts Exchange!

Sign up to receive Decoded, a new monthly digest with product updates, feature release info, continuing education opportunities, and more.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now