30 _Out_opt_ PULONG64 Displacement
54 if (status == STATUS_BUFFER_OVERFLOW)
84 NTSTATUS status = STATUS_SUCCESS;
89 if (!
NT_SUCCESS(status = Request->ProbeBuffer(&In->i.Name,
sizeof(WCHAR),
FALSE, &nameBuffer)))
95 return STATUS_UNSUCCESSFUL;
101 status = STATUS_UNSUCCESSFUL;
105 memcpy(nameBuffer, name->
Buffer, min(name->
Length, In->i.Name.Length));
106 Out->o.NameLength = (ULONG)name->
Length;
108 if (In->i.Name.Length < name->
Length)
109 status = STATUS_BUFFER_OVERFLOW;
119 _In_ HANDLE ThreadId,
120 _In_ PVOID PcAddress,
121 _In_ PVOID FrameAddress,
122 _In_ PVOID StackAddress,
123 _Out_ PVOID *PredictedEip,
124 _Out_ PVOID *PredictedEbp,
125 _Out_ PVOID *PredictedEsp
132 *PredictedEip = NULL;
133 *PredictedEbp = NULL;
134 *PredictedEsp = NULL;
167 return STATUS_UNSUCCESSFUL;
171 UlongToHandle(In->i.ThreadId),
172 UlongToPtr(In->i.PcAddress),
173 UlongToPtr(In->i.FrameAddress),
174 UlongToPtr(In->i.StackAddress),
181 Out->o.PredictedEip = PtrToUlong(predictedEip);
182 Out->o.PredictedEbp = PtrToUlong(predictedEbp);
183 Out->o.PredictedEsp = PtrToUlong(predictedEsp);
185 return STATUS_SUCCESS;
198 switch (request->
SubId)