书籍详情

Windows 2000驱动程序开发大全

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 
猜您喜欢

读书导航