Changeset 32496 in vbox for trunk/src/VBox/Additions/WINNT/Graphics/Miniport/wddm/VBoxVideoCm.cpp
- Timestamp:
- Sep 14, 2010 10:14:46 PM (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Additions/WINNT/Graphics/Miniport/wddm/VBoxVideoCm.cpp
r30925 r32496 156 156 PVBOXVIDEOCM_CMD_DR pHdr = VBOXVIDEOCM_HEAD(pvCmd); 157 157 vboxVideoCmCmdPostByHdr(pHdr->pContext->pSession, pHdr, cbSize); 158 } 159 160 NTSTATUS vboxVideoCmCmdVisit(PVBOXVIDEOCM_CTX pContext, BOOL bEntireSession, PFNVBOXVIDEOCMCMDVISITOR pfnVisitor, PVOID pvVisitor) 161 { 162 PVBOXVIDEOCM_SESSION pSession = pContext->pSession; 163 PLIST_ENTRY pCurEntry = NULL; 164 PVBOXVIDEOCM_CMD_DR pHdr; 165 166 ExAcquireFastMutex(&pSession->Mutex); 167 168 pCurEntry = pSession->CommandsList.Blink; 169 do 170 { 171 if (pCurEntry != &pSession->CommandsList) 172 { 173 pHdr = VBOXCMENTRY_2_CMD(pCurEntry); 174 pCurEntry = pHdr->QueueList.Blink; 175 if (bEntireSession || pHdr->pContext == pContext) 176 { 177 void * pvBody = VBOXVIDEOCM_BODY(pHdr, void); 178 UINT fRet = pfnVisitor(pHdr->pContext, pvBody, pHdr->CmdHdr.cbCmd, pvVisitor); 179 if (fRet & VBOXVIDEOCMCMDVISITOR_RETURN_RMCMD) 180 { 181 RemoveEntryList(&pHdr->QueueList); 182 } 183 if (!(fRet & VBOXVIDEOCMCMDVISITOR_RETURN_CONTINUE)) 184 break; 185 } 186 } 187 else 188 { 189 break; 190 } 191 } while (1); 192 193 194 ExReleaseFastMutex(&pSession->Mutex); 195 196 return STATUS_SUCCESS; 158 197 } 159 198 … … 447 486 return STATUS_SUCCESS; 448 487 } 488 489 VOID vboxVideoCmLock(PVBOXVIDEOCM_CTX pContext) 490 { 491 ExAcquireFastMutex(&pContext->pSession->Mutex); 492 } 493 494 VOID vboxVideoCmUnlock(PVBOXVIDEOCM_CTX pContext) 495 { 496 ExReleaseFastMutex(&pContext->pSession->Mutex); 497 }
Note:
See TracChangeset
for help on using the changeset viewer.