ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

classp.h File Reference
#include <stddef.h>
#include <stdarg.h>
#include <ntddk.h>
#include <scsi.h>
#include <wmidata.h>
#include <classpnp.h>
#include <mountdev.h>
#include <ioevent.h>
#include <pseh/pseh2.h>
#include "wmistr.h"

Go to the source code of this file.

Data Structures

struct  PMEDIA_CHANGE_DETECTION_INFO
struct  PFAILURE_PREDICTION_INFO
struct  PCLASS_RETRY_INFO
struct  PCSCAN_LIST
struct  PCLASS_ERROR_LOG_DATA
struct  PTRANSFER_PACKET
struct  PCLASS_PRIVATE_FDO_DATA

Defines

#define CLASSP_REG_SUBKEY_NAME   (L"Classpnp")
#define CLASSP_REG_HACK_VALUE_NAME   (L"HackMask")
#define CLASSP_REG_MMC_DETECTION_VALUE_NAME   (L"MMCDetectionState")
#define CLASSP_REG_WRITE_CACHE_VALUE_NAME   (L"WriteCacheEnableOverride")
#define CLASSP_REG_PERF_RESTORE_VALUE_NAME   (L"RestorePerfAtCount")
#define CLASSP_REG_REMOVAL_POLICY_VALUE_NAME   (L"UserRemovalPolicy")
#define CLASS_PERF_RESTORE_MINIMUM   (0x10)
#define CLASS_ERROR_LEVEL_1   (0x4)
#define CLASS_ERROR_LEVEL_2   (0x8)
#define FDO_HACK_CANNOT_LOCK_MEDIA   (0x00000001)
#define FDO_HACK_GESN_IS_BAD   (0x00000002)
#define FDO_HACK_NO_SYNC_CACHE   (0x00000004)
#define FDO_HACK_VALID_FLAGS   (0x00000007)
#define FDO_HACK_INVALID_FLAGS   (~FDO_HACK_VALID_FLAGS)
#define NUM_LOCKMEDIAREMOVAL_RETRIES   1
#define NUM_MODESENSE_RETRIES   1
#define NUM_DRIVECAPACITY_RETRIES   1
#define CLASS_FILE_OBJECT_EXTENSION_KEY   'eteP'
#define CLASSP_VOLUME_VERIFY_CHECKED   0x34
#define CLASS_TAG_PRIVATE_DATA   'CPcS'
#define CLASS_TAG_PRIVATE_DATA_FDO   'FPcS'
#define CLASS_TAG_PRIVATE_DATA_PDO   'PPcS'
#define NUM_ERROR_LOG_ENTRIES   16
#define MIN_INITIAL_TRANSFER_PACKETS   1
#define MIN_WORKINGSET_TRANSFER_PACKETS_Consumer   4
#define MAX_WORKINGSET_TRANSFER_PACKETS_Consumer   64
#define MIN_WORKINGSET_TRANSFER_PACKETS_Server   64
#define MAX_WORKINGSET_TRANSFER_PACKETS_Server   1024
#define MIN_WORKINGSET_TRANSFER_PACKETS_Enterprise   256
#define MAX_WORKINGSET_TRANSFER_PACKETS_Enterprise   2048
#define MIN(a, b)   ((a) < (b) ? (a) : (b))
#define MAX(a, b)   ((a) > (b) ? (a) : (b))
#define NOT_READY_RETRY_INTERVAL   10
#define MINIMUM_RETRY_UNITS   ((LONGLONG)32)

Typedefs

typedef enum MEDIA_LOCK_TYPEPMEDIA_LOCK_TYPE
typedef enum
_CLASS_DETECTION_STATE * 
PCLASS_DETECTION_STATE

Enumerations

enum  MEDIA_LOCK_TYPE { SimpleMediaLock, SecureMediaLock, InternalMediaLock }
enum  CLASS_DETECTION_STATE { ClassDetectionUnknown = 0, ClassDetectionUnsupported = 1, ClassDetectionSupported = 2 }

Functions

