- switch ((ULONG_PTR)BaseAddress)
- {
- case DEBUG_CONTROL_SPACE_KPCR:
- /* Copy a pointer to the Pcr */
- ControlStart = &Pcr;
- RealLength = sizeof(PVOID);
- break;
-
- case DEBUG_CONTROL_SPACE_KPRCB:
- /* Copy a pointer to the Prcb */
- ControlStart = &Prcb;
- RealLength = sizeof(PVOID);
- break;
-
- case DEBUG_CONTROL_SPACE_KSPECIAL:
- /* Copy SpecialRegisters */
- ControlStart = &Prcb->ProcessorState.SpecialRegisters;
- RealLength = sizeof(KSPECIAL_REGISTERS);
- break;
-
- case DEBUG_CONTROL_SPACE_KTHREAD:
- /* Copy a pointer to the current Thread */
- ControlStart = &Prcb->CurrentThread;
- RealLength = sizeof(PVOID);
- break;
-
- default:
- RealLength = 0;
- ControlStart = NULL;
- ASSERT(FALSE);
- return STATUS_UNSUCCESSFUL;
- }
+ case AMD64_DEBUG_CONTROL_SPACE_KPRCB:
+ /* Copy a pointer to the Prcb */
+ ControlStart = &Prcb;
+ *ActualLength = sizeof(PVOID);
+ break;