#define FACILITY_NWRDR 0x11 #define NWRDR_PASSWORD_HAS_EXPIRED 0x40110001 typedef struct _NW_VERSION_INFO { BYTE szName[48]; BYTE Version; BYTE SubVersion; WORD ConnsSupported; WORD connsInUse; WORD maxVolumes; BYTE OSRev; BYTE SFTLevel; BYTE TTSLevel; WORD PeakConns; BYTE AcctVer; BYTE VAPVer; BYTE QueueVer; BYTE PrintVer; BYTE VirtualConsoleVer; BYTE SecurityResLevel; BYTE InternetworkBVer; BYTE Reserved[60]; } NW_VERSION_INFO, *PNW_VERSION_INFO; // // Size Of Things // #define OBJ_NAME_SIZE 48 // ScanObject name size #define VOL_NAME_SIZE 16 // Get Volume Name Size #define NW_USER_SIZE 50 #define NW_GROUP_SIZE 50 #define NW_PROP_SIZE 50 #define NW_DATA_SIZE 128 #define NW_PROP_SET 0x02 // // Swap MACROS // #define wSWAP(x) (USHORT)(((((USHORT)x)<<8)&0xFF00) | ((((USHORT)x)>>8)&0x00FF)) #define dwSWAP(x) (DWORD)( ((((DWORD)x)<<24)&0xFF000000) | ((((DWORD)x)<<8)&0x00FF0000) | ((((DWORD)x)>>8)&0x0000FF00) | ((((DWORD)x)>>24)&0x000000FF) ) #define DW_SIZE 4 // used for placing RAW bytes #define W_SIZE 2 // // NCP wrappers. // STDAPI NWApiGetBinderyHandle( NWCONN_HANDLE *phConnReturned, BSTR bstrBinderyName, CCredentials &Credentials ); STDAPI NWApiReleaseBinderyHandle( NWCONN_HANDLE hConn ); STDAPI NWApiCheckUserLoggedInToServer( BSTR bstrBinderyName, LPWSTR pszUserName ); STDAPI NWApiObjectEnum( NWCONN_HANDLE hConn, NWOBJ_TYPE dwObjType, LPWSTR *lppszObjectName, DWORD *pdwResumeObjectID ); STDAPI NWApiValidateObject( NWCONN_HANDLE hConn, NWOBJ_TYPE dwObjType, LPWSTR lpszObjectName, DWORD *pdwResumeObjectID ); STDAPI NWApiGetAnyBinderyHandle( NWCONN_HANDLE *phConn ); // // Error code conversion function. // STDAPI HRESULT_FROM_NWCCODE( NWCCODE usRet ); STDAPI_(DWORD) NWApiGetAnyBinderyName( LPWSTR szBinderyName ); // // Win32 wrappers. // STDAPI NWApiOpenPrinter( LPWSTR lpszUncPrinterName, HANDLE *phPrinter, DWORD dwAccess ); STDAPI NWApiClosePrinter( HANDLE hPrinter ); STDAPI NWApiEnumJobs( HANDLE hPrinter, DWORD dwFirstJob, DWORD dwNoJobs, DWORD dwLevel, LPBYTE *lplpbJobs, DWORD *pcbBuf, LPDWORD lpdwReturned ); /* HRESULT NWApiGetPrinter( HANDLE hPrinter, DWORD dwLevel, LPBYTE *lplpbPrinters ); */ STDAPI NWApiSetPrinter( HANDLE hPrinter, DWORD dwLevel, LPBYTE lpbPrinters, DWORD dwAccess ); STDAPI NWApiGetJob( HANDLE hPrinter, DWORD dwJobId, DWORD dwLevel, LPBYTE *lplpbJobs ); STDAPI NWApiSetJob( HANDLE hPrinter, DWORD dwJobId, DWORD dwLevel, LPBYTE lpbJobs, DWORD dwCommand ); STDAPI NWApiCreateProperty( NWCONN_HANDLE hConn, LPWSTR lpszObjectName, NWOBJ_TYPE wObjType, LPSTR lpszPropertyName, NWFLAGS ucObjectFlags ); STDAPI NWApiWriteProperty( NWCONN_HANDLE hConn, BSTR bstrObjectName, NWOBJ_TYPE wObjType, LPSTR lpszPropertyName, LPBYTE SegmentData ); STDAPI NWApiGetObjectName( NWCONN_HANDLE hConn, DWORD dwObjectID, LPWSTR *lppszObjectName );