核心内容摘要
突破网络运维瓶颈:ZTE ONU命令行工具的技术探索与实践指南
ACPIBuildProcessRunMethodPhaseCheckSta函数和ACPIBuildProcessDevicePhaseAdr函数都调用了ACPIGetDevicePresenceAsyncACPIDetectPdoDevices函数调用了ACPIGetDevicePresenceSync只不过是同步的NTSTATUSACPIBuildProcessDevicePhaseAdr(IN PACPI_BUILD_REQUEST BuildRequest){//// Get the device status//status ACPIGetDevicePresenceAsync(deviceExtension,ACPIBuildCompleteMustSucceed,BuildRequest,(PVOID *) (BuildRequest-Integer),NULL);//// What happened?//ACPIDevPrint( (ACPI_PRINT_LOADING,deviceExtension,ACPIBuildProcessDevicePhaseAdr: Status %08lx\n,status) );NTSTATUSACPIBuildProcessRunMethodPhaseCheckSta(IN PACPI_BUILD_REQUEST BuildRequest){//// Do we have to check the device status?//if (BuildRequest-RunRequest.Flags RUN_REQUEST_CHECK_STATUS) {//// Get the device status//status ACPIGetDevicePresenceAsync(deviceExtension,ACPIBuildCompleteMustSucceed,BuildRequest,(PVOID *) (BuildRequest-Integer),NULL);//// What happened?//ACPIDevPrint( (ACPI_PRINT_LOADING,deviceExtension,ACPIBuildProcessRunMethodPhaseCheckSta: Status %08lx\n,status) );if (status STATUS_PENDING) {return status;}}ACPI!ACPIDetectPdoDevicesNTSTATUSACPIDetectPdoDevices(IN PDEVICE_OBJECT DeviceObject,IN PDEVICE_RELATIONS *DeviceRelations){//// Update the current device status//status ACPIGetDevicePresenceSync(deviceExtension,(PVOID *) deviceStatus,NULL);//// If the device exists//if ( NT_SUCCESS(status) !(deviceExtension-Flags DEV_MASK_NOT_PRESENT) ) {