mirror of https://github.com/tongzx/nt5src
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.
144 lines
3.2 KiB
144 lines
3.2 KiB
/*++
|
|
|
|
Copyright (c) 1992-1996 Microsoft Corporation
|
|
|
|
Module Name:
|
|
|
|
iisutil.h
|
|
|
|
Abstract:
|
|
|
|
IIS Resource utility routine DLL
|
|
|
|
Author:
|
|
|
|
Pete Benoit (v-pbenoi) 12-SEP-1996
|
|
|
|
Revision History:
|
|
|
|
--*/
|
|
|
|
#ifndef IISUTIL_H
|
|
#define IISUTIL_H
|
|
|
|
|
|
#define UNICODE 1
|
|
|
|
#include "clusres.h"
|
|
#include "wtypes.h"
|
|
#include "inetinfo.h"
|
|
|
|
#define IISLogEvent ClusResLogEvent
|
|
#define IISSetResourceStatus ClusResSetResourceStatus
|
|
|
|
// Define the Service Identifiers
|
|
#define WWW_SERVICE 0
|
|
#define FTP_SERVICE 1
|
|
#define GOPHER_SERVICE 2
|
|
#define MAX_SERVICE GOPHER_SERVICE + 1
|
|
|
|
//
|
|
// Define the resource Name
|
|
//
|
|
#define IIS_RESOURCE_NAME L"IIS Virtual Root"
|
|
|
|
// Define some max values
|
|
#define MAX_LENGTH_VIRTUAL_ROOT 256 // Length of VR
|
|
#define MAX_LENGTH_ROOT_ADDR 80 // Address Length
|
|
#define MAX_VIRTUAL_ROOT 200 // Max number of VR's
|
|
#define MAX_INET_SERVER_START_DELAY 1000 // 1 Seconds
|
|
#define SERVER_START_DELAY 500 // 500ms
|
|
#define MAX_DEFAULT_WSTRING_SIZE 512 // Default string size
|
|
#define MAX_IIS_RESOURCES 20 // Total number of IIS resources
|
|
#define MAX_OPEN_RETRY 30 // 30 Retries (15 sec)
|
|
#define MAX_ONLINE_RETRY 60 // 60 (30 sec)
|
|
#define MAX_MUTEX_WAIT 10*1000 // 10 seconds
|
|
#define IP_ADDRESS_RESOURCE_NAME L"IP Address"
|
|
|
|
// Define parameters structure
|
|
typedef struct _IIS_PARAMS {
|
|
LPWSTR ServiceName;
|
|
LPWSTR Alias;
|
|
LPWSTR Directory;
|
|
DWORD AccessMask;
|
|
//BUGBUG
|
|
// Remove AccountName Password for UNC physical directories
|
|
// for the first release
|
|
/*
|
|
LPWSTR AccountName;
|
|
LPWSTR Password;
|
|
*/
|
|
} IIS_PARAMS, *PIIS_PARAMS;
|
|
|
|
// Define the resource data structure
|
|
typedef struct _IIS_RESOURCE {
|
|
DWORD Index;
|
|
LPWSTR ResourceName;
|
|
IIS_PARAMS Params;
|
|
// LPWSTR ServiceName;
|
|
DWORD ServiceType;
|
|
RESOURCE_HANDLE ResourceHandle;
|
|
HKEY ParametersKey;
|
|
LPINET_INFO_VIRTUAL_ROOT_ENTRY VirtualRoot;
|
|
CLUS_WORKER OnlineThread;
|
|
CLUS_WORKER OpenThread;
|
|
CLUSTER_RESOURCE_STATE State;
|
|
HRESOURCE hResource;
|
|
} IIS_RESOURCE, *LPIIS_RESOURCE;
|
|
|
|
|
|
|
|
DWORD
|
|
OffLineVirtualRoot(
|
|
IN LPIIS_RESOURCE ResourceEntry,
|
|
IN PLOG_EVENT_ROUTINE LogEvent
|
|
);
|
|
|
|
DWORD
|
|
OnLineVirtualRoot(
|
|
IN LPIIS_RESOURCE ResourceEntry,
|
|
IN PLOG_EVENT_ROUTINE LogEvent
|
|
);
|
|
|
|
VOID
|
|
DestructVR(
|
|
IN LPINET_INFO_VIRTUAL_ROOT_ENTRY vr
|
|
);
|
|
|
|
VOID
|
|
DestructIISResource(
|
|
IN LPIIS_RESOURCE ResourceEntry
|
|
);
|
|
|
|
|
|
VOID
|
|
FreeVR(
|
|
IN LPINET_INFO_VIRTUAL_ROOT_ENTRY vr
|
|
);
|
|
|
|
VOID
|
|
FreeIISResource(
|
|
IN LPIIS_RESOURCE ResourceEntry
|
|
);
|
|
|
|
|
|
|
|
BOOL
|
|
VerifyIISService(
|
|
IN LPIIS_RESOURCE ResourceEntry,
|
|
IN BOOL IsAliveFlag,
|
|
IN PLOG_EVENT_ROUTINE LogEvent
|
|
);
|
|
|
|
|
|
DWORD
|
|
IISLoadMngtDll(
|
|
);
|
|
DWORD
|
|
IsIISMngtDllLoaded(
|
|
);
|
|
|
|
VOID
|
|
IISUnloadMngtDll(
|
|
);
|
|
#endif
|