书籍详情
Windows 2000驱动程序开发大全
作者:(美)Microsoft Corporation著;冯博琴等译
出版社:机械工业出版社
出版时间:2001-01-01
ISBN:9787111089544
定价:¥199.00
购买这本书可以去
内容简介
本书为“Windows 2000驱动程序开发大全”的第1卷—设计指南。全书分五篇全面详尽地介绍了编写Windows 2000/98驱动程序所需的技术内容。包括利用Windows Driver Verifier构建、测试和调试Windows 2000驱动程序;怎样生成Windows Driver Model(WDM)驱动程序;描述了如何支持即插即用、电源管理特性及设备的设置和安装;详细介绍了编写内核模式、图形和网络驱动程序的细节。由于篇幅所限,DDK (Driver Development Kit)文档中有少部分内容没有包含在本套书中,但随套书附赠的光盘(见套书第2卷)中包含了DDK文档的完整信息。
作者简介
暂缺《Windows 2000驱动程序开发大全》作者简介
目录
译者序
第一篇 即插即用、电源管理和设置驱动程序开发参考
第一部分 即插即用
第1章 即插即用例程
设备信息例程
注册例程
设备接口例程
PnP通知例程
删除锁例程
其他PnP例程
IoAcquireRemoveLock
IoAcquireRemoveLockEx
IoAdjustPagingPathCount
IoGetDeviceInterfaceAlias
IoGetDeviceInterfaces
IoGetDeviceProperty
IoInitializeRemoveLock
IoInitializeRemoveLockEx
IoInvalidateDeviceRelations
IoInvalidateDeviceState
IoOpenDeviceInterfaceRegistryKey
IoOpenDeviceRegistryKey
IoRegisterDeviceInterface
IoRegisterPlugPlayNotification
IoReleaseRemoveLock
IoReleaseRemoveLockEx
IoReleaseRemoveLockAndWait
IoReleaseRemoveLockAndWaitEx
IoReportDetectedDevice
IoReportResourceForDetection
IoReportTargetDeviceChange
IoReportTargetDeviceChangeAsynchronous
IoRequestDeviceEject
IoSetDeviceInterfaceState
IoUnregisterPlugPlayNotification
第2章 即插即用IRP
IRP_MN_CANCEL_REMOVE_DEVICE
IRP_MN_CANCEL_STOP_DEVICE
IRP_MN_DEVICE_USAGE_NOTIFICATION
IRP_MN_EJECT
IRP_MN_FILTER_RESOURCE_REQUIREMENTS
IRP_MN_QUERY_BUS_INFORMATION
IRP_MN_QUERY_CAPABILITIES
IRP_MN_QUERY_DEVICE_RELATIONS
IRP_MN_QUERY_DEVICE_TEXT
IRP_MN_QUERY_ID
IRP_MN_QUERY_INTERFACE
IRP_MN_QUERY_LEGACY_BUS_INFORMATION
IRP_MN_QUERY_PNP_DEVICE_STATE
IRP_MN_QUERY_REMOVE_DEVICE
IRP_MN_QUERY_RESOURCE_REQUIREMENTS
IRP_MN_QUERY_RESOURCES
IRP_MN_QUERY_STOP_DEVICE
IRP_MN_READ_CONFIG
IRP_MN_REMOVE_DEVICE
IRP_MN_SET_LOCK
IRP_MN_START_DEVICE
IRP_MN_STOP_DEVICE
IRP_MN_SURPRISE_REMOVAL
IRP_MN_WRITE_CONFIG
第3章 即插即用结构
DEVICE_CAPABILITIES
DEVICE_INTERFACE_CHANGE_NOTIFICATION
HWPROFILE_CHANGE_NOTIFICATION
LPGUID
PLUGPLAY_NOTIFICATION_HEADER
PNP_DEVICE_STATE
TARGET_DEVICE_CUSTOM_NOTIFICATION
TARGET_DEVICE_REMOVAL_NOTIFICATION
第二部分 电源管理
第4章 电源管理支持例程
PoCallDriver
PoRegisterDeviceForIdleDetection
PoRegisterSystemState
PoRequestPowerIrp
PoSetDeviceBusy
PoSetPowerState
PoSetSystemState
PoStartNextPowerIrp
PoUnregisterSystemState
第5章 电源管理的I/O请求
IRP_MN_POWER_SEQUENCE
IRP_MN_QUERY_POWER
IRP_MN_SET_POWER
IRP_MN_WAIT_WAKE
第6章 电池类驱动程序例程
BatteryClassInitializeDevice
BatteryClassIoctl
BatteryClassStatusNotify
BatteryClassUnload
第7章 电池微类驱动程序例程
BatteryMiniDisableStatusNotify
BatteryMiniQueryInformation
BatteryMiniQueryStatus
BatteryMiniQueryTag
BatteryMiniSetInformation
BatteryMiniSetStatusNotify
第8章 电池结构
BATTERY_INFORMATION
BATTERY_MANUFACTURE_DATE
BATTERY_REPORTING_SCALE
第三部分 设置
第9章 INF文件节和命令
INF文件的通用语法规则
一个INF文件样例
INF节摘要
INF命令摘要
INF Version 节
INF SourceDisksNames 节
INF SourceDisksFiles 节
INF ClassInstall32 节
INF DestinationDirs 节
INF ControlFlags 节
INF Manufacturer 节
INF Models 节
INF DDInstall 节
INF DDInstall.Services 节
INF DDInstall.HW节
INF DDInstall.CoInstallers 节
INF DDInstall.Interfaces 节
INF InterfaceInstall32节
INF DDInstall.FactDef 节
INF Strings 节
INF AddReg 命令
INF DelReg 命令
INF CopyFiles 命令
INF DelFiles 命令
INF RenFiles 命令
INF AddService 命令
INF DelService 命令
INF AddInterface 命令
INF BitReg 命令
INF LogConfig 命令
INF ProfileItems 命令
INF UpdateInis 命令
INF UpdateIniFields 命令
INF Ini2Reg 命令
第10章 安装函数
INF 文件处理函数
磁盘提示和错误处理函数
文件队列函数
缺省队列回调例程函数
文件箱函数
磁盘空间列表函数
最常用源列表函数
日志文件函数
第11章 设备安装函数
更新驱动程序函数
SetupDi 设备信息函数
SetupDi 驱动程序信息函数
SetupDi 驱动程序选择函数
SetupDi 设备安装处理程序
SetupDi 设备安装定制函数
SetupDi 安装类函数
SetupDi 类位图和图标函数
SetupDi 设备接口函数
SetupDi 注册函数
其他SetupDi函数
SetupDiAskForOEMDisk
SetupDiBuildClassInfoList
SetupDiBuildClassInfoListEx
SetupDiBuildDriverInfoList
SetupDiCallClassInstaller
SetupDiCancelDriverInfoSearch
SetupDiChangeState
SetupDiClassGuidsFromName
SetupDiClassGuidsFromNameEx
SetupDiClassNameFromGuid
SetupDiClassNameFromGuidEx
SetupDiCreateDeviceInfo
SetupDiCreateDeviceInfoList
SetupDiCreateDeviceInfoListEx
SetupDiCreateDeviceInterface
SetupDiCreateDeviceInterfaceRegKey
SetupDiCreateDevRegKey
SetupDiDeleteDeviceInfo
SetupDiDeleteDeviceInterfaceData
SetupDiDeleteDeviceInterfaceRegKey
SetupDiDeleteDevRegKey
SetupDiDestroyClassImageList
SetupDiDestroyDeviceInfoList
SetupDiDestroyDriverInfoList
SetupDiDrawMiniIcon
SetupDiEnumDeviceInfo
SetupDiEnumDeviceInterfaces
SetupDiEnumDriverInfo
SetupDiGetActualSectionToInstall
SetupDiGetClassBitmapIndex
SetupDiGetClassDescription
SetupDiGetClassDescriptionEx
SetupDiGetClassDevs
SetupDiGetClassDevsEx
SetupDiGetClassImageIndex
SetupDiGetClassImageList
SetupDiGetClassImageListEx
SetupDiGetClassInstallParams
SetupDiGetDeviceInfoListClass
SetupDiGetDeviceInfoListDetail
SetupDiGetDeviceInstallParams
SetupDiGetDeviceInstanceId
SetupDiGetDeviceInterfaceAlias
SetupDiGetDeviceInterfaceDetail
SetupDiGetDeviceRegistryProperty
SetupDiGetDriverInfoDetail
SetupDiGetDriverInstallParams
SetupDiGetHwProfileFriendlyName
SetupDiGetHwProfileFriendlyNameEx
SetupDiGetHwProfileList
SetupDiGetHwProfileListEx
SetupDiGetINFClass
SetupDiGetSelectedDevice
SetupDiGetSelectedDriver
SetupDiGetWizardPage
SetupDiInstallClass
SetupDiInstallClassEx
SetupDiInstallDevice
SetupDiInstallDeviceInterfaces
SetupDiInstallDriverFiles
SetupDiLoadClassIcon
SetupDiMoveDuplicateDevice
SetupDiOpenClassRegKey
SetupDiOpenClassRegKeyEx
SetupDiOpenDeviceInfo
SetupDiOpenDeviceInterface
SetupDiOpenDeviceInterfaceRegKey
SetupDiOpenDevRegKey
SetupDiRegisterCoDeviceInstallers
SetupDiRegisterDeviceInfo
SetupDiRemoveDevice
SetupDiRemoveDeviceInterface
SetupDiSelectBestCompatDrv
SetupDiSelectDevice
SetupDiSelectOEMDrv
SetupDiSetClassInstallParams
SetupDiSetDeviceInstallParams
SetupDiSetDeviceRegistryProperty
SetupDiSetDriverInstallParams
SetupDiSetSelectedDevice
SetupDiSetSelectedDriver
SetupDiUnremoveDevice
UpdateDriverForPlugAndPlayDevices
第12章 设备安装结构
SP_ADDPROPERTYPAGE_DATA
SP_CLASSIMAGELIST_DATA
SP_CLASSINSTALL_HEADER
SP_DETECTDEVICE_PARAMS
SP_DEVICE_INTERFACE_DATA
SP_DEVICE_INTERFACE_DETAIL_DATA
SP_DEVINFO_DATA
SP_DEVINFO_LIST_DETAIL_DATA
SP_DEVINSTALL_PARAMS
SP_DRVINFO_DATA
SP_DRVINFO_DETAIL_DATA
SP_DRVINSTALL_PARAMS
SP_ENABLECLASS_PARAMS
SP_INSTALLWIZARD_DATA
SP_MOVEDEV_PARAMS
SP_NEWDEVICEWIZARD_DATA
SP_POWERMESSAGEWAKE_PARAMS
SP_PROPCHANGE_PARAMS
SP_PROPSHEETPAGE_REQUEST
SP_REMOVEDEVICE_PARAMS
SP_SELECTDEVICE_PARAMS
SP_TROUBLESHOOTER_PARAMS
SP_UNREMOVEDEVICE_PARAMS
第13章 设备安装函数代码
DIF_ADDPROPERTYPAGE_ADVANCED
DIF_ALLOW_INSTALL
DIF_DESTROYPRIVATEDATA
DIF_DETECT
DIF_INSTALLDEVICE
DIF_INSTALLDEVICEFILES
DIF_INSTALLINTERFACES
DIF_NEWDEVICEWIZARD_FINIS_HINSTALL
DIF_NEWDEVICEWIZARD_POSTA_NALYZE
DIF_NEWDEVICEWIZARD_PREA_NALYZE
DIF_NEWDEVICEWIZARD_PRESELECT
DIF_NEWDEVICEWIZARD_SELECT
DIF_POWERMESSAGEWAKE
DIF_PROPERTYCHANGE
DIF_REGISTER_COINSTALLERS
DIF_REGISTERDEVICE
DIF_REMOVE
DIF_SELECTBESTCOMPATDRV
DIF_SELECTDEVICE
DIF_TROUBLESHOOTER
DIF_UNREMOVE
保留的DIF代码
DIF_ADDPROPERTYPAGE_BASIC
DIF_ASSIGNRESOURCES
DIF_CALCDISKSPACE
DIF_DETECTCANCEL
DIF_DETECTVERIFY
DIF_ENABLECLASS
DIF_FIRSTTIMESETUP
DIF_FOUNDDEVICE
DIF_INSTALLCLASSDRIVERS
DIF_MOVEDEVICE
废弃的DIF代码
DIF_DESTROYWIZARDDATA
DIF_INSTALLWIZARD
DIF_PROPERTIES
DIF_SELECTCLASSDRIVERS
DIF_VALIDATECLASSDRIVERS
DIF_VALIDATEDRIVER
第14章 PnP配置管理程序函数
CM_Add_Empty_Log_Conf
CM_Add_Empty_Log_Conf_Ex
CM_Add_ID
CM_Add_ID_Ex
CM_Add_Res_Des
CM_Add_Res_Des_Ex
CM_Connect_Machine
CM_Disconnect_Machine
CM_Enumerate_Classes
CM_Enumerate_Classes_Ex
CM_Enumerate_Enumerators
CM_Enumerate_Enumerators_Ex
CM_Free_Log_Conf
CM_Free_Log_Conf_Ex
CM_Free_Log_Conf_Handle
CM_Free_Res_Des
CM_Free_Res_Des_Ex
CM_Free_Res_Des_Handle
CM_Free_Resource_Conflict_Handle
CM_Get_Child
CM_Get_Child_Ex
CM_Get_Depth
CM_Get_Depth_Ex
CM_Get_Device_ID
CM_Get_Device_ID_Ex
CM_Get_Device_ID_List
CM_Get_Device_ID_List_Ex
CM_Get_Device_ID_List_Size
CM_Get_Device_ID_List_Size_Ex
CM_Get_Device_ID_Size
CM_Get_Device_ID_Size_Ex
CM_Get_DevNode_Status
CM_Get_DevNode_Status_Ex
CM_Get_First_Log_Conf
CM_Get_First_Log_Conf_Ex
CM_Get_Log_Conf_Priority
CM_Get_Log_Conf_Priority_Ex
CM_Get_Next_Log_Conf
CM_Get_Next_Log_Conf_Ex
CM_Get_Next_Res_Des
CM_Get_Next_Res_Des_Ex
CM_Get_Parent
CM_Get_Parent_Ex
CM_Get_Res_Des_Data
CM_Get_Res_Des_Data_Ex
CM_Get_Res_Des_Data_Size
CM_Get_Res_Des_Data_Size_Ex
CM_Get_Resource_Conflict_Count
CM_Get_Resource_Conflict_Details
CM_Get_Sibling
CM_Get_Sibling_Ex
CM_Get_Version
CM_Get_Version_Ex
CM_Locate_DevNode
CM_Locate_DevNode_Ex
CM_Modify_Res_Des
CM_Modify_Res_Des_Ex
CM_Query_Resource_Conflict_List
CM_Reenumerate_DevNode
CM_Reenumerate_DevNode_Ex
CM_Request_Device_Eject
CM_Request_Device_Eject_Ex
第15章 PnP配置管理程序结构和类型
资源描述符结构
BUSNUMBER_DES
BUSNUMBER_RANGE
BUSNUMBER_RESOURCE
CS_DES
CS_RESOURCE
DEVPRIVATE_DES
DEVPRIVATE_RANGE
DEVPRIVATE_RESOURCE
DMA_DES
DMA_RANGE
DMA_RESOURCE
IO_DES
IO_RANGE
IO_RESOURCE
IRQ_DES
IRQ_RANGE
IRQ_RESOURCE
MEM_DES
MEM_RANGE
MEM_RESOURCE
MFCARD_DES
MFCARD_RESOURCE
PCCARD_DES
PCCARD_RESOURCE
其他的结构
CONFLICT_DETAILS
PnP 配置管理程序类型
PNP_VETO_TYPE
第16章 设备安装类
第17章 txtsetup.oem文件格式
txtsetup.oem文件中的Disks节
txtsetup.oem文件中的Defaults节
txtsetup.oem 文件中的HwComponent节
txtsetup.oem 文件中的Files.HwComponent.ID节
txtsetup.oem 文件中的Config.DriverKey节
txtsetup.oem 文件中的HardwareIds.scsi.Service节
第二篇 内核模式驱动程序开发参考
第一部分 内核模式支持例程
第1章 内核模式支持例程概述
初始化和卸载
IRP
同步
内存
DMA
PIO
驱动程序管理队列
驱动程序系统线程
串
数据转换
访问驱动程序管理的对象
错误处理
第2章 可执行支持例程
ExAcquireFastMutex
ExAcquireFastMutexUnsafe
ExAcquireResourceExclusive
ExAcquireResourceExclusiveLite
ExAcquireResourceShared
ExAcquireResourceSharedLite
ExAcquireSharedStarveExclusive
ExAcquireSharedWaitForExclusive
ExAllocateFromNPagedLookasideList
ExAllocateFromPagedLookasideList
ExAllocateFromZone
ExAllocatePool
ExAllocatePoolWithQuota
ExAllocatePoolWithQuotaTag
ExAllocatePoolWithTag
ExAllocatePoolWithTagPriority
ExConvertExclusiveToShared
ExConvertExclusiveToSharedLite
ExCreateCallback
ExDeleteNPagedLookasideList
ExDeletePagedLookasideList
ExDeleteResource
ExDeleteResourceLite
ExExtendZone
ExFreePool
ExFreeToNPagedLookasideList
ExFreeToPagedLookasideList
ExFreeToZone
ExGetCurrentResourceThread
ExGetExclusiveWaiterCount
ExGetPreviousMode
ExGetSharedWaiterCount
ExInitializeFastMutex
ExInitializeNPagedLookasideList
ExInitializePagedLookasideList
ExInitializeResource
ExInitializeResourceLite
ExInitializeSListHead
ExInitializeWorkItem
ExInitializeZone
ExInterlockedAddLargeInteger
ExInterlockedAddLargeStatistic
ExInterlockedAddUlong
ExInterlockedAllocateFromZone
ExInterlockedCompareExchange64
ExInterlockedDecrementLong
ExInterlockedExchangeAddLargeInteger
ExInterlockedExchangeUlong
ExInterlockedExtendZone
ExInterlockedFlushSList
ExInterlockedFreeToZone
ExInterlockedIncrementLong
ExInterlockedInsertHeadList
ExInterlockedInsertTailList
ExInterlockedPopEntryList
ExInterlockedPopEntrySList
ExInterlockedPushEntryList
ExInterlockedPushEntrySList
ExInterlockedRemoveHeadList
ExIsFullZone
ExIsObjectInFirstZoneSegment
ExIsProcessorFeaturePresent
ExIsResourceAcquiredExclusive
ExIsResourceAcquiredExclusiveLite
ExIsResourceAcquiredSharedLite
ExLocalTimeToSystemTime
ExNotifyCallback
ExQueryDepthSList
ExQueueWorkItem
ExRaiseAccessViolation
ExRaiseDatatypeMisalignment
ExRaiseStatus
ExRegisterCallback
ExReinitializeResourceLite
ExReleaseFastMutex
ExReleaseFastMutexUnsafe
ExReleaseResource
ExReleaseResourceForThread
ExReleaseResourceForThreadLite
ExReleaseResourceLite
ExSetResourceOwnerPointer
ExSetTimerResolution
ExSystemTimeToLocalTime
ExTryToAcquireFastMutex
ExTryToAcquireResourceExclusiveLite
ExUnregisterCallback
ExUnidCreate
InterlockedCompareExchange
InterlockedCompareExchangePointer
InterlockedDecrement
InterlockedExchange
InterlockedExchangeAdd
InterlockedExchangePointer
InterlockedIncrement
PAGED_CODE
ProbeForRead
ProbeForWrite
第3章 硬件抽象层例程
AllocateAdapterChannel
AllocateCommonBuffer
FlushAdapterBuffers
FreeAdapterChannel
FreeCommonBuffer
FreeMapRegisters
GetDmaAlignment
GetScatterGatherList
HalAllocateCommonBuffer
HalAssignSlotResources
HalExamineMBR
HalFreeCommonBuffer
HalGetAdapter
HalGetBusData
HalGetBusDataByOffset
HalGetDmaAlignmentRequirement
HalGetInterruptVector
HalReadDmaCounter
HalSetBusData
HalSetBusDataByOffset
HalTranslateBusAddress
MapTransfer
PutDmaAdapter
PutScatterGatherList
ReadDmaCounter
READ_PORT_BUFFER_UCHAR
READ_PORT_BUFFER_ULONG
READ_PORT_BUFFER_USHORT
READ_PORT_UCHAR
READ_PORT_ULONG
READ_PORT_USHORT
READ_REGISTER_BUFFER_UCHAR
READ_REGISTER_BUFFER_ULONG
READ_REGISTER_BUFFER_USHORT
READ_REGISTER_UCHAR
READ_REGISTER_ULONG
READ_REGISTER_USHORT
WRITE_PORT_BUFFER_UCHAR
WRITE_PORT_BUFFER_ULONG
WRITE_PORT_BUFFER_USHORT
WRITE_PORT_UCHAR
WRITE_PORT_ULONG
WRITE_PORT_USHORT
WRITE_REGISTER_BUFFER_UCHAR
WRITE_REGISTER_BUFFER_ULONG
WRITE_REGISTER_BUFFER_USHORT
WRITE_REGISTER_UCHAR
WRITE_REGISTER_ULONG
WRITE_REGISTER_USHORT
第4章 I/O 管理程序例程
IoAcquireCancelSpinLock
IoAcquireRemoveLock
IoAcquireRemoveLockEx
IoAdjustPagingPathCount
IoAllocateAdapterChannel
IoAssignArcName
IoAssignResources
IoAttachDevice
IoAttachDeviceByPointer
IoAttachDeviceToDeviceStack
IoBuildAsynchronousFsdRequest
IoBuildDeviceIoControlRequest
IoBuildPartialMdl
IoBuildSynchronousFsdRequest
IoCallDriver
IoCancelIrp
IoCheckShareAccess
IoCompleteRequest
IoConnectInterrupt
IoCopyCurrentIrpStackLocationToNext
IoCreateController
IoCreateDevice
IoCreateFile
IoCreateNotificationEvent
IoCreateSymbolicLink
IoCreateSynchronizationEvent
IoCreateUnprotectedSymbolicLink
IoDeassignArcName
IoDeleteController
IoDeleteDevice
IoDeleteSymbolicLink
IoFreeAdapterChannel
IoFreeController
IoFreeIrp
IoFreeMapRegisters
IoFreeMdl
IoFreeWorkItem
IoGetAttachedDeviceReference
IoGetBootDiskInformation
IoGetConfigurationInformation
IoGetCurrentIrpStackLocation
IoGetCurrentProcess
IoGetDeviceInterfaceAlias
IoGetDeviceInterfaces
IoGetDeviceObjectPointer
IoGetDeviceProperty
IoGetDeviceToVerify
IoGetDmaAdapter
IoGetDriverObjectExtension
IoGetFileObjectGenericMapping
IoGetFunctionCodeFromCtlCode
IoGetInitialStack
IoGetNextIrpStackLocation
IoGetRelatedDeviceObject
IoGetRemainingStackSize
IoGetStackLimits
IoInitializeDpcRequest
IoInitializeIrp
IoInitializeRemoveLock
IoInitializeRemoveLockEx
IoInitializeTimer
IoInvalidateDeviceRelations
IoInvalidateDeviceState
IoIsErrorUserInduced
IoIsWdmVersionAvailable
IoMakeAssociatedIrp
IoMapTransfer
IoMarkIrpPending
IoOpenDeviceInterfaceRegistryKey
IoOpenDeviceRegistryKey
IoQueryDeviceDescription
IoQueueWorkItem
IoRaiseHardError
IoRaiseInformationalHardError
IoReadPartitionTable
IoRegisterDeviceInterface
IoRegisterDriverReinitialization
IoRegisterPlugPlayNotification
IoRegisterShutdownNotification
IoReleaseCancelSpinLock
IoReleaseRemoveLock
IoReleaseRemoveLockEx
IoReleaseRemoveLockAndWait
IoReleaseRemoveLockAndWaitEx
IoRemoveShareAccess
IoReportDetectedDevice
IoReportResourceForDetection
IoReportResourceUsage
IoReportTargetDeviceChange
IoReportTargetDeviceChangeAsynchronous
IoRequestDeviceEject
IoRequestDpc
IoReuseIrp
IoSetCancelRoutine
IoSetCompletionRoutine
IoSetDeviceInterfaceState
IoSetHardErrorOrVerifyDevice
IoSetNextIrpStackLocation
IoSetPartitionInformation
IoSetShareAccess
IoSetThreadHardErrorMode
IoSizeOfIrp
IoSkipCurrentIrpStackLocation
IoStartNextPacket
IoStartNextPacketByKey
IoStartPacket
IoStartTimer
IoStopTimer
IoUnregisterPlugPlayNotification
IoUnregisterShutdownNotification
IoUpdateShareAccess
IoWMIAllocateInstanceIds
IoWMIDeviceObjectToProviderId
IoWMIRegistrationControl
IoWMISuggestInstanceName
IoWMIWriteEvent
IoWriteErrorLogEntry
IoWritePartitionTable
第5章 内核例程
KeAcquireSpinLock
KeAcquireSpinLockAtDpcLevel
KeBugCheck
KeBugCheckEx
KeCancelTimer
KeClearEvent
KeDelayExecutionThread
KeDeregisterBugCheckCallback
KeEnterCriticalRegion
KeFlushIoBuffers
KeGetCurrentIrql
KeGetCurrentProcessorNumber
KeGetCurrentThread
KeGetDcacheFillSize
KeInitializeCallbackRecord
KeInitializeDeviceQueue
KeInitializeDpc
KeInitializeEvent
KeInitializeMutex
KeInitializeSemaphore
KeInitializeSpinLock
KeInitializeTimer
KeInitializeTimerEx
KeInsertByKeyDeviceQueue
KeInsertDeviceQueue
KeInsertQueueDpc
KeLeaveCriticalRegion
KeLowerIrql
KePulseEvent
KeQueryInterruptTime
KeQueryPerformanceCounter
KeQueryPriorityThread
KeQuerySystemTime
KeQueryTickCount
KeQueryTimeIncrement
KeRaiseIrql
KeRaiseIrqlToDpcLevel
KeReadStateEvent
KeReadStateMutex
KeReadStateSemaphore
KeReadStateTimer
KeRegisterBugCheckCallback
KeReleaseMutex
KeReleaseSemaphore
KeReleaseSpinLock
KeReleaseSpinLockFromDpcLevel
KeRemoveByKeyDeviceQueue
KeRemoveDeviceQueue
KeRemoveEntryDeviceQueue
KeRemoveQueueDpc
KeResetEvent
KeRestoreFloatingPointState
KeSaveFloatingPointState
KeSetBasePriorityThread
KeSetEvent
KeSetImportanceDpc
KeSetTargetProcessorDpc
KeSetPriorityThread
KeSetTimer
KeSetTimerEx
KeStallExecutionProcessor
KeSynchronizeExecution
KeWaitForMultipleObjects
KeWaitForMutexObject
KeWaitForSingleObject
第6章 内存管理程序例程
ADDRESS_AND_SIZE_TO_SPAN_PAGES
ARGUMENT_PRESENT
BYTE_OFFSET
BYTES_TO_PAGES
COMPUTE_PAGES_SPANNED
CONTAINING_RECORD
FIELD_OFFSET
MmAllocateContiguousMemory
MmAllocateContiguousMemorySpecifyCache
MmAllocateNonCachedMemory
MmAllocatePagesForMdl
MmBuildMdlForNonPagedPool
MmCreateMdl
MmFreeContiguousMemory
MmFreeContiguousMemorySpecityCache
MmFreeNonCachedMemory
MmFreePagesFromMdl
MmGetMdlByteCount
MmGetMdlByteOffset
MmGetMdlPfnArray
MmGetMdlVirtualAddress
MmGetPhysicalAddress
MmGetSystemAddressForMdl
MmGetSystemAddressForMdlSafe
MmInitializeMdl
MmIsAddressValid
MmIsNonPagedSystemAddressValid
MmIsThisAnNtAsSystem
MmLockPagableCodeSection
MmLockPagableDataSection
MmLockPagableSectionByHandle
MmMapIoSpace
MmMapLockedPages
MmMapLockedPagesSpecifyCache
MmPageEntireDriver
MmResetDriverPaging
MmPrepareMdlForReuse
MmProbeAndLockPages
MmQuerySystemSize
MmSizeOfMdl
MmUnlockPages
MmUnlockPagableImageSection
MmUnmapIoSpace
MmUnmapLockedPages
PAGE_ALIGN
ROUND_TO_PAGES
第7章 对象管理程序例程
ObDereferenceObject
ObGetObjectSecurity
ObReferenceObject
ObReferenceObjectByHandle
ObReferenceObjectByPointer
ObReleaseObjectSecurity
第8章 进程结构例程
PsCreateSystemThread
PsGetCurrentProcess
PsGetCurrentProcessId
PsGetCurrentThread
PsGetCurrentThreadId
PsGetVersion
PsSetCreateProcessNotifyRoutine
PsSetCreateThreadNotifyRoutine
PsSetLoadImageNotifyRoutine
PsTerminateSystemThread
第9章 运行时库例程
InitializeListHead
InitializeObjectAttributes
InsertHeadList
InsertTailList
IsListEmpty
PopEntryList
PushEntryList
RemoveEntryList
RemoveHeadList
RemoveTailList
RtlAnsiStringToUnicodeSize
RtlAnsiStringToUnicodeString
RtlAppendUnicodeStringToString
RtlAppendUnicodeToString
RtlAreBitsClear
RtlAreBitsSet
RtlCharToInteger
RtlCheckBit
RtlCheckRegistryKey
RtlClearAllBits
RtlClearBits
RtlCompareMemory
RtlCompareString
RtlCompareUnicodeString
RtlConvertLongToLargeInteger
RtlConvertLongToLuid
RtlConvertUlongToLargeInteger
RtlConvertUlongToLuid
RtlCopyBytes
RtlCopyMemory
RtlCopyMemory32
RtlCopyString
RtlCopyUnicodeString
RtlCreateRegistryKey
RtlCreateSecurityDescriptor
RtlDeleteRegistryValue
RtlEnlargedIntegerMultiply
RtlEnlargedUnsignedDivide
RtlEnlargedUnsignedMultiply
RtlEqualLuid
RtlEqualMemory
RtlEqualString
RtlEqualUnicodeString
RtlExtendedIntegerMultiply
RtlExtendedLargeIntegerDivide
RtlExtendedMagicDivide
RtlFillBytes
RtlFillMemory
RtlFindClearBits
RtlFindClearBitsAndSet
RtlFindClearRuns
RtlFindFirstRunClear
RtlFindLastBackwardRunClear
RtlFindLeastSignificantBit
RtlFindMostSignificantBit
RtlFindLongestRunClear
RtlFindNextForwardRunClear
RtlFindSetBits
RtlFindSetBitsAndClear
RtlFreeAnsiString
RtlFreeUnicodeString
RtlGetVersion
RtlGUIDFromString
RtlInitAnsiString
RtlInitializeBitMap
RtlInitString
RtlInitUnicodeString
RtlInt64ToUnicodeString
RtlIntegerToUnicodeString
RtlIntPtrToUnicodeString
RtlLargeIntegerAdd
RtlLargeIntegerAnd
RtlLargeIntegerArithmeticShift
RtlLargeIntegerDivide
RtlLargeIntegerEqualTo
RtlLargeIntegerEqualToZero
RtlLargeIntegerGreaterThan
RtlLargeIntegerGreaterThanOrEqualTo
RtlLargeIntegerGreaterOrEqualToZero
RtlLargeIntegerGreaterThanZero
RtlLargeIntegerLessThan
RtlLargeIntegerLessThanOrEqualTo
RtlLargeIntegerLessOrEqualToZero
RtlLargeIntegerLessThanZero
RtlLargeIntegerNegate
RtlLargeIntegerNotEqualTo
RtlLargeIntegerNotEqualToZero
RtlLargeIntegerShiftLeft
RtlLargeIntegerShiftRight
RtlLargeIntegerSubtract
RtlLengthSecurityDescriptor
RtlMoveMemory
RtlNumberOfClearBits
RtlNumberOfSetBits
RtlPrefixUnicodeString
RtlQueryRegistryValues
RtlRetrieveUlong
RtlRetrieveUshort
RtlSetAllBits
RtlSetBits
RtlSetDaclSecurityDescriptor
RtlStoreUlong
RtlStoreUlonglong
RtlStoreUlongPtr
RtlStoreUshort
RtlStringFromGUID
RtlTimeFieldsToTime
RtlTimeToTimeFields
RtlUlongByteSwap
RtlUlonglongByteSwap
RtlUnicodeStringToAnsiSize
RtlUnicodeStringToAnsiString
RtlUnicodeStringToInteger
RtlUpcaseUnicodeChar
RtlUpcaseUnicodeString
RtlUpperChar
RtlUpperString
RtlUshortByteSwap
RtlValidSecurityDescriptor
RtlVerifyVersionInfo
RtlVolumeDeviceToDosName
RtlWriteRegistryValue
RtlxUnicodeStringToAnsiSize
RtlZeroBytes
RtlZeroMemory
第10章 安全引用监视器例程
SeAccessCheck
SeAssignSecurity
SeAssignSecurityEx
SeDeassignSecurity
SeSinglePrivilegeCheck
SeValidSecurityDescriptor
第11章 ZwXxx例程
ZwClose
ZwCreateDirectoryObject
ZwCreateFile
ZwCreateKey
ZwDeleteKey
ZwEnumerateKey
ZwEnumerateValueKey
ZwFlushKey
ZwMakeTemporaryObject
ZwMapViewOfSection
ZwOpenFile
ZwOpenKey
ZwOpenSection
ZwOpenSymbolicLinkObject
ZwQueryInformationFile
ZwQueryKey
ZwQuerySymbolicLinkObject
ZwQueryValueKey
ZwReadFile
ZwSetInformationFile
ZwSetInformationThread
ZwSetValueKey
ZwUnmapViewOfSection
ZwWriteFile
第12章 系统结构
ANSI_STRING
CM_EISA_FUNCTION_INFORMATION
CM_EISA_SLOT_INFORMATION
CM_FLOPPY_DEVICE_DATA
CM_FULL_RESOURCE_DESCRIPTOR
CM_INT13_DRIVE_PARAMETER
CM_KEYBOARD_DEVICE_DATA
CM_MCA_POS_DATA
CM_PARTIAL_RESOURCE_DESCRIPTOR
CM_PARTIAL_RESOURCE_LIST
CM_RESOURCE_LIST
CM_SCSI_DEVICE_DATA
CM_SERIAL_DEVICE_DATA
CONTROLLER_OBJECT
DEVICE_DESCRIPTION
DEVICE_OBJECT
DMA_ADAPTER
DMA_OPERATIONS
DRIVER_OBJECT
FILE_ALIGNMENT_INFORMATION
FILE_BASIC_INFORMATION
FILE_DISPOSITION_INFORMATION
FILE_END_OF_FILE_INFORMATION
FILE_FS_DEVICE_INFORMATION
FILE_FULL_EA_INFORMATION
FILE_NAME_INFORMATION
FILE_OBJECT
FILE_POSITION_INFORMATION
FILE_STANDARD_INFORMATION
IO_RESOURCE_DESCRIPTOR
IO_RESOURCE_LIST
IO_RESOURCE_REQUIREMENTS_LIST
IO_STACK_LOCATION
IO_STATUS_BLOCK
IRP
KEY_BASIC_INFORMATION
KEY_FULL_INFORMATION
KEY_NODE_INFORMATION
KEY_VALUE_BASIC_INFORMATION
KEY_VALUE_FULL_INFORMATION
KEY_VALUE_PARTIAL_INFORMATION
OEM_STRING
PCI_COMMON_CONFIG
PCI_SLOT_NUMBER
POOL_TYPE
RTL_OSVERSIONINFOW
RTL_OSVERSIONINFOEXW
SCATTER_GATHER_LIST
UNICODE_STRING
第13章 IRP函数代码和IOCTL
根据设备对象类型决定需要的I/O支持
公共I/O请求的输入和输出参数
IRP_MJ_CLEANUP
IRP_MJ_CLOSE
IRP_MJ_CREATE
IRP_MJ_DEVICE_CONTROL
IRP_MJ_FLUSH_BUFFERS
IRP_MJ_INTERNAL_DEVICE_CONTROL
IRP_MJ_PNP
IRP_MJ_POWER
IRP_MJ_READ
IRP_MJ_SHUTDOWN
IRP_MJ_WRITE
定义I/O控制代码
设备类型专有的I/O请求
第二部分 串行和并行接口驱动程序
第14章 串行接口驱动程序参考
Serial主要I/O请求
IRP_MJ_CREATE
IRP_MJ_DEVICE_CONTROL
IRP_MJ_FLUSH_BUFFERS
IRP_MJ_INTERNAL_DEVICE_CONTROL
IRP_MJ_PNP
IRP_MJ_POWER
IRP_MJ_QUERY_INFORMATION
IRP_MJ_READ
IRP_MJ_SET_INFORMATION
IRP_MJ_SYSTEM_CONTROL
IRP_MJ_WRITE
Serial设备控制请求
IOCTL_SERIAL_CLEAR_STATS
IOCTL_SERIAL_CLR_DTR
IOCTL_SERIAL_CLR_RTS
IOCTL_SERIAL_CONFIG_SIZE
IOCTL_SERIAL_GET_BAUD_RATE
IOCTL_SERIAL_GET_CHARS
IOCTL_SERIAL_GET_COMMSTATUS
IOCTL_SERIAL_GET_DTRRTS
IOCTL_SERIAL_GET_HANDFLOW
IOCTL_SERIAL_GET_LINE_CONTROL
IOCTL_SERIAL_GET_MODEM_CONTROL
IOCTL_SERIAL_GET_MODEMSTATUS
IOCTL_SERIAL_GET_PROPERTIES
IOCTL_SERIAL_GET_STATS
IOCTL_SERIAL_GET_TIMEOUTS
IOCTL_SERIAL_GET_WAIT_MASK
IOCTL_SERIAL_IMMEDIATE_CHAR
IOCTL_SERIAL_LSRMST_INSERT
IOCTL_SERIAL_PURGE
IOCTL_SERIAL_RESET_DEVICE
IOCTL_SERIAL_SET_BAUD_RATE
IOCTL_SERIAL_SET_BREAK_OFF
IOCTL_SERIAL_SET_BREAK_ON
IOCTL_SERIAL_SET_CHARS
IOCTL_SERIAL_SET_DTR
IOCTL_SERIAL_SET_FIFO_CONTROL
IOCTL_SERIAL_SET_HANDFLOW
IOCTL_SERIAL_SET_LINE_CONTROL
IOCTL_SERIAL_SET_MODEM_CONTROL
IOCTL_SERIAL_SET_QUEUE_SIZE
IOCTL_SERIAL_SET_RTS
IOCTL_SERIAL_SET_TIMEOUTS
IOCTL_SERIAL_SET_WAIT_MASK
IOCTL_SERIAL_SET_XOFF
IOCTL_SERIAL_SET_XON
IOCTL_SERIAL_WAIT_ON_MASK
IOCTL_SERIAL_XOFF_COUNTER
Serial内部设备控制请求
IOCTL_SERIAL_INTERNAL_BASIC_SETTINGS
IOCTL_SERIAL_INTERNAL_CANCEL_WAIT_WAKE
IOCTL_SERIAL_INTERNAL_DO_WAIT_WAKE
IOCTL_SERIAL_INTERNAL_RESTORE_SETTINGS
第15章 Serenum驱动程序参考
Serenum设备控制请求
IOCTL_SERENUM_PORT_DESC
IOCTL_SERENUM_GET_PORT_NAME
Serenum内部设备控制请求
IOCTL_INTERNAL_SERENUM_REMOVE_SELF
第16章 Parport驱动程序参考
Parport主要I/O请求
IRP_MJ_CREATE
IRP_MJ_INTERNAL_DEVICE_CONTROL
Parport内部设备控制请求
IOCTL_INTERNAL_DESELECT_DEVICE
IOCTL_INTERNAL_GET_MORE_PARALLEL_PORT_INFO
IOCTL_INTERNAL_GET_PARALLEL_PNP_INFO
IOCTL_INTERNAL_GET_PARALLEL_PORT_INFO
IOCTL_INTERNAL_INIT_1284_3_BUS
IOCTL_INTERNAL_PARALLEL_CLEAR_CHIP_MODE
IOCTL_INTERNAL_PARALLEL_CONNECT_INTERRUPT
IOCTL_INTERNAL_PARALLEL_DISCONNECT_INTERRUPT
IOCTL_INTERNAL_PARALLEL_PORT_ALLOCATE
IOCTL_INTERNAL_PARALLEL_PORT_FREE
IOCTL_INTERNAL_PARALLEL_SET_CHIP_MODE
IOCTL_INTERNAL_RELEASE_PARALLEL_PORT_INFO
IOCTL_INTERNAL_SELECT_DEVICE
IOCTL_INTERNAL_Xxx
Parport数据类型
MORE_PARALLEL_PORT_INFOR-MATION
PARALLEL_1284_COMMAND
PARALLEL_CHIP_MODE
PARALLEL_PNP_INFORMATION
PARALLEL_PORT_INFORMATION
PARALLEL_INTERRUPT_INFORMATION
PARALLEL_INTERRUPT_SERVICE_ROUTINE
Parport回调例程
ClearChipMode
DeselectDevice
FreePort
FreePortFromInterruptLevel
QueryNumWaiters
TryAllocatePort
TryAllocatePortAtInterruptLevel
TrySelectDevice
TrySetChipMode
第17章 Parclass驱动程序参考
Parclass主要I/O请求
IRP_MJ_CREATE
IRP_MJ_DEVICE_CONTROL
IRP_MJ_INTERNAL_DEVICE_CONTROL
IRP_MJ_QUERY_INFORMATION
IRP_MJ_READ
IRP_MJ_WRITE
Parclass设备控制请求
IOCTL_IEEE1284_GET_MODE
IOCTL_IEEE1284_NEGOTIATE
IOCTL_PAR_GET_DEFAULT_MODES
IOCTL_PAR_GET_DEVICE_CAPS
IOCTL_PAR_IS_PORT_FREE
IOCTL_PAR_QUERY_DEVICE_ID
IOCTL_PAR_QUERY_DEVICE_ID_SIZE
IOCTL_PAR_QUERY_INFORMATION
IOCTL_PAR_QUERY_RAW_DEVICE_ID
IOCTL_PAR_SET_INFORMATION
IOCTL_PAR_SET_READ_ADDRESS
IOCTL_PAR_SET_WRITE_ADDRESS
IOCTL_SERIAL_GET_TIMEOUTS
IOCTL_SERIAL_SET_TIMEOUTS
Parclass内部设备控制请求
IOCTL_INTERNAL_DISCONNECT_IDLE
IOCTL_INTERNAL_LOCK_PORT
IOCTL_INTERNAL_PARCLASS_CONNECT
IOCTL_INTERNAL_PARCLASS_DISCONNECT
IOCTL_INTERNAL_PARDOT3_CONNECT
IOCTL_INTERNAL_PARDOT3_DISCONNECT
IOCTL_INTERNAL_UNLOCK_PORT
Parclass数据类型
PAR_QUERY_INFORMATION
PAR_SET_INFORMATION
PARCLASS_INFORMATION
PARCLASS_NEGOTIATION_MASK
Parclass回调例程
DetermineIeeeModes
IeeeFwdToRevMode
IeeeRevToFwdMode
NegotiateIeeeMode
ParallelRead
ParallelWrite
TerminateIeeeMode
第三部分 输入设备的驱动程序
第18章 HID 输入/输出请求
HID类驱动程序支持的I/O请求
IOCTL_HID_GET_POLL_FREQUENCY_MSEC
IOCTL_HID_SET_POLL_FREQUENCY_MSEC
IOCTL_GET_NUM_DEVICE_INPUT_BUFFERS
IOCTL_SET_NUM_DEVICE_INPUT_BUFFERS
IOCTL_HID_GET_COLLECTION_INFORMATION
IOCTL_HID_GET_COLLECTION_DESCRIPTOR
IOCTL_HID_FLUSH_QUEUE
IOCTL_HID_GET_FEATURE
IOCTL_HID_SET_FEATURE
IOCTL_GET_PHYSICAL_DESCRIPTOR
IOCTL_HID_GET_HARDWARE_ID
IOCTL_HID_GET_MANUFACTURER_STRING
IOCTL_HID_GET_PRODUCT_STRING
IOCTL_HID_GET_SERIALNUMBER_STRING
IOCTL_HID_GET_INDEXED_STRING
HID微驱动程序支持的I/O请求
IOCTL_GET_PHYSICAL_DESCRIPTOR
IOCTL_HID_ACTIVATE_DEVICE
IOCTL_HID_DEACTIVATE_DEVICE
IOCTL_HID_GET_DEVICE_ATTRIBUTES
IOCTL_HID_GET_DEVICE_DESCRIPTOR
IOCTL_HID_GET_FEATURE
IOCTL_HID_GET_INDEXED_STRING
IOCTL_HID_GET_REPORT_DESCRIPTOR
IOCTL_HID_GET_STRING
IOCTL_HID_READ_REPORT
IOCTL_HID_SET_FEATURE
IOCTL_HID_WRITE_REPORT
第19章 客户HID支持例程
HidD_FlushQueue
HidD_FreePreparsedData
HidD_GetAttributes
HidD_GetConfiguration
HidD_GetFeature
HidD_GetHidGuid
HidD_GetIndexedString
HidD_GetManufacturerString
HidD_GetNumInputBuffers
HidD_GetPhysicalDescriptor
HidD_GetPreparsedData
HidD_GetProductString
HidD_GetSerialNumberString
HidD_SetConfiguration
HidD_SetFeature
HidD_SetNumInputBuffers
HidP_GetButtonCaps
HidP_GetButtons
HidP_GetButtonsEx
HidP_GetCaps
HidP_GetLinkCollectionNodes
HidP_GetScaledUsageValue
HidP_GetSpecificButtonCaps
HidP_GetSpecificValueCaps
HidP_GetUsageValue
HidP_GetUsageValueArray
HidP_GetValueCaps
HidP_MaxUsageListLength
HidP_SetButtons
HidP_SetScaledUsageValue
HidP_SetUsageValue
HidP_SetUsageValueArray
HidP_TranslateUsagesToI8042ScanCodes
HidP_UsageListDifference
第20章 客户HID结构
HID_COLLECTION_INFORMATION
HIDP_COLLECTION_DESC
HIDD_ATTRIBUTES
HIDD_CONFIGURATION
HIDP_BUTTON_CAPS
HIDP_CAPS
HIDP_LINK_COLLECTION_NODE
HIDP_VALUE_CAPS
USAGE_AND_PAGE
第21章 微驱动程序HID支持例程
HidRegisterMinidriver
第22章 微驱动程序HID结构
HID_DEVICE_ATTRIBUTES
HID_DEVICE_EXTENSION
HID_MINIDRIVER_REGISTRATION
HID_XFER_PACKET
第23章 Kbdclass驱动程序参考
Kbdclass主要I/O请求
Kbdclass设备控制请求
Kbdclass类服务回调例程
KeyboardClassServiceCallback
第24章 Mouclass驱动程序参考
Mouclass主要I/O请求
IOCTL-Xxx设备控制请求
Mouclass类服务回调例程
第25章 I8042prt驱动程序参考
I8042prt键盘主要I/O请求
I8042prt键盘内部设备控制请求
I8042prt鼠标主要I/O请求
I8042prt鼠标内部设备控制请求
I8042prt键盘回调例程
I8042prt鼠标回调例程
第26章 Kbfiltr驱动程序参考
Kbfiltr内部设备控制请求
Kbfiltr回调例程
第27章 Moufiltr驱动程序参考
Moufiltr内部设备控制请求
Moufiltr回调例程
第四部分 USB驱动程序
第28章 USB客户驱动程序I/O请求
IOCTL_INTERNAL_USB_SUBMIT_URB
IOCTL_INTERNAL_USB_RESET_PORT
IOCTL_INTERNAL_USB_GET_PORT_STATUS
IOCTL_INTERNAL_USB_ENABLE_PORT
IOCTL_INTERNAL_USB_GET_HUB_COUNT
IOCTL_INTERNAL_USB_CYCLE_PORT
IOCTL_INTERNAL_USB_GET_ROOTHUB_PDO
IOCTL_INTERNAL_USB_GET_HUB_NAME
IOCTL_INTERNAL_USB_GET_BUS_INFO
IOCTL_INTERNAL_USB_GET_CONTROLLER_NAME
第29章 USB客户支持例程
GET_ISO_URB_SIZE
GET_SELECT_CONFIGURATION_REQUEST_SIZE
GET_SELECT_INTERFACE_REQUEST_SIZE
GET_USBD_INTERFACE_SIZE
UsbBuildFeatureRequest
UsbBuildGetDescriptorRequest
UsbBuildGetStatusRequest
UsbBuildInterruptOrBulkTransferRequest
UsbBuildSelectConfigurationRequest
UsbBuildSelectInterfaceRequest
UsbBuildVendorRequest
USBD_CreateConfigurationRequest
USBD_CreateConfigurationRequestEx
USBD_GetInterfaceLength
USBD_GetUSBDIVersion
USBD_ParseConfigurationDescriptor
USBD_ParseConfigurationDescriptorEx
USBD_ParseDescriptors
USBD_RegisterHcFilter
第30章 USB结构
URB
_URB_BULK_OR_INTERRUPT_TRANSFER
_URB_CONTROL_DESCRIPTOR_REQUEST
_URB_CONTROL_FEATURE_REQUEST
_URB_CONTROL_GET_CONFIGURATIONREQUEST
_URB_CONTROL_GET_INTERFACE_REQUEST
_URB_CONTROL_GET_STATUS_REQUEST
_URB_CONTROL_TRANSFER
_URB_CONTROL_VENDOR_OR_CLASS_REQUEST
_URB_FRAME_LENGTH_CONTROL
_URB_GET_CURRENT_FRAME_NUMBER
_URB_GET_FRAME_LENGTH
_URB_HEADER
_URB_ISOCH_TRANSFER
_URB_PIPE_REQUEST
_URB_SELECT_CONFIGURATION
_URB_SELECT_INTERFACE
_URB_SET_FRAME_LENGTH
USB_CONFIGURATION_DESCRIPTOR
USB_DEVICE_DESCRIPTOR
USB_ENDPOINT_DESCRIPTOR
USB_INTERFACE_DESCRIPTOR
USB_HUB_NAME
USB_ROOT_HUB_NAME
USB_STRING_DESCRIPTOR
USBD_INTERFACE_INFORMATION
USBD_INTERFACE_LIST_ENTRY
USBD_PIPE_INFORMATION
USBD_ISO_PACKET_DESCRIPTOR
第五部分 IEEE 1394驱动程序
第31章 IEEE 1394总线I/O请求
IOCTL_CLASS_1394
REQUEST_ALLOCATE_ADDRESS_RANGE
REQUEST_ASYNC_LOCK
REQUEST_ASYNC_READ
REQUEST_ASYNC_STREAM
REQUEST_ASYNC_WRITE
REQUEST_BUS_RESET
REQUEST_BUS_RESET_NOTIFICATION
REQUEST_CONTROL
REQUEST_FREE_ADDRESS_RANGE
REQUEST_GET_ADDR_FROM_DEVICE_OBJECT
REQUEST_GET_CONFIGURATION_INFO
REQUEST_GET_GENERATION_COUNT
REQUEST_GET_LOCAL_HOST_INFO
REQUEST_GET_SPEED_BETWEEN_DEVICES
REQUEST_GET_SPEED_TOPOLOGY_MAPS
REQUEST_ISOCH_ALLOCATE_BANDWIDTH
REQUEST_ISOCH_ALLOCATE_CHANNEL
REQUEST_ISOCH_ALLOCATE_RESOURCES
REQUEST_ISOCH_ATTACH_BUFFERS
REQUEST_ISOCH_DETACH_BUFFERS
REQUEST_ISOCH_FREE_BANDWIDTH
REQUEST_ISOCH_FREE_CHANNEL
REQUEST_ISOCH_FREE_RESOURCES
REQUEST_ISOCH_LISTEN
REQUEST_ISOCH_QUERY_CYCLE_TIME
REQUEST_ISOCH_QUERY_RESOURCES
REQUEST_ISOCH_SET_CHANNEL_BANDWIDTH
REQUEST_ISOCH_STOP
REQUEST_ISOCH_TALK
REQUEST_SEND_PHY_CONFIG_PACKET
REQUEST_SET_DEVICE_XMIT_PROPERTIES
REQUEST_SET_LOCAL_HOST_PROPERTIES
第32章 IEEE 1394结构
ADDRESS_FIFO
ADDRESS_OFFSET
ADDRESS_RANGE
CONFIG_ROM
CYCLE_TIME
GET_LOCAL_HOST_INFO1
GET_LOCAL_HOST_INFO2
GET_LOCAL_HOST_INFO3
GET_LOCAL_HOST_INFO4
GET_LOCAL_HOST_INFO5
GET_LOCAL_HOST_INFO6
IO_ADDRESS
IRB
ISOCH_DESCRIPTOR
NODE_ADDRESS
NOTIFICATION_INFO
PHY_CONFIGURATION_PACKET
SELF_ID
SELF_ID_MORE
SPEED_MAP
TEXTUAL_LEAF
TOPOLOGY_MAP
第六部分 PCMCIA驱动程序
第33章 PCMCIA_INTERFACE_STANDARD接口内存卡例程
PCMCIA_IS_WRITE_PROTECTED
PCMCIA_MODIFY_MEMORY_WINDOW
PCMCIA_SET_VPP
第七部分 SMB客户驱动程序
第34章 SMB IOCTL
SMB_BUS_REQUEST
SMB_DEREGISTER_ALARM_NOTIFY
SMB_REGISTER_ALARM_NOTIFY
第35章 SMB结构
SMB_CLASS
SMB_REGISTER_ALARM
SMB_REQUEST
第八部分 WMI内核模式数据提供者
第36章 WMI IRP
IRP_MN_CHANGE_SINGLE_INSTANCE
IRP_MN_CHANGE_SINGLE_ITEM
IRP_MN_DISABLE_COLLECTION
IRP_MN_DISABLE_EVENTS
IRP_MN_ENABLE_COLLECTION
IRP_MN_ENABLE_EVENTS
IRP_MN_EXECUTE_METHOD
IRP_MN_QUERY_ALL_DATA
IRP_MN_QUERY_SINGLE_INSTANCE
IRP_MN_REGINFO
第37章 WMI库支持例程
WmiCompleteRequest
WmiFireEvent
WmiSystemControl
第38章 WMI库回调例程
DpWmiExecuteMethod
DpWmiFunctionControl
DpWmiQueryDataBlock
DpWmiQueryReginfo
DpWmiSetDataBlock
DpWmiSetDataItem
第39章 WMI结构
WMILIB_CONTEXT
WMIGUIDREGINFO
WMIREGGUID
WMIREGINFO
WNODE_ALL_DATA
WNODE_EVENT_ITEM
WNODE_EVENT_REFERENCE
WNODE_HEADER
WNODE_METHOD_ITEM
WNODE_SINGLE_INSTANCE
WNODE_SINGLE_ITEM
WNODE_TOO_SMALL
第40章 WMI事件跟踪结构
EVENT_TRACE_HEADER “Windows 2000驱动程序开发大全”套书包括2卷,本书为套书的第2卷—参考手册。
本手册由微软公司提供,书中完整地描述了Windows 2000驱动模块信息。全书分为二篇,第一篇是即插即用、电源管理和设置驱动程序开发参考,由即插即用、电源管理、设置三部分组成;第二篇是内核模式驱动程序开发参考,由内核模式支持例程、串行和并行接口驱动程序、输入设备驱动程序、USB驱动程序、IEEE 1394驱动程序、PCMCIA驱动程序、SMB客户驱动程序和WMI内核模式数据提供者八部分组成。
本书内容全面、翔实,是Windows 2000驱动程序开发的权威参考资料。
译者序
第一篇 即插即用、电源管理和设置驱动程序开发参考
第一部分 即插即用
第1章 即插即用例程
设备信息例程
注册例程
设备接口例程
PnP通知例程
删除锁例程
其他PnP例程
IoAcquireRemoveLock
IoAcquireRemoveLockEx
IoAdjustPagingPathCount
IoGetDeviceInterfaceAlias
IoGetDeviceInterfaces
IoGetDeviceProperty
IoInitializeRemoveLock
IoInitializeRemoveLockEx
IoInvalidateDeviceRelations
IoInvalidateDeviceState
IoOpenDeviceInterfaceRegistryKey
IoOpenDeviceRegistryKey
IoRegisterDeviceInterface
IoRegisterPlugPlayNotification
IoReleaseRemoveLock
IoReleaseRemoveLockEx
IoReleaseRemoveLockAndWait
IoReleaseRemoveLockAndWaitEx
IoReportDetectedDevice
IoReportResourceForDetection
IoReportTargetDeviceChange
IoReportTargetDeviceChangeAsynchronous
IoRequestDeviceEject
IoSetDeviceInterfaceState
IoUnregisterPlugPlayNotification
第2章 即插即用IRP
IRP_MN_CANCEL_REMOVE_DEVICE
IRP_MN_CANCEL_STOP_DEVICE
IRP_MN_DEVICE_USAGE_NOTIFICATION
IRP_MN_EJECT
IRP_MN_FILTER_RESOURCE_REQUIREMENTS
IRP_MN_QUERY_BUS_INFORMATION
IRP_MN_QUERY_CAPABILITIES
IRP_MN_QUERY_DEVICE_RELATIONS
IRP_MN_QUERY_DEVICE_TEXT
IRP_MN_QUERY_ID
IRP_MN_QUERY_INTERFACE
IRP_MN_QUERY_LEGACY_BUS_INFORMATION
IRP_MN_QUERY_PNP_DEVICE_STATE
IRP_MN_QUERY_REMOVE_DEVICE
IRP_MN_QUERY_RESOURCE_REQUIREMENTS
IRP_MN_QUERY_RESOURCES
IRP_MN_QUERY_STOP_DEVICE
IRP_MN_READ_CONFIG
IRP_MN_REMOVE_DEVICE
IRP_MN_SET_LOCK
IRP_MN_START_DEVICE
IRP_MN_STOP_DEVICE
IRP_MN_SURPRISE_REMOVAL
IRP_MN_WRITE_CONFIG
第3章 即插即用结构
DEVICE_CAPABILITIES
DEVICE_INTERFACE_CHANGE_NOTIFICATION
HWPROFILE_CHANGE_NOTIFICATION
LPGUID
PLUGPLAY_NOTIFICATION_HEADER
PNP_DEVICE_STATE
TARGET_DEVICE_CUSTOM_NOTIFICATION
TARGET_DEVICE_REMOVAL_NOTIFICATION
第二部分 电源管理
第4章 电源管理支持例程
PoCallDriver
PoRegisterDeviceForIdleDetection
PoRegisterSystemState
PoRequestPowerIrp
PoSetDeviceBusy
PoSetPowerState
PoSetSystemState
PoStartNextPowerIrp
PoUnregisterSystemState
第5章 电源管理的I/O请求
IRP_MN_POWER_SEQUENCE
IRP_MN_QUERY_POWER
IRP_MN_SET_POWER
IRP_MN_WAIT_WAKE
第6章 电池类驱动程序例程
BatteryClassInitializeDevice
BatteryClassIoctl
BatteryClassStatusNotify
BatteryClassUnload
第7章 电池微类驱动程序例程
BatteryMiniDisableStatusNotify
BatteryMiniQueryInformation
BatteryMiniQueryStatus
BatteryMiniQueryTag
BatteryMiniSetInformation
BatteryMiniSetStatusNotify
第8章 电池结构
BATTERY_INFORMATION
BATTERY_MANUFACTURE_DATE
BATTERY_REPORTING_SCALE
第三部分 设置
第9章 INF文件节和命令
INF文件的通用语法规则
一个INF文件样例
INF节摘要
INF命令摘要
INF Version 节
INF SourceDisksNames 节
INF SourceDisksFiles 节
INF ClassInstall32 节
INF DestinationDirs 节
INF ControlFlags 节
INF Manufacturer 节
INF Models 节
INF DDInstall 节
INF DDInstall.Services 节
INF DDInstall.HW节
INF DDInstall.CoInstallers 节
INF DDInstall.Interfaces 节
INF InterfaceInstall32节
INF DDInstall.FactDef 节
INF Strings 节
INF AddReg 命令
INF DelReg 命令
INF CopyFiles 命令
INF DelFiles 命令
INF RenFiles 命令
INF AddService 命令
INF DelService 命令
INF AddInterface 命令
INF BitReg 命令
INF LogConfig 命令
INF ProfileItems 命令
INF UpdateInis 命令
INF UpdateIniFields 命令
INF Ini2Reg 命令
第10章 安装函数
INF 文件处理函数
磁盘提示和错误处理函数
文件队列函数
缺省队列回调例程函数
文件箱函数
磁盘空间列表函数
最常用源列表函数
日志文件函数
第11章 设备安装函数
更新驱动程序函数
SetupDi 设备信息函数
SetupDi 驱动程序信息函数
SetupDi 驱动程序选择函数
SetupDi 设备安装处理程序
SetupDi 设备安装定制函数
SetupDi 安装类函数
SetupDi 类位图和图标函数
SetupDi 设备接口函数
SetupDi 注册函数
其他SetupDi函数
SetupDiAskForOEMDisk
SetupDiBuildClassInfoList
SetupDiBuildClassInfoListEx
SetupDiBuildDriverInfoList
SetupDiCallClassInstaller
SetupDiCancelDriverInfoSearch
SetupDiChangeState
SetupDiClassGuidsFromName
SetupDiClassGuidsFromNameEx
SetupDiClassNameFromGuid
SetupDiClassNameFromGuidEx
SetupDiCreateDeviceInfo
SetupDiCreateDeviceInfoList
SetupDiCreateDeviceInfoListEx
SetupDiCreateDeviceInterface
SetupDiCreateDeviceInterfaceRegKey
SetupDiCreateDevRegKey
SetupDiDeleteDeviceInfo
SetupDiDeleteDeviceInterfaceData
SetupDiDeleteDeviceInterfaceRegKey
SetupDiDeleteDevRegKey
SetupDiDestroyClassImageList
SetupDiDestroyDeviceInfoList
SetupDiDestroyDriverInfoList
SetupDiDrawMiniIcon
SetupDiEnumDeviceInfo
SetupDiEnumDeviceInterfaces
SetupDiEnumDriverInfo
SetupDiGetActualSectionToInstall
SetupDiGetClassBitmapIndex
SetupDiGetClassDescription
SetupDiGetClassDescriptionEx
SetupDiGetClassDevs
SetupDiGetClassDevsEx
SetupDiGetClassImageIndex
SetupDiGetClassImageList
SetupDiGetClassImageListEx
SetupDiGetClassInstallParams
SetupDiGetDeviceInfoListClass
SetupDiGetDeviceInfoListDetail
SetupDiGetDeviceInstallParams
SetupDiGetDeviceInstanceId
SetupDiGetDeviceInterfaceAlias
SetupDiGetDeviceInterfaceDetail
SetupDiGetDeviceRegistryProperty
SetupDiGetDriverInfoDetail
SetupDiGetDriverInstallParams
SetupDiGetHwProfileFriendlyName
SetupDiGetHwProfileFriendlyNameEx
SetupDiGetHwProfileList
SetupDiGetHwProfileListEx
SetupDiGetINFClass
SetupDiGetSelectedDevice
SetupDiGetSelectedDriver
SetupDiGetWizardPage
SetupDiInstallClass
SetupDiInstallClassEx
SetupDiInstallDevice
SetupDiInstallDeviceInterfaces
SetupDiInstallDriverFiles
SetupDiLoadClassIcon
SetupDiMoveDuplicateDevice
SetupDiOpenClassRegKey
SetupDiOpenClassRegKeyEx
SetupDiOpenDeviceInfo
SetupDiOpenDeviceInterface
SetupDiOpenDeviceInterfaceRegKey
SetupDiOpenDevRegKey
SetupDiRegisterCoDeviceInstallers
SetupDiRegisterDeviceInfo
SetupDiRemoveDevice
SetupDiRemoveDeviceInterface
SetupDiSelectBestCompatDrv
SetupDiSelectDevice
SetupDiSelectOEMDrv
SetupDiSetClassInstallParams
SetupDiSetDeviceInstallParams
SetupDiSetDeviceRegistryProperty
SetupDiSetDriverInstallParams
SetupDiSetSelectedDevice
SetupDiSetSelectedDriver
SetupDiUnremoveDevice
UpdateDriverForPlugAndPlayDevices
第12章 设备安装结构
SP_ADDPROPERTYPAGE_DATA
SP_CLASSIMAGELIST_DATA
SP_CLASSINSTALL_HEADER
SP_DETECTDEVICE_PARAMS
SP_DEVICE_INTERFACE_DATA
SP_DEVICE_INTERFACE_DETAIL_DATA
SP_DEVINFO_DATA
SP_DEVINFO_LIST_DETAIL_DATA
SP_DEVINSTALL_PARAMS
SP_DRVINFO_DATA
SP_DRVINFO_DETAIL_DATA
SP_DRVINSTALL_PARAMS
SP_ENABLECLASS_PARAMS
SP_INSTALLWIZARD_DATA
SP_MOVEDEV_PARAMS
SP_NEWDEVICEWIZARD_DATA
SP_POWERMESSAGEWAKE_PARAMS
SP_PROPCHANGE_PARAMS
SP_PROPSHEETPAGE_REQUEST
SP_REMOVEDEVICE_PARAMS
SP_SELECTDEVICE_PARAMS
SP_TROUBLESHOOTER_PARAMS
SP_UNREMOVEDEVICE_PARAMS
第13章 设备安装函数代码
DIF_ADDPROPERTYPAGE_ADVANCED
DIF_ALLOW_INSTALL
DIF_DESTROYPRIVATEDATA
DIF_DETECT
DIF_INSTALLDEVICE
DIF_INSTALLDEVICEFILES
DIF_INSTALLINTERFACES
DIF_NEWDEVICEWIZARD_FINIS_HINSTALL
DIF_NEWDEVICEWIZARD_POSTA_NALYZE
DIF_NEWDEVICEWIZARD_PREA_NALYZE
DIF_NEWDEVICEWIZARD_PRESELECT
DIF_NEWDEVICEWIZARD_SELECT
DIF_POWERMESSAGEWAKE
DIF_PROPERTYCHANGE
DIF_REGISTER_COINSTALLERS
DIF_REGISTERDEVICE
DIF_REMOVE
DIF_SELECTBESTCOMPATDRV
DIF_SELECTDEVICE
DIF_TROUBLESHOOTER
DIF_UNREMOVE
保留的DIF代码
DIF_ADDPROPERTYPAGE_BASIC
DIF_ASSIGNRESOURCES
DIF_CALCDISKSPACE
DIF_DETECTCANCEL
DIF_DETECTVERIFY
DIF_ENABLECLASS
DIF_FIRSTTIMESETUP
DIF_FOUNDDEVICE
DIF_INSTALLCLASSDRIVERS
DIF_MOVEDEVICE
废弃的DIF代码
DIF_DESTROYWIZARDDATA
DIF_INSTALLWIZARD
DIF_PROPERTIES
DIF_SELECTCLASSDRIVERS
DIF_VALIDATECLASSDRIVERS
DIF_VALIDATEDRIVER
第14章 PnP配置管理程序函数
CM_Add_Empty_Log_Conf
CM_Add_Empty_Log_Conf_Ex
CM_Add_ID
CM_Add_ID_Ex
CM_Add_Res_Des
CM_Add_Res_Des_Ex
CM_Connect_Machine
CM_Disconnect_Machine
CM_Enumerate_Classes
CM_Enumerate_Classes_Ex
CM_Enumerate_Enumerators
CM_Enumerate_Enumerators_Ex
CM_Free_Log_Conf
CM_Free_Log_Conf_Ex
CM_Free_Log_Conf_Handle
CM_Free_Res_Des
CM_Free_Res_Des_Ex
CM_Free_Res_Des_Handle
CM_Free_Resource_Conflict_Handle
CM_Get_Child
CM_Get_Child_Ex
CM_Get_Depth
CM_Get_Depth_Ex
CM_Get_Device_ID
CM_Get_Device_ID_Ex
CM_Get_Device_ID_List
CM_Get_Device_ID_List_Ex
CM_Get_Device_ID_List_Size
CM_Get_Device_ID_List_Size_Ex
CM_Get_Device_ID_Size
CM_Get_Device_ID_Size_Ex
CM_Get_DevNode_Status
CM_Get_DevNode_Status_Ex
CM_Get_First_Log_Conf
CM_Get_First_Log_Conf_Ex
CM_Get_Log_Conf_Priority
CM_Get_Log_Conf_Priority_Ex
CM_Get_Next_Log_Conf
CM_Get_Next_Log_Conf_Ex
CM_Get_Next_Res_Des
CM_Get_Next_Res_Des_Ex
CM_Get_Parent
CM_Get_Parent_Ex
CM_Get_Res_Des_Data
CM_Get_Res_Des_Data_Ex
CM_Get_Res_Des_Data_Size
CM_Get_Res_Des_Data_Size_Ex
CM_Get_Resource_Conflict_Count
CM_Get_Resource_Conflict_Details
CM_Get_Sibling
CM_Get_Sibling_Ex
CM_Get_Version
CM_Get_Version_Ex
CM_Locate_DevNode
CM_Locate_DevNode_Ex
CM_Modify_Res_Des
CM_Modify_Res_Des_Ex
CM_Query_Resource_Conflict_List
CM_Reenumerate_DevNode
CM_Reenumerate_DevNode_Ex
CM_Request_Device_Eject
CM_Request_Device_Eject_Ex
第15章 PnP配置管理程序结构和类型
资源描述符结构
BUSNUMBER_DES
BUSNUMBER_RANGE
BUSNUMBER_RESOURCE
CS_DES
CS_RESOURCE
DEVPRIVATE_DES
DEVPRIVATE_RANGE
DEVPRIVATE_RESOURCE
DMA_DES
DMA_RANGE
DMA_RESOURCE
IO_DES
IO_RANGE
IO_RESOURCE
IRQ_DES
IRQ_RANGE
IRQ_RESOURCE
MEM_DES
MEM_RANGE
MEM_RESOURCE
MFCARD_DES
MFCARD_RESOURCE
PCCARD_DES
PCCARD_RESOURCE
其他的结构
CONFLICT_DETAILS
PnP 配置管理程序类型
PNP_VETO_TYPE
第16章 设备安装类
第17章 txtsetup.oem文件格式
txtsetup.oem文件中的Disks节
txtsetup.oem文件中的Defaults节
txtsetup.oem 文件中的HwComponent节
txtsetup.oem 文件中的Files.HwComponent.ID节
txtsetup.oem 文件中的Config.DriverKey节
txtsetup.oem 文件中的HardwareIds.scsi.Service节
第二篇 内核模式驱动程序开发参考
第一部分 内核模式支持例程
第1章 内核模式支持例程概述
初始化和卸载
IRP
同步
内存
DMA
PIO
驱动程序管理队列
驱动程序系统线程
串
数据转换
访问驱动程序管理的对象
错误处理
第2章 可执行支持例程
ExAcquireFastMutex
ExAcquireFastMutexUnsafe
ExAcquireResourceExclusive
ExAcquireResourceExclusiveLite
ExAcquireResourceShared
ExAcquireResourceSharedLite
ExAcquireSharedStarveExclusive
ExAcquireSharedWaitForExclusive
ExAllocateFromNPagedLookasideList
ExAllocateFromPagedLookasideList
ExAllocateFromZone
ExAllocatePool
ExAllocatePoolWithQuota
ExAllocatePoolWithQuotaTag
ExAllocatePoolWithTag
ExAllocatePoolWithTagPriority
ExConvertExclusiveToShared
ExConvertExclusiveToSharedLite
ExCreateCallback
ExDeleteNPagedLookasideList
ExDeletePagedLookasideList
ExDeleteResource
ExDeleteResourceLite
ExExtendZone
ExFreePool
ExFreeToNPagedLookasideList
ExFreeToPagedLookasideList
ExFreeToZone
ExGetCurrentResourceThread
ExGetExclusiveWaiterCount
ExGetPreviousMode
ExGetSharedWaiterCount
ExInitializeFastMutex
ExInitializeNPagedLookasideList
ExInitializePagedLookasideList
ExInitializeResource
ExInitializeResourceLite
ExInitializeSListHead
ExInitializeWorkItem
ExInitializeZone
ExInterlockedAddLargeInteger
ExInterlockedAddLargeStatistic
ExInterlockedAddUlong
ExInterlockedAllocateFromZone
ExInterlockedCompareExchange64
ExInterlockedDecrementLong
ExInterlockedExchangeAddLargeInteger
ExInterlockedExchangeUlong
ExInterlockedExtendZone
ExInterlockedFlushSList
ExInterlockedFreeToZone
ExInterlockedIncrementLong
ExInterlockedInsertHeadList
ExInterlockedInsertTailList
ExInterlockedPopEntryList
ExInterlockedPopEntrySList
ExInterlockedPushEntryList
ExInterlockedPushEntrySList
ExInterlockedRemoveHeadList
ExIsFullZone
ExIsObjectInFirstZoneSegment
ExIsProcessorFeaturePresent
ExIsResourceAcquiredExclusive
ExIsResourceAcquiredExclusiveLite
ExIsResourceAcquiredSharedLite
ExLocalTimeToSystemTime
ExNotifyCallback
ExQueryDepthSList
ExQueueWorkItem
ExRaiseAccessViolation
ExRaiseDatatypeMisalignment
ExRaiseStatus
ExRegisterCallback
ExReinitializeResourceLite
ExReleaseFastMutex
ExReleaseFastMutexUnsafe
ExReleaseResource
ExReleaseResourceForThread
ExReleaseResourceForThreadLite
ExReleaseResourceLite
ExSetResourceOwnerPointer
ExSetTimerResolution
ExSystemTimeToLocalTime
ExTryToAcquireFastMutex
ExTryToAcquireResourceExclusiveLite
ExUnregisterCallback
ExUnidCreate
InterlockedCompareExchange
InterlockedCompareExchangePointer
InterlockedDecrement
InterlockedExchange
InterlockedExchangeAdd
InterlockedExchangePointer
InterlockedIncrement
PAGED_CODE
ProbeForRead
ProbeForWrite
第3章 硬件抽象层例程
AllocateAdapterChannel
AllocateCommonBuffer
FlushAdapterBuffers
FreeAdapterChannel
FreeCommonBuffer
FreeMapRegisters
GetDmaAlignment
GetScatterGatherList
HalAllocateCommonBuffer
HalAssignSlotResources
HalExamineMBR
HalFreeCommonBuffer
HalGetAdapter
HalGetBusData
HalGetBusDataByOffset
HalGetDmaAlignmentRequirement
HalGetInterruptVector
HalReadDmaCounter
HalSetBusData
HalSetBusDataByOffset
HalTranslateBusAddress
MapTransfer
PutDmaAdapter
PutScatterGatherList
ReadDmaCounter
READ_PORT_BUFFER_UCHAR
READ_PORT_BUFFER_ULONG
READ_PORT_BUFFER_USHORT
READ_PORT_UCHAR
READ_PORT_ULONG
READ_PORT_USHORT
READ_REGISTER_BUFFER_UCHAR
READ_REGISTER_BUFFER_ULONG
READ_REGISTER_BUFFER_USHORT
READ_REGISTER_UCHAR
READ_REGISTER_ULONG
READ_REGISTER_USHORT
WRITE_PORT_BUFFER_UCHAR
WRITE_PORT_BUFFER_ULONG
WRITE_PORT_BUFFER_USHORT
WRITE_PORT_UCHAR
WRITE_PORT_ULONG
WRITE_PORT_USHORT
WRITE_REGISTER_BUFFER_UCHAR
WRITE_REGISTER_BUFFER_ULONG
WRITE_REGISTER_BUFFER_USHORT
WRITE_REGISTER_UCHAR
WRITE_REGISTER_ULONG
WRITE_REGISTER_USHORT
第4章 I/O 管理程序例程
IoAcquireCancelSpinLock
IoAcquireRemoveLock
IoAcquireRemoveLockEx
IoAdjustPagingPathCount
IoAllocateAdapterChannel
IoAssignArcName
IoAssignResources
IoAttachDevice
IoAttachDeviceByPointer
IoAttachDeviceToDeviceStack
IoBuildAsynchronousFsdRequest
IoBuildDeviceIoControlRequest
IoBuildPartialMdl
IoBuildSynchronousFsdRequest
IoCallDriver
IoCancelIrp
IoCheckShareAccess
IoCompleteRequest
IoConnectInterrupt
IoCopyCurrentIrpStackLocationToNext
IoCreateController
IoCreateDevice
IoCreateFile
IoCreateNotificationEvent
IoCreateSymbolicLink
IoCreateSynchronizationEvent
IoCreateUnprotectedSymbolicLink
IoDeassignArcName
IoDeleteController
IoDeleteDevice
IoDeleteSymbolicLink
IoFreeAdapterChannel
IoFreeController
IoFreeIrp
IoFreeMapRegisters
IoFreeMdl
IoFreeWorkItem
IoGetAttachedDeviceReference
IoGetBootDiskInformation
IoGetConfigurationInformation
IoGetCurrentIrpStackLocation
IoGetCurrentProcess
IoGetDeviceInterfaceAlias
IoGetDeviceInterfaces
IoGetDeviceObjectPointer
IoGetDeviceProperty
IoGetDeviceToVerify
IoGetDmaAdapter
IoGetDriverObjectExtension
IoGetFileObjectGenericMapping
IoGetFunctionCodeFromCtlCode
IoGetInitialStack
IoGetNextIrpStackLocation
IoGetRelatedDeviceObject
IoGetRemainingStackSize
IoGetStackLimits
IoInitializeDpcRequest
IoInitializeIrp
IoInitializeRemoveLock
IoInitializeRemoveLockEx
IoInitializeTimer
IoInvalidateDeviceRelations
IoInvalidateDeviceState
IoIsErrorUserInduced
IoIsWdmVersionAvailable
IoMakeAssociatedIrp
IoMapTransfer
IoMarkIrpPending
IoOpenDeviceInterfaceRegistryKey
IoOpenDeviceRegistryKey
IoQueryDeviceDescription
IoQueueWorkItem
IoRaiseHardError
IoRaiseInformationalHardError
IoReadPartitionTable
IoRegisterDeviceInterface
IoRegisterDriverReinitialization
IoRegisterPlugPlayNotification
IoRegisterShutdownNotification
IoReleaseCancelSpinLock
IoReleaseRemoveLock
IoReleaseRemoveLockEx
IoReleaseRemoveLockAndWait
IoReleaseRemoveLockAndWaitEx
IoRemoveShareAccess
IoReportDetectedDevice
IoReportResourceForDetection
IoReportResourceUsage
IoReportTargetDeviceChange
IoReportTargetDeviceChangeAsynchronous
IoRequestDeviceEject
IoRequestDpc
IoReuseIrp
IoSetCancelRoutine
IoSetCompletionRoutine
IoSetDeviceInterfaceState
IoSetHardErrorOrVerifyDevice
IoSetNextIrpStackLocation
IoSetPartitionInformation
IoSetShareAccess
IoSetThreadHardErrorMode
IoSizeOfIrp
IoSkipCurrentIrpStackLocation
IoStartNextPacket
IoStartNextPacketByKey
IoStartPacket
IoStartTimer
IoStopTimer
IoUnregisterPlugPlayNotification
IoUnregisterShutdownNotification
IoUpdateShareAccess
IoWMIAllocateInstanceIds
IoWMIDeviceObjectToProviderId
IoWMIRegistrationControl
IoWMISuggestInstanceName
IoWMIWriteEvent
IoWriteErrorLogEntry
IoWritePartitionTable
第5章 内核例程
KeAcquireSpinLock
KeAcquireSpinLockAtDpcLevel
KeBugCheck
KeBugCheckEx
KeCancelTimer
KeClearEvent
KeDelayExecutionThread
KeDeregisterBugCheckCallback
KeEnterCriticalRegion
KeFlushIoBuffers
KeGetCurrentIrql
KeGetCurrentProcessorNumber
KeGetCurrentThread
KeGetDcacheFillSize
KeInitializeCallbackRecord
KeInitializeDeviceQueue
KeInitializeDpc
KeInitializeEvent
KeInitializeMutex
KeInitializeSemaphore
KeInitializeSpinLock
KeInitializeTimer
KeInitializeTimerEx
KeInsertByKeyDeviceQueue
KeInsertDeviceQueue
KeInsertQueueDpc
KeLeaveCriticalRegion
KeLowerIrql
KePulseEvent
KeQueryInterruptTime
KeQueryPerformanceCounter
KeQueryPriorityThread
KeQuerySystemTime
KeQueryTickCount
KeQueryTimeIncrement
KeRaiseIrql
KeRaiseIrqlToDpcLevel
KeReadStateEvent
KeReadStateMutex
KeReadStateSemaphore
KeReadStateTimer
KeRegisterBugCheckCallback
KeReleaseMutex
KeReleaseSemaphore
KeReleaseSpinLock
KeReleaseSpinLockFromDpcLevel
KeRemoveByKeyDeviceQueue
KeRemoveDeviceQueue
KeRemoveEntryDeviceQueue
KeRemoveQueueDpc
KeResetEvent
KeRestoreFloatingPointState
KeSaveFloatingPointState
KeSetBasePriorityThread
KeSetEvent
KeSetImportanceDpc
KeSetTargetProcessorDpc
KeSetPriorityThread
KeSetTimer
KeSetTimerEx
KeStallExecutionProcessor
KeSynchronizeExecution
KeWaitForMultipleObjects
KeWaitForMutexObject
KeWaitForSingleObject
第6章 内存管理程序例程
ADDRESS_AND_SIZE_TO_SPAN_PAGES
ARGUMENT_PRESENT
BYTE_OFFSET
BYTES_TO_PAGES
COMPUTE_PAGES_SPANNED
CONTAINING_RECORD
FIELD_OFFSET
MmAllocateContiguousMemory
MmAllocateContiguousMemorySpecifyCache
MmAllocateNonCachedMemory
MmAllocatePagesForMdl
MmBuildMdlForNonPagedPool
MmCreateMdl
MmFreeContiguousMemory
MmFreeContiguousMemorySpecityCache
MmFreeNonCachedMemory
MmFreePagesFromMdl
MmGetMdlByteCount
MmGetMdlByteOffset
MmGetMdlPfnArray
MmGetMdlVirtualAddress
MmGetPhysicalAddress
MmGetSystemAddressForMdl
MmGetSystemAddressForMdlSafe
MmInitializeMdl
MmIsAddressValid
MmIsNonPagedSystemAddressValid
MmIsThisAnNtAsSystem
MmLockPagableCodeSection
MmLockPagableDataSection
MmLockPagableSectionByHandle
MmMapIoSpace
MmMapLockedPages
MmMapLockedPagesSpecifyCache
MmPageEntireDriver
MmResetDriverPaging
MmPrepareMdlForReuse
MmProbeAndLockPages
MmQuerySystemSize
MmSizeOfMdl
MmUnlockPages
MmUnlockPagableImageSection
MmUnmapIoSpace
MmUnmapLockedPages
PAGE_ALIGN
ROUND_TO_PAGES
第7章 对象管理程序例程
ObDereferenceObject
ObGetObjectSecurity
ObReferenceObject
ObReferenceObjectByHandle
ObReferenceObjectByPointer
ObReleaseObjectSecurity
第8章 进程结构例程
PsCreateSystemThread
PsGetCurrentProcess
PsGetCurrentProcessId
PsGetCurrentThread
PsGetCurrentThreadId
PsGetVersion
PsSetCreateProcessNotifyRoutine
PsSetCreateThreadNotifyRoutine
PsSetLoadImageNotifyRoutine
PsTerminateSystemThread
第9章 运行时库例程
InitializeListHead
InitializeObjectAttributes
InsertHeadList
InsertTailList
IsListEmpty
PopEntryList
PushEntryList
RemoveEntryList
RemoveHeadList
RemoveTailList
RtlAnsiStringToUnicodeSize
RtlAnsiStringToUnicodeString
RtlAppendUnicodeStringToString
RtlAppendUnicodeToString
RtlAreBitsClear
RtlAreBitsSet
RtlCharToInteger
RtlCheckBit
RtlCheckRegistryKey
RtlClearAllBits
RtlClearBits
RtlCompareMemory
RtlCompareString
RtlCompareUnicodeString
RtlConvertLongToLargeInteger
RtlConvertLongToLuid
RtlConvertUlongToLargeInteger
RtlConvertUlongToLuid
RtlCopyBytes
RtlCopyMemory
RtlCopyMemory32
RtlCopyString
RtlCopyUnicodeString
RtlCreateRegistryKey
RtlCreateSecurityDescriptor
RtlDeleteRegistryValue
RtlEnlargedIntegerMultiply
RtlEnlargedUnsignedDivide
RtlEnlargedUnsignedMultiply
RtlEqualLuid
RtlEqualMemory
RtlEqualString
RtlEqualUnicodeString
RtlExtendedIntegerMultiply
RtlExtendedLargeIntegerDivide
RtlExtendedMagicDivide
RtlFillBytes
RtlFillMemory
RtlFindClearBits
RtlFindClearBitsAndSet
RtlFindClearRuns
RtlFindFirstRunClear
RtlFindLastBackwardRunClear
RtlFindLeastSignificantBit
RtlFindMostSignificantBit
RtlFindLongestRunClear
RtlFindNextForwardRunClear
RtlFindSetBits
RtlFindSetBitsAndClear
RtlFreeAnsiString
RtlFreeUnicodeString
RtlGetVersion
RtlGUIDFromString
RtlInitAnsiString
RtlInitializeBitMap
RtlInitString
RtlInitUnicodeString
RtlInt64ToUnicodeString
RtlIntegerToUnicodeString
RtlIntPtrToUnicodeString
RtlLargeIntegerAdd
RtlLargeIntegerAnd
RtlLargeIntegerArithmeticShift
RtlLargeIntegerDivide
RtlLargeIntegerEqualTo
RtlLargeIntegerEqualToZero
RtlLargeIntegerGreaterThan
RtlLargeIntegerGreaterThanOrEqualTo
RtlLargeIntegerGreaterOrEqualToZero
RtlLargeIntegerGreaterThanZero
RtlLargeIntegerLessThan
RtlLargeIntegerLessThanOrEqualTo
RtlLargeIntegerLessOrEqualToZero
RtlLargeIntegerLessThanZero
RtlLargeIntegerNegate
RtlLargeIntegerNotEqualTo
RtlLargeIntegerNotEqualToZero
RtlLargeIntegerShiftLeft
RtlLargeIntegerShiftRight
RtlLargeIntegerSubtract
RtlLengthSecurityDescriptor
RtlMoveMemory
RtlNumberOfClearBits
RtlNumberOfSetBits
RtlPrefixUnicodeString
RtlQueryRegistryValues
RtlRetrieveUlong
RtlRetrieveUshort
RtlSetAllBits
RtlSetBits
RtlSetDaclSecurityDescriptor
RtlStoreUlong
RtlStoreUlonglong
RtlStoreUlongPtr
RtlStoreUshort
RtlStringFromGUID
RtlTimeFieldsToTime
RtlTimeToTimeFields
RtlUlongByteSwap
RtlUlonglongByteSwap
RtlUnicodeStringToAnsiSize
RtlUnicodeStringToAnsiString
RtlUnicodeStringToInteger
RtlUpcaseUnicodeChar
RtlUpcaseUnicodeString
RtlUpperChar
RtlUpperString
RtlUshortByteSwap
RtlValidSecurityDescriptor
RtlVerifyVersionInfo
RtlVolumeDeviceToDosName
RtlWriteRegistryValue
RtlxUnicodeStringToAnsiSize
RtlZeroBytes
RtlZeroMemory
第10章 安全引用监视器例程
SeAccessCheck
SeAssignSecurity
SeAssignSecurityEx
SeDeassignSecurity
SeSinglePrivilegeCheck
SeValidSecurityDescriptor
第11章 ZwXxx例程
ZwClose
ZwCreateDirectoryObject
ZwCreateFile
ZwCreateKey
ZwDeleteKey
ZwEnumerateKey
ZwEnumerateValueKey
ZwFlushKey
ZwMakeTemporaryObject
ZwMapViewOfSection
ZwOpenFile
ZwOpenKey
ZwOpenSection
ZwOpenSymbolicLinkObject
ZwQueryInformationFile
ZwQueryKey
ZwQuerySymbolicLinkObject
ZwQueryValueKey
ZwReadFile
ZwSetInformationFile
ZwSetInformationThread
ZwSetValueKey
ZwUnmapViewOfSection
ZwWriteFile
第12章 系统结构
ANSI_STRING
CM_EISA_FUNCTION_INFORMATION
CM_EISA_SLOT_INFORMATION
CM_FLOPPY_DEVICE_DATA
CM_FULL_RESOURCE_DESCRIPTOR
CM_INT13_DRIVE_PARAMETER
CM_KEYBOARD_DEVICE_DATA
CM_MCA_POS_DATA
CM_PARTIAL_RESOURCE_DESCRIPTOR
CM_PARTIAL_RESOURCE_LIST
CM_RESOURCE_LIST
CM_SCSI_DEVICE_DATA
CM_SERIAL_DEVICE_DATA
CONTROLLER_OBJECT
DEVICE_DESCRIPTION
DEVICE_OBJECT
DMA_ADAPTER
DMA_OPERATIONS
DRIVER_OBJECT
FILE_ALIGNMENT_INFORMATION
FILE_BASIC_INFORMATION
FILE_DISPOSITION_INFORMATION
FILE_END_OF_FILE_INFORMATION
FILE_FS_DEVICE_INFORMATION
FILE_FULL_EA_INFORMATION
FILE_NAME_INFORMATION
FILE_OBJECT
FILE_POSITION_INFORMATION
FILE_STANDARD_INFORMATION
IO_RESOURCE_DESCRIPTOR
IO_RESOURCE_LIST
IO_RESOURCE_REQUIREMENTS_LIST
IO_STACK_LOCATION
IO_STATUS_BLOCK
IRP
KEY_BASIC_INFORMATION
KEY_FULL_INFORMATION
KEY_NODE_INFORMATION
KEY_VALUE_BASIC_INFORMATION
KEY_VALUE_FULL_INFORMATION
KEY_VALUE_PARTIAL_INFORMATION
OEM_STRING
PCI_COMMON_CONFIG
PCI_SLOT_NUMBER
POOL_TYPE
RTL_OSVERSIONINFOW
RTL_OSVERSIONINFOEXW
SCATTER_GATHER_LIST
UNICODE_STRING
第13章 IRP函数代码和IOCTL
根据设备对象类型决定需要的I/O支持
公共I/O请求的输入和输出参数
IRP_MJ_CLEANUP
IRP_MJ_CLOSE
IRP_MJ_CREATE
IRP_MJ_DEVICE_CONTROL
IRP_MJ_FLUSH_BUFFERS
IRP_MJ_INTERNAL_DEVICE_CONTROL
IRP_MJ_PNP
IRP_MJ_POWER
IRP_MJ_READ
IRP_MJ_SHUTDOWN
IRP_MJ_WRITE
定义I/O控制代码
设备类型专有的I/O请求
第二部分 串行和并行接口驱动程序
第14章 串行接口驱动程序参考
Serial主要I/O请求
IRP_MJ_CREATE
IRP_MJ_DEVICE_CONTROL
IRP_MJ_FLUSH_BUFFERS
IRP_MJ_INTERNAL_DEVICE_CONTROL
IRP_MJ_PNP
IRP_MJ_POWER
IRP_MJ_QUERY_INFORMATION
IRP_MJ_READ
IRP_MJ_SET_INFORMATION
IRP_MJ_SYSTEM_CONTROL
IRP_MJ_WRITE
Serial设备控制请求
IOCTL_SERIAL_CLEAR_STATS
IOCTL_SERIAL_CLR_DTR
IOCTL_SERIAL_CLR_RTS
IOCTL_SERIAL_CONFIG_SIZE
IOCTL_SERIAL_GET_BAUD_RATE
IOCTL_SERIAL_GET_CHARS
IOCTL_SERIAL_GET_COMMSTATUS
IOCTL_SERIAL_GET_DTRRTS
IOCTL_SERIAL_GET_HANDFLOW
IOCTL_SERIAL_GET_LINE_CONTROL
IOCTL_SERIAL_GET_MODEM_CONTROL
IOCTL_SERIAL_GET_MODEMSTATUS
IOCTL_SERIAL_GET_PROPERTIES
IOCTL_SERIAL_GET_STATS
IOCTL_SERIAL_GET_TIMEOUTS
IOCTL_SERIAL_GET_WAIT_MASK
IOCTL_SERIAL_IMMEDIATE_CHAR
IOCTL_SERIAL_LSRMST_INSERT
IOCTL_SERIAL_PURGE
IOCTL_SERIAL_RESET_DEVICE
IOCTL_SERIAL_SET_BAUD_RATE
IOCTL_SERIAL_SET_BREAK_OFF
IOCTL_SERIAL_SET_BREAK_ON
IOCTL_SERIAL_SET_CHARS
IOCTL_SERIAL_SET_DTR
IOCTL_SERIAL_SET_FIFO_CONTROL
IOCTL_SERIAL_SET_HANDFLOW
IOCTL_SERIAL_SET_LINE_CONTROL
IOCTL_SERIAL_SET_MODEM_CONTROL
IOCTL_SERIAL_SET_QUEUE_SIZE
IOCTL_SERIAL_SET_RTS
IOCTL_SERIAL_SET_TIMEOUTS
IOCTL_SERIAL_SET_WAIT_MASK
IOCTL_SERIAL_SET_XOFF
IOCTL_SERIAL_SET_XON
IOCTL_SERIAL_WAIT_ON_MASK
IOCTL_SERIAL_XOFF_COUNTER
Serial内部设备控制请求
IOCTL_SERIAL_INTERNAL_BASIC_SETTINGS
IOCTL_SERIAL_INTERNAL_CANCEL_WAIT_WAKE
IOCTL_SERIAL_INTERNAL_DO_WAIT_WAKE
IOCTL_SERIAL_INTERNAL_RESTORE_SETTINGS
第15章 Serenum驱动程序参考
Serenum设备控制请求
IOCTL_SERENUM_PORT_DESC
IOCTL_SERENUM_GET_PORT_NAME
Serenum内部设备控制请求
IOCTL_INTERNAL_SERENUM_REMOVE_SELF
第16章 Parport驱动程序参考
Parport主要I/O请求
IRP_MJ_CREATE
IRP_MJ_INTERNAL_DEVICE_CONTROL
Parport内部设备控制请求
IOCTL_INTERNAL_DESELECT_DEVICE
IOCTL_INTERNAL_GET_MORE_PARALLEL_PORT_INFO
IOCTL_INTERNAL_GET_PARALLEL_PNP_INFO
IOCTL_INTERNAL_GET_PARALLEL_PORT_INFO
IOCTL_INTERNAL_INIT_1284_3_BUS
IOCTL_INTERNAL_PARALLEL_CLEAR_CHIP_MODE
IOCTL_INTERNAL_PARALLEL_CONNECT_INTERRUPT
IOCTL_INTERNAL_PARALLEL_DISCONNECT_INTERRUPT
IOCTL_INTERNAL_PARALLEL_PORT_ALLOCATE
IOCTL_INTERNAL_PARALLEL_PORT_FREE
IOCTL_INTERNAL_PARALLEL_SET_CHIP_MODE
IOCTL_INTERNAL_RELEASE_PARALLEL_PORT_INFO
IOCTL_INTERNAL_SELECT_DEVICE
IOCTL_INTERNAL_Xxx
Parport数据类型
MORE_PARALLEL_PORT_INFOR-MATION
PARALLEL_1284_COMMAND
PARALLEL_CHIP_MODE
PARALLEL_PNP_INFORMATION
PARALLEL_PORT_INFORMATION
PARALLEL_INTERRUPT_INFORMATION
PARALLEL_INTERRUPT_SERVICE_ROUTINE
Parport回调例程
ClearChipMode
DeselectDevice
FreePort
FreePortFromInterruptLevel
QueryNumWaiters
TryAllocatePort
TryAllocatePortAtInterruptLevel
TrySelectDevice
TrySetChipMode
第17章 Parclass驱动程序参考
Parclass主要I/O请求
IRP_MJ_CREATE
IRP_MJ_DEVICE_CONTROL
IRP_MJ_INTERNAL_DEVICE_CONTROL
IRP_MJ_QUERY_INFORMATION
IRP_MJ_READ
IRP_MJ_WRITE
Parclass设备控制请求
IOCTL_IEEE1284_GET_MODE
IOCTL_IEEE1284_NEGOTIATE
IOCTL_PAR_GET_DEFAULT_MODES
IOCTL_PAR_GET_DEVICE_CAPS
IOCTL_PAR_IS_PORT_FREE
IOCTL_PAR_QUERY_DEVICE_ID
IOCTL_PAR_QUERY_DEVICE_ID_SIZE
IOCTL_PAR_QUERY_INFORMATION
IOCTL_PAR_QUERY_RAW_DEVICE_ID
IOCTL_PAR_SET_INFORMATION
IOCTL_PAR_SET_READ_ADDRESS
IOCTL_PAR_SET_WRITE_ADDRESS
IOCTL_SERIAL_GET_TIMEOUTS
IOCTL_SERIAL_SET_TIMEOUTS
Parclass内部设备控制请求
IOCTL_INTERNAL_DISCONNECT_IDLE
IOCTL_INTERNAL_LOCK_PORT
IOCTL_INTERNAL_PARCLASS_CONNECT
IOCTL_INTERNAL_PARCLASS_DISCONNECT
IOCTL_INTERNAL_PARDOT3_CONNECT
IOCTL_INTERNAL_PARDOT3_DISCONNECT
IOCTL_INTERNAL_UNLOCK_PORT
Parclass数据类型
PAR_QUERY_INFORMATION
PAR_SET_INFORMATION
PARCLASS_INFORMATION
PARCLASS_NEGOTIATION_MASK
Parclass回调例程
DetermineIeeeModes
IeeeFwdToRevMode
IeeeRevToFwdMode
NegotiateIeeeMode
ParallelRead
ParallelWrite
TerminateIeeeMode
第三部分 输入设备的驱动程序
第18章 HID 输入/输出请求
HID类驱动程序支持的I/O请求
IOCTL_HID_GET_POLL_FREQUENCY_MSEC
IOCTL_HID_SET_POLL_FREQUENCY_MSEC
IOCTL_GET_NUM_DEVICE_INPUT_BUFFERS
IOCTL_SET_NUM_DEVICE_INPUT_BUFFERS
IOCTL_HID_GET_COLLECTION_INFORMATION
IOCTL_HID_GET_COLLECTION_DESCRIPTOR
IOCTL_HID_FLUSH_QUEUE
IOCTL_HID_GET_FEATURE
IOCTL_HID_SET_FEATURE
IOCTL_GET_PHYSICAL_DESCRIPTOR
IOCTL_HID_GET_HARDWARE_ID
IOCTL_HID_GET_MANUFACTURER_STRING
IOCTL_HID_GET_PRODUCT_STRING
IOCTL_HID_GET_SERIALNUMBER_STRING
IOCTL_HID_GET_INDEXED_STRING
HID微驱动程序支持的I/O请求
IOCTL_GET_PHYSICAL_DESCRIPTOR
IOCTL_HID_ACTIVATE_DEVICE
IOCTL_HID_DEACTIVATE_DEVICE
IOCTL_HID_GET_DEVICE_ATTRIBUTES
IOCTL_HID_GET_DEVICE_DESCRIPTOR
IOCTL_HID_GET_FEATURE
IOCTL_HID_GET_INDEXED_STRING
IOCTL_HID_GET_REPORT_DESCRIPTOR
IOCTL_HID_GET_STRING
IOCTL_HID_READ_REPORT
IOCTL_HID_SET_FEATURE
IOCTL_HID_WRITE_REPORT
第19章 客户HID支持例程
HidD_FlushQueue
HidD_FreePreparsedData
HidD_GetAttributes
HidD_GetConfiguration
HidD_GetFeature
HidD_GetHidGuid
HidD_GetIndexedString
HidD_GetManufacturerString
HidD_GetNumInputBuffers
HidD_GetPhysicalDescriptor
HidD_GetPreparsedData
HidD_GetProductString
HidD_GetSerialNumberString
HidD_SetConfiguration
HidD_SetFeature
HidD_SetNumInputBuffers
HidP_GetButtonCaps
HidP_GetButtons
HidP_GetButtonsEx
HidP_GetCaps
HidP_GetLinkCollectionNodes
HidP_GetScaledUsageValue
HidP_GetSpecificButtonCaps
HidP_GetSpecificValueCaps
HidP_GetUsageValue
HidP_GetUsageValueArray
HidP_GetValueCaps
HidP_MaxUsageListLength
HidP_SetButtons
HidP_SetScaledUsageValue
HidP_SetUsageValue
HidP_SetUsageValueArray
HidP_TranslateUsagesToI8042ScanCodes
HidP_UsageListDifference
第20章 客户HID结构
HID_COLLECTION_INFORMATION
HIDP_COLLECTION_DESC
HIDD_ATTRIBUTES
HIDD_CONFIGURATION
HIDP_BUTTON_CAPS
HIDP_CAPS
HIDP_LINK_COLLECTION_NODE
HIDP_VALUE_CAPS
USAGE_AND_PAGE
第21章 微驱动程序HID支持例程
HidRegisterMinidriver
第22章 微驱动程序HID结构
HID_DEVICE_ATTRIBUTES
HID_DEVICE_EXTENSION
HID_MINIDRIVER_REGISTRATION
HID_XFER_PACKET
第23章 Kbdclass驱动程序参考
Kbdclass主要I/O请求
Kbdclass设备控制请求
Kbdclass类服务回调例程
KeyboardClassServiceCallback
第24章 Mouclass驱动程序参考
Mouclass主要I/O请求
IOCTL-Xxx设备控制请求
Mouclass类服务回调例程
第25章 I8042prt驱动程序参考
I8042prt键盘主要I/O请求
I8042prt键盘内部设备控制请求
I8042prt鼠标主要I/O请求
I8042prt鼠标内部设备控制请求
I8042prt键盘回调例程
I8042prt鼠标回调例程
第26章 Kbfiltr驱动程序参考
Kbfiltr内部设备控制请求
Kbfiltr回调例程
第27章 Moufiltr驱动程序参考
Moufiltr内部设备控制请求
Moufiltr回调例程
第四部分 USB驱动程序
第28章 USB客户驱动程序I/O请求
IOCTL_INTERNAL_USB_SUBMIT_URB
IOCTL_INTERNAL_USB_RESET_PORT
IOCTL_INTERNAL_USB_GET_PORT_STATUS
IOCTL_INTERNAL_USB_ENABLE_PORT
IOCTL_INTERNAL_USB_GET_HUB_COUNT
IOCTL_INTERNAL_USB_CYCLE_PORT
IOCTL_INTERNAL_USB_GET_ROOTHUB_PDO
IOCTL_INTERNAL_USB_GET_HUB_NAME
IOCTL_INTERNAL_USB_GET_BUS_INFO
IOCTL_INTERNAL_USB_GET_CONTROLLER_NAME
第29章 USB客户支持例程
GET_ISO_URB_SIZE
GET_SELECT_CONFIGURATION_REQUEST_SIZE
GET_SELECT_INTERFACE_REQUEST_SIZE
GET_USBD_INTERFACE_SIZE
UsbBuildFeatureRequest
UsbBuildGetDescriptorRequest
UsbBuildGetStatusRequest
UsbBuildInterruptOrBulkTransferRequest
UsbBuildSelectConfigurationRequest
UsbBuildSelectInterfaceRequest
UsbBuildVendorRequest
USBD_CreateConfigurationRequest
USBD_CreateConfigurationRequestEx
USBD_GetInterfaceLength
USBD_GetUSBDIVersion
USBD_ParseConfigurationDescriptor
USBD_ParseConfigurationDescriptorEx
USBD_ParseDescriptors
USBD_RegisterHcFilter
第30章 USB结构
URB
_URB_BULK_OR_INTERRUPT_TRANSFER
_URB_CONTROL_DESCRIPTOR_REQUEST
_URB_CONTROL_FEATURE_REQUEST
_URB_CONTROL_GET_CONFIGURATIONREQUEST
_URB_CONTROL_GET_INTERFACE_REQUEST
_URB_CONTROL_GET_STATUS_REQUEST
_URB_CONTROL_TRANSFER
_URB_CONTROL_VENDOR_OR_CLASS_REQUEST
_URB_FRAME_LENGTH_CONTROL
_URB_GET_CURRENT_FRAME_NUMBER
_URB_GET_FRAME_LENGTH
_URB_HEADER
_URB_ISOCH_TRANSFER
_URB_PIPE_REQUEST
_URB_SELECT_CONFIGURATION
_URB_SELECT_INTERFACE
_URB_SET_FRAME_LENGTH
USB_CONFIGURATION_DESCRIPTOR
USB_DEVICE_DESCRIPTOR
USB_ENDPOINT_DESCRIPTOR
USB_INTERFACE_DESCRIPTOR
USB_HUB_NAME
USB_ROOT_HUB_NAME
USB_STRING_DESCRIPTOR
USBD_INTERFACE_INFORMATION
USBD_INTERFACE_LIST_ENTRY
USBD_PIPE_INFORMATION
USBD_ISO_PACKET_DESCRIPTOR
第五部分 IEEE 1394驱动程序
第31章 IEEE 1394总线I/O请求
IOCTL_CLASS_1394
REQUEST_ALLOCATE_ADDRESS_RANGE
REQUEST_ASYNC_LOCK
REQUEST_ASYNC_READ
REQUEST_ASYNC_STREAM
REQUEST_ASYNC_WRITE
REQUEST_BUS_RESET
REQUEST_BUS_RESET_NOTIFICATION
REQUEST_CONTROL
REQUEST_FREE_ADDRESS_RANGE
REQUEST_GET_ADDR_FROM_DEVICE_OBJECT
REQUEST_GET_CONFIGURATION_INFO
REQUEST_GET_GENERATION_COUNT
REQUEST_GET_LOCAL_HOST_INFO
REQUEST_GET_SPEED_BETWEEN_DEVICES
REQUEST_GET_SPEED_TOPOLOGY_MAPS
REQUEST_ISOCH_ALLOCATE_BANDWIDTH
REQUEST_ISOCH_ALLOCATE_CHANNEL
REQUEST_ISOCH_ALLOCATE_RESOURCES
REQUEST_ISOCH_ATTACH_BUFFERS
REQUEST_ISOCH_DETACH_BUFFERS
REQUEST_ISOCH_FREE_BANDWIDTH
REQUEST_ISOCH_FREE_CHANNEL
REQUEST_ISOCH_FREE_RESOURCES
REQUEST_ISOCH_LISTEN
REQUEST_ISOCH_QUERY_CYCLE_TIME
REQUEST_ISOCH_QUERY_RESOURCES
REQUEST_ISOCH_SET_CHANNEL_BANDWIDTH
REQUEST_ISOCH_STOP
REQUEST_ISOCH_TALK
REQUEST_SEND_PHY_CONFIG_PACKET
REQUEST_SET_DEVICE_XMIT_PROPERTIES
REQUEST_SET_LOCAL_HOST_PROPERTIES
第32章 IEEE 1394结构
ADDRESS_FIFO
ADDRESS_OFFSET
ADDRESS_RANGE
CONFIG_ROM
CYCLE_TIME
GET_LOCAL_HOST_INFO1
GET_LOCAL_HOST_INFO2
GET_LOCAL_HOST_INFO3
GET_LOCAL_HOST_INFO4
GET_LOCAL_HOST_INFO5
GET_LOCAL_HOST_INFO6
IO_ADDRESS
IRB
ISOCH_DESCRIPTOR
NODE_ADDRESS
NOTIFICATION_INFO
PHY_CONFIGURATION_PACKET
SELF_ID
SELF_ID_MORE
SPEED_MAP
TEXTUAL_LEAF
TOPOLOGY_MAP
第六部分 PCMCIA驱动程序
第33章 PCMCIA_INTERFACE_STANDARD接口内存卡例程
PCMCIA_IS_WRITE_PROTECTED
PCMCIA_MODIFY_MEMORY_WINDOW
PCMCIA_SET_VPP
第七部分 SMB客户驱动程序
第34章 SMB IOCTL
SMB_BUS_REQUEST
SMB_DEREGISTER_ALARM_NOTIFY
SMB_REGISTER_ALARM_NOTIFY
第35章 SMB结构
SMB_CLASS
SMB_REGISTER_ALARM
SMB_REQUEST
第八部分 WMI内核模式数据提供者
第36章 WMI IRP
IRP_MN_CHANGE_SINGLE_INSTANCE
IRP_MN_CHANGE_SINGLE_ITEM
IRP_MN_DISABLE_COLLECTION
IRP_MN_DISABLE_EVENTS
IRP_MN_ENABLE_COLLECTION
IRP_MN_ENABLE_EVENTS
IRP_MN_EXECUTE_METHOD
IRP_MN_QUERY_ALL_DATA
IRP_MN_QUERY_SINGLE_INSTANCE
IRP_MN_REGINFO
第37章 WMI库支持例程
WmiCompleteRequest
WmiFireEvent
WmiSystemControl
第38章 WMI库回调例程
DpWmiExecuteMethod
DpWmiFunctionControl
DpWmiQueryDataBlock
DpWmiQueryReginfo
DpWmiSetDataBlock
DpWmiSetDataItem
第39章 WMI结构
WMILIB_CONTEXT
WMIGUIDREGINFO
WMIREGGUID
WMIREGINFO
WNODE_ALL_DATA
WNODE_EVENT_ITEM
WNODE_EVENT_REFERENCE
WNODE_HEADER
WNODE_METHOD_ITEM
WNODE_SINGLE_INSTANCE
WNODE_SINGLE_ITEM
WNODE_TOO_SMALL
第40章 WMI事件跟踪结构
EVENT_TRACE_HEADER
第一篇 即插即用、电源管理和设置驱动程序开发参考
第一部分 即插即用
第1章 即插即用例程
设备信息例程
注册例程
设备接口例程
PnP通知例程
删除锁例程
其他PnP例程
IoAcquireRemoveLock
IoAcquireRemoveLockEx
IoAdjustPagingPathCount
IoGetDeviceInterfaceAlias
IoGetDeviceInterfaces
IoGetDeviceProperty
IoInitializeRemoveLock
IoInitializeRemoveLockEx
IoInvalidateDeviceRelations
IoInvalidateDeviceState
IoOpenDeviceInterfaceRegistryKey
IoOpenDeviceRegistryKey
IoRegisterDeviceInterface
IoRegisterPlugPlayNotification
IoReleaseRemoveLock
IoReleaseRemoveLockEx
IoReleaseRemoveLockAndWait
IoReleaseRemoveLockAndWaitEx
IoReportDetectedDevice
IoReportResourceForDetection
IoReportTargetDeviceChange
IoReportTargetDeviceChangeAsynchronous
IoRequestDeviceEject
IoSetDeviceInterfaceState
IoUnregisterPlugPlayNotification
第2章 即插即用IRP
IRP_MN_CANCEL_REMOVE_DEVICE
IRP_MN_CANCEL_STOP_DEVICE
IRP_MN_DEVICE_USAGE_NOTIFICATION
IRP_MN_EJECT
IRP_MN_FILTER_RESOURCE_REQUIREMENTS
IRP_MN_QUERY_BUS_INFORMATION
IRP_MN_QUERY_CAPABILITIES
IRP_MN_QUERY_DEVICE_RELATIONS
IRP_MN_QUERY_DEVICE_TEXT
IRP_MN_QUERY_ID
IRP_MN_QUERY_INTERFACE
IRP_MN_QUERY_LEGACY_BUS_INFORMATION
IRP_MN_QUERY_PNP_DEVICE_STATE
IRP_MN_QUERY_REMOVE_DEVICE
IRP_MN_QUERY_RESOURCE_REQUIREMENTS
IRP_MN_QUERY_RESOURCES
IRP_MN_QUERY_STOP_DEVICE
IRP_MN_READ_CONFIG
IRP_MN_REMOVE_DEVICE
IRP_MN_SET_LOCK
IRP_MN_START_DEVICE
IRP_MN_STOP_DEVICE
IRP_MN_SURPRISE_REMOVAL
IRP_MN_WRITE_CONFIG
第3章 即插即用结构
DEVICE_CAPABILITIES
DEVICE_INTERFACE_CHANGE_NOTIFICATION
HWPROFILE_CHANGE_NOTIFICATION
LPGUID
PLUGPLAY_NOTIFICATION_HEADER
PNP_DEVICE_STATE
TARGET_DEVICE_CUSTOM_NOTIFICATION
TARGET_DEVICE_REMOVAL_NOTIFICATION
第二部分 电源管理
第4章 电源管理支持例程
PoCallDriver
PoRegisterDeviceForIdleDetection
PoRegisterSystemState
PoRequestPowerIrp
PoSetDeviceBusy
PoSetPowerState
PoSetSystemState
PoStartNextPowerIrp
PoUnregisterSystemState
第5章 电源管理的I/O请求
IRP_MN_POWER_SEQUENCE
IRP_MN_QUERY_POWER
IRP_MN_SET_POWER
IRP_MN_WAIT_WAKE
第6章 电池类驱动程序例程
BatteryClassInitializeDevice
BatteryClassIoctl
BatteryClassStatusNotify
BatteryClassUnload
第7章 电池微类驱动程序例程
BatteryMiniDisableStatusNotify
BatteryMiniQueryInformation
BatteryMiniQueryStatus
BatteryMiniQueryTag
BatteryMiniSetInformation
BatteryMiniSetStatusNotify
第8章 电池结构
BATTERY_INFORMATION
BATTERY_MANUFACTURE_DATE
BATTERY_REPORTING_SCALE
第三部分 设置
第9章 INF文件节和命令
INF文件的通用语法规则
一个INF文件样例
INF节摘要
INF命令摘要
INF Version 节
INF SourceDisksNames 节
INF SourceDisksFiles 节
INF ClassInstall32 节
INF DestinationDirs 节
INF ControlFlags 节
INF Manufacturer 节
INF Models 节
INF DDInstall 节
INF DDInstall.Services 节
INF DDInstall.HW节
INF DDInstall.CoInstallers 节
INF DDInstall.Interfaces 节
INF InterfaceInstall32节
INF DDInstall.FactDef 节
INF Strings 节
INF AddReg 命令
INF DelReg 命令
INF CopyFiles 命令
INF DelFiles 命令
INF RenFiles 命令
INF AddService 命令
INF DelService 命令
INF AddInterface 命令
INF BitReg 命令
INF LogConfig 命令
INF ProfileItems 命令
INF UpdateInis 命令
INF UpdateIniFields 命令
INF Ini2Reg 命令
第10章 安装函数
INF 文件处理函数
磁盘提示和错误处理函数
文件队列函数
缺省队列回调例程函数
文件箱函数
磁盘空间列表函数
最常用源列表函数
日志文件函数
第11章 设备安装函数
更新驱动程序函数
SetupDi 设备信息函数
SetupDi 驱动程序信息函数
SetupDi 驱动程序选择函数
SetupDi 设备安装处理程序
SetupDi 设备安装定制函数
SetupDi 安装类函数
SetupDi 类位图和图标函数
SetupDi 设备接口函数
SetupDi 注册函数
其他SetupDi函数
SetupDiAskForOEMDisk
SetupDiBuildClassInfoList
SetupDiBuildClassInfoListEx
SetupDiBuildDriverInfoList
SetupDiCallClassInstaller
SetupDiCancelDriverInfoSearch
SetupDiChangeState
SetupDiClassGuidsFromName
SetupDiClassGuidsFromNameEx
SetupDiClassNameFromGuid
SetupDiClassNameFromGuidEx
SetupDiCreateDeviceInfo
SetupDiCreateDeviceInfoList
SetupDiCreateDeviceInfoListEx
SetupDiCreateDeviceInterface
SetupDiCreateDeviceInterfaceRegKey
SetupDiCreateDevRegKey
SetupDiDeleteDeviceInfo
SetupDiDeleteDeviceInterfaceData
SetupDiDeleteDeviceInterfaceRegKey
SetupDiDeleteDevRegKey
SetupDiDestroyClassImageList
SetupDiDestroyDeviceInfoList
SetupDiDestroyDriverInfoList
SetupDiDrawMiniIcon
SetupDiEnumDeviceInfo
SetupDiEnumDeviceInterfaces
SetupDiEnumDriverInfo
SetupDiGetActualSectionToInstall
SetupDiGetClassBitmapIndex
SetupDiGetClassDescription
SetupDiGetClassDescriptionEx
SetupDiGetClassDevs
SetupDiGetClassDevsEx
SetupDiGetClassImageIndex
SetupDiGetClassImageList
SetupDiGetClassImageListEx
SetupDiGetClassInstallParams
SetupDiGetDeviceInfoListClass
SetupDiGetDeviceInfoListDetail
SetupDiGetDeviceInstallParams
SetupDiGetDeviceInstanceId
SetupDiGetDeviceInterfaceAlias
SetupDiGetDeviceInterfaceDetail
SetupDiGetDeviceRegistryProperty
SetupDiGetDriverInfoDetail
SetupDiGetDriverInstallParams
SetupDiGetHwProfileFriendlyName
SetupDiGetHwProfileFriendlyNameEx
SetupDiGetHwProfileList
SetupDiGetHwProfileListEx
SetupDiGetINFClass
SetupDiGetSelectedDevice
SetupDiGetSelectedDriver
SetupDiGetWizardPage
SetupDiInstallClass
SetupDiInstallClassEx
SetupDiInstallDevice
SetupDiInstallDeviceInterfaces
SetupDiInstallDriverFiles
SetupDiLoadClassIcon
SetupDiMoveDuplicateDevice
SetupDiOpenClassRegKey
SetupDiOpenClassRegKeyEx
SetupDiOpenDeviceInfo
SetupDiOpenDeviceInterface
SetupDiOpenDeviceInterfaceRegKey
SetupDiOpenDevRegKey
SetupDiRegisterCoDeviceInstallers
SetupDiRegisterDeviceInfo
SetupDiRemoveDevice
SetupDiRemoveDeviceInterface
SetupDiSelectBestCompatDrv
SetupDiSelectDevice
SetupDiSelectOEMDrv
SetupDiSetClassInstallParams
SetupDiSetDeviceInstallParams
SetupDiSetDeviceRegistryProperty
SetupDiSetDriverInstallParams
SetupDiSetSelectedDevice
SetupDiSetSelectedDriver
SetupDiUnremoveDevice
UpdateDriverForPlugAndPlayDevices
第12章 设备安装结构
SP_ADDPROPERTYPAGE_DATA
SP_CLASSIMAGELIST_DATA
SP_CLASSINSTALL_HEADER
SP_DETECTDEVICE_PARAMS
SP_DEVICE_INTERFACE_DATA
SP_DEVICE_INTERFACE_DETAIL_DATA
SP_DEVINFO_DATA
SP_DEVINFO_LIST_DETAIL_DATA
SP_DEVINSTALL_PARAMS
SP_DRVINFO_DATA
SP_DRVINFO_DETAIL_DATA
SP_DRVINSTALL_PARAMS
SP_ENABLECLASS_PARAMS
SP_INSTALLWIZARD_DATA
SP_MOVEDEV_PARAMS
SP_NEWDEVICEWIZARD_DATA
SP_POWERMESSAGEWAKE_PARAMS
SP_PROPCHANGE_PARAMS
SP_PROPSHEETPAGE_REQUEST
SP_REMOVEDEVICE_PARAMS
SP_SELECTDEVICE_PARAMS
SP_TROUBLESHOOTER_PARAMS
SP_UNREMOVEDEVICE_PARAMS
第13章 设备安装函数代码
DIF_ADDPROPERTYPAGE_ADVANCED
DIF_ALLOW_INSTALL
DIF_DESTROYPRIVATEDATA
DIF_DETECT
DIF_INSTALLDEVICE
DIF_INSTALLDEVICEFILES
DIF_INSTALLINTERFACES
DIF_NEWDEVICEWIZARD_FINIS_HINSTALL
DIF_NEWDEVICEWIZARD_POSTA_NALYZE
DIF_NEWDEVICEWIZARD_PREA_NALYZE
DIF_NEWDEVICEWIZARD_PRESELECT
DIF_NEWDEVICEWIZARD_SELECT
DIF_POWERMESSAGEWAKE
DIF_PROPERTYCHANGE
DIF_REGISTER_COINSTALLERS
DIF_REGISTERDEVICE
DIF_REMOVE
DIF_SELECTBESTCOMPATDRV
DIF_SELECTDEVICE
DIF_TROUBLESHOOTER
DIF_UNREMOVE
保留的DIF代码
DIF_ADDPROPERTYPAGE_BASIC
DIF_ASSIGNRESOURCES
DIF_CALCDISKSPACE
DIF_DETECTCANCEL
DIF_DETECTVERIFY
DIF_ENABLECLASS
DIF_FIRSTTIMESETUP
DIF_FOUNDDEVICE
DIF_INSTALLCLASSDRIVERS
DIF_MOVEDEVICE
废弃的DIF代码
DIF_DESTROYWIZARDDATA
DIF_INSTALLWIZARD
DIF_PROPERTIES
DIF_SELECTCLASSDRIVERS
DIF_VALIDATECLASSDRIVERS
DIF_VALIDATEDRIVER
第14章 PnP配置管理程序函数
CM_Add_Empty_Log_Conf
CM_Add_Empty_Log_Conf_Ex
CM_Add_ID
CM_Add_ID_Ex
CM_Add_Res_Des
CM_Add_Res_Des_Ex
CM_Connect_Machine
CM_Disconnect_Machine
CM_Enumerate_Classes
CM_Enumerate_Classes_Ex
CM_Enumerate_Enumerators
CM_Enumerate_Enumerators_Ex
CM_Free_Log_Conf
CM_Free_Log_Conf_Ex
CM_Free_Log_Conf_Handle
CM_Free_Res_Des
CM_Free_Res_Des_Ex
CM_Free_Res_Des_Handle
CM_Free_Resource_Conflict_Handle
CM_Get_Child
CM_Get_Child_Ex
CM_Get_Depth
CM_Get_Depth_Ex
CM_Get_Device_ID
CM_Get_Device_ID_Ex
CM_Get_Device_ID_List
CM_Get_Device_ID_List_Ex
CM_Get_Device_ID_List_Size
CM_Get_Device_ID_List_Size_Ex
CM_Get_Device_ID_Size
CM_Get_Device_ID_Size_Ex
CM_Get_DevNode_Status
CM_Get_DevNode_Status_Ex
CM_Get_First_Log_Conf
CM_Get_First_Log_Conf_Ex
CM_Get_Log_Conf_Priority
CM_Get_Log_Conf_Priority_Ex
CM_Get_Next_Log_Conf
CM_Get_Next_Log_Conf_Ex
CM_Get_Next_Res_Des
CM_Get_Next_Res_Des_Ex
CM_Get_Parent
CM_Get_Parent_Ex
CM_Get_Res_Des_Data
CM_Get_Res_Des_Data_Ex
CM_Get_Res_Des_Data_Size
CM_Get_Res_Des_Data_Size_Ex
CM_Get_Resource_Conflict_Count
CM_Get_Resource_Conflict_Details
CM_Get_Sibling
CM_Get_Sibling_Ex
CM_Get_Version
CM_Get_Version_Ex
CM_Locate_DevNode
CM_Locate_DevNode_Ex
CM_Modify_Res_Des
CM_Modify_Res_Des_Ex
CM_Query_Resource_Conflict_List
CM_Reenumerate_DevNode
CM_Reenumerate_DevNode_Ex
CM_Request_Device_Eject
CM_Request_Device_Eject_Ex
第15章 PnP配置管理程序结构和类型
资源描述符结构
BUSNUMBER_DES
BUSNUMBER_RANGE
BUSNUMBER_RESOURCE
CS_DES
CS_RESOURCE
DEVPRIVATE_DES
DEVPRIVATE_RANGE
DEVPRIVATE_RESOURCE
DMA_DES
DMA_RANGE
DMA_RESOURCE
IO_DES
IO_RANGE
IO_RESOURCE
IRQ_DES
IRQ_RANGE
IRQ_RESOURCE
MEM_DES
MEM_RANGE
MEM_RESOURCE
MFCARD_DES
MFCARD_RESOURCE
PCCARD_DES
PCCARD_RESOURCE
其他的结构
CONFLICT_DETAILS
PnP 配置管理程序类型
PNP_VETO_TYPE
第16章 设备安装类
第17章 txtsetup.oem文件格式
txtsetup.oem文件中的Disks节
txtsetup.oem文件中的Defaults节
txtsetup.oem 文件中的HwComponent节
txtsetup.oem 文件中的Files.HwComponent.ID节
txtsetup.oem 文件中的Config.DriverKey节
txtsetup.oem 文件中的HardwareIds.scsi.Service节
第二篇 内核模式驱动程序开发参考
第一部分 内核模式支持例程
第1章 内核模式支持例程概述
初始化和卸载
IRP
同步
内存
DMA
PIO
驱动程序管理队列
驱动程序系统线程
串
数据转换
访问驱动程序管理的对象
错误处理
第2章 可执行支持例程
ExAcquireFastMutex
ExAcquireFastMutexUnsafe
ExAcquireResourceExclusive
ExAcquireResourceExclusiveLite
ExAcquireResourceShared
ExAcquireResourceSharedLite
ExAcquireSharedStarveExclusive
ExAcquireSharedWaitForExclusive
ExAllocateFromNPagedLookasideList
ExAllocateFromPagedLookasideList
ExAllocateFromZone
ExAllocatePool
ExAllocatePoolWithQuota
ExAllocatePoolWithQuotaTag
ExAllocatePoolWithTag
ExAllocatePoolWithTagPriority
ExConvertExclusiveToShared
ExConvertExclusiveToSharedLite
ExCreateCallback
ExDeleteNPagedLookasideList
ExDeletePagedLookasideList
ExDeleteResource
ExDeleteResourceLite
ExExtendZone
ExFreePool
ExFreeToNPagedLookasideList
ExFreeToPagedLookasideList
ExFreeToZone
ExGetCurrentResourceThread
ExGetExclusiveWaiterCount
ExGetPreviousMode
ExGetSharedWaiterCount
ExInitializeFastMutex
ExInitializeNPagedLookasideList
ExInitializePagedLookasideList
ExInitializeResource
ExInitializeResourceLite
ExInitializeSListHead
ExInitializeWorkItem
ExInitializeZone
ExInterlockedAddLargeInteger
ExInterlockedAddLargeStatistic
ExInterlockedAddUlong
ExInterlockedAllocateFromZone
ExInterlockedCompareExchange64
ExInterlockedDecrementLong
ExInterlockedExchangeAddLargeInteger
ExInterlockedExchangeUlong
ExInterlockedExtendZone
ExInterlockedFlushSList
ExInterlockedFreeToZone
ExInterlockedIncrementLong
ExInterlockedInsertHeadList
ExInterlockedInsertTailList
ExInterlockedPopEntryList
ExInterlockedPopEntrySList
ExInterlockedPushEntryList
ExInterlockedPushEntrySList
ExInterlockedRemoveHeadList
ExIsFullZone
ExIsObjectInFirstZoneSegment
ExIsProcessorFeaturePresent
ExIsResourceAcquiredExclusive
ExIsResourceAcquiredExclusiveLite
ExIsResourceAcquiredSharedLite
ExLocalTimeToSystemTime
ExNotifyCallback
ExQueryDepthSList
ExQueueWorkItem
ExRaiseAccessViolation
ExRaiseDatatypeMisalignment
ExRaiseStatus
ExRegisterCallback
ExReinitializeResourceLite
ExReleaseFastMutex
ExReleaseFastMutexUnsafe
ExReleaseResource
ExReleaseResourceForThread
ExReleaseResourceForThreadLite
ExReleaseResourceLite
ExSetResourceOwnerPointer
ExSetTimerResolution
ExSystemTimeToLocalTime
ExTryToAcquireFastMutex
ExTryToAcquireResourceExclusiveLite
ExUnregisterCallback
ExUnidCreate
InterlockedCompareExchange
InterlockedCompareExchangePointer
InterlockedDecrement
InterlockedExchange
InterlockedExchangeAdd
InterlockedExchangePointer
InterlockedIncrement
PAGED_CODE
ProbeForRead
ProbeForWrite
第3章 硬件抽象层例程
AllocateAdapterChannel
AllocateCommonBuffer
FlushAdapterBuffers
FreeAdapterChannel
FreeCommonBuffer
FreeMapRegisters
GetDmaAlignment
GetScatterGatherList
HalAllocateCommonBuffer
HalAssignSlotResources
HalExamineMBR
HalFreeCommonBuffer
HalGetAdapter
HalGetBusData
HalGetBusDataByOffset
HalGetDmaAlignmentRequirement
HalGetInterruptVector
HalReadDmaCounter
HalSetBusData
HalSetBusDataByOffset
HalTranslateBusAddress
MapTransfer
PutDmaAdapter
PutScatterGatherList
ReadDmaCounter
READ_PORT_BUFFER_UCHAR
READ_PORT_BUFFER_ULONG
READ_PORT_BUFFER_USHORT
READ_PORT_UCHAR
READ_PORT_ULONG
READ_PORT_USHORT
READ_REGISTER_BUFFER_UCHAR
READ_REGISTER_BUFFER_ULONG
READ_REGISTER_BUFFER_USHORT
READ_REGISTER_UCHAR
READ_REGISTER_ULONG
READ_REGISTER_USHORT
WRITE_PORT_BUFFER_UCHAR
WRITE_PORT_BUFFER_ULONG
WRITE_PORT_BUFFER_USHORT
WRITE_PORT_UCHAR
WRITE_PORT_ULONG
WRITE_PORT_USHORT
WRITE_REGISTER_BUFFER_UCHAR
WRITE_REGISTER_BUFFER_ULONG
WRITE_REGISTER_BUFFER_USHORT
WRITE_REGISTER_UCHAR
WRITE_REGISTER_ULONG
WRITE_REGISTER_USHORT
第4章 I/O 管理程序例程
IoAcquireCancelSpinLock
IoAcquireRemoveLock
IoAcquireRemoveLockEx
IoAdjustPagingPathCount
IoAllocateAdapterChannel
IoAssignArcName
IoAssignResources
IoAttachDevice
IoAttachDeviceByPointer
IoAttachDeviceToDeviceStack
IoBuildAsynchronousFsdRequest
IoBuildDeviceIoControlRequest
IoBuildPartialMdl
IoBuildSynchronousFsdRequest
IoCallDriver
IoCancelIrp
IoCheckShareAccess
IoCompleteRequest
IoConnectInterrupt
IoCopyCurrentIrpStackLocationToNext
IoCreateController
IoCreateDevice
IoCreateFile
IoCreateNotificationEvent
IoCreateSymbolicLink
IoCreateSynchronizationEvent
IoCreateUnprotectedSymbolicLink
IoDeassignArcName
IoDeleteController
IoDeleteDevice
IoDeleteSymbolicLink
IoFreeAdapterChannel
IoFreeController
IoFreeIrp
IoFreeMapRegisters
IoFreeMdl
IoFreeWorkItem
IoGetAttachedDeviceReference
IoGetBootDiskInformation
IoGetConfigurationInformation
IoGetCurrentIrpStackLocation
IoGetCurrentProcess
IoGetDeviceInterfaceAlias
IoGetDeviceInterfaces
IoGetDeviceObjectPointer
IoGetDeviceProperty
IoGetDeviceToVerify
IoGetDmaAdapter
IoGetDriverObjectExtension
IoGetFileObjectGenericMapping
IoGetFunctionCodeFromCtlCode
IoGetInitialStack
IoGetNextIrpStackLocation
IoGetRelatedDeviceObject
IoGetRemainingStackSize
IoGetStackLimits
IoInitializeDpcRequest
IoInitializeIrp
IoInitializeRemoveLock
IoInitializeRemoveLockEx
IoInitializeTimer
IoInvalidateDeviceRelations
IoInvalidateDeviceState
IoIsErrorUserInduced
IoIsWdmVersionAvailable
IoMakeAssociatedIrp
IoMapTransfer
IoMarkIrpPending
IoOpenDeviceInterfaceRegistryKey
IoOpenDeviceRegistryKey
IoQueryDeviceDescription
IoQueueWorkItem
IoRaiseHardError
IoRaiseInformationalHardError
IoReadPartitionTable
IoRegisterDeviceInterface
IoRegisterDriverReinitialization
IoRegisterPlugPlayNotification
IoRegisterShutdownNotification
IoReleaseCancelSpinLock
IoReleaseRemoveLock
IoReleaseRemoveLockEx
IoReleaseRemoveLockAndWait
IoReleaseRemoveLockAndWaitEx
IoRemoveShareAccess
IoReportDetectedDevice
IoReportResourceForDetection
IoReportResourceUsage
IoReportTargetDeviceChange
IoReportTargetDeviceChangeAsynchronous
IoRequestDeviceEject
IoRequestDpc
IoReuseIrp
IoSetCancelRoutine
IoSetCompletionRoutine
IoSetDeviceInterfaceState
IoSetHardErrorOrVerifyDevice
IoSetNextIrpStackLocation
IoSetPartitionInformation
IoSetShareAccess
IoSetThreadHardErrorMode
IoSizeOfIrp
IoSkipCurrentIrpStackLocation
IoStartNextPacket
IoStartNextPacketByKey
IoStartPacket
IoStartTimer
IoStopTimer
IoUnregisterPlugPlayNotification
IoUnregisterShutdownNotification
IoUpdateShareAccess
IoWMIAllocateInstanceIds
IoWMIDeviceObjectToProviderId
IoWMIRegistrationControl
IoWMISuggestInstanceName
IoWMIWriteEvent
IoWriteErrorLogEntry
IoWritePartitionTable
第5章 内核例程
KeAcquireSpinLock
KeAcquireSpinLockAtDpcLevel
KeBugCheck
KeBugCheckEx
KeCancelTimer
KeClearEvent
KeDelayExecutionThread
KeDeregisterBugCheckCallback
KeEnterCriticalRegion
KeFlushIoBuffers
KeGetCurrentIrql
KeGetCurrentProcessorNumber
KeGetCurrentThread
KeGetDcacheFillSize
KeInitializeCallbackRecord
KeInitializeDeviceQueue
KeInitializeDpc
KeInitializeEvent
KeInitializeMutex
KeInitializeSemaphore
KeInitializeSpinLock
KeInitializeTimer
KeInitializeTimerEx
KeInsertByKeyDeviceQueue
KeInsertDeviceQueue
KeInsertQueueDpc
KeLeaveCriticalRegion
KeLowerIrql
KePulseEvent
KeQueryInterruptTime
KeQueryPerformanceCounter
KeQueryPriorityThread
KeQuerySystemTime
KeQueryTickCount
KeQueryTimeIncrement
KeRaiseIrql
KeRaiseIrqlToDpcLevel
KeReadStateEvent
KeReadStateMutex
KeReadStateSemaphore
KeReadStateTimer
KeRegisterBugCheckCallback
KeReleaseMutex
KeReleaseSemaphore
KeReleaseSpinLock
KeReleaseSpinLockFromDpcLevel
KeRemoveByKeyDeviceQueue
KeRemoveDeviceQueue
KeRemoveEntryDeviceQueue
KeRemoveQueueDpc
KeResetEvent
KeRestoreFloatingPointState
KeSaveFloatingPointState
KeSetBasePriorityThread
KeSetEvent
KeSetImportanceDpc
KeSetTargetProcessorDpc
KeSetPriorityThread
KeSetTimer
KeSetTimerEx
KeStallExecutionProcessor
KeSynchronizeExecution
KeWaitForMultipleObjects
KeWaitForMutexObject
KeWaitForSingleObject
第6章 内存管理程序例程
ADDRESS_AND_SIZE_TO_SPAN_PAGES
ARGUMENT_PRESENT
BYTE_OFFSET
BYTES_TO_PAGES
COMPUTE_PAGES_SPANNED
CONTAINING_RECORD
FIELD_OFFSET
MmAllocateContiguousMemory
MmAllocateContiguousMemorySpecifyCache
MmAllocateNonCachedMemory
MmAllocatePagesForMdl
MmBuildMdlForNonPagedPool
MmCreateMdl
MmFreeContiguousMemory
MmFreeContiguousMemorySpecityCache
MmFreeNonCachedMemory
MmFreePagesFromMdl
MmGetMdlByteCount
MmGetMdlByteOffset
MmGetMdlPfnArray
MmGetMdlVirtualAddress
MmGetPhysicalAddress
MmGetSystemAddressForMdl
MmGetSystemAddressForMdlSafe
MmInitializeMdl
MmIsAddressValid
MmIsNonPagedSystemAddressValid
MmIsThisAnNtAsSystem
MmLockPagableCodeSection
MmLockPagableDataSection
MmLockPagableSectionByHandle
MmMapIoSpace
MmMapLockedPages
MmMapLockedPagesSpecifyCache
MmPageEntireDriver
MmResetDriverPaging
MmPrepareMdlForReuse
MmProbeAndLockPages
MmQuerySystemSize
MmSizeOfMdl
MmUnlockPages
MmUnlockPagableImageSection
MmUnmapIoSpace
MmUnmapLockedPages
PAGE_ALIGN
ROUND_TO_PAGES
第7章 对象管理程序例程
ObDereferenceObject
ObGetObjectSecurity
ObReferenceObject
ObReferenceObjectByHandle
ObReferenceObjectByPointer
ObReleaseObjectSecurity
第8章 进程结构例程
PsCreateSystemThread
PsGetCurrentProcess
PsGetCurrentProcessId
PsGetCurrentThread
PsGetCurrentThreadId
PsGetVersion
PsSetCreateProcessNotifyRoutine
PsSetCreateThreadNotifyRoutine
PsSetLoadImageNotifyRoutine
PsTerminateSystemThread
第9章 运行时库例程
InitializeListHead
InitializeObjectAttributes
InsertHeadList
InsertTailList
IsListEmpty
PopEntryList
PushEntryList
RemoveEntryList
RemoveHeadList
RemoveTailList
RtlAnsiStringToUnicodeSize
RtlAnsiStringToUnicodeString
RtlAppendUnicodeStringToString
RtlAppendUnicodeToString
RtlAreBitsClear
RtlAreBitsSet
RtlCharToInteger
RtlCheckBit
RtlCheckRegistryKey
RtlClearAllBits
RtlClearBits
RtlCompareMemory
RtlCompareString
RtlCompareUnicodeString
RtlConvertLongToLargeInteger
RtlConvertLongToLuid
RtlConvertUlongToLargeInteger
RtlConvertUlongToLuid
RtlCopyBytes
RtlCopyMemory
RtlCopyMemory32
RtlCopyString
RtlCopyUnicodeString
RtlCreateRegistryKey
RtlCreateSecurityDescriptor
RtlDeleteRegistryValue
RtlEnlargedIntegerMultiply
RtlEnlargedUnsignedDivide
RtlEnlargedUnsignedMultiply
RtlEqualLuid
RtlEqualMemory
RtlEqualString
RtlEqualUnicodeString
RtlExtendedIntegerMultiply
RtlExtendedLargeIntegerDivide
RtlExtendedMagicDivide
RtlFillBytes
RtlFillMemory
RtlFindClearBits
RtlFindClearBitsAndSet
RtlFindClearRuns
RtlFindFirstRunClear
RtlFindLastBackwardRunClear
RtlFindLeastSignificantBit
RtlFindMostSignificantBit
RtlFindLongestRunClear
RtlFindNextForwardRunClear
RtlFindSetBits
RtlFindSetBitsAndClear
RtlFreeAnsiString
RtlFreeUnicodeString
RtlGetVersion
RtlGUIDFromString
RtlInitAnsiString
RtlInitializeBitMap
RtlInitString
RtlInitUnicodeString
RtlInt64ToUnicodeString
RtlIntegerToUnicodeString
RtlIntPtrToUnicodeString
RtlLargeIntegerAdd
RtlLargeIntegerAnd
RtlLargeIntegerArithmeticShift
RtlLargeIntegerDivide
RtlLargeIntegerEqualTo
RtlLargeIntegerEqualToZero
RtlLargeIntegerGreaterThan
RtlLargeIntegerGreaterThanOrEqualTo
RtlLargeIntegerGreaterOrEqualToZero
RtlLargeIntegerGreaterThanZero
RtlLargeIntegerLessThan
RtlLargeIntegerLessThanOrEqualTo
RtlLargeIntegerLessOrEqualToZero
RtlLargeIntegerLessThanZero
RtlLargeIntegerNegate
RtlLargeIntegerNotEqualTo
RtlLargeIntegerNotEqualToZero
RtlLargeIntegerShiftLeft
RtlLargeIntegerShiftRight
RtlLargeIntegerSubtract
RtlLengthSecurityDescriptor
RtlMoveMemory
RtlNumberOfClearBits
RtlNumberOfSetBits
RtlPrefixUnicodeString
RtlQueryRegistryValues
RtlRetrieveUlong
RtlRetrieveUshort
RtlSetAllBits
RtlSetBits
RtlSetDaclSecurityDescriptor
RtlStoreUlong
RtlStoreUlonglong
RtlStoreUlongPtr
RtlStoreUshort
RtlStringFromGUID
RtlTimeFieldsToTime
RtlTimeToTimeFields
RtlUlongByteSwap
RtlUlonglongByteSwap
RtlUnicodeStringToAnsiSize
RtlUnicodeStringToAnsiString
RtlUnicodeStringToInteger
RtlUpcaseUnicodeChar
RtlUpcaseUnicodeString
RtlUpperChar
RtlUpperString
RtlUshortByteSwap
RtlValidSecurityDescriptor
RtlVerifyVersionInfo
RtlVolumeDeviceToDosName
RtlWriteRegistryValue
RtlxUnicodeStringToAnsiSize
RtlZeroBytes
RtlZeroMemory
第10章 安全引用监视器例程
SeAccessCheck
SeAssignSecurity
SeAssignSecurityEx
SeDeassignSecurity
SeSinglePrivilegeCheck
SeValidSecurityDescriptor
第11章 ZwXxx例程
ZwClose
ZwCreateDirectoryObject
ZwCreateFile
ZwCreateKey
ZwDeleteKey
ZwEnumerateKey
ZwEnumerateValueKey
ZwFlushKey
ZwMakeTemporaryObject
ZwMapViewOfSection
ZwOpenFile
ZwOpenKey
ZwOpenSection
ZwOpenSymbolicLinkObject
ZwQueryInformationFile
ZwQueryKey
ZwQuerySymbolicLinkObject
ZwQueryValueKey
ZwReadFile
ZwSetInformationFile
ZwSetInformationThread
ZwSetValueKey
ZwUnmapViewOfSection
ZwWriteFile
第12章 系统结构
ANSI_STRING
CM_EISA_FUNCTION_INFORMATION
CM_EISA_SLOT_INFORMATION
CM_FLOPPY_DEVICE_DATA
CM_FULL_RESOURCE_DESCRIPTOR
CM_INT13_DRIVE_PARAMETER
CM_KEYBOARD_DEVICE_DATA
CM_MCA_POS_DATA
CM_PARTIAL_RESOURCE_DESCRIPTOR
CM_PARTIAL_RESOURCE_LIST
CM_RESOURCE_LIST
CM_SCSI_DEVICE_DATA
CM_SERIAL_DEVICE_DATA
CONTROLLER_OBJECT
DEVICE_DESCRIPTION
DEVICE_OBJECT
DMA_ADAPTER
DMA_OPERATIONS
DRIVER_OBJECT
FILE_ALIGNMENT_INFORMATION
FILE_BASIC_INFORMATION
FILE_DISPOSITION_INFORMATION
FILE_END_OF_FILE_INFORMATION
FILE_FS_DEVICE_INFORMATION
FILE_FULL_EA_INFORMATION
FILE_NAME_INFORMATION
FILE_OBJECT
FILE_POSITION_INFORMATION
FILE_STANDARD_INFORMATION
IO_RESOURCE_DESCRIPTOR
IO_RESOURCE_LIST
IO_RESOURCE_REQUIREMENTS_LIST
IO_STACK_LOCATION
IO_STATUS_BLOCK
IRP
KEY_BASIC_INFORMATION
KEY_FULL_INFORMATION
KEY_NODE_INFORMATION
KEY_VALUE_BASIC_INFORMATION
KEY_VALUE_FULL_INFORMATION
KEY_VALUE_PARTIAL_INFORMATION
OEM_STRING
PCI_COMMON_CONFIG
PCI_SLOT_NUMBER
POOL_TYPE
RTL_OSVERSIONINFOW
RTL_OSVERSIONINFOEXW
SCATTER_GATHER_LIST
UNICODE_STRING
第13章 IRP函数代码和IOCTL
根据设备对象类型决定需要的I/O支持
公共I/O请求的输入和输出参数
IRP_MJ_CLEANUP
IRP_MJ_CLOSE
IRP_MJ_CREATE
IRP_MJ_DEVICE_CONTROL
IRP_MJ_FLUSH_BUFFERS
IRP_MJ_INTERNAL_DEVICE_CONTROL
IRP_MJ_PNP
IRP_MJ_POWER
IRP_MJ_READ
IRP_MJ_SHUTDOWN
IRP_MJ_WRITE
定义I/O控制代码
设备类型专有的I/O请求
第二部分 串行和并行接口驱动程序
第14章 串行接口驱动程序参考
Serial主要I/O请求
IRP_MJ_CREATE
IRP_MJ_DEVICE_CONTROL
IRP_MJ_FLUSH_BUFFERS
IRP_MJ_INTERNAL_DEVICE_CONTROL
IRP_MJ_PNP
IRP_MJ_POWER
IRP_MJ_QUERY_INFORMATION
IRP_MJ_READ
IRP_MJ_SET_INFORMATION
IRP_MJ_SYSTEM_CONTROL
IRP_MJ_WRITE
Serial设备控制请求
IOCTL_SERIAL_CLEAR_STATS
IOCTL_SERIAL_CLR_DTR
IOCTL_SERIAL_CLR_RTS
IOCTL_SERIAL_CONFIG_SIZE
IOCTL_SERIAL_GET_BAUD_RATE
IOCTL_SERIAL_GET_CHARS
IOCTL_SERIAL_GET_COMMSTATUS
IOCTL_SERIAL_GET_DTRRTS
IOCTL_SERIAL_GET_HANDFLOW
IOCTL_SERIAL_GET_LINE_CONTROL
IOCTL_SERIAL_GET_MODEM_CONTROL
IOCTL_SERIAL_GET_MODEMSTATUS
IOCTL_SERIAL_GET_PROPERTIES
IOCTL_SERIAL_GET_STATS
IOCTL_SERIAL_GET_TIMEOUTS
IOCTL_SERIAL_GET_WAIT_MASK
IOCTL_SERIAL_IMMEDIATE_CHAR
IOCTL_SERIAL_LSRMST_INSERT
IOCTL_SERIAL_PURGE
IOCTL_SERIAL_RESET_DEVICE
IOCTL_SERIAL_SET_BAUD_RATE
IOCTL_SERIAL_SET_BREAK_OFF
IOCTL_SERIAL_SET_BREAK_ON
IOCTL_SERIAL_SET_CHARS
IOCTL_SERIAL_SET_DTR
IOCTL_SERIAL_SET_FIFO_CONTROL
IOCTL_SERIAL_SET_HANDFLOW
IOCTL_SERIAL_SET_LINE_CONTROL
IOCTL_SERIAL_SET_MODEM_CONTROL
IOCTL_SERIAL_SET_QUEUE_SIZE
IOCTL_SERIAL_SET_RTS
IOCTL_SERIAL_SET_TIMEOUTS
IOCTL_SERIAL_SET_WAIT_MASK
IOCTL_SERIAL_SET_XOFF
IOCTL_SERIAL_SET_XON
IOCTL_SERIAL_WAIT_ON_MASK
IOCTL_SERIAL_XOFF_COUNTER
Serial内部设备控制请求
IOCTL_SERIAL_INTERNAL_BASIC_SETTINGS
IOCTL_SERIAL_INTERNAL_CANCEL_WAIT_WAKE
IOCTL_SERIAL_INTERNAL_DO_WAIT_WAKE
IOCTL_SERIAL_INTERNAL_RESTORE_SETTINGS
第15章 Serenum驱动程序参考
Serenum设备控制请求
IOCTL_SERENUM_PORT_DESC
IOCTL_SERENUM_GET_PORT_NAME
Serenum内部设备控制请求
IOCTL_INTERNAL_SERENUM_REMOVE_SELF
第16章 Parport驱动程序参考
Parport主要I/O请求
IRP_MJ_CREATE
IRP_MJ_INTERNAL_DEVICE_CONTROL
Parport内部设备控制请求
IOCTL_INTERNAL_DESELECT_DEVICE
IOCTL_INTERNAL_GET_MORE_PARALLEL_PORT_INFO
IOCTL_INTERNAL_GET_PARALLEL_PNP_INFO
IOCTL_INTERNAL_GET_PARALLEL_PORT_INFO
IOCTL_INTERNAL_INIT_1284_3_BUS
IOCTL_INTERNAL_PARALLEL_CLEAR_CHIP_MODE
IOCTL_INTERNAL_PARALLEL_CONNECT_INTERRUPT
IOCTL_INTERNAL_PARALLEL_DISCONNECT_INTERRUPT
IOCTL_INTERNAL_PARALLEL_PORT_ALLOCATE
IOCTL_INTERNAL_PARALLEL_PORT_FREE
IOCTL_INTERNAL_PARALLEL_SET_CHIP_MODE
IOCTL_INTERNAL_RELEASE_PARALLEL_PORT_INFO
IOCTL_INTERNAL_SELECT_DEVICE
IOCTL_INTERNAL_Xxx
Parport数据类型
MORE_PARALLEL_PORT_INFOR-MATION
PARALLEL_1284_COMMAND
PARALLEL_CHIP_MODE
PARALLEL_PNP_INFORMATION
PARALLEL_PORT_INFORMATION
PARALLEL_INTERRUPT_INFORMATION
PARALLEL_INTERRUPT_SERVICE_ROUTINE
Parport回调例程
ClearChipMode
DeselectDevice
FreePort
FreePortFromInterruptLevel
QueryNumWaiters
TryAllocatePort
TryAllocatePortAtInterruptLevel
TrySelectDevice
TrySetChipMode
第17章 Parclass驱动程序参考
Parclass主要I/O请求
IRP_MJ_CREATE
IRP_MJ_DEVICE_CONTROL
IRP_MJ_INTERNAL_DEVICE_CONTROL
IRP_MJ_QUERY_INFORMATION
IRP_MJ_READ
IRP_MJ_WRITE
Parclass设备控制请求
IOCTL_IEEE1284_GET_MODE
IOCTL_IEEE1284_NEGOTIATE
IOCTL_PAR_GET_DEFAULT_MODES
IOCTL_PAR_GET_DEVICE_CAPS
IOCTL_PAR_IS_PORT_FREE
IOCTL_PAR_QUERY_DEVICE_ID
IOCTL_PAR_QUERY_DEVICE_ID_SIZE
IOCTL_PAR_QUERY_INFORMATION
IOCTL_PAR_QUERY_RAW_DEVICE_ID
IOCTL_PAR_SET_INFORMATION
IOCTL_PAR_SET_READ_ADDRESS
IOCTL_PAR_SET_WRITE_ADDRESS
IOCTL_SERIAL_GET_TIMEOUTS
IOCTL_SERIAL_SET_TIMEOUTS
Parclass内部设备控制请求
IOCTL_INTERNAL_DISCONNECT_IDLE
IOCTL_INTERNAL_LOCK_PORT
IOCTL_INTERNAL_PARCLASS_CONNECT
IOCTL_INTERNAL_PARCLASS_DISCONNECT
IOCTL_INTERNAL_PARDOT3_CONNECT
IOCTL_INTERNAL_PARDOT3_DISCONNECT
IOCTL_INTERNAL_UNLOCK_PORT
Parclass数据类型
PAR_QUERY_INFORMATION
PAR_SET_INFORMATION
PARCLASS_INFORMATION
PARCLASS_NEGOTIATION_MASK
Parclass回调例程
DetermineIeeeModes
IeeeFwdToRevMode
IeeeRevToFwdMode
NegotiateIeeeMode
ParallelRead
ParallelWrite
TerminateIeeeMode
第三部分 输入设备的驱动程序
第18章 HID 输入/输出请求
HID类驱动程序支持的I/O请求
IOCTL_HID_GET_POLL_FREQUENCY_MSEC
IOCTL_HID_SET_POLL_FREQUENCY_MSEC
IOCTL_GET_NUM_DEVICE_INPUT_BUFFERS
IOCTL_SET_NUM_DEVICE_INPUT_BUFFERS
IOCTL_HID_GET_COLLECTION_INFORMATION
IOCTL_HID_GET_COLLECTION_DESCRIPTOR
IOCTL_HID_FLUSH_QUEUE
IOCTL_HID_GET_FEATURE
IOCTL_HID_SET_FEATURE
IOCTL_GET_PHYSICAL_DESCRIPTOR
IOCTL_HID_GET_HARDWARE_ID
IOCTL_HID_GET_MANUFACTURER_STRING
IOCTL_HID_GET_PRODUCT_STRING
IOCTL_HID_GET_SERIALNUMBER_STRING
IOCTL_HID_GET_INDEXED_STRING
HID微驱动程序支持的I/O请求
IOCTL_GET_PHYSICAL_DESCRIPTOR
IOCTL_HID_ACTIVATE_DEVICE
IOCTL_HID_DEACTIVATE_DEVICE
IOCTL_HID_GET_DEVICE_ATTRIBUTES
IOCTL_HID_GET_DEVICE_DESCRIPTOR
IOCTL_HID_GET_FEATURE
IOCTL_HID_GET_INDEXED_STRING
IOCTL_HID_GET_REPORT_DESCRIPTOR
IOCTL_HID_GET_STRING
IOCTL_HID_READ_REPORT
IOCTL_HID_SET_FEATURE
IOCTL_HID_WRITE_REPORT
第19章 客户HID支持例程
HidD_FlushQueue
HidD_FreePreparsedData
HidD_GetAttributes
HidD_GetConfiguration
HidD_GetFeature
HidD_GetHidGuid
HidD_GetIndexedString
HidD_GetManufacturerString
HidD_GetNumInputBuffers
HidD_GetPhysicalDescriptor
HidD_GetPreparsedData
HidD_GetProductString
HidD_GetSerialNumberString
HidD_SetConfiguration
HidD_SetFeature
HidD_SetNumInputBuffers
HidP_GetButtonCaps
HidP_GetButtons
HidP_GetButtonsEx
HidP_GetCaps
HidP_GetLinkCollectionNodes
HidP_GetScaledUsageValue
HidP_GetSpecificButtonCaps
HidP_GetSpecificValueCaps
HidP_GetUsageValue
HidP_GetUsageValueArray
HidP_GetValueCaps
HidP_MaxUsageListLength
HidP_SetButtons
HidP_SetScaledUsageValue
HidP_SetUsageValue
HidP_SetUsageValueArray
HidP_TranslateUsagesToI8042ScanCodes
HidP_UsageListDifference
第20章 客户HID结构
HID_COLLECTION_INFORMATION
HIDP_COLLECTION_DESC
HIDD_ATTRIBUTES
HIDD_CONFIGURATION
HIDP_BUTTON_CAPS
HIDP_CAPS
HIDP_LINK_COLLECTION_NODE
HIDP_VALUE_CAPS
USAGE_AND_PAGE
第21章 微驱动程序HID支持例程
HidRegisterMinidriver
第22章 微驱动程序HID结构
HID_DEVICE_ATTRIBUTES
HID_DEVICE_EXTENSION
HID_MINIDRIVER_REGISTRATION
HID_XFER_PACKET
第23章 Kbdclass驱动程序参考
Kbdclass主要I/O请求
Kbdclass设备控制请求
Kbdclass类服务回调例程
KeyboardClassServiceCallback
第24章 Mouclass驱动程序参考
Mouclass主要I/O请求
IOCTL-Xxx设备控制请求
Mouclass类服务回调例程
第25章 I8042prt驱动程序参考
I8042prt键盘主要I/O请求
I8042prt键盘内部设备控制请求
I8042prt鼠标主要I/O请求
I8042prt鼠标内部设备控制请求
I8042prt键盘回调例程
I8042prt鼠标回调例程
第26章 Kbfiltr驱动程序参考
Kbfiltr内部设备控制请求
Kbfiltr回调例程
第27章 Moufiltr驱动程序参考
Moufiltr内部设备控制请求
Moufiltr回调例程
第四部分 USB驱动程序
第28章 USB客户驱动程序I/O请求
IOCTL_INTERNAL_USB_SUBMIT_URB
IOCTL_INTERNAL_USB_RESET_PORT
IOCTL_INTERNAL_USB_GET_PORT_STATUS
IOCTL_INTERNAL_USB_ENABLE_PORT
IOCTL_INTERNAL_USB_GET_HUB_COUNT
IOCTL_INTERNAL_USB_CYCLE_PORT
IOCTL_INTERNAL_USB_GET_ROOTHUB_PDO
IOCTL_INTERNAL_USB_GET_HUB_NAME
IOCTL_INTERNAL_USB_GET_BUS_INFO
IOCTL_INTERNAL_USB_GET_CONTROLLER_NAME
第29章 USB客户支持例程
GET_ISO_URB_SIZE
GET_SELECT_CONFIGURATION_REQUEST_SIZE
GET_SELECT_INTERFACE_REQUEST_SIZE
GET_USBD_INTERFACE_SIZE
UsbBuildFeatureRequest
UsbBuildGetDescriptorRequest
UsbBuildGetStatusRequest
UsbBuildInterruptOrBulkTransferRequest
UsbBuildSelectConfigurationRequest
UsbBuildSelectInterfaceRequest
UsbBuildVendorRequest
USBD_CreateConfigurationRequest
USBD_CreateConfigurationRequestEx
USBD_GetInterfaceLength
USBD_GetUSBDIVersion
USBD_ParseConfigurationDescriptor
USBD_ParseConfigurationDescriptorEx
USBD_ParseDescriptors
USBD_RegisterHcFilter
第30章 USB结构
URB
_URB_BULK_OR_INTERRUPT_TRANSFER
_URB_CONTROL_DESCRIPTOR_REQUEST
_URB_CONTROL_FEATURE_REQUEST
_URB_CONTROL_GET_CONFIGURATIONREQUEST
_URB_CONTROL_GET_INTERFACE_REQUEST
_URB_CONTROL_GET_STATUS_REQUEST
_URB_CONTROL_TRANSFER
_URB_CONTROL_VENDOR_OR_CLASS_REQUEST
_URB_FRAME_LENGTH_CONTROL
_URB_GET_CURRENT_FRAME_NUMBER
_URB_GET_FRAME_LENGTH
_URB_HEADER
_URB_ISOCH_TRANSFER
_URB_PIPE_REQUEST
_URB_SELECT_CONFIGURATION
_URB_SELECT_INTERFACE
_URB_SET_FRAME_LENGTH
USB_CONFIGURATION_DESCRIPTOR
USB_DEVICE_DESCRIPTOR
USB_ENDPOINT_DESCRIPTOR
USB_INTERFACE_DESCRIPTOR
USB_HUB_NAME
USB_ROOT_HUB_NAME
USB_STRING_DESCRIPTOR
USBD_INTERFACE_INFORMATION
USBD_INTERFACE_LIST_ENTRY
USBD_PIPE_INFORMATION
USBD_ISO_PACKET_DESCRIPTOR
第五部分 IEEE 1394驱动程序
第31章 IEEE 1394总线I/O请求
IOCTL_CLASS_1394
REQUEST_ALLOCATE_ADDRESS_RANGE
REQUEST_ASYNC_LOCK
REQUEST_ASYNC_READ
REQUEST_ASYNC_STREAM
REQUEST_ASYNC_WRITE
REQUEST_BUS_RESET
REQUEST_BUS_RESET_NOTIFICATION
REQUEST_CONTROL
REQUEST_FREE_ADDRESS_RANGE
REQUEST_GET_ADDR_FROM_DEVICE_OBJECT
REQUEST_GET_CONFIGURATION_INFO
REQUEST_GET_GENERATION_COUNT
REQUEST_GET_LOCAL_HOST_INFO
REQUEST_GET_SPEED_BETWEEN_DEVICES
REQUEST_GET_SPEED_TOPOLOGY_MAPS
REQUEST_ISOCH_ALLOCATE_BANDWIDTH
REQUEST_ISOCH_ALLOCATE_CHANNEL
REQUEST_ISOCH_ALLOCATE_RESOURCES
REQUEST_ISOCH_ATTACH_BUFFERS
REQUEST_ISOCH_DETACH_BUFFERS
REQUEST_ISOCH_FREE_BANDWIDTH
REQUEST_ISOCH_FREE_CHANNEL
REQUEST_ISOCH_FREE_RESOURCES
REQUEST_ISOCH_LISTEN
REQUEST_ISOCH_QUERY_CYCLE_TIME
REQUEST_ISOCH_QUERY_RESOURCES
REQUEST_ISOCH_SET_CHANNEL_BANDWIDTH
REQUEST_ISOCH_STOP
REQUEST_ISOCH_TALK
REQUEST_SEND_PHY_CONFIG_PACKET
REQUEST_SET_DEVICE_XMIT_PROPERTIES
REQUEST_SET_LOCAL_HOST_PROPERTIES
第32章 IEEE 1394结构
ADDRESS_FIFO
ADDRESS_OFFSET
ADDRESS_RANGE
CONFIG_ROM
CYCLE_TIME
GET_LOCAL_HOST_INFO1
GET_LOCAL_HOST_INFO2
GET_LOCAL_HOST_INFO3
GET_LOCAL_HOST_INFO4
GET_LOCAL_HOST_INFO5
GET_LOCAL_HOST_INFO6
IO_ADDRESS
IRB
ISOCH_DESCRIPTOR
NODE_ADDRESS
NOTIFICATION_INFO
PHY_CONFIGURATION_PACKET
SELF_ID
SELF_ID_MORE
SPEED_MAP
TEXTUAL_LEAF
TOPOLOGY_MAP
第六部分 PCMCIA驱动程序
第33章 PCMCIA_INTERFACE_STANDARD接口内存卡例程
PCMCIA_IS_WRITE_PROTECTED
PCMCIA_MODIFY_MEMORY_WINDOW
PCMCIA_SET_VPP
第七部分 SMB客户驱动程序
第34章 SMB IOCTL
SMB_BUS_REQUEST
SMB_DEREGISTER_ALARM_NOTIFY
SMB_REGISTER_ALARM_NOTIFY
第35章 SMB结构
SMB_CLASS
SMB_REGISTER_ALARM
SMB_REQUEST
第八部分 WMI内核模式数据提供者
第36章 WMI IRP
IRP_MN_CHANGE_SINGLE_INSTANCE
IRP_MN_CHANGE_SINGLE_ITEM
IRP_MN_DISABLE_COLLECTION
IRP_MN_DISABLE_EVENTS
IRP_MN_ENABLE_COLLECTION
IRP_MN_ENABLE_EVENTS
IRP_MN_EXECUTE_METHOD
IRP_MN_QUERY_ALL_DATA
IRP_MN_QUERY_SINGLE_INSTANCE
IRP_MN_REGINFO
第37章 WMI库支持例程
WmiCompleteRequest
WmiFireEvent
WmiSystemControl
第38章 WMI库回调例程
DpWmiExecuteMethod
DpWmiFunctionControl
DpWmiQueryDataBlock
DpWmiQueryReginfo
DpWmiSetDataBlock
DpWmiSetDataItem
第39章 WMI结构
WMILIB_CONTEXT
WMIGUIDREGINFO
WMIREGGUID
WMIREGINFO
WNODE_ALL_DATA
WNODE_EVENT_ITEM
WNODE_EVENT_REFERENCE
WNODE_HEADER
WNODE_METHOD_ITEM
WNODE_SINGLE_INSTANCE
WNODE_SINGLE_ITEM
WNODE_TOO_SMALL
第40章 WMI事件跟踪结构
EVENT_TRACE_HEADER “Windows 2000驱动程序开发大全”套书包括2卷,本书为套书的第2卷—参考手册。
本手册由微软公司提供,书中完整地描述了Windows 2000驱动模块信息。全书分为二篇,第一篇是即插即用、电源管理和设置驱动程序开发参考,由即插即用、电源管理、设置三部分组成;第二篇是内核模式驱动程序开发参考,由内核模式支持例程、串行和并行接口驱动程序、输入设备驱动程序、USB驱动程序、IEEE 1394驱动程序、PCMCIA驱动程序、SMB客户驱动程序和WMI内核模式数据提供者八部分组成。
本书内容全面、翔实,是Windows 2000驱动程序开发的权威参考资料。
译者序
第一篇 即插即用、电源管理和设置驱动程序开发参考
第一部分 即插即用
第1章 即插即用例程
设备信息例程
注册例程
设备接口例程
PnP通知例程
删除锁例程
其他PnP例程
IoAcquireRemoveLock
IoAcquireRemoveLockEx
IoAdjustPagingPathCount
IoGetDeviceInterfaceAlias
IoGetDeviceInterfaces
IoGetDeviceProperty
IoInitializeRemoveLock
IoInitializeRemoveLockEx
IoInvalidateDeviceRelations
IoInvalidateDeviceState
IoOpenDeviceInterfaceRegistryKey
IoOpenDeviceRegistryKey
IoRegisterDeviceInterface
IoRegisterPlugPlayNotification
IoReleaseRemoveLock
IoReleaseRemoveLockEx
IoReleaseRemoveLockAndWait
IoReleaseRemoveLockAndWaitEx
IoReportDetectedDevice
IoReportResourceForDetection
IoReportTargetDeviceChange
IoReportTargetDeviceChangeAsynchronous
IoRequestDeviceEject
IoSetDeviceInterfaceState
IoUnregisterPlugPlayNotification
第2章 即插即用IRP
IRP_MN_CANCEL_REMOVE_DEVICE
IRP_MN_CANCEL_STOP_DEVICE
IRP_MN_DEVICE_USAGE_NOTIFICATION
IRP_MN_EJECT
IRP_MN_FILTER_RESOURCE_REQUIREMENTS
IRP_MN_QUERY_BUS_INFORMATION
IRP_MN_QUERY_CAPABILITIES
IRP_MN_QUERY_DEVICE_RELATIONS
IRP_MN_QUERY_DEVICE_TEXT
IRP_MN_QUERY_ID
IRP_MN_QUERY_INTERFACE
IRP_MN_QUERY_LEGACY_BUS_INFORMATION
IRP_MN_QUERY_PNP_DEVICE_STATE
IRP_MN_QUERY_REMOVE_DEVICE
IRP_MN_QUERY_RESOURCE_REQUIREMENTS
IRP_MN_QUERY_RESOURCES
IRP_MN_QUERY_STOP_DEVICE
IRP_MN_READ_CONFIG
IRP_MN_REMOVE_DEVICE
IRP_MN_SET_LOCK
IRP_MN_START_DEVICE
IRP_MN_STOP_DEVICE
IRP_MN_SURPRISE_REMOVAL
IRP_MN_WRITE_CONFIG
第3章 即插即用结构
DEVICE_CAPABILITIES
DEVICE_INTERFACE_CHANGE_NOTIFICATION
HWPROFILE_CHANGE_NOTIFICATION
LPGUID
PLUGPLAY_NOTIFICATION_HEADER
PNP_DEVICE_STATE
TARGET_DEVICE_CUSTOM_NOTIFICATION
TARGET_DEVICE_REMOVAL_NOTIFICATION
第二部分 电源管理
第4章 电源管理支持例程
PoCallDriver
PoRegisterDeviceForIdleDetection
PoRegisterSystemState
PoRequestPowerIrp
PoSetDeviceBusy
PoSetPowerState
PoSetSystemState
PoStartNextPowerIrp
PoUnregisterSystemState
第5章 电源管理的I/O请求
IRP_MN_POWER_SEQUENCE
IRP_MN_QUERY_POWER
IRP_MN_SET_POWER
IRP_MN_WAIT_WAKE
第6章 电池类驱动程序例程
BatteryClassInitializeDevice
BatteryClassIoctl
BatteryClassStatusNotify
BatteryClassUnload
第7章 电池微类驱动程序例程
BatteryMiniDisableStatusNotify
BatteryMiniQueryInformation
BatteryMiniQueryStatus
BatteryMiniQueryTag
BatteryMiniSetInformation
BatteryMiniSetStatusNotify
第8章 电池结构
BATTERY_INFORMATION
BATTERY_MANUFACTURE_DATE
BATTERY_REPORTING_SCALE
第三部分 设置
第9章 INF文件节和命令
INF文件的通用语法规则
一个INF文件样例
INF节摘要
INF命令摘要
INF Version 节
INF SourceDisksNames 节
INF SourceDisksFiles 节
INF ClassInstall32 节
INF DestinationDirs 节
INF ControlFlags 节
INF Manufacturer 节
INF Models 节
INF DDInstall 节
INF DDInstall.Services 节
INF DDInstall.HW节
INF DDInstall.CoInstallers 节
INF DDInstall.Interfaces 节
INF InterfaceInstall32节
INF DDInstall.FactDef 节
INF Strings 节
INF AddReg 命令
INF DelReg 命令
INF CopyFiles 命令
INF DelFiles 命令
INF RenFiles 命令
INF AddService 命令
INF DelService 命令
INF AddInterface 命令
INF BitReg 命令
INF LogConfig 命令
INF ProfileItems 命令
INF UpdateInis 命令
INF UpdateIniFields 命令
INF Ini2Reg 命令
第10章 安装函数
INF 文件处理函数
磁盘提示和错误处理函数
文件队列函数
缺省队列回调例程函数
文件箱函数
磁盘空间列表函数
最常用源列表函数
日志文件函数
第11章 设备安装函数
更新驱动程序函数
SetupDi 设备信息函数
SetupDi 驱动程序信息函数
SetupDi 驱动程序选择函数
SetupDi 设备安装处理程序
SetupDi 设备安装定制函数
SetupDi 安装类函数
SetupDi 类位图和图标函数
SetupDi 设备接口函数
SetupDi 注册函数
其他SetupDi函数
SetupDiAskForOEMDisk
SetupDiBuildClassInfoList
SetupDiBuildClassInfoListEx
SetupDiBuildDriverInfoList
SetupDiCallClassInstaller
SetupDiCancelDriverInfoSearch
SetupDiChangeState
SetupDiClassGuidsFromName
SetupDiClassGuidsFromNameEx
SetupDiClassNameFromGuid
SetupDiClassNameFromGuidEx
SetupDiCreateDeviceInfo
SetupDiCreateDeviceInfoList
SetupDiCreateDeviceInfoListEx
SetupDiCreateDeviceInterface
SetupDiCreateDeviceInterfaceRegKey
SetupDiCreateDevRegKey
SetupDiDeleteDeviceInfo
SetupDiDeleteDeviceInterfaceData
SetupDiDeleteDeviceInterfaceRegKey
SetupDiDeleteDevRegKey
SetupDiDestroyClassImageList
SetupDiDestroyDeviceInfoList
SetupDiDestroyDriverInfoList
SetupDiDrawMiniIcon
SetupDiEnumDeviceInfo
SetupDiEnumDeviceInterfaces
SetupDiEnumDriverInfo
SetupDiGetActualSectionToInstall
SetupDiGetClassBitmapIndex
SetupDiGetClassDescription
SetupDiGetClassDescriptionEx
SetupDiGetClassDevs
SetupDiGetClassDevsEx
SetupDiGetClassImageIndex
SetupDiGetClassImageList
SetupDiGetClassImageListEx
SetupDiGetClassInstallParams
SetupDiGetDeviceInfoListClass
SetupDiGetDeviceInfoListDetail
SetupDiGetDeviceInstallParams
SetupDiGetDeviceInstanceId
SetupDiGetDeviceInterfaceAlias
SetupDiGetDeviceInterfaceDetail
SetupDiGetDeviceRegistryProperty
SetupDiGetDriverInfoDetail
SetupDiGetDriverInstallParams
SetupDiGetHwProfileFriendlyName
SetupDiGetHwProfileFriendlyNameEx
SetupDiGetHwProfileList
SetupDiGetHwProfileListEx
SetupDiGetINFClass
SetupDiGetSelectedDevice
SetupDiGetSelectedDriver
SetupDiGetWizardPage
SetupDiInstallClass
SetupDiInstallClassEx
SetupDiInstallDevice
SetupDiInstallDeviceInterfaces
SetupDiInstallDriverFiles
SetupDiLoadClassIcon
SetupDiMoveDuplicateDevice
SetupDiOpenClassRegKey
SetupDiOpenClassRegKeyEx
SetupDiOpenDeviceInfo
SetupDiOpenDeviceInterface
SetupDiOpenDeviceInterfaceRegKey
SetupDiOpenDevRegKey
SetupDiRegisterCoDeviceInstallers
SetupDiRegisterDeviceInfo
SetupDiRemoveDevice
SetupDiRemoveDeviceInterface
SetupDiSelectBestCompatDrv
SetupDiSelectDevice
SetupDiSelectOEMDrv
SetupDiSetClassInstallParams
SetupDiSetDeviceInstallParams
SetupDiSetDeviceRegistryProperty
SetupDiSetDriverInstallParams
SetupDiSetSelectedDevice
SetupDiSetSelectedDriver
SetupDiUnremoveDevice
UpdateDriverForPlugAndPlayDevices
第12章 设备安装结构
SP_ADDPROPERTYPAGE_DATA
SP_CLASSIMAGELIST_DATA
SP_CLASSINSTALL_HEADER
SP_DETECTDEVICE_PARAMS
SP_DEVICE_INTERFACE_DATA
SP_DEVICE_INTERFACE_DETAIL_DATA
SP_DEVINFO_DATA
SP_DEVINFO_LIST_DETAIL_DATA
SP_DEVINSTALL_PARAMS
SP_DRVINFO_DATA
SP_DRVINFO_DETAIL_DATA
SP_DRVINSTALL_PARAMS
SP_ENABLECLASS_PARAMS
SP_INSTALLWIZARD_DATA
SP_MOVEDEV_PARAMS
SP_NEWDEVICEWIZARD_DATA
SP_POWERMESSAGEWAKE_PARAMS
SP_PROPCHANGE_PARAMS
SP_PROPSHEETPAGE_REQUEST
SP_REMOVEDEVICE_PARAMS
SP_SELECTDEVICE_PARAMS
SP_TROUBLESHOOTER_PARAMS
SP_UNREMOVEDEVICE_PARAMS
第13章 设备安装函数代码
DIF_ADDPROPERTYPAGE_ADVANCED
DIF_ALLOW_INSTALL
DIF_DESTROYPRIVATEDATA
DIF_DETECT
DIF_INSTALLDEVICE
DIF_INSTALLDEVICEFILES
DIF_INSTALLINTERFACES
DIF_NEWDEVICEWIZARD_FINIS_HINSTALL
DIF_NEWDEVICEWIZARD_POSTA_NALYZE
DIF_NEWDEVICEWIZARD_PREA_NALYZE
DIF_NEWDEVICEWIZARD_PRESELECT
DIF_NEWDEVICEWIZARD_SELECT
DIF_POWERMESSAGEWAKE
DIF_PROPERTYCHANGE
DIF_REGISTER_COINSTALLERS
DIF_REGISTERDEVICE
DIF_REMOVE
DIF_SELECTBESTCOMPATDRV
DIF_SELECTDEVICE
DIF_TROUBLESHOOTER
DIF_UNREMOVE
保留的DIF代码
DIF_ADDPROPERTYPAGE_BASIC
DIF_ASSIGNRESOURCES
DIF_CALCDISKSPACE
DIF_DETECTCANCEL
DIF_DETECTVERIFY
DIF_ENABLECLASS
DIF_FIRSTTIMESETUP
DIF_FOUNDDEVICE
DIF_INSTALLCLASSDRIVERS
DIF_MOVEDEVICE
废弃的DIF代码
DIF_DESTROYWIZARDDATA
DIF_INSTALLWIZARD
DIF_PROPERTIES
DIF_SELECTCLASSDRIVERS
DIF_VALIDATECLASSDRIVERS
DIF_VALIDATEDRIVER
第14章 PnP配置管理程序函数
CM_Add_Empty_Log_Conf
CM_Add_Empty_Log_Conf_Ex
CM_Add_ID
CM_Add_ID_Ex
CM_Add_Res_Des
CM_Add_Res_Des_Ex
CM_Connect_Machine
CM_Disconnect_Machine
CM_Enumerate_Classes
CM_Enumerate_Classes_Ex
CM_Enumerate_Enumerators
CM_Enumerate_Enumerators_Ex
CM_Free_Log_Conf
CM_Free_Log_Conf_Ex
CM_Free_Log_Conf_Handle
CM_Free_Res_Des
CM_Free_Res_Des_Ex
CM_Free_Res_Des_Handle
CM_Free_Resource_Conflict_Handle
CM_Get_Child
CM_Get_Child_Ex
CM_Get_Depth
CM_Get_Depth_Ex
CM_Get_Device_ID
CM_Get_Device_ID_Ex
CM_Get_Device_ID_List
CM_Get_Device_ID_List_Ex
CM_Get_Device_ID_List_Size
CM_Get_Device_ID_List_Size_Ex
CM_Get_Device_ID_Size
CM_Get_Device_ID_Size_Ex
CM_Get_DevNode_Status
CM_Get_DevNode_Status_Ex
CM_Get_First_Log_Conf
CM_Get_First_Log_Conf_Ex
CM_Get_Log_Conf_Priority
CM_Get_Log_Conf_Priority_Ex
CM_Get_Next_Log_Conf
CM_Get_Next_Log_Conf_Ex
CM_Get_Next_Res_Des
CM_Get_Next_Res_Des_Ex
CM_Get_Parent
CM_Get_Parent_Ex
CM_Get_Res_Des_Data
CM_Get_Res_Des_Data_Ex
CM_Get_Res_Des_Data_Size
CM_Get_Res_Des_Data_Size_Ex
CM_Get_Resource_Conflict_Count
CM_Get_Resource_Conflict_Details
CM_Get_Sibling
CM_Get_Sibling_Ex
CM_Get_Version
CM_Get_Version_Ex
CM_Locate_DevNode
CM_Locate_DevNode_Ex
CM_Modify_Res_Des
CM_Modify_Res_Des_Ex
CM_Query_Resource_Conflict_List
CM_Reenumerate_DevNode
CM_Reenumerate_DevNode_Ex
CM_Request_Device_Eject
CM_Request_Device_Eject_Ex
第15章 PnP配置管理程序结构和类型
资源描述符结构
BUSNUMBER_DES
BUSNUMBER_RANGE
BUSNUMBER_RESOURCE
CS_DES
CS_RESOURCE
DEVPRIVATE_DES
DEVPRIVATE_RANGE
DEVPRIVATE_RESOURCE
DMA_DES
DMA_RANGE
DMA_RESOURCE
IO_DES
IO_RANGE
IO_RESOURCE
IRQ_DES
IRQ_RANGE
IRQ_RESOURCE
MEM_DES
MEM_RANGE
MEM_RESOURCE
MFCARD_DES
MFCARD_RESOURCE
PCCARD_DES
PCCARD_RESOURCE
其他的结构
CONFLICT_DETAILS
PnP 配置管理程序类型
PNP_VETO_TYPE
第16章 设备安装类
第17章 txtsetup.oem文件格式
txtsetup.oem文件中的Disks节
txtsetup.oem文件中的Defaults节
txtsetup.oem 文件中的HwComponent节
txtsetup.oem 文件中的Files.HwComponent.ID节
txtsetup.oem 文件中的Config.DriverKey节
txtsetup.oem 文件中的HardwareIds.scsi.Service节
第二篇 内核模式驱动程序开发参考
第一部分 内核模式支持例程
第1章 内核模式支持例程概述
初始化和卸载
IRP
同步
内存
DMA
PIO
驱动程序管理队列
驱动程序系统线程
串
数据转换
访问驱动程序管理的对象
错误处理
第2章 可执行支持例程
ExAcquireFastMutex
ExAcquireFastMutexUnsafe
ExAcquireResourceExclusive
ExAcquireResourceExclusiveLite
ExAcquireResourceShared
ExAcquireResourceSharedLite
ExAcquireSharedStarveExclusive
ExAcquireSharedWaitForExclusive
ExAllocateFromNPagedLookasideList
ExAllocateFromPagedLookasideList
ExAllocateFromZone
ExAllocatePool
ExAllocatePoolWithQuota
ExAllocatePoolWithQuotaTag
ExAllocatePoolWithTag
ExAllocatePoolWithTagPriority
ExConvertExclusiveToShared
ExConvertExclusiveToSharedLite
ExCreateCallback
ExDeleteNPagedLookasideList
ExDeletePagedLookasideList
ExDeleteResource
ExDeleteResourceLite
ExExtendZone
ExFreePool
ExFreeToNPagedLookasideList
ExFreeToPagedLookasideList
ExFreeToZone
ExGetCurrentResourceThread
ExGetExclusiveWaiterCount
ExGetPreviousMode
ExGetSharedWaiterCount
ExInitializeFastMutex
ExInitializeNPagedLookasideList
ExInitializePagedLookasideList
ExInitializeResource
ExInitializeResourceLite
ExInitializeSListHead
ExInitializeWorkItem
ExInitializeZone
ExInterlockedAddLargeInteger
ExInterlockedAddLargeStatistic
ExInterlockedAddUlong
ExInterlockedAllocateFromZone
ExInterlockedCompareExchange64
ExInterlockedDecrementLong
ExInterlockedExchangeAddLargeInteger
ExInterlockedExchangeUlong
ExInterlockedExtendZone
ExInterlockedFlushSList
ExInterlockedFreeToZone
ExInterlockedIncrementLong
ExInterlockedInsertHeadList
ExInterlockedInsertTailList
ExInterlockedPopEntryList
ExInterlockedPopEntrySList
ExInterlockedPushEntryList
ExInterlockedPushEntrySList
ExInterlockedRemoveHeadList
ExIsFullZone
ExIsObjectInFirstZoneSegment
ExIsProcessorFeaturePresent
ExIsResourceAcquiredExclusive
ExIsResourceAcquiredExclusiveLite
ExIsResourceAcquiredSharedLite
ExLocalTimeToSystemTime
ExNotifyCallback
ExQueryDepthSList
ExQueueWorkItem
ExRaiseAccessViolation
ExRaiseDatatypeMisalignment
ExRaiseStatus
ExRegisterCallback
ExReinitializeResourceLite
ExReleaseFastMutex
ExReleaseFastMutexUnsafe
ExReleaseResource
ExReleaseResourceForThread
ExReleaseResourceForThreadLite
ExReleaseResourceLite
ExSetResourceOwnerPointer
ExSetTimerResolution
ExSystemTimeToLocalTime
ExTryToAcquireFastMutex
ExTryToAcquireResourceExclusiveLite
ExUnregisterCallback
ExUnidCreate
InterlockedCompareExchange
InterlockedCompareExchangePointer
InterlockedDecrement
InterlockedExchange
InterlockedExchangeAdd
InterlockedExchangePointer
InterlockedIncrement
PAGED_CODE
ProbeForRead
ProbeForWrite
第3章 硬件抽象层例程
AllocateAdapterChannel
AllocateCommonBuffer
FlushAdapterBuffers
FreeAdapterChannel
FreeCommonBuffer
FreeMapRegisters
GetDmaAlignment
GetScatterGatherList
HalAllocateCommonBuffer
HalAssignSlotResources
HalExamineMBR
HalFreeCommonBuffer
HalGetAdapter
HalGetBusData
HalGetBusDataByOffset
HalGetDmaAlignmentRequirement
HalGetInterruptVector
HalReadDmaCounter
HalSetBusData
HalSetBusDataByOffset
HalTranslateBusAddress
MapTransfer
PutDmaAdapter
PutScatterGatherList
ReadDmaCounter
READ_PORT_BUFFER_UCHAR
READ_PORT_BUFFER_ULONG
READ_PORT_BUFFER_USHORT
READ_PORT_UCHAR
READ_PORT_ULONG
READ_PORT_USHORT
READ_REGISTER_BUFFER_UCHAR
READ_REGISTER_BUFFER_ULONG
READ_REGISTER_BUFFER_USHORT
READ_REGISTER_UCHAR
READ_REGISTER_ULONG
READ_REGISTER_USHORT
WRITE_PORT_BUFFER_UCHAR
WRITE_PORT_BUFFER_ULONG
WRITE_PORT_BUFFER_USHORT
WRITE_PORT_UCHAR
WRITE_PORT_ULONG
WRITE_PORT_USHORT
WRITE_REGISTER_BUFFER_UCHAR
WRITE_REGISTER_BUFFER_ULONG
WRITE_REGISTER_BUFFER_USHORT
WRITE_REGISTER_UCHAR
WRITE_REGISTER_ULONG
WRITE_REGISTER_USHORT
第4章 I/O 管理程序例程
IoAcquireCancelSpinLock
IoAcquireRemoveLock
IoAcquireRemoveLockEx
IoAdjustPagingPathCount
IoAllocateAdapterChannel
IoAssignArcName
IoAssignResources
IoAttachDevice
IoAttachDeviceByPointer
IoAttachDeviceToDeviceStack
IoBuildAsynchronousFsdRequest
IoBuildDeviceIoControlRequest
IoBuildPartialMdl
IoBuildSynchronousFsdRequest
IoCallDriver
IoCancelIrp
IoCheckShareAccess
IoCompleteRequest
IoConnectInterrupt
IoCopyCurrentIrpStackLocationToNext
IoCreateController
IoCreateDevice
IoCreateFile
IoCreateNotificationEvent
IoCreateSymbolicLink
IoCreateSynchronizationEvent
IoCreateUnprotectedSymbolicLink
IoDeassignArcName
IoDeleteController
IoDeleteDevice
IoDeleteSymbolicLink
IoFreeAdapterChannel
IoFreeController
IoFreeIrp
IoFreeMapRegisters
IoFreeMdl
IoFreeWorkItem
IoGetAttachedDeviceReference
IoGetBootDiskInformation
IoGetConfigurationInformation
IoGetCurrentIrpStackLocation
IoGetCurrentProcess
IoGetDeviceInterfaceAlias
IoGetDeviceInterfaces
IoGetDeviceObjectPointer
IoGetDeviceProperty
IoGetDeviceToVerify
IoGetDmaAdapter
IoGetDriverObjectExtension
IoGetFileObjectGenericMapping
IoGetFunctionCodeFromCtlCode
IoGetInitialStack
IoGetNextIrpStackLocation
IoGetRelatedDeviceObject
IoGetRemainingStackSize
IoGetStackLimits
IoInitializeDpcRequest
IoInitializeIrp
IoInitializeRemoveLock
IoInitializeRemoveLockEx
IoInitializeTimer
IoInvalidateDeviceRelations
IoInvalidateDeviceState
IoIsErrorUserInduced
IoIsWdmVersionAvailable
IoMakeAssociatedIrp
IoMapTransfer
IoMarkIrpPending
IoOpenDeviceInterfaceRegistryKey
IoOpenDeviceRegistryKey
IoQueryDeviceDescription
IoQueueWorkItem
IoRaiseHardError
IoRaiseInformationalHardError
IoReadPartitionTable
IoRegisterDeviceInterface
IoRegisterDriverReinitialization
IoRegisterPlugPlayNotification
IoRegisterShutdownNotification
IoReleaseCancelSpinLock
IoReleaseRemoveLock
IoReleaseRemoveLockEx
IoReleaseRemoveLockAndWait
IoReleaseRemoveLockAndWaitEx
IoRemoveShareAccess
IoReportDetectedDevice
IoReportResourceForDetection
IoReportResourceUsage
IoReportTargetDeviceChange
IoReportTargetDeviceChangeAsynchronous
IoRequestDeviceEject
IoRequestDpc
IoReuseIrp
IoSetCancelRoutine
IoSetCompletionRoutine
IoSetDeviceInterfaceState
IoSetHardErrorOrVerifyDevice
IoSetNextIrpStackLocation
IoSetPartitionInformation
IoSetShareAccess
IoSetThreadHardErrorMode
IoSizeOfIrp
IoSkipCurrentIrpStackLocation
IoStartNextPacket
IoStartNextPacketByKey
IoStartPacket
IoStartTimer
IoStopTimer
IoUnregisterPlugPlayNotification
IoUnregisterShutdownNotification
IoUpdateShareAccess
IoWMIAllocateInstanceIds
IoWMIDeviceObjectToProviderId
IoWMIRegistrationControl
IoWMISuggestInstanceName
IoWMIWriteEvent
IoWriteErrorLogEntry
IoWritePartitionTable
第5章 内核例程
KeAcquireSpinLock
KeAcquireSpinLockAtDpcLevel
KeBugCheck
KeBugCheckEx
KeCancelTimer
KeClearEvent
KeDelayExecutionThread
KeDeregisterBugCheckCallback
KeEnterCriticalRegion
KeFlushIoBuffers
KeGetCurrentIrql
KeGetCurrentProcessorNumber
KeGetCurrentThread
KeGetDcacheFillSize
KeInitializeCallbackRecord
KeInitializeDeviceQueue
KeInitializeDpc
KeInitializeEvent
KeInitializeMutex
KeInitializeSemaphore
KeInitializeSpinLock
KeInitializeTimer
KeInitializeTimerEx
KeInsertByKeyDeviceQueue
KeInsertDeviceQueue
KeInsertQueueDpc
KeLeaveCriticalRegion
KeLowerIrql
KePulseEvent
KeQueryInterruptTime
KeQueryPerformanceCounter
KeQueryPriorityThread
KeQuerySystemTime
KeQueryTickCount
KeQueryTimeIncrement
KeRaiseIrql
KeRaiseIrqlToDpcLevel
KeReadStateEvent
KeReadStateMutex
KeReadStateSemaphore
KeReadStateTimer
KeRegisterBugCheckCallback
KeReleaseMutex
KeReleaseSemaphore
KeReleaseSpinLock
KeReleaseSpinLockFromDpcLevel
KeRemoveByKeyDeviceQueue
KeRemoveDeviceQueue
KeRemoveEntryDeviceQueue
KeRemoveQueueDpc
KeResetEvent
KeRestoreFloatingPointState
KeSaveFloatingPointState
KeSetBasePriorityThread
KeSetEvent
KeSetImportanceDpc
KeSetTargetProcessorDpc
KeSetPriorityThread
KeSetTimer
KeSetTimerEx
KeStallExecutionProcessor
KeSynchronizeExecution
KeWaitForMultipleObjects
KeWaitForMutexObject
KeWaitForSingleObject
第6章 内存管理程序例程
ADDRESS_AND_SIZE_TO_SPAN_PAGES
ARGUMENT_PRESENT
BYTE_OFFSET
BYTES_TO_PAGES
COMPUTE_PAGES_SPANNED
CONTAINING_RECORD
FIELD_OFFSET
MmAllocateContiguousMemory
MmAllocateContiguousMemorySpecifyCache
MmAllocateNonCachedMemory
MmAllocatePagesForMdl
MmBuildMdlForNonPagedPool
MmCreateMdl
MmFreeContiguousMemory
MmFreeContiguousMemorySpecityCache
MmFreeNonCachedMemory
MmFreePagesFromMdl
MmGetMdlByteCount
MmGetMdlByteOffset
MmGetMdlPfnArray
MmGetMdlVirtualAddress
MmGetPhysicalAddress
MmGetSystemAddressForMdl
MmGetSystemAddressForMdlSafe
MmInitializeMdl
MmIsAddressValid
MmIsNonPagedSystemAddressValid
MmIsThisAnNtAsSystem
MmLockPagableCodeSection
MmLockPagableDataSection
MmLockPagableSectionByHandle
MmMapIoSpace
MmMapLockedPages
MmMapLockedPagesSpecifyCache
MmPageEntireDriver
MmResetDriverPaging
MmPrepareMdlForReuse
MmProbeAndLockPages
MmQuerySystemSize
MmSizeOfMdl
MmUnlockPages
MmUnlockPagableImageSection
MmUnmapIoSpace
MmUnmapLockedPages
PAGE_ALIGN
ROUND_TO_PAGES
第7章 对象管理程序例程
ObDereferenceObject
ObGetObjectSecurity
ObReferenceObject
ObReferenceObjectByHandle
ObReferenceObjectByPointer
ObReleaseObjectSecurity
第8章 进程结构例程
PsCreateSystemThread
PsGetCurrentProcess
PsGetCurrentProcessId
PsGetCurrentThread
PsGetCurrentThreadId
PsGetVersion
PsSetCreateProcessNotifyRoutine
PsSetCreateThreadNotifyRoutine
PsSetLoadImageNotifyRoutine
PsTerminateSystemThread
第9章 运行时库例程
InitializeListHead
InitializeObjectAttributes
InsertHeadList
InsertTailList
IsListEmpty
PopEntryList
PushEntryList
RemoveEntryList
RemoveHeadList
RemoveTailList
RtlAnsiStringToUnicodeSize
RtlAnsiStringToUnicodeString
RtlAppendUnicodeStringToString
RtlAppendUnicodeToString
RtlAreBitsClear
RtlAreBitsSet
RtlCharToInteger
RtlCheckBit
RtlCheckRegistryKey
RtlClearAllBits
RtlClearBits
RtlCompareMemory
RtlCompareString
RtlCompareUnicodeString
RtlConvertLongToLargeInteger
RtlConvertLongToLuid
RtlConvertUlongToLargeInteger
RtlConvertUlongToLuid
RtlCopyBytes
RtlCopyMemory
RtlCopyMemory32
RtlCopyString
RtlCopyUnicodeString
RtlCreateRegistryKey
RtlCreateSecurityDescriptor
RtlDeleteRegistryValue
RtlEnlargedIntegerMultiply
RtlEnlargedUnsignedDivide
RtlEnlargedUnsignedMultiply
RtlEqualLuid
RtlEqualMemory
RtlEqualString
RtlEqualUnicodeString
RtlExtendedIntegerMultiply
RtlExtendedLargeIntegerDivide
RtlExtendedMagicDivide
RtlFillBytes
RtlFillMemory
RtlFindClearBits
RtlFindClearBitsAndSet
RtlFindClearRuns
RtlFindFirstRunClear
RtlFindLastBackwardRunClear
RtlFindLeastSignificantBit
RtlFindMostSignificantBit
RtlFindLongestRunClear
RtlFindNextForwardRunClear
RtlFindSetBits
RtlFindSetBitsAndClear
RtlFreeAnsiString
RtlFreeUnicodeString
RtlGetVersion
RtlGUIDFromString
RtlInitAnsiString
RtlInitializeBitMap
RtlInitString
RtlInitUnicodeString
RtlInt64ToUnicodeString
RtlIntegerToUnicodeString
RtlIntPtrToUnicodeString
RtlLargeIntegerAdd
RtlLargeIntegerAnd
RtlLargeIntegerArithmeticShift
RtlLargeIntegerDivide
RtlLargeIntegerEqualTo
RtlLargeIntegerEqualToZero
RtlLargeIntegerGreaterThan
RtlLargeIntegerGreaterThanOrEqualTo
RtlLargeIntegerGreaterOrEqualToZero
RtlLargeIntegerGreaterThanZero
RtlLargeIntegerLessThan
RtlLargeIntegerLessThanOrEqualTo
RtlLargeIntegerLessOrEqualToZero
RtlLargeIntegerLessThanZero
RtlLargeIntegerNegate
RtlLargeIntegerNotEqualTo
RtlLargeIntegerNotEqualToZero
RtlLargeIntegerShiftLeft
RtlLargeIntegerShiftRight
RtlLargeIntegerSubtract
RtlLengthSecurityDescriptor
RtlMoveMemory
RtlNumberOfClearBits
RtlNumberOfSetBits
RtlPrefixUnicodeString
RtlQueryRegistryValues
RtlRetrieveUlong
RtlRetrieveUshort
RtlSetAllBits
RtlSetBits
RtlSetDaclSecurityDescriptor
RtlStoreUlong
RtlStoreUlonglong
RtlStoreUlongPtr
RtlStoreUshort
RtlStringFromGUID
RtlTimeFieldsToTime
RtlTimeToTimeFields
RtlUlongByteSwap
RtlUlonglongByteSwap
RtlUnicodeStringToAnsiSize
RtlUnicodeStringToAnsiString
RtlUnicodeStringToInteger
RtlUpcaseUnicodeChar
RtlUpcaseUnicodeString
RtlUpperChar
RtlUpperString
RtlUshortByteSwap
RtlValidSecurityDescriptor
RtlVerifyVersionInfo
RtlVolumeDeviceToDosName
RtlWriteRegistryValue
RtlxUnicodeStringToAnsiSize
RtlZeroBytes
RtlZeroMemory
第10章 安全引用监视器例程
SeAccessCheck
SeAssignSecurity
SeAssignSecurityEx
SeDeassignSecurity
SeSinglePrivilegeCheck
SeValidSecurityDescriptor
第11章 ZwXxx例程
ZwClose
ZwCreateDirectoryObject
ZwCreateFile
ZwCreateKey
ZwDeleteKey
ZwEnumerateKey
ZwEnumerateValueKey
ZwFlushKey
ZwMakeTemporaryObject
ZwMapViewOfSection
ZwOpenFile
ZwOpenKey
ZwOpenSection
ZwOpenSymbolicLinkObject
ZwQueryInformationFile
ZwQueryKey
ZwQuerySymbolicLinkObject
ZwQueryValueKey
ZwReadFile
ZwSetInformationFile
ZwSetInformationThread
ZwSetValueKey
ZwUnmapViewOfSection
ZwWriteFile
第12章 系统结构
ANSI_STRING
CM_EISA_FUNCTION_INFORMATION
CM_EISA_SLOT_INFORMATION
CM_FLOPPY_DEVICE_DATA
CM_FULL_RESOURCE_DESCRIPTOR
CM_INT13_DRIVE_PARAMETER
CM_KEYBOARD_DEVICE_DATA
CM_MCA_POS_DATA
CM_PARTIAL_RESOURCE_DESCRIPTOR
CM_PARTIAL_RESOURCE_LIST
CM_RESOURCE_LIST
CM_SCSI_DEVICE_DATA
CM_SERIAL_DEVICE_DATA
CONTROLLER_OBJECT
DEVICE_DESCRIPTION
DEVICE_OBJECT
DMA_ADAPTER
DMA_OPERATIONS
DRIVER_OBJECT
FILE_ALIGNMENT_INFORMATION
FILE_BASIC_INFORMATION
FILE_DISPOSITION_INFORMATION
FILE_END_OF_FILE_INFORMATION
FILE_FS_DEVICE_INFORMATION
FILE_FULL_EA_INFORMATION
FILE_NAME_INFORMATION
FILE_OBJECT
FILE_POSITION_INFORMATION
FILE_STANDARD_INFORMATION
IO_RESOURCE_DESCRIPTOR
IO_RESOURCE_LIST
IO_RESOURCE_REQUIREMENTS_LIST
IO_STACK_LOCATION
IO_STATUS_BLOCK
IRP
KEY_BASIC_INFORMATION
KEY_FULL_INFORMATION
KEY_NODE_INFORMATION
KEY_VALUE_BASIC_INFORMATION
KEY_VALUE_FULL_INFORMATION
KEY_VALUE_PARTIAL_INFORMATION
OEM_STRING
PCI_COMMON_CONFIG
PCI_SLOT_NUMBER
POOL_TYPE
RTL_OSVERSIONINFOW
RTL_OSVERSIONINFOEXW
SCATTER_GATHER_LIST
UNICODE_STRING
第13章 IRP函数代码和IOCTL
根据设备对象类型决定需要的I/O支持
公共I/O请求的输入和输出参数
IRP_MJ_CLEANUP
IRP_MJ_CLOSE
IRP_MJ_CREATE
IRP_MJ_DEVICE_CONTROL
IRP_MJ_FLUSH_BUFFERS
IRP_MJ_INTERNAL_DEVICE_CONTROL
IRP_MJ_PNP
IRP_MJ_POWER
IRP_MJ_READ
IRP_MJ_SHUTDOWN
IRP_MJ_WRITE
定义I/O控制代码
设备类型专有的I/O请求
第二部分 串行和并行接口驱动程序
第14章 串行接口驱动程序参考
Serial主要I/O请求
IRP_MJ_CREATE
IRP_MJ_DEVICE_CONTROL
IRP_MJ_FLUSH_BUFFERS
IRP_MJ_INTERNAL_DEVICE_CONTROL
IRP_MJ_PNP
IRP_MJ_POWER
IRP_MJ_QUERY_INFORMATION
IRP_MJ_READ
IRP_MJ_SET_INFORMATION
IRP_MJ_SYSTEM_CONTROL
IRP_MJ_WRITE
Serial设备控制请求
IOCTL_SERIAL_CLEAR_STATS
IOCTL_SERIAL_CLR_DTR
IOCTL_SERIAL_CLR_RTS
IOCTL_SERIAL_CONFIG_SIZE
IOCTL_SERIAL_GET_BAUD_RATE
IOCTL_SERIAL_GET_CHARS
IOCTL_SERIAL_GET_COMMSTATUS
IOCTL_SERIAL_GET_DTRRTS
IOCTL_SERIAL_GET_HANDFLOW
IOCTL_SERIAL_GET_LINE_CONTROL
IOCTL_SERIAL_GET_MODEM_CONTROL
IOCTL_SERIAL_GET_MODEMSTATUS
IOCTL_SERIAL_GET_PROPERTIES
IOCTL_SERIAL_GET_STATS
IOCTL_SERIAL_GET_TIMEOUTS
IOCTL_SERIAL_GET_WAIT_MASK
IOCTL_SERIAL_IMMEDIATE_CHAR
IOCTL_SERIAL_LSRMST_INSERT
IOCTL_SERIAL_PURGE
IOCTL_SERIAL_RESET_DEVICE
IOCTL_SERIAL_SET_BAUD_RATE
IOCTL_SERIAL_SET_BREAK_OFF
IOCTL_SERIAL_SET_BREAK_ON
IOCTL_SERIAL_SET_CHARS
IOCTL_SERIAL_SET_DTR
IOCTL_SERIAL_SET_FIFO_CONTROL
IOCTL_SERIAL_SET_HANDFLOW
IOCTL_SERIAL_SET_LINE_CONTROL
IOCTL_SERIAL_SET_MODEM_CONTROL
IOCTL_SERIAL_SET_QUEUE_SIZE
IOCTL_SERIAL_SET_RTS
IOCTL_SERIAL_SET_TIMEOUTS
IOCTL_SERIAL_SET_WAIT_MASK
IOCTL_SERIAL_SET_XOFF
IOCTL_SERIAL_SET_XON
IOCTL_SERIAL_WAIT_ON_MASK
IOCTL_SERIAL_XOFF_COUNTER
Serial内部设备控制请求
IOCTL_SERIAL_INTERNAL_BASIC_SETTINGS
IOCTL_SERIAL_INTERNAL_CANCEL_WAIT_WAKE
IOCTL_SERIAL_INTERNAL_DO_WAIT_WAKE
IOCTL_SERIAL_INTERNAL_RESTORE_SETTINGS
第15章 Serenum驱动程序参考
Serenum设备控制请求
IOCTL_SERENUM_PORT_DESC
IOCTL_SERENUM_GET_PORT_NAME
Serenum内部设备控制请求
IOCTL_INTERNAL_SERENUM_REMOVE_SELF
第16章 Parport驱动程序参考
Parport主要I/O请求
IRP_MJ_CREATE
IRP_MJ_INTERNAL_DEVICE_CONTROL
Parport内部设备控制请求
IOCTL_INTERNAL_DESELECT_DEVICE
IOCTL_INTERNAL_GET_MORE_PARALLEL_PORT_INFO
IOCTL_INTERNAL_GET_PARALLEL_PNP_INFO
IOCTL_INTERNAL_GET_PARALLEL_PORT_INFO
IOCTL_INTERNAL_INIT_1284_3_BUS
IOCTL_INTERNAL_PARALLEL_CLEAR_CHIP_MODE
IOCTL_INTERNAL_PARALLEL_CONNECT_INTERRUPT
IOCTL_INTERNAL_PARALLEL_DISCONNECT_INTERRUPT
IOCTL_INTERNAL_PARALLEL_PORT_ALLOCATE
IOCTL_INTERNAL_PARALLEL_PORT_FREE
IOCTL_INTERNAL_PARALLEL_SET_CHIP_MODE
IOCTL_INTERNAL_RELEASE_PARALLEL_PORT_INFO
IOCTL_INTERNAL_SELECT_DEVICE
IOCTL_INTERNAL_Xxx
Parport数据类型
MORE_PARALLEL_PORT_INFOR-MATION
PARALLEL_1284_COMMAND
PARALLEL_CHIP_MODE
PARALLEL_PNP_INFORMATION
PARALLEL_PORT_INFORMATION
PARALLEL_INTERRUPT_INFORMATION
PARALLEL_INTERRUPT_SERVICE_ROUTINE
Parport回调例程
ClearChipMode
DeselectDevice
FreePort
FreePortFromInterruptLevel
QueryNumWaiters
TryAllocatePort
TryAllocatePortAtInterruptLevel
TrySelectDevice
TrySetChipMode
第17章 Parclass驱动程序参考
Parclass主要I/O请求
IRP_MJ_CREATE
IRP_MJ_DEVICE_CONTROL
IRP_MJ_INTERNAL_DEVICE_CONTROL
IRP_MJ_QUERY_INFORMATION
IRP_MJ_READ
IRP_MJ_WRITE
Parclass设备控制请求
IOCTL_IEEE1284_GET_MODE
IOCTL_IEEE1284_NEGOTIATE
IOCTL_PAR_GET_DEFAULT_MODES
IOCTL_PAR_GET_DEVICE_CAPS
IOCTL_PAR_IS_PORT_FREE
IOCTL_PAR_QUERY_DEVICE_ID
IOCTL_PAR_QUERY_DEVICE_ID_SIZE
IOCTL_PAR_QUERY_INFORMATION
IOCTL_PAR_QUERY_RAW_DEVICE_ID
IOCTL_PAR_SET_INFORMATION
IOCTL_PAR_SET_READ_ADDRESS
IOCTL_PAR_SET_WRITE_ADDRESS
IOCTL_SERIAL_GET_TIMEOUTS
IOCTL_SERIAL_SET_TIMEOUTS
Parclass内部设备控制请求
IOCTL_INTERNAL_DISCONNECT_IDLE
IOCTL_INTERNAL_LOCK_PORT
IOCTL_INTERNAL_PARCLASS_CONNECT
IOCTL_INTERNAL_PARCLASS_DISCONNECT
IOCTL_INTERNAL_PARDOT3_CONNECT
IOCTL_INTERNAL_PARDOT3_DISCONNECT
IOCTL_INTERNAL_UNLOCK_PORT
Parclass数据类型
PAR_QUERY_INFORMATION
PAR_SET_INFORMATION
PARCLASS_INFORMATION
PARCLASS_NEGOTIATION_MASK
Parclass回调例程
DetermineIeeeModes
IeeeFwdToRevMode
IeeeRevToFwdMode
NegotiateIeeeMode
ParallelRead
ParallelWrite
TerminateIeeeMode
第三部分 输入设备的驱动程序
第18章 HID 输入/输出请求
HID类驱动程序支持的I/O请求
IOCTL_HID_GET_POLL_FREQUENCY_MSEC
IOCTL_HID_SET_POLL_FREQUENCY_MSEC
IOCTL_GET_NUM_DEVICE_INPUT_BUFFERS
IOCTL_SET_NUM_DEVICE_INPUT_BUFFERS
IOCTL_HID_GET_COLLECTION_INFORMATION
IOCTL_HID_GET_COLLECTION_DESCRIPTOR
IOCTL_HID_FLUSH_QUEUE
IOCTL_HID_GET_FEATURE
IOCTL_HID_SET_FEATURE
IOCTL_GET_PHYSICAL_DESCRIPTOR
IOCTL_HID_GET_HARDWARE_ID
IOCTL_HID_GET_MANUFACTURER_STRING
IOCTL_HID_GET_PRODUCT_STRING
IOCTL_HID_GET_SERIALNUMBER_STRING
IOCTL_HID_GET_INDEXED_STRING
HID微驱动程序支持的I/O请求
IOCTL_GET_PHYSICAL_DESCRIPTOR
IOCTL_HID_ACTIVATE_DEVICE
IOCTL_HID_DEACTIVATE_DEVICE
IOCTL_HID_GET_DEVICE_ATTRIBUTES
IOCTL_HID_GET_DEVICE_DESCRIPTOR
IOCTL_HID_GET_FEATURE
IOCTL_HID_GET_INDEXED_STRING
IOCTL_HID_GET_REPORT_DESCRIPTOR
IOCTL_HID_GET_STRING
IOCTL_HID_READ_REPORT
IOCTL_HID_SET_FEATURE
IOCTL_HID_WRITE_REPORT
第19章 客户HID支持例程
HidD_FlushQueue
HidD_FreePreparsedData
HidD_GetAttributes
HidD_GetConfiguration
HidD_GetFeature
HidD_GetHidGuid
HidD_GetIndexedString
HidD_GetManufacturerString
HidD_GetNumInputBuffers
HidD_GetPhysicalDescriptor
HidD_GetPreparsedData
HidD_GetProductString
HidD_GetSerialNumberString
HidD_SetConfiguration
HidD_SetFeature
HidD_SetNumInputBuffers
HidP_GetButtonCaps
HidP_GetButtons
HidP_GetButtonsEx
HidP_GetCaps
HidP_GetLinkCollectionNodes
HidP_GetScaledUsageValue
HidP_GetSpecificButtonCaps
HidP_GetSpecificValueCaps
HidP_GetUsageValue
HidP_GetUsageValueArray
HidP_GetValueCaps
HidP_MaxUsageListLength
HidP_SetButtons
HidP_SetScaledUsageValue
HidP_SetUsageValue
HidP_SetUsageValueArray
HidP_TranslateUsagesToI8042ScanCodes
HidP_UsageListDifference
第20章 客户HID结构
HID_COLLECTION_INFORMATION
HIDP_COLLECTION_DESC
HIDD_ATTRIBUTES
HIDD_CONFIGURATION
HIDP_BUTTON_CAPS
HIDP_CAPS
HIDP_LINK_COLLECTION_NODE
HIDP_VALUE_CAPS
USAGE_AND_PAGE
第21章 微驱动程序HID支持例程
HidRegisterMinidriver
第22章 微驱动程序HID结构
HID_DEVICE_ATTRIBUTES
HID_DEVICE_EXTENSION
HID_MINIDRIVER_REGISTRATION
HID_XFER_PACKET
第23章 Kbdclass驱动程序参考
Kbdclass主要I/O请求
Kbdclass设备控制请求
Kbdclass类服务回调例程
KeyboardClassServiceCallback
第24章 Mouclass驱动程序参考
Mouclass主要I/O请求
IOCTL-Xxx设备控制请求
Mouclass类服务回调例程
第25章 I8042prt驱动程序参考
I8042prt键盘主要I/O请求
I8042prt键盘内部设备控制请求
I8042prt鼠标主要I/O请求
I8042prt鼠标内部设备控制请求
I8042prt键盘回调例程
I8042prt鼠标回调例程
第26章 Kbfiltr驱动程序参考
Kbfiltr内部设备控制请求
Kbfiltr回调例程
第27章 Moufiltr驱动程序参考
Moufiltr内部设备控制请求
Moufiltr回调例程
第四部分 USB驱动程序
第28章 USB客户驱动程序I/O请求
IOCTL_INTERNAL_USB_SUBMIT_URB
IOCTL_INTERNAL_USB_RESET_PORT
IOCTL_INTERNAL_USB_GET_PORT_STATUS
IOCTL_INTERNAL_USB_ENABLE_PORT
IOCTL_INTERNAL_USB_GET_HUB_COUNT
IOCTL_INTERNAL_USB_CYCLE_PORT
IOCTL_INTERNAL_USB_GET_ROOTHUB_PDO
IOCTL_INTERNAL_USB_GET_HUB_NAME
IOCTL_INTERNAL_USB_GET_BUS_INFO
IOCTL_INTERNAL_USB_GET_CONTROLLER_NAME
第29章 USB客户支持例程
GET_ISO_URB_SIZE
GET_SELECT_CONFIGURATION_REQUEST_SIZE
GET_SELECT_INTERFACE_REQUEST_SIZE
GET_USBD_INTERFACE_SIZE
UsbBuildFeatureRequest
UsbBuildGetDescriptorRequest
UsbBuildGetStatusRequest
UsbBuildInterruptOrBulkTransferRequest
UsbBuildSelectConfigurationRequest
UsbBuildSelectInterfaceRequest
UsbBuildVendorRequest
USBD_CreateConfigurationRequest
USBD_CreateConfigurationRequestEx
USBD_GetInterfaceLength
USBD_GetUSBDIVersion
USBD_ParseConfigurationDescriptor
USBD_ParseConfigurationDescriptorEx
USBD_ParseDescriptors
USBD_RegisterHcFilter
第30章 USB结构
URB
_URB_BULK_OR_INTERRUPT_TRANSFER
_URB_CONTROL_DESCRIPTOR_REQUEST
_URB_CONTROL_FEATURE_REQUEST
_URB_CONTROL_GET_CONFIGURATIONREQUEST
_URB_CONTROL_GET_INTERFACE_REQUEST
_URB_CONTROL_GET_STATUS_REQUEST
_URB_CONTROL_TRANSFER
_URB_CONTROL_VENDOR_OR_CLASS_REQUEST
_URB_FRAME_LENGTH_CONTROL
_URB_GET_CURRENT_FRAME_NUMBER
_URB_GET_FRAME_LENGTH
_URB_HEADER
_URB_ISOCH_TRANSFER
_URB_PIPE_REQUEST
_URB_SELECT_CONFIGURATION
_URB_SELECT_INTERFACE
_URB_SET_FRAME_LENGTH
USB_CONFIGURATION_DESCRIPTOR
USB_DEVICE_DESCRIPTOR
USB_ENDPOINT_DESCRIPTOR
USB_INTERFACE_DESCRIPTOR
USB_HUB_NAME
USB_ROOT_HUB_NAME
USB_STRING_DESCRIPTOR
USBD_INTERFACE_INFORMATION
USBD_INTERFACE_LIST_ENTRY
USBD_PIPE_INFORMATION
USBD_ISO_PACKET_DESCRIPTOR
第五部分 IEEE 1394驱动程序
第31章 IEEE 1394总线I/O请求
IOCTL_CLASS_1394
REQUEST_ALLOCATE_ADDRESS_RANGE
REQUEST_ASYNC_LOCK
REQUEST_ASYNC_READ
REQUEST_ASYNC_STREAM
REQUEST_ASYNC_WRITE
REQUEST_BUS_RESET
REQUEST_BUS_RESET_NOTIFICATION
REQUEST_CONTROL
REQUEST_FREE_ADDRESS_RANGE
REQUEST_GET_ADDR_FROM_DEVICE_OBJECT
REQUEST_GET_CONFIGURATION_INFO
REQUEST_GET_GENERATION_COUNT
REQUEST_GET_LOCAL_HOST_INFO
REQUEST_GET_SPEED_BETWEEN_DEVICES
REQUEST_GET_SPEED_TOPOLOGY_MAPS
REQUEST_ISOCH_ALLOCATE_BANDWIDTH
REQUEST_ISOCH_ALLOCATE_CHANNEL
REQUEST_ISOCH_ALLOCATE_RESOURCES
REQUEST_ISOCH_ATTACH_BUFFERS
REQUEST_ISOCH_DETACH_BUFFERS
REQUEST_ISOCH_FREE_BANDWIDTH
REQUEST_ISOCH_FREE_CHANNEL
REQUEST_ISOCH_FREE_RESOURCES
REQUEST_ISOCH_LISTEN
REQUEST_ISOCH_QUERY_CYCLE_TIME
REQUEST_ISOCH_QUERY_RESOURCES
REQUEST_ISOCH_SET_CHANNEL_BANDWIDTH
REQUEST_ISOCH_STOP
REQUEST_ISOCH_TALK
REQUEST_SEND_PHY_CONFIG_PACKET
REQUEST_SET_DEVICE_XMIT_PROPERTIES
REQUEST_SET_LOCAL_HOST_PROPERTIES
第32章 IEEE 1394结构
ADDRESS_FIFO
ADDRESS_OFFSET
ADDRESS_RANGE
CONFIG_ROM
CYCLE_TIME
GET_LOCAL_HOST_INFO1
GET_LOCAL_HOST_INFO2
GET_LOCAL_HOST_INFO3
GET_LOCAL_HOST_INFO4
GET_LOCAL_HOST_INFO5
GET_LOCAL_HOST_INFO6
IO_ADDRESS
IRB
ISOCH_DESCRIPTOR
NODE_ADDRESS
NOTIFICATION_INFO
PHY_CONFIGURATION_PACKET
SELF_ID
SELF_ID_MORE
SPEED_MAP
TEXTUAL_LEAF
TOPOLOGY_MAP
第六部分 PCMCIA驱动程序
第33章 PCMCIA_INTERFACE_STANDARD接口内存卡例程
PCMCIA_IS_WRITE_PROTECTED
PCMCIA_MODIFY_MEMORY_WINDOW
PCMCIA_SET_VPP
第七部分 SMB客户驱动程序
第34章 SMB IOCTL
SMB_BUS_REQUEST
SMB_DEREGISTER_ALARM_NOTIFY
SMB_REGISTER_ALARM_NOTIFY
第35章 SMB结构
SMB_CLASS
SMB_REGISTER_ALARM
SMB_REQUEST
第八部分 WMI内核模式数据提供者
第36章 WMI IRP
IRP_MN_CHANGE_SINGLE_INSTANCE
IRP_MN_CHANGE_SINGLE_ITEM
IRP_MN_DISABLE_COLLECTION
IRP_MN_DISABLE_EVENTS
IRP_MN_ENABLE_COLLECTION
IRP_MN_ENABLE_EVENTS
IRP_MN_EXECUTE_METHOD
IRP_MN_QUERY_ALL_DATA
IRP_MN_QUERY_SINGLE_INSTANCE
IRP_MN_REGINFO
第37章 WMI库支持例程
WmiCompleteRequest
WmiFireEvent
WmiSystemControl
第38章 WMI库回调例程
DpWmiExecuteMethod
DpWmiFunctionControl
DpWmiQueryDataBlock
DpWmiQueryReginfo
DpWmiSetDataBlock
DpWmiSetDataItem
第39章 WMI结构
WMILIB_CONTEXT
WMIGUIDREGINFO
WMIREGGUID
WMIREGINFO
WNODE_ALL_DATA
WNODE_EVENT_ITEM
WNODE_EVENT_REFERENCE
WNODE_HEADER
WNODE_METHOD_ITEM
WNODE_SINGLE_INSTANCE
WNODE_SINGLE_ITEM
WNODE_TOO_SMALL
第40章 WMI事件跟踪结构
EVENT_TRACE_HEADER
猜您喜欢