diff options
Diffstat (limited to '')
-rw-r--r-- | private/nw/svcdlls/nwwks/server/handle.h | 154 |
1 files changed, 154 insertions, 0 deletions
diff --git a/private/nw/svcdlls/nwwks/server/handle.h b/private/nw/svcdlls/nwwks/server/handle.h new file mode 100644 index 000000000..043b17e9c --- /dev/null +++ b/private/nw/svcdlls/nwwks/server/handle.h @@ -0,0 +1,154 @@ +/*++ + +Copyright (c) 1993 Microsoft Corporation + +Module Name: + + handle.h + +Abstract: + + Header which defines the context handle structure. + +Author: + + Rita Wong (ritaw) 18-Feb-1993 + +Environment: + + User Mode - Win32 + +Revision History: + +--*/ + +#ifndef _NW_HANDLE_INLUDED_ +#define _NW_HANDLE_INLUDED_ + +// +// Signature value in handle +// +#define NW_HANDLE_SIGNATURE 0x77442323 + +// +// Flags used to indicate whether Context Handles are using NDS or not +// +#define CURRENTLY_ENUMERATING_NON_NDS 0 +#define CURRENTLY_ENUMERATING_NDS 1 + +// +// Context handle type +// +typedef enum _NW_ENUM_TYPE { + + NwsHandleListConnections = 10, + NwsHandleListContextInfo_Tree, + NwsHandleListContextInfo_Server, + NwsHandleListServersAndNdsTrees, + NwsHandleListVolumes, + NwsHandleListQueues, + NwsHandleListVolumesQueues, + NwsHandleListDirectories, + NwsHandleListPrintServers, + NwsHandleListPrintQueues, + NwsHandleListNdsSubTrees_Disk, + NwsHandleListNdsSubTrees_Print, + NwsHandleListNdsSubTrees_Any + +} NW_ENUM_TYPE, *PNW_ENUM_TYPE; + +// +// Data associated with each opened context handle +// +typedef struct _NW_ENUM_CONTEXT { + + // + // For block identification + // + DWORD Signature; + + // + // Handle type + // + NW_ENUM_TYPE HandleType; + + // + // Resume ID. This may be the identifier for the next entry + // to list or may be the last entry listed for the connection handle + // indicated by the flag dwUsingNds. + // + DWORD ResumeId; + + // + // Type of object requested. Valid only when the handle type + // is NwsHandleListConnections. + // + DWORD ConnectionType; + + // + // Internal handle to the object we have opened to perform + // the enumeration. This value exists only if the handle + // type is NwsHandleListVolumes, NwsHandleListDirectories, + // or NwsHandleListNdsSubTrees. + // + HANDLE TreeConnectionHandle; + + // + // Value used to indicate the maximum number of volumes supported on + // a server. This is used for connection handles that enumerate volumes + // or volumes and queues (NwsHandleListVolumes or + // NwsHandleListVolumesQueues). + // + DWORD dwMaxVolumes; + + // + // Flag used to indicate whether enumeration ResumeId is for + // NDS trees or servers. + // + DWORD dwUsingNds; + + // + // Object identifier for NDS tree enumeration. The Oid of the + // container/oject in the path of ContainerName. + // + DWORD dwOid; + + // + // The size of the buffer used for caching rdr data under enumeration. + // + DWORD NdsRawDataSize; + + // + // The object identifier of the last object read from the rdr that was + // put into the local cache buffer NdsRawDataBuffer. + // + DWORD NdsRawDataId; + + // + // The number of objects currently in the local cache buffer NdsRawDataBuffer. + // + DWORD NdsRawDataCount; + + // + // The local cache buffer used for rdr data enumeration. + // + DWORD NdsRawDataBuffer; + + // + // Full path name of the container object we are enumerating + // from. + // + // For NwsHandleListVolumes handle type this string points to: + // "\\ServerName" + // + // For NwsHandleListDirectories handle type this string points to: + // "\\ServerName\Volume\" + // or + // "\\ServerName\Volume\Directory\" + // + WCHAR ContainerName[1]; + +} NW_ENUM_CONTEXT, *LPNW_ENUM_CONTEXT; + + +#endif // _NW_HANDLE_INLUDED_ |