Changeset 9567 in vbox for trunk/src/VBox/Runtime/r0drv
- Timestamp:
- Jun 10, 2008 12:33:05 PM (17 years ago)
- svn:sync-xref-src-repo-rev:
- 31861
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Runtime/r0drv/nt/mpnotification-r0drv-nt.cpp
r9563 r9567 42 42 43 43 44 #if /*NTDDI_VERSION >= NTDDI_WS08*/ 0 45 /* The following is 100% untested code which probably doesn't even compile. */ 44 #if 0 /* The following is 100% untested code . */ 45 46 #ifndef KE_PROCESSOR_CHANGE_ADD_EXISTING 47 /* Some bits that are missing from our DDK headers. */ 48 49 typedef enum 50 { 51 KeProcessorAddStartNotify = 0, 52 KeProcessorAddCompleteNotify, 53 KeProcessorAddFailureNotify 54 } KE_PROCESSOR_CHANGE_NOTIFY_STATE; 55 56 typedef struct _KE_PROCESSOR_CHANGE_NOTIFY_CONTEXT 57 { 58 KE_PROCESSOR_CHANGE_NOTIFY_STATE State; 59 ULONG NtNumber; 60 NTSTATUS Status; 61 } KE_PROCESSOR_CHANGE_NOTIFY_CONTEXT; 62 typedef KE_PROCESSOR_CHANGE_NOTIFY_CONTEXT *PKE_PROCESSOR_CHANGE_NOTIFY_CONTEXT; 63 64 typedef VOID (__stdcall *PPROCESSOR_CALLBACK_FUNCTION)(PVOID, PKE_PROCESSOR_CHANGE_NOTIFY_CONTEXT, PNTSTATUS); 65 66 # define KE_PROCESSOR_CHANGE_ADD_EXISTING 1 67 #endif /* !KE_PROCESSOR_CHANGE_ADD_EXISTING */ 68 69 46 70 47 71 /******************************************************************************* … … 49 73 *******************************************************************************/ 50 74 /** Typedef of KeRegisterProcessorChangeCallback. */ 51 typedef P ROCESSOR_CALLBACK_HANDLE (__stdcall *PFNMYKEREGISTERPROCESSORCHANGECALLBACK)(IN PPROCESSOR_CALLBACK_FUNCTION, IN PVOID, INULONG);75 typedef PVOID (__stdcall *PFNMYKEREGISTERPROCESSORCHANGECALLBACK)(PPROCESSOR_CALLBACK_FUNCTION, PVOID, ULONG); 52 76 /** Typedef of KeDeregisterProcessorChangeCallback. */ 53 typedef VOID (__stdcall *PFNMYKEDEREGISTERPROCESSORCHANGECALLBACK)( IN PROCESSOR_CALLBACK_HANDLE);77 typedef VOID (__stdcall *PFNMYKEDEREGISTERPROCESSORCHANGECALLBACK)(PVOID); 54 78 55 79 … … 62 86 static PFNMYKEDEREGISTERPROCESSORCHANGECALLBACK g_pfnKeDeregisterProcessorChangeCallback = NULL; 63 87 /** The callback handle. */ 64 static P ROCESSOR_CALLBACK_HANDLEg_hCallback = NULL;88 static PVOID g_hCallback = NULL; 65 89 66 90 … … 72 96 * @param pvCpu The cpu id cast into a pointer value. 73 97 */ 74 static VOID __stdcall rtMpNotificationNtCallback( INPVOID pvUser,75 INPKE_PROCESSOR_CHANGE_NOTIFY_CONTEXT pChangeContext,76 IN OUTPNTSTATUS pOperationStatus)98 static VOID __stdcall rtMpNotificationNtCallback(PVOID pvUser, 99 PKE_PROCESSOR_CHANGE_NOTIFY_CONTEXT pChangeContext, 100 PNTSTATUS pOperationStatus) 77 101 { 78 102 NOREF(pvUser); … … 88 112 89 113 case KeProcessorAddCompleteNotify: 114 /* Update the active CPU set before doing callback round. */ 115 RTCpuSetAdd(&g_rtMpNtCpuSet, idCpu); 90 116 rtMpNotificationDoCallbacks(RTMPEVENT_ONLINE, idCpu); 91 RTCpuSetAdd(&g_rtMpNtCpuSet, idCpu);92 117 break; 93 118 94 119 //case KeProcessorDelCompleteNotify: 95 // rtMpNotificationDoCallbacks(RTMPEVENT_O NLINE, idCpu);120 // rtMpNotificationDoCallbacks(RTMPEVENT_OFFLINE, idCpu); 96 121 // break; 97 122 … … 102 127 103 128 *pOperationStatus = STATUS_SUCCESS; 104 return 0;105 129 } 106 130
Note:
See TracChangeset
for help on using the changeset viewer.