- 時間撮記:
- 2008-7-4 下午11:40:47 (16 年 以前)
- 檔案:
-
- 修改 1 筆資料
圖例:
- 未更動
- 新增
- 刪除
-
trunk/src/VBox/HostDrivers/Support/win/SUPR0IdcClient-win.c
r10260 r10261 48 48 * @returns VBox status code. 49 49 * @param pDeviceObject The device object to call. 50 * @param pFileObject The file object for the connection. 50 51 * @param iReq The request. 51 52 * @param pReq The request packet. 52 53 */ 53 static int supR0IdcNtCallInternal(PDEVICE_OBJECT pDeviceObject, uint32_t iReq, PSUPDRVIDCREQHDR pReq)54 static int supR0IdcNtCallInternal(PDEVICE_OBJECT pDeviceObject, PFILE_OBJECT pFileObject, uint32_t iReq, PSUPDRVIDCREQHDR pReq) 54 55 { 55 56 int rc; … … 57 58 KEVENT Event; 58 59 PIRP pIrp; 60 NTSTATUS rcNt; 59 61 60 62 /* … … 73 75 if (pIrp) 74 76 { 77 IoGetNextIrpStackLocation(pIrp)->FileObject = pFileObject; 78 75 79 /* 76 80 * Call the driver, wait for an async request to complete (should never happen). 77 81 */ 78 NTSTATUSrcNt = IoCallDriver(pDeviceObject, pIrp);82 rcNt = IoCallDriver(pDeviceObject, pIrp); 79 83 if (rcNt == STATUS_PENDING) 80 84 { … … 114 118 * Make the connection call. 115 119 */ 116 rc = supR0IdcNtCallInternal(pDeviceObject, SUPDRV_IDC_REQ_CONNECT, &pReq->Hdr);120 rc = supR0IdcNtCallInternal(pDeviceObject, pFileObject, SUPDRV_IDC_REQ_CONNECT, &pReq->Hdr); 117 121 if (RT_SUCCESS(rc)) 118 122 { … … 136 140 int VBOXCALL supR0IdcNativeClose(PSUPDRVIDCHANDLE pHandle, PSUPDRVIDCREQHDR pReq) 137 141 { 138 PDEVICE_OBJECT pDeviceObject = pHandle->s.pDeviceObject; 139 PFILE_OBJECT pFileObject = pHandle->s.pFileObject; 140 int rc = supR0IdcNtCallInternal(pDeviceObject, SUPDRV_IDC_REQ_DISCONNECT, pReq); 142 PFILE_OBJECT pFileObject = pHandle->s.pFileObject; 143 int rc = supR0IdcNtCallInternal(pHandle->s.pDeviceObject, pFileObject, SUPDRV_IDC_REQ_DISCONNECT, pReq); 141 144 if (RT_SUCCESS(rc)) 142 145 { … … 152 155 int VBOXCALL supR0IdcNativeCall(PSUPDRVIDCHANDLE pHandle, uint32_t iReq, PSUPDRVIDCREQHDR pReq) 153 156 { 154 return supR0IdcNtCallInternal(pHandle->s.pDeviceObject, iReq, pReq);157 return supR0IdcNtCallInternal(pHandle->s.pDeviceObject, pHandle->s.pFileObject, iReq, pReq); 155 158 } 156 159
注意:
瀏覽 TracChangeset
來幫助您使用更動檢視器