2025-04-27 07:49:33 -04:00

101 lines
1.8 KiB
C

/*++
Copyright (c) 1999-1999 Microsoft Corporation
Module Name:
vxdinfo.h
Abstract:
Definition of the structures used by UL.VXD to store information
on processes using the device driver.
Author:
Mauro Ottaviani (mauroot) 26-Aug-1999
Revision History:
--*/
#ifndef _VXDINFO_H_
#define _VXDINFO_H_
#include "precomp.h"
#include "structs.h"
#include "errors.h"
typedef struct _UL_IRP_LIST
{
LIST_ENTRY List;
HANDLE hProcess;
HANDLE hThread; // need this for cleanup
HANDLE hr0Event;
OVERLAPPED *pOverlapped;
BYTE *pData;
ULONG ulBytesToTransfer;
ULONG ulBytesTransferred;
UL_HTTP_REQUEST_ID *pRequestId;
} UL_IRP_LIST, *PUL_IRP_LIST;
typedef struct _UL_REQUEST_LIST
{
LIST_ENTRY List;
LIST_ENTRY RequestIrpList;
LIST_ENTRY ResponseIrpList;
UL_HTTP_REQUEST_ID RequestId;
ULONG ulRequestHeadersSending;
ULONG ulResponseHeadersSending;
ULONG ulRequestHeadersSent;
ULONG ulResponseHeadersSent;
ULONG ulRequestIrpType;
ULONG ulResponseIrpType;
ULONG ulUriId;
} UL_REQUEST_LIST, *PUL_REQUEST_LIST;
typedef struct _UL_URI_LIST
{
LIST_ENTRY List;
LIST_ENTRY GlobalList;
ULONG ulUriId;
LIST_ENTRY *pAppPoolList;
ULONG ulUriLength;
WCHAR pUri[1];
} UL_URI_LIST, *PUL_URI_LIST;
typedef struct _UL_APPPOOL_LIST
{
LIST_ENTRY List;
LIST_ENTRY UriList;
LIST_ENTRY RequestList;
HANDLE hAppPool;
ULONG ulUriIdNext;
} UL_APPPOOL_LIST, *PUL_APPPOOL_LIST;
typedef struct _UL_PROCESS_INFO
{
LIST_ENTRY List;
LIST_ENTRY AppPoolList;
HANDLE hProcess;
HANDLE hAppPoolNext;
} UL_PROCESS_LIST, *PUL_PROCESS_LIST;
#endif // _VXDINFO_H_