You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
120 lines
3.2 KiB
120 lines
3.2 KiB
//+----------------------------------------------------------------------------
|
|
//
|
|
// Copyright (C) 1992, Microsoft Corporation.
|
|
//
|
|
// File: enumnode.hxx
|
|
//
|
|
// Contents: This has the definitions for the Classes that are used in order
|
|
// to support the enumeration functions of the Dfs provider.
|
|
//
|
|
// Classes: CDfsEnumNode
|
|
// CDfsEnumHandleTable
|
|
//
|
|
// History: 20-June-1994 SudK Created.
|
|
//
|
|
//-----------------------------------------------------------------------------
|
|
|
|
#ifndef _DFS_ENUM_NODE_HXX_
|
|
#define _DFS_ENUM_NODE_HXX_
|
|
|
|
DWORD DfsEnumEnterCriticalSection(VOID);
|
|
VOID DfsEnumLeaveCriticalSection(VOID);
|
|
DWORD InitDfsEnum(VOID);
|
|
VOID TermDfsEnum(VOID);
|
|
|
|
//--------------------------------------------------------------------------
|
|
//
|
|
// Class: CDfsEnumNode
|
|
//
|
|
// Synopsis: This is a wrapper class used to instantiate an enumeration
|
|
// in progress (to which a handle has been handed out).
|
|
//
|
|
// Methods: QueryType -
|
|
// QueryScope -
|
|
// QueryUsage -
|
|
// GetNetResource -
|
|
//
|
|
// History: 20 June 1994 SudK Created.
|
|
//
|
|
//--------------------------------------------------------------------------
|
|
class CDfsEnumNode
|
|
{
|
|
public:
|
|
|
|
CDfsEnumNode( DWORD dwScope,
|
|
DWORD dwType,
|
|
DWORD dwUsage);
|
|
|
|
virtual ~CDfsEnumNode();
|
|
|
|
virtual DWORD Init() = 0;
|
|
virtual DWORD GetNetResource(LPVOID lpBuffer,
|
|
LPDWORD lpBufferSize) = 0;
|
|
|
|
DWORD QueryType()
|
|
{ return _dwType; }
|
|
|
|
DWORD QueryScope()
|
|
{ return _dwScope; }
|
|
|
|
DWORD QueryUsage()
|
|
{ return _dwUsage; }
|
|
|
|
private:
|
|
|
|
DWORD _dwType;
|
|
DWORD _dwScope;
|
|
DWORD _dwUsage;
|
|
|
|
};
|
|
|
|
//--------------------------------------------------------------------------
|
|
//
|
|
// Class: CDfsEnumConnectedNode
|
|
//
|
|
// Synopsis: This is a wrapper class used to instantiate an enumeration
|
|
// of domains in progress (to which a handle has been handed out).
|
|
//
|
|
// Methods:
|
|
// Init -
|
|
// GetNetResource -
|
|
//
|
|
// History: 18 Jan 1996 BruceFo Created.
|
|
//
|
|
//--------------------------------------------------------------------------
|
|
|
|
#define ECN_INITIAL_BUFFER_SIZE 1024
|
|
|
|
class CDfsEnumConnectedNode : public CDfsEnumNode
|
|
{
|
|
public:
|
|
|
|
CDfsEnumConnectedNode(DWORD dwScope,
|
|
DWORD dwType,
|
|
DWORD dwUsage,
|
|
LPCTSTR pszProviderName,
|
|
const LPNETRESOURCE lpNetResource );
|
|
|
|
~CDfsEnumConnectedNode();
|
|
|
|
virtual DWORD Init();
|
|
|
|
virtual DWORD GetNetResource(
|
|
LPVOID lpBuffer,
|
|
LPDWORD lpBufferSize);
|
|
|
|
private:
|
|
|
|
DWORD _iNext;
|
|
DWORD _cTotal;
|
|
LPNETRESOURCE _lpNetResource;
|
|
BYTE _buffer[ECN_INITIAL_BUFFER_SIZE];
|
|
|
|
LPWSTR PackString(
|
|
IN LPVOID pBuffer,
|
|
IN LPCWSTR wszString,
|
|
IN DWORD cbString,
|
|
IN OUT LPDWORD lpcbBuf);
|
|
};
|
|
|
|
#endif
|