IN const UNICODE_STRING *UnsafeSrc)
{
NTSTATUS Status = STATUS_SUCCESS;
- WCHAR *Buffer = NULL;
+ WCHAR * volatile Buffer = NULL;
ASSERT(Dest != NULL);
/* Probe the structure and buffer*/
OUT PULONG Response)
{
NTSTATUS Status = STATUS_SUCCESS;
- PULONG_PTR SafeParams = NULL;
+ volatile PULONG_PTR SafeParams = NULL;
ULONG SafeResponse;
UNICODE_STRING SafeString;
ULONG i;
UNICODE_STRING WName;
ARC_STATUS Result;
PCH Value;
- ANSI_STRING AValue;
+ volatile ANSI_STRING AValue;
UNICODE_STRING WValue;
KPROCESSOR_MODE PreviousMode;
NTSTATUS Status = STATUS_SUCCESS;
{
PSYSTEM_PROCESS_INFORMATION SpiCurrent;
PSYSTEM_THREAD_INFORMATION ThreadInfo;
- PEPROCESS Process = NULL, SystemProcess;
+ volatile PEPROCESS Process = NULL;
+ PEPROCESS SystemProcess;
PETHREAD CurrentThread;
ANSI_STRING ImageName;
int CurrentSize, ImageNameLength = 32; // image name len in bytes
- PLIST_ENTRY CurrentEntry;
+ PLIST_ENTRY CurrentEntry;
ULONG TotalSize = 0, ThreadsCount;
ULONG TotalUser, TotalKernel;
PUCHAR Current;
{
NTSTATUS Status = STATUS_SUCCESS;
ULONG StringLength;
- PWCHAR StringBuffer = NULL;
+ volatile PWCHAR StringBuffer = NULL;
UNICODE_STRING LocalName;
PAGED_CODE();
NTSTATUS Status = STATUS_SUCCESS;
PSECURITY_DESCRIPTOR SecurityDescriptor;
PSECURITY_QUALITY_OF_SERVICE SecurityQos;
- PUNICODE_STRING LocalObjectName = NULL;
+ volatile PUNICODE_STRING LocalObjectName = NULL;
PAGED_CODE();
/* Zero out the Capture Data */
{
ULONG i;
POBJECT_TYPE ObjectType = (PVOID)Object;
-
+
/* Loop our locks */
for (i = 0; i < 4; i++)
{
/* Delete each one */
ExDeleteResourceLite(&ObjectType->ObjectLocks[i]);
}
-
+
/* Delete our main mutex */
ExDeleteResourceLite(&ObjectType->Mutex);
}
POBJECT_HANDLE_ATTRIBUTE_INFORMATION HandleFlags;
POBJECT_BASIC_INFORMATION BasicInfo;
ULONG InfoLength;
- PVOID Object = NULL;
+ volatile PVOID Object = NULL;
NTSTATUS Status = STATUS_SUCCESS;
KPROCESSOR_MODE PreviousMode = ExGetPreviousMode();
PAGED_CODE();