/*****************************************************************************\ * * * choosusr.h - choose user dialog function, types, and definitions * * * * Version 1.0 * * * * NOTE: windows.h must be #included first * * * * Copyright (c) 1993, Microsoft Corp. All rights reserved. * * * \*****************************************************************************/ #ifndef _INC_CHOOSUSR #define _INC_CHOOSUSR #ifndef RC_INVOKED #pragma pack(1) /* Assume byte packing throughout */ #endif /* !RC_INVOKED */ #ifdef __cplusplus extern "C" { /* Assume C declarations for C++ */ #endif /* __cplusplus */ #ifndef WINAPI /* If not included with 3.1 headers... */ #define WINAPI FAR PASCAL #define CALLBACK FAR PASCAL #define LPCSTR LPSTR #define UINT WORD #define LPARAM LONG #define WPARAM WORD #define LRESULT LONG #define HMODULE HANDLE #define HINSTANCE HANDLE #define HLOCAL HANDLE #define HGLOBAL HANDLE #endif /* _INC_WINDOWS */ #define MAX_BINS 3 // codes in CHOOSEUSER.dwError #define CUERR_NO_ERROR 0 #define CUERR_BUF_TOO_SMALL 80 #define CUERR_INVALID_PARAMETER 81 #define CUERR_PROVIDER_ERROR 82 #define CUERR_NO_AB_PROVIDER 83 #define CUERR_INVALID_AB_PROVIDER 84 // codes in CHOOSEUSER.Flags #define CUFLG_USR_ONLY 0x00000001 #define CUFLG_GRP_ONLY 0x00000002 struct tagCHOOSEUSER { DWORD lStructSize; HWND hwndOwner; HINSTANCE hInstance; DWORD Flags; UINT nBins; LPSTR lpszDialogTitle; LPSTR lpszProvider; LPSTR lpszReserved; LPSTR lpszRemote; LPSTR lpszHelpFile; LPSTR lpszBinButtonText[MAX_BINS]; DWORD dwBinValue[MAX_BINS]; DWORD dwBinHelpID[MAX_BINS]; LPBYTE lpBuf; DWORD cbBuf; DWORD nEntries; // OUT DWORD cbData; // OUT DWORD dwError; // OUT DWORD dwErrorDetails; // OUT }; typedef struct tagCHOOSEUSER CHOOSEUSER; typedef struct tagCHOOSEUSER FAR *LPCHOOSEUSER; // codes for CHOOSEUSERENTRY.dwEntryAttributes #define CUE_ATTR_USER 0x00000001 #define CUE_ATTR_GROUP 0x00000002 #define CUE_ATTR_WORLD 0x00000004 struct tagCHOOSEUSERENTRY { LPSTR lpszShortName; LPSTR lpszLongName; DWORD dwBinAttributes; DWORD dwEntryAttributes; }; typedef struct tagCHOOSEUSERENTRY CHOOSEUSERENTRY; typedef struct tagCHOOSEUSERENTRY FAR *LPCHOOSEUSERENTRY; BOOL WINAPI ChooseUser(CHOOSEUSER FAR*); typedef BOOL (WINAPI *LPFNCU)(LPCHOOSEUSER); #ifdef __cplusplus } #endif /* __cplusplus */ #ifndef RC_INVOKED #pragma pack() #endif /* !RC_INVOKED */ #endif /* !_INC_CHOOSUSR */