-4
드라이버가 부팅 또는 시스템에서 초기화되었는지 감지해야하며이 정보를 얻기 위해 "DEVICE_OBJECT"변수가 있습니다. 이 정보를 추출하지 않고 "DEVICE_OBJECT"및 "DRIVER_OBJECT"속성을 조사하여 성공하지 못했습니다. 누구든지 할 수있는 방법에 대한 조언이 있습니까?드라이버 시작 유형 속성
드라이버가 부팅 또는 시스템에서 초기화되었는지 감지해야하며이 정보를 얻기 위해 "DEVICE_OBJECT"변수가 있습니다. 이 정보를 추출하지 않고 "DEVICE_OBJECT"및 "DRIVER_OBJECT"속성을 조사하여 성공하지 못했습니다. 누구든지 할 수있는 방법에 대한 조언이 있습니까?드라이버 시작 유형 속성
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;
}
의미있는 도움말, OS, 드라이버 및 드라이버 검색 라이브러리를 시작하려면 더 많은 정보가 필요합니다. – IllusiveBrian