取得 WDM 資訊
[僅適用于 KMDF]
架構提供數個物件方法,可讓您的驅動程式取得 WDM 定義的資訊。
取得驅動程式及其裝置的相關 WDM 資訊
若要取得驅動程式及其裝置的 WDM 資訊,驅動程式可以呼叫下列方法:
WdfFdoInitWdmGetPhysicalDevice
擷取代表裝置實體裝置物件 (PDO) 的DEVICE_OBJECT結構。 驅動程式可以在驅動程式為裝置建立架構裝置物件之前呼叫這個方法。
WdfDeviceWdmGetPhysicalDevice
擷取代表裝置 PDO 的 WDM DEVICE_OBJECT 結構。 驅動程式可以在建立裝置的架構裝置物件之後呼叫此方法。
WdfDeviceWdmGetDeviceObject
傳回與指定架構裝置物件相關聯的 WDM 裝置物件。
WdfDeviceWdmGetAttachedDevice
傳回 裝置堆疊中的下一個較低 WDM 裝置物件。
WdfWdmDeviceGetWdfDeviceHandle
傳回與指定之 WDM 裝置物件相關聯的架構裝置物件的控制碼。
WdfWdmDriverGetWdfDriverHandle
傳回與指定之 WDM 驅動程式物件相關聯的架構驅動程式物件的控制碼。
取得 I/O 要求的相關 WDM 資訊
若要取得有關 I/O 要求的 WDM 資訊,驅動程式可以呼叫下列方法:
WdfRequestWdmGetIrp
傳回與指定架構要求物件相關聯的 WDM IRP 結構。 另一方面,在架構外部接收 WDM IRP 的驅動程式可以呼叫 WdfRequestCreateFromIrp.) 來建立 IRP 的架構要求物件 (
WdfRequestGetParameters
擷取與指定架構要求物件相關聯的參數。 這些參數大多來自要求的 WDM I/O 堆疊位置。)
WdfRequestRetrieveOutputWdmMdl
擷取記憶體描述項清單 (MDL) ,此清單代表 I/O 要求的輸出緩衝區。
WdfRequestRetrieveInputWdmMdl
擷取代表 I/O 要求的輸入緩衝區的 MDL。
WdfRequestFormatRequestUsingCurrentType
將呼叫驅動程式 I/O 堆疊位置的內容複寫到驅動程式本機 I/O 目標的 I/O 堆疊位置。
WdfRequestWdmFormatUsingStackLocation
設定驅動程式本機 I/O 目標的 I/O 堆疊位置內容。
取得 I/O 目標的相關 WDM 資訊
若要取得 I/O 目標的相關 WDM 資訊,驅動程式可以呼叫下列方法:
WdfIoTargetWdmGetTargetDeviceObject
傳回與本機或遠端 I/O 目標相關聯的 WDM 裝置物件的指標。
WdfIoTargetWdmGetTargetFileObject
傳回與遠端 I/O 目標相關聯的 WDM FILE_OBJECT 結構的指標。
WdfIoTargetWdmGetTargetFileHandle
傳回與遠端 I/O 目標相關聯的檔案控制碼。
WdfIoTargetWdmGetTargetPhysicalDevice
傳回代表遠端 I/O 目標裝置裝置 (PDO) WDM 實體裝置物件的指標。
取得有關中斷和 DPC 的 WDM 資訊
若要取得有關中斷和延後程序呼叫 (DPC) 的 WDM 資訊,驅動程式可以呼叫下列方法:
WdfInterruptWdmGetInterrupt
傳回與指定架構中斷物件相關聯的 WDM KINTERRUPT 結構的指標。
WdfDpcWdmGetDpc
傳回與指定架構 DPC 物件相關聯的 WDM KDPC 結構的指標。
取得 USB I/O 目標的相關 WDM 資訊
若要取得 USB I/O 目標的相關 WDM 資訊,驅動程式可以呼叫下列方法:
WdfUsbTargetPipeWdmGetPipeHandle
傳回與指定之架構管道物件相關聯的USBD_PIPE_HANDLE型別控制碼。
取得登錄的 WDM 資訊
若要取得登錄的 WDM 資訊,驅動程式可以呼叫下列方法:
WdfRegistryWdmGetHandle
傳回架構登錄機碼物件所代表之登錄機碼的 WDM 控制碼。
取得有關檔案物件的 WDM 資訊
若要取得檔案物件的相關 WDM 資訊,驅動程式可以呼叫下列方法:
WdfFileObjectWdmGetFileObject
傳回與指定架構檔案物件相關聯的 WDM FILE_OBJECT 結構。