static VOID SimpleInitSlistHdr (SINGLE_LIST_ENTRY *SListHdr)
static VOID SimplePushSlist (SINGLE_LIST_ENTRY *SListHdr, SINGLE_LIST_ENTRY *SListEntry)
static SINGLE_LIST_ENTRYSimplePopSlist (SINGLE_LIST_ENTRY *SListHdr)
static BOOLEAN SimpleIsSlistEmpty (SINGLE_LIST_ENTRY *SListHdr)
NTSTATUS DriverEntry (IN PDRIVER_OBJECT DriverObject, IN PUNICODE_STRING RegistryPath)
VOID ClassUnload (IN PDRIVER_OBJECT DriverObject)
NTSTATUS ClassCreateClose (IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
NTSTATUS ClasspCreateClose (IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
VOID ClasspCleanupProtectedLocks (IN PFILE_OBJECT_EXTENSION FsContext)
NTSTATUS ClasspEjectionControl (IN PDEVICE_OBJECT Fdo, IN PIRP Irp, IN MEDIA_LOCK_TYPE LockType, IN BOOLEAN Lock)
NTSTATUS ClassReadWrite (IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
NTSTATUS ClassDeviceControlDispatch (PDEVICE_OBJECT DeviceObject, PIRP Irp)
NTSTATUS ClassDeviceControl (PDEVICE_OBJECT DeviceObject, PIRP Irp)
NTSTATUS ClassDispatchPnp (PDEVICE_OBJECT DeviceObject, PIRP Irp)
NTSTATUS ClassPnpStartDevice (IN PDEVICE_OBJECT DeviceObject)
NTSTATUS ClassInternalIoControl (IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
NTSTATUS ClassShutdownFlush (IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
NTSTATUS ClassSystemControl (IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
NTSTATUS ClassAddDevice (IN PDRIVER_OBJECT DriverObject, IN OUT PDEVICE_OBJECT PhysicalDeviceObject)
NTSTATUS ClasspSendSynchronousCompletion (IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp, IN PVOID Context)
VOID RetryRequest (PDEVICE_OBJECT DeviceObject, PIRP Irp, PSCSI_REQUEST_BLOCK Srb, BOOLEAN Associated, ULONG RetryInterval)
NTSTATUS ClassIoCompletion (IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp, IN PVOID Context)
NTSTATUS ClassPnpQueryFdoRelations (IN PDEVICE_OBJECT Fdo, IN PIRP Irp)
NTSTATUS ClassRetrieveDeviceRelations (IN PDEVICE_OBJECT Fdo, IN DEVICE_RELATION_TYPE RelationType, OUT PDEVICE_RELATIONS *DeviceRelations)
NTSTATUS ClassGetPdoId (IN PDEVICE_OBJECT Pdo, IN BUS_QUERY_ID_TYPE IdType, IN PUNICODE_STRING IdString)
NTSTATUS ClassQueryPnpCapabilities (IN PDEVICE_OBJECT PhysicalDeviceObject, IN PDEVICE_CAPABILITIES Capabilities)
VOID ClasspStartIo (IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
NTSTATUS ClasspPagingNotificationCompletion (IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp, IN PDEVICE_OBJECT RealDeviceObject)
NTSTATUS ClasspMediaChangeCompletion (PDEVICE_OBJECT DeviceObject, PIRP Irp, PVOID Context)
PFILE_OBJECT_EXTENSION ClasspGetFsContext (IN PCOMMON_DEVICE_EXTENSION CommonExtension, IN PFILE_OBJECT FileObject)
NTSTATUS ClasspMcnControl (IN PFUNCTIONAL_DEVICE_EXTENSION FdoExtension, IN PIRP Irp, IN PSCSI_REQUEST_BLOCK Srb)
VOID ClasspRegisterMountedDeviceInterface (IN PDEVICE_OBJECT DeviceObject)
NTSTATUS ClasspDisableTimer (PDEVICE_OBJECT DeviceObject)
NTSTATUS ClasspEnableTimer (PDEVICE_OBJECT DeviceObject)
VOID InitializeDictionary (IN PDICTIONARY Dictionary)
BOOLEAN TestDictionarySignature (IN PDICTIONARY Dictionary)
NTSTATUS AllocateDictionaryEntry (IN PDICTIONARY Dictionary, IN ULONGLONG Key, IN ULONG Size, IN ULONG Tag, OUT PVOID *Entry)
PVOID GetDictionaryEntry (IN PDICTIONARY Dictionary, IN ULONGLONG Key)
VOID FreeDictionaryEntry (IN PDICTIONARY Dictionary, IN PVOID Entry)
NTSTATUS ClasspAllocateReleaseRequest (IN PDEVICE_OBJECT Fdo)
VOID ClasspFreeReleaseRequest (IN PDEVICE_OBJECT Fdo)
NTSTATUS ClassReleaseQueueCompletion (IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp, IN PVOID Context)
VOID ClasspReleaseQueue (IN PDEVICE_OBJECT DeviceObject, IN PIRP ReleaseQueueIrp)
VOID ClasspDisablePowerNotification (PFUNCTIONAL_DEVICE_EXTENSION FdoExtension)
NTSTATUS ClassDispatchPower (IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
NTSTATUS ClassMinimalPowerHandler (IN PDEVICE_OBJECT DeviceObject, IN PIRP Irp)
VOID ClassAddChild (IN PFUNCTIONAL_DEVICE_EXTENSION Parent, IN PPHYSICAL_DEVICE_EXTENSION Child, IN BOOLEAN AcquireLock)
PPHYSICAL_DEVICE_EXTENSION ClassRemoveChild (IN PFUNCTIONAL_DEVICE_EXTENSION Parent, IN PPHYSICAL_DEVICE_EXTENSION Child, IN BOOLEAN AcquireLock)
VOID ClasspRetryDpcTimer (IN PCLASS_PRIVATE_FDO_DATA FdoData)
VOID ClasspRetryRequestDpc (IN PKDPC Dpc, IN PDEVICE_OBJECT DeviceObject, IN PVOID Arg1, IN PVOID Arg2)
VOID ClassFreeOrReuseSrb (IN PFUNCTIONAL_DEVICE_EXTENSION FdoExtension, IN PSCSI_REQUEST_BLOCK Srb)
VOID ClassRetryRequest (IN PDEVICE_OBJECT SelfDeviceObject, IN PIRP Irp, IN LARGE_INTEGER TimeDelta100ns)
VOID ClasspBuildRequestEx (IN PFUNCTIONAL_DEVICE_EXTENSION Fdo, IN PIRP Irp, IN PSCSI_REQUEST_BLOCK Srb)
NTSTATUS ClasspAllocateReleaseQueueIrp (IN PFUNCTIONAL_DEVICE_EXTENSION FdoExtension)
NTSTATUS ClasspInitializeGesn (IN PFUNCTIONAL_DEVICE_EXTENSION FdoExtension, IN PMEDIA_CHANGE_DETECTION_INFO Info)
VOID ClasspSendNotification (IN PFUNCTIONAL_DEVICE_EXTENSION FdoExtension, IN const GUID *Guid, IN ULONG ExtraDataSize, IN PVOID ExtraData)
VOID ClassSendEjectionNotification (IN PFUNCTIONAL_DEVICE_EXTENSION FdoExtension)
VOID ClasspScanForSpecialInRegistry (IN PFUNCTIONAL_DEVICE_EXTENSION FdoExtension)
VOID ClasspScanForClassHacks (IN PFUNCTIONAL_DEVICE_EXTENSION FdoExtension, IN ULONG_PTR Data)
NTSTATUS ClasspInitializeHotplugInfo (IN PFUNCTIONAL_DEVICE_EXTENSION FdoExtension)
VOID ClasspPerfIncrementErrorCount (IN PFUNCTIONAL_DEVICE_EXTENSION FdoExtension)
VOID ClasspPerfIncrementSuccessfulIo (IN PFUNCTIONAL_DEVICE_EXTENSION FdoExtension)
PTRANSFER_PACKET NewTransferPacket (PDEVICE_OBJECT Fdo)
VOID DestroyTransferPacket (PTRANSFER_PACKET Pkt)
VOID EnqueueFreeTransferPacket (PDEVICE_OBJECT Fdo, PTRANSFER_PACKET Pkt)
PTRANSFER_PACKET DequeueFreeTransferPacket (PDEVICE_OBJECT Fdo, BOOLEAN AllocIfNeeded)
VOID SetupReadWriteTransferPacket (PTRANSFER_PACKET pkt, PVOID Buf, ULONG Len, LARGE_INTEGER DiskLocation, PIRP OriginalIrp)
VOID SubmitTransferPacket (PTRANSFER_PACKET Pkt)
NTSTATUS TransferPktComplete (IN PDEVICE_OBJECT NullFdo, IN PIRP Irp, IN PVOID Context)
VOID ServiceTransferRequest (PDEVICE_OBJECT Fdo, PIRP Irp)
VOID TransferPacketRetryTimerDpc (IN PKDPC Dpc, IN PVOID DeferredContext, IN PVOID SystemArgument1, IN PVOID SystemArgument2)
BOOLEAN InterpretTransferPacketError (PTRANSFER_PACKET Pkt)
BOOLEAN RetryTransferPacket (PTRANSFER_PACKET Pkt)
VOID EnqueueDeferredClientIrp (PCLASS_PRIVATE_FDO_DATA FdoData, PIRP Irp)
PIRP DequeueDeferredClientIrp (PCLASS_PRIVATE_FDO_DATA FdoData)
VOID InitLowMemRetry (PTRANSFER_PACKET Pkt, PVOID BufPtr, ULONG Len, LARGE_INTEGER TargetLocation)
BOOLEAN StepLowMemRetry (PTRANSFER_PACKET Pkt)
VOID SetupEjectionTransferPacket (TRANSFER_PACKET *Pkt, BOOLEAN PreventMediaRemoval, PKEVENT SyncEventPtr, PIRP OriginalIrp)
VOID SetupModeSenseTransferPacket (TRANSFER_PACKET *Pkt, PKEVENT SyncEventPtr, PVOID ModeSenseBuffer, UCHAR ModeSenseBufferLen, UCHAR PageMode, PIRP OriginalIrp)
VOID SetupDriveCapacityTransferPacket (TRANSFER_PACKET *Pkt, PVOID ReadCapacityBuffer, ULONG ReadCapacityBufferLen, PKEVENT SyncEventPtr, PIRP OriginalIrp)
PMDL BuildDeviceInputMdl (PVOID Buffer, ULONG BufferLen)
VOID FreeDeviceInputMdl (PMDL Mdl)
NTSTATUS InitializeTransferPackets (PDEVICE_OBJECT Fdo)
VOID DestroyAllTransferPackets (PDEVICE_OBJECT Fdo)

Variables

CLASSPNP_SCAN_FOR_SPECIAL_INFO ClassBadItems []
GUID ClassGuidQueryRegInfoEx

Generated on Mon May 28 2012 05:26:04 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.