Changeset 20478 in vbox for trunk/src/VBox/Additions/WINNT/Graphics/Miniport
- Timestamp:
- Jun 11, 2009 4:54:19 PM (16 years ago)
- Location:
- trunk/src/VBox/Additions/WINNT/Graphics/Miniport
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Additions/WINNT/Graphics/Miniport/VBoxVideo.cpp
r19844 r20478 1895 1895 HGSMIQUERYCALLBACKS *pInfo = (HGSMIQUERYCALLBACKS *)RequestPacket->OutputBuffer; 1896 1896 1897 pInfo->hContext = pDevExt->pPrimary; 1898 pInfo->pfnCompletionHandler = hgsmiHostCmdHandlerComplete; 1897 pInfo->hContext = pDevExt; 1898 pInfo->pfnCompletionHandler = hgsmiHostCmdComplete; 1899 pInfo->pfnRequestCommandsHandler = hgsmiHostCmdRequest; 1899 1900 1900 1901 RequestPacket->StatusBlock->Information = sizeof(HGSMIQUERYCALLBACKS); … … 1902 1903 break; 1903 1904 } 1904 case IOCTL_VIDEO_HGSMI_HANDLER_ REGISTER:1905 { 1906 dprintf(("VBoxVideo::VBoxVideoStartIO: IOCTL_VIDEO_HGSMI_HANDLER_ REGISTER\n"));1907 1908 if (RequestPacket->InputBufferLength< sizeof(HGSMIHANDLER REGISTER))1905 case IOCTL_VIDEO_HGSMI_HANDLER_ENABLE: 1906 { 1907 dprintf(("VBoxVideo::VBoxVideoStartIO: IOCTL_VIDEO_HGSMI_HANDLER_ENABLE\n")); 1908 1909 if (RequestPacket->InputBufferLength< sizeof(HGSMIHANDLERENABLE)) 1909 1910 { 1910 1911 dprintf(("VBoxVideo::VBoxVideoStartIO: Output buffer too small: %d needed: %d!!!\n", 1911 RequestPacket->InputBufferLength, sizeof(HGSMIHANDLER REGISTER)));1912 RequestPacket->InputBufferLength, sizeof(HGSMIHANDLERENABLE))); 1912 1913 RequestPacket->StatusBlock->Status = ERROR_INSUFFICIENT_BUFFER; 1913 1914 return FALSE; … … 1920 1921 } 1921 1922 1922 HGSMIHANDLERREGISTER *pInfo = (HGSMIHANDLERREGISTER *)RequestPacket->InputBuffer; 1923 1924 int rc = vboxHGSMIChannelDisplayRegister (pDevExt->pPrimary, 1925 pDevExt->iDevice, /* negative would mean this is a miniport handler */ 1926 pInfo->u8Channel, 1927 pInfo->pfnHandler, 1928 pInfo->pvHandler); 1923 HGSMIHANDLERENABLE *pInfo = (HGSMIHANDLERENABLE *)RequestPacket->InputBuffer; 1924 1925 int rc = vboxVBVAChannelDisplayEnable(pDevExt->pPrimary, 1926 pDevExt->iDevice, 1927 pInfo->u8Channel); 1929 1928 if(RT_FAILURE(rc)) 1930 1929 { … … 1934 1933 break; 1935 1934 } 1936 case IOCTL_VIDEO_HGSMI_HANDLER_D EREGISTER:1935 case IOCTL_VIDEO_HGSMI_HANDLER_DISABLE: 1937 1936 { 1938 1937 /* TODO: implement */ -
trunk/src/VBox/Additions/WINNT/Graphics/Miniport/VBoxVideo.h
r20374 r20478 258 258 uint32_t cbLength); 259 259 260 DECLCALLBACK(void) hgsmiHostCmdHandlerComplete (HVBOXVIDEOHGSMI hHGSMI, void * pvMem); 261 262 int vboxHGSMIChannelDisplayRegister (PDEVICE_EXTENSION PrimaryExtension, 260 DECLCALLBACK(void) hgsmiHostCmdComplete (HVBOXVIDEOHGSMI hHGSMI, struct _VBVAHOSTCMD * pCmd); 261 DECLCALLBACK(int) hgsmiHostCmdRequest (HVBOXVIDEOHGSMI hHGSMI, uint8_t u8Channel, struct _VBVAHOSTCMD ** ppCmd); 262 263 264 int vboxVBVAChannelDisplayEnable(PDEVICE_EXTENSION PrimaryExtension, 263 265 int iDisplay, /* negative would mean this is a miniport handler */ 264 uint8_t u8Channel, 265 PFNHGSMICHANNELHANDLER pfnChannelHandler, 266 void *pvChannelHandler); 266 uint8_t u8Channel); 267 267 #endif /* VBOX_WITH_HGSMI */ 268 268 } /* extern "C" */ -
trunk/src/VBox/Additions/WINNT/Graphics/Miniport/vboxioctl.h
r19844 r20478 53 53 CTL_CODE(FILE_DEVICE_VIDEO, 0x431, METHOD_BUFFERED, FILE_ANY_ACCESS) 54 54 55 #define IOCTL_VIDEO_HGSMI_HANDLER_ REGISTER\55 #define IOCTL_VIDEO_HGSMI_HANDLER_ENABLE \ 56 56 CTL_CODE(FILE_DEVICE_VIDEO, 0x432, METHOD_BUFFERED, FILE_ANY_ACCESS) 57 57 58 #define IOCTL_VIDEO_HGSMI_HANDLER_D EREGISTER\58 #define IOCTL_VIDEO_HGSMI_HANDLER_DISABLE \ 59 59 CTL_CODE(FILE_DEVICE_VIDEO, 0x433, METHOD_BUFFERED, FILE_ANY_ACCESS) 60 60 … … 129 129 HVBOXVIDEOHGSMI hContext; 130 130 PFNVBOXVIDEOHGSMICOMPLETION pfnCompletionHandler; 131 PFNVBOXVIDEOHGSMICOMMANDS pfnRequestCommandsHandler; 131 132 } HGSMIQUERYCALLBACKS; 132 133 133 134 /** 134 * Data returned by IOCTL_VIDEO_HGSMI_HANDLER_ REGISTER.135 * Data returned by IOCTL_VIDEO_HGSMI_HANDLER_ENABLE. 135 136 * 136 137 */ 137 typedef struct _HGSMIHANDLER REGISTER138 typedef struct _HGSMIHANDLERENABLE 138 139 { 139 PFNHGSMICHANNELHANDLER pfnHandler;140 void * pvHandler;141 140 uint8_t u8Channel; 142 } HGSMIHANDLER REGISTER;141 } HGSMIHANDLERENABLE; 143 142 144 143 /** 145 * Data passed by IOCTL_VIDEO_HGSMI_HANDLER_D EREGISTER.144 * Data passed by IOCTL_VIDEO_HGSMI_HANDLER_DISABLE. 146 145 * 147 146 */ 148 typedef struct _HGSMIHANDLERD EREGISTER147 typedef struct _HGSMIHANDLERDISABLE 149 148 { 150 PFNHGSMICHANNELHANDLER pfnHandler;151 149 uint8_t u8Channel; 152 } HGSMIHANDLERD EREGISTER;150 } HGSMIHANDLERDISABLE; 153 151 154 152 #endif /* VBOX_WITH_HGSMI */
Note:
See TracChangeset
for help on using the changeset viewer.