【问题标题】:Driver Start Type Property驱动程序启动类型属性
【发布时间】:2015-01-18 16:44:57
【问题描述】:

我需要检测是否在引导或系统中初始化了驱动程序......并且我有变量“DEVICE_OBJECT”来获取此信息。研究了“DEVICE_OBJECT”和“DRIVER_OBJECT”的属性来提取这些信息,但没有成功。有没有人有关于如何做的任何提示?

【问题讨论】:

  • 您需要更多信息才能获得有意义的帮助、操作系统、驱动程序和驱动程序检测库才能启动。

标签: c++ windows drivers


【解决方案1】:
NTSTATUS
IopInitializeDeviceNodeService(PDEVICE_NODE DeviceNode, BOOLEAN BootDriverOnly)
{
   NTSTATUS Status;
   ULONG ServiceStart;
   RTL_QUERY_REGISTRY_TABLE QueryTable[2];

   if (DeviceNode->ServiceName.Buffer == NULL)
   {
      return STATUS_UNSUCCESSFUL;
   }

   /*
    * Get service start value
    */

   RtlZeroMemory(QueryTable, sizeof(QueryTable));
   QueryTable[0].Name = L"Start";
   QueryTable[0].Flags = RTL_QUERY_REGISTRY_DIRECT;
   QueryTable[0].EntryContext = &ServiceStart;
   Status = RtlQueryRegistryValues(RTL_REGISTRY_SERVICES,
      DeviceNode->ServiceName.Buffer, QueryTable, NULL, NULL);
   if (!NT_SUCCESS(Status))
   {
      DPRINT("RtlQueryRegistryValues() failed (Status %x)\n", Status);
      return Status;
   }

【讨论】:

    猜你喜欢
    • 2021-05-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-30
    • 1970-01-01
    相关资源
    最近更新 更多