mirror of
https://github.com/reactos/reactos.git
synced 2025-05-30 14:39:46 +00:00
Sync with trunk (aka 'I want my virtualbox mouse integration too')
svn path=/branches/reactos-yarotows/; revision=46732
This commit is contained in:
commit
6638a5b899
170 changed files with 8792 additions and 2792 deletions
|
@ -869,6 +869,7 @@ void TaskManager_OnTabWndSelChange(void)
|
|||
HMENU hViewMenu;
|
||||
HMENU hSubMenu;
|
||||
WCHAR szTemp[256];
|
||||
SYSTEM_INFO sysInfo;
|
||||
|
||||
hMenu = GetMenu(hMainWnd);
|
||||
hViewMenu = GetSubMenu(hMenu, 2);
|
||||
|
@ -947,16 +948,28 @@ void TaskManager_OnTabWndSelChange(void)
|
|||
DeleteMenu(hMenu, 3, MF_BYPOSITION);
|
||||
DrawMenuBar(hMainWnd);
|
||||
}
|
||||
hSubMenu = CreatePopupMenu();
|
||||
|
||||
LoadStringW(hInst, IDS_MENU_ONEGRAPHALLCPUS, szTemp, 256);
|
||||
AppendMenuW(hSubMenu, MF_STRING, ID_VIEW_CPUHISTORY_ONEGRAPHALL, szTemp);
|
||||
GetSystemInfo(&sysInfo);
|
||||
|
||||
LoadStringW(hInst, IDS_MENU_ONEGRAPHPERCPU, szTemp, 256);
|
||||
AppendMenuW(hSubMenu, MF_STRING, ID_VIEW_CPUHISTORY_ONEGRAPHPERCPU, szTemp);
|
||||
/* Hide CPU graph options on single CPU systems */
|
||||
if (sysInfo.dwNumberOfProcessors > 1)
|
||||
{
|
||||
hSubMenu = CreatePopupMenu();
|
||||
|
||||
LoadStringW(hInst, IDS_MENU_CPUHISTORY, szTemp, 256);
|
||||
AppendMenuW(hViewMenu, MF_STRING|MF_POPUP, (UINT_PTR) hSubMenu, szTemp);
|
||||
LoadStringW(hInst, IDS_MENU_ONEGRAPHALLCPUS, szTemp, 256);
|
||||
AppendMenuW(hSubMenu, MF_STRING, ID_VIEW_CPUHISTORY_ONEGRAPHALL, szTemp);
|
||||
|
||||
LoadStringW(hInst, IDS_MENU_ONEGRAPHPERCPU, szTemp, 256);
|
||||
AppendMenuW(hSubMenu, MF_STRING, ID_VIEW_CPUHISTORY_ONEGRAPHPERCPU, szTemp);
|
||||
|
||||
LoadStringW(hInst, IDS_MENU_CPUHISTORY, szTemp, 256);
|
||||
AppendMenuW(hViewMenu, MF_STRING|MF_POPUP, (UINT_PTR) hSubMenu, szTemp);
|
||||
|
||||
if (TaskManagerSettings.CPUHistory_OneGraphPerCPU)
|
||||
CheckMenuRadioItem(hSubMenu, ID_VIEW_CPUHISTORY_ONEGRAPHALL, ID_VIEW_CPUHISTORY_ONEGRAPHPERCPU, ID_VIEW_CPUHISTORY_ONEGRAPHPERCPU, MF_BYCOMMAND);
|
||||
else
|
||||
CheckMenuRadioItem(hSubMenu, ID_VIEW_CPUHISTORY_ONEGRAPHALL, ID_VIEW_CPUHISTORY_ONEGRAPHPERCPU, ID_VIEW_CPUHISTORY_ONEGRAPHALL, MF_BYCOMMAND);
|
||||
}
|
||||
|
||||
LoadStringW(hInst, IDS_MENU_SHOWKERNELTIMES, szTemp, 256);
|
||||
AppendMenuW(hViewMenu, MF_STRING, ID_VIEW_SHOWKERNELTIMES, szTemp);
|
||||
|
@ -965,10 +978,7 @@ void TaskManager_OnTabWndSelChange(void)
|
|||
CheckMenuItem(hViewMenu, ID_VIEW_SHOWKERNELTIMES, MF_BYCOMMAND|MF_CHECKED);
|
||||
else
|
||||
CheckMenuItem(hViewMenu, ID_VIEW_SHOWKERNELTIMES, MF_BYCOMMAND|MF_UNCHECKED);
|
||||
if (TaskManagerSettings.CPUHistory_OneGraphPerCPU)
|
||||
CheckMenuRadioItem(hSubMenu, ID_VIEW_CPUHISTORY_ONEGRAPHALL, ID_VIEW_CPUHISTORY_ONEGRAPHPERCPU, ID_VIEW_CPUHISTORY_ONEGRAPHPERCPU, MF_BYCOMMAND);
|
||||
else
|
||||
CheckMenuRadioItem(hSubMenu, ID_VIEW_CPUHISTORY_ONEGRAPHALL, ID_VIEW_CPUHISTORY_ONEGRAPHPERCPU, ID_VIEW_CPUHISTORY_ONEGRAPHALL, MF_BYCOMMAND);
|
||||
|
||||
/*
|
||||
* Give the tab control focus
|
||||
*/
|
||||
|
|
|
@ -166,7 +166,7 @@ VOID ConOutChar (TCHAR c)
|
|||
VOID ConPuts(LPTSTR szText, DWORD nStdHandle)
|
||||
{
|
||||
ConWrite(szText, _tcslen(szText), nStdHandle);
|
||||
ConWrite(_T("\n"), 1, nStdHandle);
|
||||
ConWrite(_T("\r\n"), 2, nStdHandle);
|
||||
}
|
||||
|
||||
VOID ConOutResPaging(BOOL NewPage, UINT resID)
|
||||
|
|
|
@ -703,7 +703,7 @@ VOID CompleteFilename (LPTSTR strIN, BOOL bNext, LPTSTR strOut, UINT cusor)
|
|||
LastSpace = i;
|
||||
|
||||
}
|
||||
/* insert the quoation and move things around */
|
||||
/* insert the quotation and move things around */
|
||||
if(szPrefix[LastSpace + 1] != _T('\"') && LastSpace != -1)
|
||||
{
|
||||
memmove ( &szPrefix[LastSpace+1], &szPrefix[LastSpace], (_tcslen(szPrefix)-LastSpace+1) * sizeof(TCHAR) );
|
||||
|
@ -712,14 +712,17 @@ VOID CompleteFilename (LPTSTR strIN, BOOL bNext, LPTSTR strOut, UINT cusor)
|
|||
{
|
||||
_tcscat(szPrefix,_T("\""));
|
||||
}
|
||||
szPrefix[LastSpace + 1] = _T('\"');
|
||||
szPrefix[LastSpace + 1] = _T('\"');
|
||||
}
|
||||
else if(LastSpace == -1)
|
||||
{
|
||||
_tcscpy(szBaseWord,_T("\""));
|
||||
_tcscat(szBaseWord,szPrefix);
|
||||
_tcscpy(szPrefix,szBaseWord);
|
||||
|
||||
/* Add quotation only if none exists already */
|
||||
if (szPrefix[0] != _T('\"'))
|
||||
{
|
||||
_tcscpy(szBaseWord,_T("\""));
|
||||
_tcscat(szBaseWord,szPrefix);
|
||||
_tcscpy(szPrefix,szBaseWord);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -268,7 +268,7 @@ LRESULT CALLBACK Window::WindowWndProc(HWND hwnd, UINT nmsg, WPARAM wparam, LPAR
|
|||
case WM_CREATE:
|
||||
return pThis->Init((LPCREATESTRUCT)lparam);
|
||||
|
||||
case WM_NCDESTROY:
|
||||
case WM_NCDESTROY:
|
||||
delete pThis;
|
||||
return 0;
|
||||
|
||||
|
|
|
@ -363,6 +363,12 @@ _tmain(int argc, TCHAR *argv[])
|
|||
PrintWin32Error( szMsg, GetLastError());
|
||||
return -1;
|
||||
}
|
||||
else if ( driveType == 1 )
|
||||
{
|
||||
LoadString( GetModuleHandle(NULL), STRING_NO_VOLUME, (LPTSTR) szMsg,RC_STRING_MAX_SIZE);
|
||||
PrintWin32Error( szMsg, GetLastError());
|
||||
return -1;
|
||||
}
|
||||
|
||||
if( driveType != DRIVE_FIXED ) {
|
||||
LoadString( GetModuleHandle(NULL), STRING_INSERT_DISK, (LPTSTR) szMsg,RC_STRING_MAX_SIZE);
|
||||
|
|
|
@ -487,11 +487,13 @@ drivers\base\beep\beep.sys 2
|
|||
drivers\base\null\null.sys 2
|
||||
drivers\base\nmidebug\nmidebug.sys 2
|
||||
|
||||
drivers\battery\cmbatt\cmbatt.sys 2
|
||||
drivers\battery\battc\battc.sys 2
|
||||
|
||||
drivers\bus\isapnp\isapnp.sys 2
|
||||
|
||||
drivers\bus\acpi\cmbatt\cmbatt.sys 2
|
||||
drivers\bus\acpi\compbatt\compbatt.sys 2
|
||||
|
||||
drivers\directx\dxapi\dxapi.sys 2
|
||||
drivers\directx\dxg\dxg.sys 2
|
||||
drivers\directx\dxgthk\dxgthk.sys 2
|
||||
|
|
|
@ -76,7 +76,7 @@ hal.dll=,,,,,,,,,,,,2
|
|||
|
||||
[Files.pci_mp]
|
||||
ntkrnlmp.exe=,,,,,,,,,,ntoskrnl.exe,,2
|
||||
halmp.dll=,,,,,,,,,,hal.dll,,2
|
||||
halmps.dll=,,,,,,,,,,hal.dll,,2
|
||||
|
||||
[Display]
|
||||
;<id> = <user friendly name>,<spare>,<service key name>,<hight>,<width>,<bpp>
|
||||
|
|
|
@ -1419,10 +1419,10 @@ DetectSerialPorts(PCONFIGURATION_COMPONENT_DATA BusKey)
|
|||
/* Set Interrupt */
|
||||
PartialDescriptor = &PartialResourceList->PartialDescriptors[1];
|
||||
PartialDescriptor->Type = CmResourceTypeInterrupt;
|
||||
PartialDescriptor->ShareDisposition = CmResourceShareUndetermined;
|
||||
PartialDescriptor->ShareDisposition = CmResourceShareShared;
|
||||
PartialDescriptor->Flags = CM_RESOURCE_INTERRUPT_LATCHED;
|
||||
PartialDescriptor->u.Interrupt.Level = Irq[i];
|
||||
PartialDescriptor->u.Interrupt.Vector = 0;
|
||||
PartialDescriptor->u.Interrupt.Vector = Irq[i];
|
||||
PartialDescriptor->u.Interrupt.Affinity = 0xFFFFFFFF;
|
||||
|
||||
/* Set serial data (device specific) */
|
||||
|
@ -1529,7 +1529,7 @@ DetectParallelPorts(PCONFIGURATION_COMPONENT_DATA BusKey)
|
|||
PartialDescriptor->ShareDisposition = CmResourceShareUndetermined;
|
||||
PartialDescriptor->Flags = CM_RESOURCE_INTERRUPT_LATCHED;
|
||||
PartialDescriptor->u.Interrupt.Level = Irq[i];
|
||||
PartialDescriptor->u.Interrupt.Vector = 0;
|
||||
PartialDescriptor->u.Interrupt.Vector = Irq[i];
|
||||
PartialDescriptor->u.Interrupt.Affinity = 0xFFFFFFFF;
|
||||
}
|
||||
|
||||
|
@ -1715,7 +1715,7 @@ DetectKeyboardController(PCONFIGURATION_COMPONENT_DATA BusKey)
|
|||
PartialDescriptor->ShareDisposition = CmResourceShareUndetermined;
|
||||
PartialDescriptor->Flags = CM_RESOURCE_INTERRUPT_LATCHED;
|
||||
PartialDescriptor->u.Interrupt.Level = 1;
|
||||
PartialDescriptor->u.Interrupt.Vector = 0;
|
||||
PartialDescriptor->u.Interrupt.Vector = 1;
|
||||
PartialDescriptor->u.Interrupt.Affinity = 0xFFFFFFFF;
|
||||
|
||||
/* Set IO Port 0x60 */
|
||||
|
@ -1887,7 +1887,7 @@ DetectPS2Mouse(PCONFIGURATION_COMPONENT_DATA BusKey)
|
|||
PartialResourceList.PartialDescriptors[0].ShareDisposition = CmResourceShareUndetermined;
|
||||
PartialResourceList.PartialDescriptors[0].Flags = CM_RESOURCE_INTERRUPT_LATCHED;
|
||||
PartialResourceList.PartialDescriptors[0].u.Interrupt.Level = 12;
|
||||
PartialResourceList.PartialDescriptors[0].u.Interrupt.Vector = 0;
|
||||
PartialResourceList.PartialDescriptors[0].u.Interrupt.Vector = 12;
|
||||
PartialResourceList.PartialDescriptors[0].u.Interrupt.Affinity = 0xFFFFFFFF;
|
||||
|
||||
/* Create controller key */
|
||||
|
|
|
@ -48,6 +48,7 @@
|
|||
|
||||
#include "wine/debug.h"
|
||||
#include "mmddk.h"
|
||||
#include <regstr.h>
|
||||
|
||||
WINE_DEFAULT_DEBUG_CHANNEL(devenum);
|
||||
|
||||
|
@ -124,6 +125,7 @@ HRESULT WINAPI DEVENUM_ICreateDevEnum_CreateClassEnumerator(
|
|||
WCHAR wszRegKey[MAX_PATH];
|
||||
HKEY hkey;
|
||||
HKEY hbasekey;
|
||||
BOOL bInterface = FALSE;
|
||||
CreateDevEnumImpl *This = (CreateDevEnumImpl *)iface;
|
||||
|
||||
TRACE("(%p)->(%s, %p, %lx)\n\tDeviceClass:\t%s\n", This, debugstr_guid(clsidDeviceClass), ppEnumMoniker, dwFlags, debugstr_guid(clsidDeviceClass));
|
||||
|
@ -174,12 +176,23 @@ HRESULT WINAPI DEVENUM_ICreateDevEnum_CreateClassEnumerator(
|
|||
}
|
||||
else
|
||||
{
|
||||
FIXME("Category %s not found\n", debugstr_guid(clsidDeviceClass));
|
||||
return S_FALSE;
|
||||
wcscpy(wszRegKey, REGSTR_PATH_DEVICE_CLASSES);
|
||||
wcscat(wszRegKey, L"\\");
|
||||
|
||||
if (!StringFromGUID2(clsidDeviceClass, wszRegKey + wcslen(wszRegKey), MAX_PATH - CLSID_STR_LEN))
|
||||
return E_OUTOFMEMORY;
|
||||
|
||||
if (RegOpenKeyExW(HKEY_LOCAL_MACHINE, wszRegKey, 0, KEY_READ, &hkey) != ERROR_SUCCESS)
|
||||
{
|
||||
FIXME("Category %s not found\n", debugstr_guid(clsidDeviceClass));
|
||||
return S_FALSE;
|
||||
}
|
||||
|
||||
bInterface = TRUE;
|
||||
}
|
||||
}
|
||||
|
||||
return DEVENUM_IEnumMoniker_Construct(hkey, ppEnumMoniker);
|
||||
return DEVENUM_IEnumMoniker_Construct(hkey, ppEnumMoniker, bInterface);
|
||||
}
|
||||
|
||||
/**********************************************************************
|
||||
|
|
|
@ -71,6 +71,7 @@ typedef struct
|
|||
LONG ref;
|
||||
DWORD index;
|
||||
HKEY hkey;
|
||||
BOOL bInterface;
|
||||
} EnumMonikerImpl;
|
||||
|
||||
typedef struct
|
||||
|
@ -79,10 +80,11 @@ typedef struct
|
|||
|
||||
LONG ref;
|
||||
HKEY hkey;
|
||||
BOOL bInterface;
|
||||
} MediaCatMoniker;
|
||||
|
||||
MediaCatMoniker * DEVENUM_IMediaCatMoniker_Construct(void);
|
||||
HRESULT DEVENUM_IEnumMoniker_Construct(HKEY hkey, IEnumMoniker ** ppEnumMoniker);
|
||||
HRESULT DEVENUM_IEnumMoniker_Construct(HKEY hkey, IEnumMoniker ** ppEnumMoniker, BOOL bInterface);
|
||||
HRESULT WINAPI DEVENUM_ICreateDevEnum_CreateClassEnumerator(
|
||||
ICreateDevEnum * iface,
|
||||
REFCLSID clsidDeviceClass,
|
||||
|
|
|
@ -42,6 +42,7 @@ typedef struct
|
|||
IPropertyBagVtbl *lpVtbl;
|
||||
LONG ref;
|
||||
HKEY hkey;
|
||||
BOOL bInterface;
|
||||
} RegPropBagImpl;
|
||||
|
||||
|
||||
|
@ -108,13 +109,31 @@ static HRESULT WINAPI DEVENUM_IPropertyBag_Read(
|
|||
RegPropBagImpl *This = (RegPropBagImpl *)iface;
|
||||
HRESULT res = S_OK;
|
||||
LONG reswin32;
|
||||
WCHAR buffer[MAX_PATH];
|
||||
HKEY hkey;
|
||||
LPCOLESTR pszName;
|
||||
|
||||
TRACE("(%p)->(%s, %p, %p)\n", This, debugstr_w(pszPropName), pVar, pErrorLog);
|
||||
|
||||
if (!pszPropName || !pVar)
|
||||
return E_POINTER;
|
||||
|
||||
reswin32 = RegQueryValueExW(This->hkey, pszPropName, NULL, NULL, NULL, &received);
|
||||
hkey = This->hkey;
|
||||
pszName = pszPropName;
|
||||
if (This->bInterface)
|
||||
{
|
||||
buffer[0] = 0;
|
||||
received = sizeof(buffer)/sizeof(WCHAR);
|
||||
reswin32 = RegEnumKeyEx(This->hkey, 0, buffer, &received, NULL, NULL, NULL, NULL);
|
||||
|
||||
reswin32 = RegOpenKeyExW(This->hkey, buffer, 0, KEY_READ, &hkey);
|
||||
|
||||
if (!wcsicmp(pszPropName, L"DevicePath"))
|
||||
pszName = L"SymbolicLink";
|
||||
|
||||
}
|
||||
|
||||
reswin32 = RegQueryValueExW(hkey, pszName, NULL, NULL, NULL, &received);
|
||||
res = HRESULT_FROM_WIN32(reswin32);
|
||||
|
||||
if (SUCCEEDED(res))
|
||||
|
@ -122,7 +141,7 @@ static HRESULT WINAPI DEVENUM_IPropertyBag_Read(
|
|||
pData = HeapAlloc(GetProcessHeap(), 0, received);
|
||||
|
||||
/* work around a GCC bug that occurs here unless we use the reswin32 variable as well */
|
||||
reswin32 = RegQueryValueExW(This->hkey, pszPropName, NULL, &type, pData, &received);
|
||||
reswin32 = RegQueryValueExW(hkey, pszName, NULL, &type, pData, &received);
|
||||
res = HRESULT_FROM_WIN32(reswin32);
|
||||
}
|
||||
|
||||
|
@ -201,6 +220,9 @@ static HRESULT WINAPI DEVENUM_IPropertyBag_Read(
|
|||
if (pData)
|
||||
HeapFree(GetProcessHeap(), 0, pData);
|
||||
|
||||
if (This->bInterface)
|
||||
RegCloseKey(hkey);
|
||||
|
||||
TRACE("<- %lx\n", res);
|
||||
return res;
|
||||
}
|
||||
|
@ -270,7 +292,7 @@ static IPropertyBagVtbl IPropertyBag_Vtbl =
|
|||
DEVENUM_IPropertyBag_Write
|
||||
};
|
||||
|
||||
static HRESULT DEVENUM_IPropertyBag_Construct(HANDLE hkey, IPropertyBag **ppBag)
|
||||
static HRESULT DEVENUM_IPropertyBag_Construct(HANDLE hkey, IPropertyBag **ppBag, BOOL bInterface)
|
||||
{
|
||||
RegPropBagImpl * rpb = CoTaskMemAlloc(sizeof(RegPropBagImpl));
|
||||
if (!rpb)
|
||||
|
@ -278,6 +300,8 @@ static HRESULT DEVENUM_IPropertyBag_Construct(HANDLE hkey, IPropertyBag **ppBag)
|
|||
rpb->lpVtbl = &IPropertyBag_Vtbl;
|
||||
rpb->ref = 1;
|
||||
rpb->hkey = hkey;
|
||||
rpb->bInterface = bInterface;
|
||||
|
||||
*ppBag = (IPropertyBag*)rpb;
|
||||
DEVENUM_LockModule();
|
||||
return S_OK;
|
||||
|
@ -393,6 +417,7 @@ static HRESULT WINAPI DEVENUM_IMediaCatMoniker_BindToObject(
|
|||
{
|
||||
IUnknown * pObj = NULL;
|
||||
IPropertyBag * pProp = NULL;
|
||||
IPersistPropertyBag * pBag;
|
||||
CLSID clsID;
|
||||
VARIANT var;
|
||||
HRESULT res = E_FAIL;
|
||||
|
@ -430,6 +455,15 @@ static HRESULT WINAPI DEVENUM_IMediaCatMoniker_BindToObject(
|
|||
|
||||
if (pObj!=NULL)
|
||||
{
|
||||
if (This->bInterface)
|
||||
{
|
||||
res = IUnknown_QueryInterface(pObj, &IID_IPersistPropertyBag, (void**)&pBag);
|
||||
if (SUCCEEDED(res))
|
||||
{
|
||||
res = IPersistPropertyBag_Load(pBag, pProp, NULL); /* FIXME */
|
||||
IPersistPropertyBag_Release(pBag);
|
||||
}
|
||||
}
|
||||
/* get the requested interface from the loaded class */
|
||||
res= IUnknown_QueryInterface(pObj,riidResult,ppvResult);
|
||||
}
|
||||
|
@ -463,7 +497,7 @@ static HRESULT WINAPI DEVENUM_IMediaCatMoniker_BindToStorage(
|
|||
{
|
||||
HANDLE hkey;
|
||||
DuplicateHandle(GetCurrentProcess(), This->hkey, GetCurrentProcess(), &hkey, 0, 0, DUPLICATE_SAME_ACCESS);
|
||||
return DEVENUM_IPropertyBag_Construct(hkey, (IPropertyBag**)ppvObj);
|
||||
return DEVENUM_IPropertyBag_Construct(hkey, (IPropertyBag**)ppvObj, This->bInterface);
|
||||
}
|
||||
|
||||
return MK_E_NOSTORAGE;
|
||||
|
@ -679,6 +713,7 @@ MediaCatMoniker * DEVENUM_IMediaCatMoniker_Construct()
|
|||
pMoniker->lpVtbl = &IMoniker_Vtbl;
|
||||
pMoniker->ref = 0;
|
||||
pMoniker->hkey = NULL;
|
||||
pMoniker->bInterface = FALSE;
|
||||
|
||||
DEVENUM_IMediaCatMoniker_AddRef((LPMONIKER)pMoniker);
|
||||
|
||||
|
@ -764,6 +799,7 @@ static HRESULT WINAPI DEVENUM_IEnumMoniker_Next(LPENUMMONIKER iface, ULONG celt,
|
|||
if (!pMoniker)
|
||||
return E_OUTOFMEMORY;
|
||||
|
||||
pMoniker->bInterface = This->bInterface;
|
||||
if (RegOpenKeyW(This->hkey, buffer, &pMoniker->hkey) != ERROR_SUCCESS)
|
||||
{
|
||||
DEVENUM_IMediaCatMoniker_Release((LPMONIKER)pMoniker);
|
||||
|
@ -829,7 +865,7 @@ static IEnumMonikerVtbl IEnumMoniker_Vtbl =
|
|||
DEVENUM_IEnumMoniker_Clone
|
||||
};
|
||||
|
||||
HRESULT DEVENUM_IEnumMoniker_Construct(HKEY hkey, IEnumMoniker ** ppEnumMoniker)
|
||||
HRESULT DEVENUM_IEnumMoniker_Construct(HKEY hkey, IEnumMoniker ** ppEnumMoniker, BOOL bInterface)
|
||||
{
|
||||
EnumMonikerImpl * pEnumMoniker = CoTaskMemAlloc(sizeof(EnumMonikerImpl));
|
||||
if (!pEnumMoniker)
|
||||
|
@ -839,6 +875,7 @@ HRESULT DEVENUM_IEnumMoniker_Construct(HKEY hkey, IEnumMoniker ** ppEnumMoniker)
|
|||
pEnumMoniker->ref = 1;
|
||||
pEnumMoniker->index = 0;
|
||||
pEnumMoniker->hkey = hkey;
|
||||
pEnumMoniker->bInterface = bInterface;
|
||||
|
||||
*ppEnumMoniker = (IEnumMoniker *)pEnumMoniker;
|
||||
|
||||
|
|
|
@ -71,7 +71,6 @@ CEnumPins::QueryInterface(
|
|||
OutputDebugStringW(Buffer);
|
||||
CoTaskMemFree(lpstr);
|
||||
|
||||
DebugBreak();
|
||||
return E_NOINTERFACE;
|
||||
}
|
||||
|
||||
|
|
|
@ -700,7 +700,6 @@ CInputPin::Receive(IMediaSample *pSample)
|
|||
{
|
||||
#ifdef KSPROXY_TRACE
|
||||
OutputDebugStringW(L"CInputPin::Receive NotImplemented\n");
|
||||
DebugBreak();
|
||||
#endif
|
||||
|
||||
return E_NOTIMPL;
|
||||
|
@ -712,7 +711,6 @@ CInputPin::ReceiveMultiple(IMediaSample **pSamples, long nSamples, long *nSample
|
|||
{
|
||||
#ifdef KSPROXY_TRACE
|
||||
OutputDebugStringW(L"CInputPin::ReceiveMultiple NotImplemented\n");
|
||||
DebugBreak();
|
||||
#endif
|
||||
|
||||
return E_NOTIMPL;
|
||||
|
@ -724,7 +722,6 @@ CInputPin::ReceiveCanBlock( void)
|
|||
{
|
||||
#ifdef KSPROXY_TRACE
|
||||
OutputDebugStringW(L"CInputPin::ReceiveCanBlock NotImplemented\n");
|
||||
DebugBreak();
|
||||
#endif
|
||||
|
||||
return S_FALSE;
|
||||
|
@ -923,7 +920,6 @@ CInputPin::KsQualityNotify(
|
|||
OutputDebugStringW(L"CInputPin::KsQualityNotify NotImplemented\n");
|
||||
#endif
|
||||
|
||||
DebugBreak();
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
|
@ -1114,7 +1110,6 @@ CInputPin::Connect(IPin *pReceivePin, const AM_MEDIA_TYPE *pmt)
|
|||
{
|
||||
#ifdef KSPROXY_TRACE
|
||||
OutputDebugStringW(L"CInputPin::Connect NotImplemented\n");
|
||||
DebugBreak();
|
||||
#endif
|
||||
return NOERROR;
|
||||
}
|
||||
|
@ -1199,7 +1194,6 @@ CInputPin::ConnectionMediaType(AM_MEDIA_TYPE *pmt)
|
|||
|
||||
#ifdef KSPROXY_TRACE
|
||||
OutputDebugStringW(L"CInputPin::ConnectionMediaType NotImplemented\n");
|
||||
DebugBreak();
|
||||
#endif
|
||||
|
||||
return E_NOTIMPL;
|
||||
|
@ -1496,7 +1490,6 @@ CInputPin::CreatePin(
|
|||
WCHAR Buffer[100];
|
||||
swprintf(Buffer, L"CInputPin::CreatePin unexpected communication %u %s\n", m_Communication, m_PinName);
|
||||
OutputDebugStringW(Buffer);
|
||||
DebugBreak();
|
||||
#endif
|
||||
hr = E_FAIL;
|
||||
}
|
||||
|
@ -1629,7 +1622,6 @@ CInputPin::CreatePinHandle(
|
|||
{
|
||||
#ifdef KSPROXY_TRACE
|
||||
OutputDebugStringW(L"CInputPin::CreatePinHandle GetSupportedSets failed\n");
|
||||
DebugBreak();
|
||||
#endif
|
||||
return hr;
|
||||
}
|
||||
|
@ -1640,7 +1632,6 @@ CInputPin::CreatePinHandle(
|
|||
{
|
||||
#ifdef KSPROXY_TRACE
|
||||
OutputDebugStringW(L"CInputPin::CreatePinHandle LoadProxyPlugins failed\n");
|
||||
DebugBreak();
|
||||
#endif
|
||||
return hr;
|
||||
}
|
||||
|
@ -1783,7 +1774,6 @@ CInputPin::LoadProxyPlugins(
|
|||
{
|
||||
// store plugin
|
||||
m_Plugins.push_back(pUnknown);
|
||||
DebugBreak();
|
||||
}
|
||||
// close key
|
||||
RegCloseKey(hSubKey);
|
||||
|
|
|
@ -21,7 +21,6 @@ public:
|
|||
STDMETHODIMP_(ULONG) Release()
|
||||
{
|
||||
InterlockedDecrement(&m_Ref);
|
||||
DebugBreak();
|
||||
if (!m_Ref)
|
||||
{
|
||||
if (m_Allocator)
|
||||
|
@ -280,7 +279,6 @@ STDMETHODCALLTYPE
|
|||
CMediaSample::SetMediaType(AM_MEDIA_TYPE *pMediaType)
|
||||
{
|
||||
OutputDebugStringW(L"CMediaSample::SetMediaType NotImplemented\n");
|
||||
DebugBreak();
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
|
|
|
@ -1548,7 +1548,6 @@ COutputPin::Connect(IPin *pReceivePin, const AM_MEDIA_TYPE *pmt)
|
|||
OutputDebugStringW(L"COutputPin::Connect no IMemInputPin interface\n");
|
||||
#endif
|
||||
|
||||
DebugBreak();
|
||||
return hr;
|
||||
}
|
||||
|
||||
|
@ -1946,13 +1945,26 @@ COutputPin::CreatePin(
|
|||
// query for pin medium
|
||||
hr = KsQueryMediums(&MediumList);
|
||||
if (FAILED(hr))
|
||||
{
|
||||
#ifdef KSPROXY_TRACE
|
||||
WCHAR Buffer[100];
|
||||
swprintf(Buffer, L"COutputPin::CreatePin KsQueryMediums failed %lx\n", hr);
|
||||
OutputDebugStringW(Buffer);
|
||||
#endif
|
||||
return hr;
|
||||
}
|
||||
|
||||
// query for pin interface
|
||||
hr = KsQueryInterfaces(&InterfaceList);
|
||||
if (FAILED(hr))
|
||||
{
|
||||
// failed
|
||||
#ifdef KSPROXY_TRACE
|
||||
WCHAR Buffer[100];
|
||||
swprintf(Buffer, L"COutputPin::CreatePin KsQueryInterfaces failed %lx\n", hr);
|
||||
OutputDebugStringW(Buffer);
|
||||
#endif
|
||||
|
||||
CoTaskMemFree(MediumList);
|
||||
return hr;
|
||||
}
|
||||
|
@ -2003,6 +2015,12 @@ COutputPin::CreatePin(
|
|||
CoTaskMemFree(MediumList);
|
||||
CoTaskMemFree(InterfaceList);
|
||||
|
||||
#ifdef KSPROXY_TRACE
|
||||
WCHAR Buffer[100];
|
||||
swprintf(Buffer, L"COutputPin::CreatePin failed to create interface handler %lx\n", hr);
|
||||
OutputDebugStringW(Buffer);
|
||||
#endif
|
||||
|
||||
return hr;
|
||||
}
|
||||
|
||||
|
@ -2010,7 +2028,12 @@ COutputPin::CreatePin(
|
|||
hr = InterfaceHandler->KsSetPin((IKsPin*)this);
|
||||
if (FAILED(hr))
|
||||
{
|
||||
// failed to load interface handler plugin
|
||||
// failed to initialize interface handler plugin
|
||||
#ifdef KSPROXY_TRACE
|
||||
WCHAR Buffer[100];
|
||||
swprintf(Buffer, L"COutputPin::CreatePin failed to initialize interface handler %lx\n", hr);
|
||||
OutputDebugStringW(Buffer);
|
||||
#endif
|
||||
InterfaceHandler->Release();
|
||||
CoTaskMemFree(MediumList);
|
||||
CoTaskMemFree(InterfaceList);
|
||||
|
@ -2027,7 +2050,6 @@ COutputPin::CreatePin(
|
|||
WCHAR Buffer[100];
|
||||
swprintf(Buffer, L"COutputPin::CreatePin unexpected communication %u %s\n", m_Communication, m_PinName);
|
||||
OutputDebugStringW(Buffer);
|
||||
DebugBreak();
|
||||
#endif
|
||||
|
||||
hr = E_FAIL;
|
||||
|
@ -2037,6 +2059,12 @@ COutputPin::CreatePin(
|
|||
CoTaskMemFree(MediumList);
|
||||
CoTaskMemFree(InterfaceList);
|
||||
|
||||
#ifdef KSPROXY_TRACE
|
||||
WCHAR Buffer[100];
|
||||
swprintf(Buffer, L"COutputPin::CreatePin Result %lx\n", hr);
|
||||
OutputDebugStringW(Buffer);
|
||||
#endif
|
||||
|
||||
return hr;
|
||||
}
|
||||
|
||||
|
@ -2058,6 +2086,8 @@ COutputPin::CreatePinHandle(
|
|||
//KSPROPERTY Property;
|
||||
//ULONG BytesReturned;
|
||||
|
||||
OutputDebugStringW(L"COutputPin::CreatePinHandle\n");
|
||||
|
||||
if (m_hPin != INVALID_HANDLE_VALUE)
|
||||
{
|
||||
// pin already exists
|
||||
|
@ -2173,7 +2203,6 @@ COutputPin::CreatePinHandle(
|
|||
if (FAILED(InitializeIOThread()))
|
||||
{
|
||||
OutputDebugStringW(L"COutputPin::CreatePinHandle failed to initialize i/o thread\n");
|
||||
DebugBreak();
|
||||
}
|
||||
|
||||
LPGUID pGuid;
|
||||
|
@ -2184,8 +2213,7 @@ COutputPin::CreatePinHandle(
|
|||
if (FAILED(hr))
|
||||
{
|
||||
#ifdef KSPROXY_TRACE
|
||||
OutputDebugStringW(L"CInputPin::CreatePinHandle GetSupportedSets failed\n");
|
||||
DebugBreak();
|
||||
OutputDebugStringW(L"COutputPin::CreatePinHandle GetSupportedSets failed\n");
|
||||
#endif
|
||||
return hr;
|
||||
}
|
||||
|
@ -2195,8 +2223,7 @@ COutputPin::CreatePinHandle(
|
|||
if (FAILED(hr))
|
||||
{
|
||||
#ifdef KSPROXY_TRACE
|
||||
OutputDebugStringW(L"CInputPin::CreatePinHandle LoadProxyPlugins failed\n");
|
||||
DebugBreak();
|
||||
OutputDebugStringW(L"COutputPin::CreatePinHandle LoadProxyPlugins failed\n");
|
||||
#endif
|
||||
return hr;
|
||||
}
|
||||
|
@ -2338,7 +2365,6 @@ COutputPin::LoadProxyPlugins(
|
|||
{
|
||||
// store plugin
|
||||
m_Plugins.push_back(pUnknown);
|
||||
DebugBreak();
|
||||
}
|
||||
// close key
|
||||
RegCloseKey(hSubKey);
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
#define _FORCENAMELESSUNION
|
||||
#define BUILDING_KS
|
||||
#define _KSDDK_
|
||||
//#define KSPROXY_TRACE
|
||||
#define KSPROXY_TRACE
|
||||
#include <dshow.h>
|
||||
//#include <streams.h>
|
||||
#include <ks.h>
|
||||
|
|
|
@ -1954,7 +1954,6 @@ CKsProxy::IsDirty()
|
|||
{
|
||||
#ifdef KSPROXY_TRACE
|
||||
OutputDebugStringW(L"CKsProxy::IsDirty Notimplemented\n");
|
||||
DebugBreak();
|
||||
#endif
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
@ -2035,7 +2034,6 @@ CKsProxy::Load(
|
|||
|
||||
}while(Length > 0);
|
||||
|
||||
DebugBreak();
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
|
@ -2059,7 +2057,6 @@ CKsProxy::GetSizeMax(
|
|||
{
|
||||
#ifdef KSPROXY_TRACE
|
||||
OutputDebugStringW(L"CKsProxy::GetSizeMax Notimplemented\n");
|
||||
DebugBreak();
|
||||
#endif
|
||||
|
||||
return E_NOTIMPL;
|
||||
|
@ -2480,23 +2477,50 @@ CKsProxy::CreatePins()
|
|||
// query current instance count
|
||||
hr = GetPinInstanceCount(Index, &Instances);
|
||||
if (FAILED(hr))
|
||||
{
|
||||
#ifdef KSPROXY_TRACE
|
||||
WCHAR Buffer[100];
|
||||
swprintf(Buffer, L"CKsProxy::CreatePins GetPinInstanceCount failed with %lx\n", hr);
|
||||
OutputDebugStringW(Buffer);
|
||||
#endif
|
||||
continue;
|
||||
}
|
||||
|
||||
|
||||
// query pin communication;
|
||||
hr = GetPinCommunication(Index, &Communication);
|
||||
if (FAILED(hr))
|
||||
{
|
||||
#ifdef KSPROXY_TRACE
|
||||
WCHAR Buffer[100];
|
||||
swprintf(Buffer, L"CKsProxy::CreatePins GetPinCommunication failed with %lx\n", hr);
|
||||
OutputDebugStringW(Buffer);
|
||||
#endif
|
||||
continue;
|
||||
}
|
||||
|
||||
if (Instances.CurrentCount == Instances.PossibleCount)
|
||||
{
|
||||
// already maximum reached for this pin
|
||||
#ifdef KSPROXY_TRACE
|
||||
WCHAR Buffer[100];
|
||||
swprintf(Buffer, L"CKsProxy::CreatePins Instances.CurrentCount == Instances.PossibleCount\n");
|
||||
OutputDebugStringW(Buffer);
|
||||
#endif
|
||||
continue;
|
||||
}
|
||||
|
||||
// get direction of pin
|
||||
hr = GetPinDataflow(Index, &DataFlow);
|
||||
if (FAILED(hr))
|
||||
{
|
||||
#ifdef KSPROXY_TRACE
|
||||
WCHAR Buffer[100];
|
||||
swprintf(Buffer, L"CKsProxy::CreatePins GetPinDataflow failed with %lx\n", hr);
|
||||
OutputDebugStringW(Buffer);
|
||||
#endif
|
||||
continue;
|
||||
}
|
||||
|
||||
if (DataFlow == KSPIN_DATAFLOW_IN)
|
||||
hr = GetPinName(Index, DataFlow, InputPin, &PinName);
|
||||
|
@ -2504,7 +2528,14 @@ CKsProxy::CreatePins()
|
|||
hr = GetPinName(Index, DataFlow, OutputPin, &PinName);
|
||||
|
||||
if (FAILED(hr))
|
||||
{
|
||||
#ifdef KSPROXY_TRACE
|
||||
WCHAR Buffer[100];
|
||||
swprintf(Buffer, L"CKsProxy::CreatePins GetPinName failed with %lx\n", hr);
|
||||
OutputDebugStringW(Buffer);
|
||||
#endif
|
||||
continue;
|
||||
}
|
||||
|
||||
// construct the pins
|
||||
if (DataFlow == KSPIN_DATAFLOW_IN)
|
||||
|
@ -2512,6 +2543,11 @@ CKsProxy::CreatePins()
|
|||
hr = CInputPin_Constructor((IBaseFilter*)this, PinName, m_hDevice, Index, Communication, IID_IPin, (void**)&pPin);
|
||||
if (FAILED(hr))
|
||||
{
|
||||
#ifdef KSPROXY_TRACE
|
||||
WCHAR Buffer[100];
|
||||
swprintf(Buffer, L"CKsProxy::CreatePins CInputPin_Constructor failed with %lx\n", hr);
|
||||
OutputDebugStringW(Buffer);
|
||||
#endif
|
||||
CoTaskMemFree(PinName);
|
||||
continue;
|
||||
}
|
||||
|
@ -2522,6 +2558,11 @@ CKsProxy::CreatePins()
|
|||
hr = COutputPin_Constructor((IBaseFilter*)this, PinName, Index, Communication, IID_IPin, (void**)&pPin);
|
||||
if (FAILED(hr))
|
||||
{
|
||||
#ifdef KSPROXY_TRACE
|
||||
WCHAR Buffer[100];
|
||||
swprintf(Buffer, L"CKsProxy::CreatePins COutputPin_Constructor failed with %lx\n", hr);
|
||||
OutputDebugStringW(Buffer);
|
||||
#endif
|
||||
CoTaskMemFree(PinName);
|
||||
continue;
|
||||
}
|
||||
|
@ -2627,9 +2668,12 @@ CKsProxy::Load(IPropertyBag *pPropBag, IErrorLog *pErrorLog)
|
|||
hr = LoadProxyPlugins(pGuid, NumGuids);
|
||||
if (FAILED(hr))
|
||||
{
|
||||
#if 0 //HACK
|
||||
CloseHandle(m_hDevice);
|
||||
m_hDevice = NULL;
|
||||
return hr;
|
||||
#endif
|
||||
OutputDebugStringW(L"CKsProxy::LoadProxyPlugins failed!\n");
|
||||
}
|
||||
|
||||
// free sets
|
||||
|
@ -2638,6 +2682,14 @@ CKsProxy::Load(IPropertyBag *pPropBag, IErrorLog *pErrorLog)
|
|||
// now create the input / output pins
|
||||
hr = CreatePins();
|
||||
|
||||
#ifdef KSPROXY_TRACE
|
||||
swprintf(Buffer, L"CKsProxy::Load CreatePins %lx\n", hr);
|
||||
OutputDebugStringW(Buffer);
|
||||
#endif
|
||||
|
||||
//HACK
|
||||
hr = S_OK;
|
||||
|
||||
return hr;
|
||||
}
|
||||
|
||||
|
@ -2986,10 +3038,6 @@ STDMETHODCALLTYPE
|
|||
CKsProxy::EnumPins(
|
||||
IEnumPins **ppEnum)
|
||||
{
|
||||
#ifdef KSPROXY_TRACE
|
||||
OutputDebugStringW(L"CKsProxy::EnumPins\n");
|
||||
#endif
|
||||
|
||||
return CEnumPins_fnConstructor(m_Pins, IID_IEnumPins, (void**)ppEnum);
|
||||
}
|
||||
|
||||
|
|
|
@ -155,14 +155,6 @@ CEnumPins_fnConstructor(
|
|||
{
|
||||
CEnumPins * handler = new CEnumPins(NumPins, pins);
|
||||
|
||||
#ifdef MSDVBNP_TRACE
|
||||
WCHAR Buffer[MAX_PATH];
|
||||
LPOLESTR lpstr;
|
||||
StringFromCLSID(riid, &lpstr);
|
||||
swprintf(Buffer, L"CEnumPins_fnConstructor riid %s pUnknown %p\n", lpstr, pUnknown);
|
||||
OutputDebugStringW(Buffer);
|
||||
#endif
|
||||
|
||||
if (!handler)
|
||||
return E_OUTOFMEMORY;
|
||||
|
||||
|
|
|
@ -122,7 +122,7 @@ DllGetClassObject(
|
|||
{
|
||||
UINT i;
|
||||
HRESULT hres = E_OUTOFMEMORY;
|
||||
IClassFactory * pcf = NULL;
|
||||
IClassFactory * pcf = NULL;
|
||||
|
||||
if (!ppv)
|
||||
return E_INVALIDARG;
|
||||
|
@ -138,7 +138,7 @@ DllGetClassObject(
|
|||
}
|
||||
}
|
||||
|
||||
if (!pcf)
|
||||
if (!pcf)
|
||||
{
|
||||
return CLASS_E_CLASSNOTAVAILABLE;
|
||||
}
|
||||
|
|
|
@ -201,7 +201,6 @@ CNetworkProvider::QueryInterface(
|
|||
swprintf(Buffer, L"CNetworkProvider::QueryInterface: NoInterface for %s !!!\n", lpstr);
|
||||
OutputDebugStringW(Buffer);
|
||||
CoTaskMemFree(lpstr);
|
||||
DebugBreak();
|
||||
|
||||
return E_NOINTERFACE;
|
||||
}
|
||||
|
|
|
@ -51,7 +51,7 @@ public:
|
|||
HRESULT STDMETHODCALLTYPE EndFlush();
|
||||
HRESULT STDMETHODCALLTYPE NewSegment(REFERENCE_TIME tStart, REFERENCE_TIME tStop, double dRate);
|
||||
|
||||
CPin(IBaseFilter * ParentFilter) : m_Ref(0), m_ParentFilter(ParentFilter){};
|
||||
CPin(IBaseFilter * ParentFilter);
|
||||
virtual ~CPin(){};
|
||||
|
||||
static LPCWSTR PIN_ID;
|
||||
|
@ -59,11 +59,31 @@ public:
|
|||
protected:
|
||||
LONG m_Ref;
|
||||
IBaseFilter * m_ParentFilter;
|
||||
AM_MEDIA_TYPE m_MediaType;
|
||||
IPin * m_Pin;
|
||||
};
|
||||
|
||||
|
||||
LPCWSTR CPin::PIN_ID = L"Antenna Out";
|
||||
|
||||
|
||||
CPin::CPin(
|
||||
IBaseFilter * ParentFilter) : m_Ref(0),
|
||||
m_ParentFilter(ParentFilter),
|
||||
m_Pin(0)
|
||||
{
|
||||
m_MediaType.majortype = KSDATAFORMAT_TYPE_BDA_ANTENNA;
|
||||
m_MediaType.subtype = MEDIASUBTYPE_None;
|
||||
m_MediaType.formattype = FORMAT_None;
|
||||
m_MediaType.bFixedSizeSamples = true;
|
||||
m_MediaType.bTemporalCompression = false;
|
||||
m_MediaType.lSampleSize = sizeof(CHAR);
|
||||
m_MediaType.pUnk = NULL;
|
||||
m_MediaType.cbFormat = 0;
|
||||
m_MediaType.pbFormat = NULL;
|
||||
}
|
||||
|
||||
|
||||
HRESULT
|
||||
STDMETHODCALLTYPE
|
||||
CPin::QueryInterface(
|
||||
|
@ -100,36 +120,97 @@ HRESULT
|
|||
STDMETHODCALLTYPE
|
||||
CPin::Connect(IPin *pReceivePin, const AM_MEDIA_TYPE *pmt)
|
||||
{
|
||||
HRESULT hr;
|
||||
OutputDebugStringW(L"CPin::Connect called\n");
|
||||
return E_NOTIMPL;
|
||||
|
||||
if (pmt)
|
||||
{
|
||||
hr = pReceivePin->QueryAccept(pmt);
|
||||
if (FAILED(hr))
|
||||
{
|
||||
OutputDebugStringW(L"CPin::Connect QueryAccept failed\n");
|
||||
return hr;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// query accept
|
||||
hr = pReceivePin->QueryAccept(&m_MediaType);
|
||||
if (FAILED(hr))
|
||||
{
|
||||
OutputDebugStringW(L"CPin::Connect QueryAccept pmt default failed\n");
|
||||
return hr;
|
||||
}
|
||||
|
||||
pmt = &m_MediaType;
|
||||
}
|
||||
|
||||
// receive connection;
|
||||
hr = pReceivePin->ReceiveConnection((IPin*)this, pmt);
|
||||
if (SUCCEEDED(hr))
|
||||
{
|
||||
// increment reference count
|
||||
pReceivePin->AddRef();
|
||||
m_Pin = pReceivePin;
|
||||
OutputDebugStringW(L"CPin::Connect success\n");
|
||||
}
|
||||
|
||||
return hr;
|
||||
}
|
||||
|
||||
HRESULT
|
||||
STDMETHODCALLTYPE
|
||||
CPin::ReceiveConnection(IPin *pConnector, const AM_MEDIA_TYPE *pmt)
|
||||
{
|
||||
OutputDebugStringW(L"CPin::ReceiveConnection called\n");
|
||||
return E_NOTIMPL;
|
||||
return E_UNEXPECTED;
|
||||
}
|
||||
|
||||
HRESULT
|
||||
STDMETHODCALLTYPE
|
||||
CPin::Disconnect( void)
|
||||
{
|
||||
OutputDebugStringW(L"CPin::Disconnect called\n");
|
||||
return E_NOTIMPL;
|
||||
#ifdef MSDVBNP_TRACE
|
||||
OutputDebugStringW(L"CPin::Disconnect\n");
|
||||
#endif
|
||||
|
||||
if (!m_Pin)
|
||||
{
|
||||
// pin was not connected
|
||||
return S_FALSE;
|
||||
}
|
||||
|
||||
m_Pin->Release();
|
||||
m_Pin = NULL;
|
||||
|
||||
return S_OK;
|
||||
}
|
||||
HRESULT
|
||||
STDMETHODCALLTYPE
|
||||
CPin::ConnectedTo(IPin **pPin)
|
||||
{
|
||||
OutputDebugStringW(L"CPin::ConnectedTo called\n");
|
||||
#ifdef MSDVBNP_TRACE
|
||||
OutputDebugStringW(L"CPin::ConnectedTo\n");
|
||||
#endif
|
||||
|
||||
if (!pPin)
|
||||
return E_POINTER;
|
||||
|
||||
if (m_Pin)
|
||||
{
|
||||
// increment reference count
|
||||
m_Pin->AddRef();
|
||||
*pPin = m_Pin;
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
*pPin = NULL;
|
||||
return VFW_E_NOT_CONNECTED;
|
||||
}
|
||||
HRESULT
|
||||
STDMETHODCALLTYPE
|
||||
CPin::ConnectionMediaType(AM_MEDIA_TYPE *pmt)
|
||||
{
|
||||
OutputDebugStringW(L"CPin::ConnectionMediaType called\n");
|
||||
OutputDebugStringW(L"CPin::ConnectionMediaType NotImplemented\n");
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
HRESULT
|
||||
|
@ -170,7 +251,7 @@ HRESULT
|
|||
STDMETHODCALLTYPE
|
||||
CPin::QueryAccept(const AM_MEDIA_TYPE *pmt)
|
||||
{
|
||||
OutputDebugStringW(L"CPin::QueryAccept called\n");
|
||||
OutputDebugStringW(L"CPin::QueryAccept NotImplemented\n");
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
HRESULT
|
||||
|
@ -200,35 +281,35 @@ HRESULT
|
|||
STDMETHODCALLTYPE
|
||||
CPin::QueryInternalConnections(IPin **apPin, ULONG *nPin)
|
||||
{
|
||||
OutputDebugStringW(L"CPin::QueryInternalConnections called\n");
|
||||
OutputDebugStringW(L"CPin::QueryInternalConnections NotImplemented\n");
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
HRESULT
|
||||
STDMETHODCALLTYPE
|
||||
CPin::EndOfStream( void)
|
||||
{
|
||||
OutputDebugStringW(L"CPin::EndOfStream called\n");
|
||||
OutputDebugStringW(L"CPin::EndOfStream NotImplemented\n");
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
HRESULT
|
||||
STDMETHODCALLTYPE
|
||||
CPin::BeginFlush( void)
|
||||
{
|
||||
OutputDebugStringW(L"CPin::BeginFlush called\n");
|
||||
OutputDebugStringW(L"CPin::BeginFlush NotImplemented\n");
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
HRESULT
|
||||
STDMETHODCALLTYPE
|
||||
CPin::EndFlush( void)
|
||||
{
|
||||
OutputDebugStringW(L"CPin::EndFlush called\n");
|
||||
OutputDebugStringW(L"CPin::EndFlush NotImplemented\n");
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
HRESULT
|
||||
STDMETHODCALLTYPE
|
||||
CPin::NewSegment(REFERENCE_TIME tStart, REFERENCE_TIME tStop, double dRate)
|
||||
{
|
||||
OutputDebugStringW(L"CPin::NewSegment called\n");
|
||||
OutputDebugStringW(L"CPin::NewSegment NotImplemented\n");
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
|
|
|
@ -104,7 +104,6 @@ BOOL
|
|||
FASTCALL
|
||||
DeleteRegion( HRGN hRgn )
|
||||
{
|
||||
//#if 0
|
||||
PRGN_ATTR Rgn_Attr;
|
||||
|
||||
if ((GdiGetHandleUserData((HGDIOBJ) hRgn, GDI_OBJECT_TYPE_REGION, (PVOID) &Rgn_Attr)) &&
|
||||
|
@ -128,7 +127,6 @@ DeleteRegion( HRGN hRgn )
|
|||
}
|
||||
}
|
||||
}
|
||||
//#endif
|
||||
return NtGdiDeleteObjectApp((HGDIOBJ) hRgn);
|
||||
}
|
||||
|
||||
|
@ -581,8 +579,110 @@ INT
|
|||
WINAPI
|
||||
ExtSelectClipRgn( IN HDC hdc, IN HRGN hrgn, IN INT iMode)
|
||||
{
|
||||
/* FIXME some part need be done on user mode size */
|
||||
return NtGdiExtSelectClipRgn(hdc,hrgn, iMode);
|
||||
INT Ret;
|
||||
HRGN NewRgn = NULL;
|
||||
|
||||
#if 0
|
||||
// Handle something other than a normal dc object.
|
||||
if (GDI_HANDLE_GET_TYPE(hdc) != GDI_OBJECT_TYPE_DC)
|
||||
{
|
||||
if (GDI_HANDLE_GET_TYPE(hdc) == GDI_OBJECT_TYPE_METADC)
|
||||
return MFDRV_ExtSelectClipRgn( hdc, );
|
||||
else
|
||||
{
|
||||
PLDC pLDC = GdiGetLDC(hdc);
|
||||
if ( pLDC )
|
||||
{
|
||||
if (pLDC->iType != LDC_EMFLDC || EMFDRV_ExtSelectClipRgn( hdc, ))
|
||||
return NtGdiExtSelectClipRgn(hdc, );
|
||||
}
|
||||
else
|
||||
SetLastError(ERROR_INVALID_HANDLE);
|
||||
return ERROR;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
#if 0
|
||||
if ( hrgn )
|
||||
{
|
||||
if ( GetLayout(hdc) & LAYOUT_RTL )
|
||||
{
|
||||
if ( MirrorRgnDC(hdc, hrgn, &NewRgn) )
|
||||
{
|
||||
if ( NewRgn ) hrgn = NewRgn;
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
/* Batch handles RGN_COPY only! */
|
||||
if (iMode == RGN_COPY)
|
||||
{
|
||||
#if 0
|
||||
PDC_ATTR pDc_Attr;
|
||||
PRGN_ATTR pRgn_Attr = NULL;
|
||||
|
||||
/* hrgn can be NULL unless the RGN_COPY mode is specified. */
|
||||
if (hrgn)
|
||||
GdiGetHandleUserData((HGDIOBJ) hrgn, GDI_OBJECT_TYPE_REGION, (PVOID) &pRgn_Attr);
|
||||
|
||||
if ( GdiGetHandleUserData((HGDIOBJ) hdc, GDI_OBJECT_TYPE_DC, (PVOID) &pDc_Attr) &&
|
||||
pDc_Attr )
|
||||
{
|
||||
PGDI_TABLE_ENTRY pEntry = GdiHandleTable + GDI_HANDLE_GET_INDEX(hdc);
|
||||
PTEB pTeb = NtCurrentTeb();
|
||||
|
||||
if ( pTeb->Win32ThreadInfo != NULL &&
|
||||
pTeb->GdiTebBatch.HDC == hdc &&
|
||||
!(pDc_Attr->ulDirty_ & DC_DIBSECTION) &&
|
||||
!(pEntry->Flags & GDI_ENTRY_VALIDATE_VIS) )
|
||||
{
|
||||
if (!hrgn ||
|
||||
(hrgn && pRgn_Attr && pRgn_Attr->Flags <= SIMPLEREGION) )
|
||||
{
|
||||
if ((pTeb->GdiTebBatch.Offset + sizeof(GDIBSEXTSELCLPRGN)) <= GDIBATCHBUFSIZE)
|
||||
{
|
||||
PGDIBSEXTSELCLPRGN pgO = (PGDIBSEXTSELCLPRGN)(&pTeb->GdiTebBatch.Buffer[0] +
|
||||
pTeb->GdiTebBatch.Offset);
|
||||
pgO->gbHdr.Cmd = GdiBCExtSelClipRgn;
|
||||
pgO->gbHdr.Size = sizeof(GDIBSEXTSELCLPRGN);
|
||||
pgO->fnMode = iMode;
|
||||
|
||||
if ( hrgn && pRgn_Attr )
|
||||
{
|
||||
Ret = pRgn_Attr->Flags;
|
||||
|
||||
if ( pDc_Attr->VisRectRegion.Rect.left >= pRgn_Attr->Rect.right ||
|
||||
pDc_Attr->VisRectRegion.Rect.top >= pRgn_Attr->Rect.bottom ||
|
||||
pDc_Attr->VisRectRegion.Rect.right <= pRgn_Attr->Rect.left ||
|
||||
pDc_Attr->VisRectRegion.Rect.bottom <= pRgn_Attr->Rect.top )
|
||||
Ret = NULLREGION;
|
||||
|
||||
pgO->left = pRgn_Attr->Rect.left;
|
||||
pgO->top = pRgn_Attr->Rect.top;
|
||||
pgO->right = pRgn_Attr->Rect.right;
|
||||
pgO->bottom = pRgn_Attr->Rect.bottom;
|
||||
}
|
||||
else
|
||||
{
|
||||
Ret = pDc_Attr->VisRectRegion.Flags;
|
||||
pgO->fnMode |= 0x80000000; // Set no hrgn mode.
|
||||
}
|
||||
pTeb->GdiTebBatch.Offset += sizeof(GDIBSEXTSELCLPRGN);
|
||||
pTeb->GdiBatchCount++;
|
||||
if (pTeb->GdiBatchCount >= GDI_BatchLimit) NtGdiFlush();
|
||||
if ( NewRgn ) DeleteObject(NewRgn);
|
||||
return Ret;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
}
|
||||
Ret = NtGdiExtSelectClipRgn(hdc, hrgn, iMode);
|
||||
|
||||
if ( NewRgn ) DeleteObject(NewRgn);
|
||||
|
||||
return Ret;
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
|
@ -612,9 +612,11 @@ int WINAPI RestartDialogEx(HWND hWndOwner, LPCWSTR lpwstrReason, DWORD uFlags, D
|
|||
|
||||
int WINAPI LogoffWindowsDialog(HWND hWndOwner)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
ExitWindowsEx(EWX_LOGOFF, 0);
|
||||
return 0;
|
||||
if (ConfirmDialog(hWndOwner, IDS_LOGOFF_PROMPT, IDS_LOGOFF_TITLE))
|
||||
{
|
||||
ExitWindowsEx(EWX_LOGOFF, 0);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*************************************************************************
|
||||
|
|
|
@ -666,6 +666,8 @@ BEGIN
|
|||
IDS_RESTART_PROMPT "Искате ли да презапуснете системата?"
|
||||
IDS_SHUTDOWN_TITLE "Изключване"
|
||||
IDS_SHUTDOWN_PROMPT "Искате ли да изключите компютъра?"
|
||||
IDS_LOGOFF_TITLE "Log Off"
|
||||
IDS_LOGOFF_PROMPT "Do you want to log off?"
|
||||
|
||||
// shell folder path default values
|
||||
IDS_PROGRAMS "Пусков изборник\\Приложения"
|
||||
|
|
|
@ -665,6 +665,8 @@ BEGIN
|
|||
IDS_RESTART_PROMPT "Do you want to restart the system?"
|
||||
IDS_SHUTDOWN_TITLE "Shutdown"
|
||||
IDS_SHUTDOWN_PROMPT "Do you want to shutdown?"
|
||||
IDS_LOGOFF_TITLE "Log Off"
|
||||
IDS_LOGOFF_PROMPT "Do you want to log off?"
|
||||
|
||||
/* shell folder path default values */
|
||||
IDS_PROGRAMS "Start Menu\\Programs"
|
||||
|
|
|
@ -666,6 +666,8 @@ BEGIN
|
|||
IDS_RESTART_PROMPT "Opravdu chcete restartovat systém?"
|
||||
IDS_SHUTDOWN_TITLE "Vypnout"
|
||||
IDS_SHUTDOWN_PROMPT "Opravdu chcete vypnout poèítaè?"
|
||||
IDS_LOGOFF_TITLE "Log Off"
|
||||
IDS_LOGOFF_PROMPT "Do you want to log off?"
|
||||
|
||||
/* shell folder path default values */
|
||||
IDS_PROGRAMS "Nabídka Start\\Programy"
|
||||
|
|
|
@ -654,6 +654,8 @@ BEGIN
|
|||
IDS_RESTART_PROMPT "Ønsker du at Genstarte Systemet?"
|
||||
IDS_SHUTDOWN_TITLE "Luk Ned"
|
||||
IDS_SHUTDOWN_PROMPT "Ønsker du at Lukke Ned?"
|
||||
IDS_LOGOFF_TITLE "Log Off"
|
||||
IDS_LOGOFF_PROMPT "Do you want to log off?"
|
||||
|
||||
/* shell folder path default values */
|
||||
IDS_PROGRAMS "Start Menu\\Programmer"
|
||||
|
|
|
@ -669,6 +669,8 @@ BEGIN
|
|||
IDS_RESTART_PROMPT "Möchten Sie das System neu starten?"
|
||||
IDS_SHUTDOWN_TITLE "Herunterfahren"
|
||||
IDS_SHUTDOWN_PROMPT "Möchten Sie das System herunterfahren?"
|
||||
IDS_LOGOFF_TITLE "Ausloggen"
|
||||
IDS_LOGOFF_PROMPT "Möchten Sie sich ausloggen?"
|
||||
|
||||
/* shell folder path default values */
|
||||
IDS_PROGRAMS "Startmenü\\Programme"
|
||||
|
|
|
@ -666,6 +666,8 @@ BEGIN
|
|||
IDS_RESTART_PROMPT "Åßóôå óßãïõñïé üôé èÝëåôå íá åðáíåêêéíÞóåôå ôïí õðïëïãéóôÞ óáò;"
|
||||
IDS_SHUTDOWN_TITLE "Áðåíåñãïðïßçóç"
|
||||
IDS_SHUTDOWN_PROMPT "Åßóôå óßãïõñïé üôé èÝëåôå íá áðåíåñãïðïéÞóåôå ôïí õðïëïãéóôÞ óáò;"
|
||||
IDS_LOGOFF_TITLE "Log Off"
|
||||
IDS_LOGOFF_PROMPT "Do you want to log off?"
|
||||
|
||||
/* shell folder path default values */
|
||||
IDS_PROGRAMS "Start Menu\\Programs"
|
||||
|
|
|
@ -665,6 +665,8 @@ BEGIN
|
|||
IDS_RESTART_PROMPT "Do you want to restart the system?"
|
||||
IDS_SHUTDOWN_TITLE "Shutdown"
|
||||
IDS_SHUTDOWN_PROMPT "Do you want to shutdown?"
|
||||
IDS_LOGOFF_TITLE "Log Off"
|
||||
IDS_LOGOFF_PROMPT "Do you want to log off?"
|
||||
|
||||
/* shell folder path default values */
|
||||
IDS_PROGRAMS "Start Menu\\Programs"
|
||||
|
|
|
@ -665,6 +665,8 @@ BEGIN
|
|||
IDS_RESTART_PROMPT "Do you want to restart the system?"
|
||||
IDS_SHUTDOWN_TITLE "Shutdown"
|
||||
IDS_SHUTDOWN_PROMPT "Do you want to shutdown?"
|
||||
IDS_LOGOFF_TITLE "Log Off"
|
||||
IDS_LOGOFF_PROMPT "Do you want to log off?"
|
||||
|
||||
/* shell folder path default values */
|
||||
IDS_PROGRAMS "Start Menu\\Programs"
|
||||
|
|
|
@ -668,6 +668,8 @@ BEGIN
|
|||
IDS_RESTART_PROMPT "¿Desea reiniciar el equipo?"
|
||||
IDS_SHUTDOWN_TITLE "Apagar"
|
||||
IDS_SHUTDOWN_PROMPT "¿Desea apagar el equipo?"
|
||||
IDS_LOGOFF_TITLE "Log Off"
|
||||
IDS_LOGOFF_PROMPT "Do you want to log off?"
|
||||
|
||||
/* shell folder path default values */
|
||||
IDS_PROGRAMS "Menú Inicio\\Programas"
|
||||
|
|
|
@ -665,6 +665,8 @@ BEGIN
|
|||
IDS_RESTART_PROMPT "Haluatko simuloida Windows:n uudelleenkäynnistämistä?"
|
||||
IDS_SHUTDOWN_TITLE "Sammuta"
|
||||
IDS_SHUTDOWN_PROMPT "Haluatko lopettaa Wine:n istunnon?"
|
||||
IDS_LOGOFF_TITLE "Log Off"
|
||||
IDS_LOGOFF_PROMPT "Do you want to log off?"
|
||||
|
||||
/* shell folder path default values */
|
||||
IDS_PROGRAMS "Käynnistä\\Ohjelmat"
|
||||
|
|
|
@ -669,6 +669,8 @@ BEGIN
|
|||
IDS_RESTART_PROMPT "Voulez-vous redémarrer votre ordinateur ?"
|
||||
IDS_SHUTDOWN_TITLE "Arrêter"
|
||||
IDS_SHUTDOWN_PROMPT "Voulez-vous fermer la session ReactOS ?"
|
||||
IDS_LOGOFF_TITLE "Log Off"
|
||||
IDS_LOGOFF_PROMPT "Do you want to log off?"
|
||||
|
||||
/* shell folder path default values */
|
||||
IDS_PROGRAMS "Menu Démarrer\\Programmes"
|
||||
|
|
|
@ -668,6 +668,8 @@ BEGIN
|
|||
IDS_RESTART_PROMPT "Újra szeretnéd indítani a rendszert?"
|
||||
IDS_SHUTDOWN_TITLE "Kikapcsolás"
|
||||
IDS_SHUTDOWN_PROMPT "Kiakarod kapcsolni számítógépét?"
|
||||
IDS_LOGOFF_TITLE "Log Off"
|
||||
IDS_LOGOFF_PROMPT "Do you want to log off?"
|
||||
|
||||
/* shell folder path default values */
|
||||
IDS_PROGRAMS "Start Menu\\Programs"
|
||||
|
|
|
@ -666,6 +666,8 @@ BEGIN
|
|||
IDS_RESTART_PROMPT "Volete riavviare il sistema?"
|
||||
IDS_SHUTDOWN_TITLE "Termina sessione"
|
||||
IDS_SHUTDOWN_PROMPT "Volete terminare la sessione di ReactOS?"
|
||||
IDS_LOGOFF_TITLE "Log Off"
|
||||
IDS_LOGOFF_PROMPT "Do you want to log off?"
|
||||
|
||||
/* shell folder path default values */
|
||||
IDS_PROGRAMS "Menu Avvio\\Programmi"
|
||||
|
|
|
@ -665,6 +665,8 @@ BEGIN
|
|||
IDS_RESTART_PROMPT "システムを再起動しますか?"
|
||||
IDS_SHUTDOWN_TITLE "シャットダウン"
|
||||
IDS_SHUTDOWN_PROMPT "シャットダウンしますか?"
|
||||
IDS_LOGOFF_TITLE "Log Off"
|
||||
IDS_LOGOFF_PROMPT "Do you want to log off?"
|
||||
|
||||
/* shell folder path default values */
|
||||
IDS_PROGRAMS "スタート メニュー\\プログラム"
|
||||
|
|
|
@ -665,6 +665,8 @@ BEGIN
|
|||
IDS_RESTART_PROMPT "Do you want to restart the system?"
|
||||
IDS_SHUTDOWN_TITLE "Shutdown"
|
||||
IDS_SHUTDOWN_PROMPT "Do you want to shutdown?"
|
||||
IDS_LOGOFF_TITLE "Log Off"
|
||||
IDS_LOGOFF_PROMPT "Do you want to log off?"
|
||||
|
||||
/* shell folder path default values */
|
||||
IDS_PROGRAMS "Start Menu\\Programs"
|
||||
|
|
|
@ -665,6 +665,8 @@ BEGIN
|
|||
IDS_RESTART_PROMPT "Do you want to restart the system?"
|
||||
IDS_SHUTDOWN_TITLE "Shutdown"
|
||||
IDS_SHUTDOWN_PROMPT "Do you want to shutdown?"
|
||||
IDS_LOGOFF_TITLE "Log Off"
|
||||
IDS_LOGOFF_PROMPT "Do you want to log off?"
|
||||
|
||||
/* shell folder path default values */
|
||||
IDS_PROGRAMS "Start Menu\\Programs"
|
||||
|
|
|
@ -668,6 +668,8 @@ BEGIN
|
|||
IDS_RESTART_PROMPT "Vil du starte datamaskinen på nytt?"
|
||||
IDS_SHUTDOWN_TITLE "Avslutt"
|
||||
IDS_SHUTDOWN_PROMPT "Vil du slå av datamaskinen?"
|
||||
IDS_LOGOFF_TITLE "Log Off"
|
||||
IDS_LOGOFF_PROMPT "Do you want to log off?"
|
||||
|
||||
/* shell folder path default values */
|
||||
IDS_PROGRAMS "Start-meny\\Programmer"
|
||||
|
|
|
@ -672,6 +672,8 @@ BEGIN
|
|||
IDS_RESTART_PROMPT "Czy chcesz zrestartować system?"
|
||||
IDS_SHUTDOWN_TITLE "Wyłšcz"
|
||||
IDS_SHUTDOWN_PROMPT "Czy chcesz wyłšczyć system?"
|
||||
IDS_LOGOFF_TITLE "Log Off"
|
||||
IDS_LOGOFF_PROMPT "Do you want to log off?"
|
||||
|
||||
/* shell folder path default values */
|
||||
IDS_PROGRAMS "Menu Start\\Programy"
|
||||
|
|
|
@ -667,6 +667,8 @@ BEGIN
|
|||
IDS_RESTART_PROMPT "Você quer simular a reinicialização do Windows?"
|
||||
IDS_SHUTDOWN_TITLE "Desligar"
|
||||
IDS_SHUTDOWN_PROMPT "Você quer finalizar a sessão no Wine?"
|
||||
IDS_LOGOFF_TITLE "Log Off"
|
||||
IDS_LOGOFF_PROMPT "Do you want to log off?"
|
||||
|
||||
/* shell folder path default values */
|
||||
IDS_PROGRAMS "Menu Iniciar\\Programas"
|
||||
|
|
|
@ -667,6 +667,8 @@ BEGIN
|
|||
IDS_RESTART_PROMPT "Deseja simular a reinicialização do Windows?"
|
||||
IDS_SHUTDOWN_TITLE "Desligar"
|
||||
IDS_SHUTDOWN_PROMPT "Deseja finalizar esta sessão do Wine?"
|
||||
IDS_LOGOFF_TITLE "Log Off"
|
||||
IDS_LOGOFF_PROMPT "Do you want to log off?"
|
||||
|
||||
/* shell folder path default values */
|
||||
IDS_PROGRAMS "Menu Iniciar\\Programas"
|
||||
|
|
|
@ -668,6 +668,8 @@ BEGIN
|
|||
IDS_RESTART_PROMPT "Vreți să reporniți sistemul?"
|
||||
IDS_SHUTDOWN_TITLE "Închidere"
|
||||
IDS_SHUTDOWN_PROMPT "Vreți să închideți computerul?"
|
||||
IDS_LOGOFF_TITLE "Log Off"
|
||||
IDS_LOGOFF_PROMPT "Do you want to log off?"
|
||||
|
||||
/* shell folder path default values */
|
||||
IDS_PROGRAMS "Meniu Start\\Programe"
|
||||
|
|
|
@ -664,6 +664,8 @@ BEGIN
|
|||
IDS_RESTART_PROMPT "Âû äåéñòâèòåëüíî õîòèòå ïåðåçàãðóçèòü ReactOS?"
|
||||
IDS_SHUTDOWN_TITLE "Âûêëþ÷èòü ïèòàíèå"
|
||||
IDS_SHUTDOWN_PROMPT "Çàêîí÷èòü ðàáîòó ñ ReactOS?"
|
||||
IDS_LOGOFF_TITLE "Log Off"
|
||||
IDS_LOGOFF_PROMPT "Do you want to log off?"
|
||||
|
||||
/* shell folder path default values */
|
||||
IDS_PROGRAMS "Ãëàâíîå ìåíþ\\Ïðîãðàììû"
|
||||
|
|
|
@ -671,6 +671,8 @@ BEGIN
|
|||
IDS_RESTART_PROMPT "Naozaj chcete reštartovať systém?"
|
||||
IDS_SHUTDOWN_TITLE "Vypnúť"
|
||||
IDS_SHUTDOWN_PROMPT "Naozaj chcete vypnúť počítač?"
|
||||
IDS_LOGOFF_TITLE "Log Off"
|
||||
IDS_LOGOFF_PROMPT "Do you want to log off?"
|
||||
|
||||
/* shell folder path default values */
|
||||
IDS_PROGRAMS "Ponuka Štart\\Programy"
|
||||
|
|
|
@ -665,6 +665,8 @@ BEGIN
|
|||
IDS_RESTART_PROMPT "Do you want to restart the system?"
|
||||
IDS_SHUTDOWN_TITLE "Shutdown"
|
||||
IDS_SHUTDOWN_PROMPT "Do you want to shutdown?"
|
||||
IDS_LOGOFF_TITLE "Log Off"
|
||||
IDS_LOGOFF_PROMPT "Do you want to log off?"
|
||||
|
||||
/* shell folder path default values */
|
||||
IDS_PROGRAMS "Start Menu\\Programs"
|
||||
|
|
|
@ -665,6 +665,8 @@ BEGIN
|
|||
IDS_RESTART_PROMPT "Do you want to restart the system?"
|
||||
IDS_SHUTDOWN_TITLE "Shutdown"
|
||||
IDS_SHUTDOWN_PROMPT "Do you want to shutdown?"
|
||||
IDS_LOGOFF_TITLE "Log Off"
|
||||
IDS_LOGOFF_PROMPT "Do you want to log off?"
|
||||
|
||||
/* shell folder path default values */
|
||||
IDS_PROGRAMS "Start Menu\\Programs"
|
||||
|
|
|
@ -665,6 +665,8 @@ BEGIN
|
|||
IDS_RESTART_PROMPT "Do you want to restart the system?"
|
||||
IDS_SHUTDOWN_TITLE "Oturumu Kapat"
|
||||
IDS_SHUTDOWN_PROMPT "Do you want to shutdown?"
|
||||
IDS_LOGOFF_TITLE "Log Off"
|
||||
IDS_LOGOFF_PROMPT "Do you want to log off?"
|
||||
|
||||
/* shell folder path default values */
|
||||
IDS_PROGRAMS "Start Menu\\Programlar"
|
||||
|
|
|
@ -666,6 +666,8 @@ BEGIN
|
|||
IDS_RESTART_PROMPT "Âè õî÷åòå ïåðåçàâàíòàæèòè ñèñòåìó?"
|
||||
IDS_SHUTDOWN_TITLE "Âèìêíóòè"
|
||||
IDS_SHUTDOWN_PROMPT "Âè õî÷åòå âèìêíóòè êîìï'þòåð?"
|
||||
IDS_LOGOFF_TITLE "Log Off"
|
||||
IDS_LOGOFF_PROMPT "Do you want to log off?"
|
||||
|
||||
/* shell folder path default values */
|
||||
IDS_PROGRAMS "Start Menu\\Programs"
|
||||
|
|
|
@ -654,6 +654,8 @@ BEGIN
|
|||
IDS_RESTART_PROMPT "是否重新启动系统?"
|
||||
IDS_SHUTDOWN_TITLE "关机"
|
||||
IDS_SHUTDOWN_PROMPT "是否关闭系统?"
|
||||
IDS_LOGOFF_TITLE "Log Off"
|
||||
IDS_LOGOFF_PROMPT "Do you want to log off?"
|
||||
|
||||
/* shell folder path default values */
|
||||
IDS_PROGRAMS "Start Menu\\Programs"
|
||||
|
|
|
@ -666,6 +666,8 @@ BEGIN
|
|||
IDS_RESTART_PROMPT "Do you want to restart the system?"
|
||||
IDS_SHUTDOWN_TITLE "Shutdown"
|
||||
IDS_SHUTDOWN_PROMPT "Do you want to shutdown?"
|
||||
IDS_LOGOFF_TITLE "Log Off"
|
||||
IDS_LOGOFF_PROMPT "Do you want to log off?"
|
||||
|
||||
/* shell folder path default values */
|
||||
IDS_PROGRAMS "Start Menu\\Programs"
|
||||
|
|
|
@ -90,6 +90,9 @@
|
|||
#define IDS_FONTS 76
|
||||
#define IDS_PRINTERS 77
|
||||
|
||||
#define IDS_LOGOFF_TITLE 78
|
||||
#define IDS_LOGOFF_PROMPT 79
|
||||
|
||||
#define IDS_CREATEFOLDER_DENIED 128
|
||||
#define IDS_CREATEFOLDER_CAPTION 129
|
||||
#define IDS_DELETEITEM_CAPTION 130
|
||||
|
|
|
@ -1,188 +0,0 @@
|
|||
/*
|
||||
* PROJECT: ReactOS Kernel
|
||||
* LICENSE: GPL - See COPYING in the top level directory
|
||||
* FILE: drivers/battery/cmbatt/cmbatt.c
|
||||
* PURPOSE: Control Method Battery Miniclass Driver
|
||||
* PROGRAMMERS: Cameron Gutman (cameron.gutman@reactos.org)
|
||||
*/
|
||||
|
||||
#include <cmbatt.h>
|
||||
|
||||
#define NDEBUG
|
||||
#include <debug.h>
|
||||
|
||||
LIST_ENTRY BatteryList;
|
||||
KSPIN_LOCK BatteryListLock;
|
||||
|
||||
VOID
|
||||
NTAPI
|
||||
CmBattUnload(PDRIVER_OBJECT DriverObject)
|
||||
{
|
||||
DPRINT("Control method battery miniclass driver unloaded\n");
|
||||
}
|
||||
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
CmBattDeviceControl(PDEVICE_OBJECT DeviceObject,
|
||||
PIRP Irp)
|
||||
{
|
||||
PCMBATT_DEVICE_EXTENSION DeviceExtension = DeviceObject->DeviceExtension;
|
||||
NTSTATUS Status;
|
||||
|
||||
Status = BatteryClassIoctl(DeviceExtension->BattClassHandle,
|
||||
Irp);
|
||||
|
||||
if (Status == STATUS_NOT_SUPPORTED)
|
||||
{
|
||||
Irp->IoStatus.Status = Status;
|
||||
Irp->IoStatus.Information = 0;
|
||||
|
||||
IoCompleteRequest(Irp, IO_NO_INCREMENT);
|
||||
}
|
||||
|
||||
return Status;
|
||||
}
|
||||
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
CmBattPnP(PDEVICE_OBJECT DeviceObject,
|
||||
PIRP Irp)
|
||||
{
|
||||
PCMBATT_DEVICE_EXTENSION DeviceExtension = DeviceObject->DeviceExtension;
|
||||
|
||||
UNIMPLEMENTED
|
||||
|
||||
IoSkipCurrentIrpStackLocation(Irp);
|
||||
|
||||
return IoCallDriver(DeviceExtension->Ldo, Irp);
|
||||
}
|
||||
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
CmBattSystemControl(PDEVICE_OBJECT DeviceObject,
|
||||
PIRP Irp)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
|
||||
Irp->IoStatus.Status = STATUS_WMI_GUID_NOT_FOUND;
|
||||
Irp->IoStatus.Information = 0;
|
||||
|
||||
IoCompleteRequest(Irp, IO_NO_INCREMENT);
|
||||
|
||||
return STATUS_WMI_GUID_NOT_FOUND;
|
||||
}
|
||||
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
CmBattPower(PDEVICE_OBJECT DeviceObject,
|
||||
PIRP Irp)
|
||||
{
|
||||
PCMBATT_DEVICE_EXTENSION DeviceExtension = DeviceObject->DeviceExtension;
|
||||
|
||||
UNIMPLEMENTED
|
||||
|
||||
IoSkipCurrentIrpStackLocation(Irp);
|
||||
|
||||
PoStartNextPowerIrp(Irp);
|
||||
|
||||
return PoCallDriver(DeviceExtension->Ldo, Irp);
|
||||
}
|
||||
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
CmBattCreateClose(PDEVICE_OBJECT DeviceObject,
|
||||
PIRP Irp)
|
||||
{
|
||||
Irp->IoStatus.Status = STATUS_SUCCESS;
|
||||
Irp->IoStatus.Information = 0;
|
||||
|
||||
IoCompleteRequest(Irp, IO_NO_INCREMENT);
|
||||
|
||||
return STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
CmBattAddDevice(PDRIVER_OBJECT DriverObject,
|
||||
PDEVICE_OBJECT PhysicalDeviceObject)
|
||||
{
|
||||
NTSTATUS Status;
|
||||
PDEVICE_OBJECT DeviceObject;
|
||||
PCMBATT_DEVICE_EXTENSION DeviceExtension;
|
||||
BATTERY_MINIPORT_INFO BattInfo;
|
||||
|
||||
Status = IoCreateDevice(DriverObject,
|
||||
sizeof(CMBATT_DEVICE_EXTENSION),
|
||||
NULL,
|
||||
FILE_DEVICE_BATTERY,
|
||||
0,
|
||||
FALSE,
|
||||
&DeviceObject);
|
||||
if (!NT_SUCCESS(Status))
|
||||
return Status;
|
||||
|
||||
DeviceExtension = DeviceObject->DeviceExtension;
|
||||
|
||||
DeviceExtension->Pdo = PhysicalDeviceObject;
|
||||
DeviceExtension->Fdo = DeviceObject;
|
||||
DeviceExtension->Ldo = IoAttachDeviceToDeviceStack(DeviceObject,
|
||||
PhysicalDeviceObject);
|
||||
|
||||
DeviceObject->Flags |= DO_BUFFERED_IO | DO_POWER_PAGABLE;
|
||||
|
||||
/* We require an extra stack entry */
|
||||
DeviceObject->StackSize = PhysicalDeviceObject->StackSize + 2;
|
||||
|
||||
BattInfo.MajorVersion = BATTERY_CLASS_MAJOR_VERSION;
|
||||
BattInfo.MinorVersion = BATTERY_CLASS_MINOR_VERSION;
|
||||
BattInfo.Context = DeviceExtension;
|
||||
BattInfo.QueryTag = CmBattQueryTag;
|
||||
BattInfo.QueryInformation = CmBattQueryInformation;
|
||||
BattInfo.SetInformation = CmBattSetInformation;
|
||||
BattInfo.QueryStatus = CmBattQueryStatus;
|
||||
BattInfo.SetStatusNotify = CmBattSetStatusNotify;
|
||||
BattInfo.DisableStatusNotify = CmBattDisableStatusNotify;
|
||||
BattInfo.Pdo = PhysicalDeviceObject;
|
||||
BattInfo.DeviceName = NULL;
|
||||
|
||||
Status = BatteryClassInitializeDevice(&BattInfo,
|
||||
&DeviceExtension->BattClassHandle);
|
||||
if (!NT_SUCCESS(Status))
|
||||
{
|
||||
IoDetachDevice(DeviceExtension->Ldo);
|
||||
IoDeleteDevice(DeviceObject);
|
||||
return Status;
|
||||
}
|
||||
|
||||
ExInterlockedInsertTailList(&BatteryList,
|
||||
&DeviceExtension->ListEntry,
|
||||
&BatteryListLock);
|
||||
|
||||
DeviceObject->Flags &= ~DO_DEVICE_INITIALIZING;
|
||||
|
||||
DPRINT("Successfully registered battery with battc (0x%x)\n", DeviceExtension->BattClassHandle);
|
||||
|
||||
return STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
DriverEntry(PDRIVER_OBJECT DriverObject,
|
||||
PUNICODE_STRING RegistryPath)
|
||||
{
|
||||
DPRINT("Control method battery miniclass driver initialized\n");
|
||||
|
||||
DriverObject->DriverUnload = CmBattUnload;
|
||||
DriverObject->DriverExtension->AddDevice = CmBattAddDevice;
|
||||
DriverObject->MajorFunction[IRP_MJ_POWER] = CmBattPower;
|
||||
DriverObject->MajorFunction[IRP_MJ_PNP] = CmBattPnP;
|
||||
DriverObject->MajorFunction[IRP_MJ_CREATE] = CmBattCreateClose;
|
||||
DriverObject->MajorFunction[IRP_MJ_CLOSE] = CmBattCreateClose;
|
||||
DriverObject->MajorFunction[IRP_MJ_DEVICE_CONTROL] = CmBattDeviceControl;
|
||||
DriverObject->MajorFunction[IRP_MJ_SYSTEM_CONTROL] = CmBattSystemControl;
|
||||
|
||||
KeInitializeSpinLock(&BatteryListLock);
|
||||
InitializeListHead(&BatteryList);
|
||||
|
||||
return STATUS_SUCCESS;
|
||||
}
|
|
@ -1,58 +0,0 @@
|
|||
/*
|
||||
* PROJECT: ReactOS Kernel
|
||||
* LICENSE: GPL - See COPYING in the top level directory
|
||||
* FILE: drivers/battery/cmbatt/cmbatt.h
|
||||
* PURPOSE: Control Method Battery Miniclass Driver
|
||||
* PROGRAMMERS: Cameron Gutman (cameron.gutman@reactos.org)
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <ntddk.h>
|
||||
#include <batclass.h>
|
||||
|
||||
typedef struct _CMBATT_DEVICE_EXTENSION {
|
||||
PDEVICE_OBJECT Pdo;
|
||||
PDEVICE_OBJECT Ldo;
|
||||
PDEVICE_OBJECT Fdo;
|
||||
PVOID BattClassHandle;
|
||||
LIST_ENTRY ListEntry;
|
||||
} CMBATT_DEVICE_EXTENSION, *PCMBATT_DEVICE_EXTENSION;
|
||||
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
CmBattQueryTag(PVOID Context,
|
||||
PULONG BatteryTag);
|
||||
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
CmBattDisableStatusNotify(PVOID Context);
|
||||
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
CmBattSetStatusNotify(PVOID Context,
|
||||
ULONG BatteryTag,
|
||||
PBATTERY_NOTIFY BatteryNotify);
|
||||
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
CmBattQueryInformation(PVOID Context,
|
||||
ULONG BatteryTag,
|
||||
BATTERY_QUERY_INFORMATION_LEVEL Level,
|
||||
OPTIONAL LONG AtRate,
|
||||
PVOID Buffer,
|
||||
ULONG BufferLength,
|
||||
PULONG ReturnedLength);
|
||||
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
CmBattQueryStatus(PVOID Context,
|
||||
ULONG BatteryTag,
|
||||
PBATTERY_STATUS BatteryStatus);
|
||||
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
CmBattSetInformation(PVOID Context,
|
||||
ULONG BatteryTag,
|
||||
BATTERY_SET_INFORMATION_LEVEL Level,
|
||||
OPTIONAL PVOID Buffer);
|
|
@ -1,11 +0,0 @@
|
|||
<?xml version="1.0"?>
|
||||
<!DOCTYPE module SYSTEM "../../../tools/rbuild/project.dtd">
|
||||
<module name="cmbatt" type="kernelmodedriver" installbase="system32/drivers" installname="cmbatt.sys">
|
||||
<library>ntoskrnl</library>
|
||||
<library>hal</library>
|
||||
<library>battc</library>
|
||||
<include base="cmbatt">.</include>
|
||||
<file>cmbatt.c</file>
|
||||
<file>miniclass.c</file>
|
||||
<file>cmbatt.rc</file>
|
||||
</module>
|
|
@ -1,5 +0,0 @@
|
|||
#define REACTOS_VERSION_DLL
|
||||
#define REACTOS_STR_FILE_DESCRIPTION "Control Method Battery Miniclass Driver\0"
|
||||
#define REACTOS_STR_INTERNAL_NAME "cmbatt\0"
|
||||
#define REACTOS_STR_ORIGINAL_FILENAME "cmbatt.sys\0"
|
||||
#include <reactos/version.rc>
|
|
@ -1,82 +0,0 @@
|
|||
/*
|
||||
* PROJECT: ReactOS Kernel
|
||||
* LICENSE: GPL - See COPYING in the top level directory
|
||||
* FILE: drivers/battery/cmbatt/miniclass.c
|
||||
* PURPOSE: Control Method Battery Miniclass Driver
|
||||
* PROGRAMMERS: Cameron Gutman (cameron.gutman@reactos.org)
|
||||
*/
|
||||
|
||||
#include <cmbatt.h>
|
||||
|
||||
#define NDEBUG
|
||||
#include <debug.h>
|
||||
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
CmBattQueryTag(PVOID Context,
|
||||
PULONG BatteryTag)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
|
||||
*BatteryTag = 0;
|
||||
|
||||
return STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
CmBattDisableStatusNotify(PVOID Context)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
|
||||
return STATUS_NOT_SUPPORTED;
|
||||
}
|
||||
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
CmBattSetStatusNotify(PVOID Context,
|
||||
ULONG BatteryTag,
|
||||
PBATTERY_NOTIFY BatteryNotify)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
|
||||
return STATUS_NOT_SUPPORTED;
|
||||
}
|
||||
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
CmBattQueryInformation(PVOID Context,
|
||||
ULONG BatteryTag,
|
||||
BATTERY_QUERY_INFORMATION_LEVEL Level,
|
||||
OPTIONAL LONG AtRate,
|
||||
PVOID Buffer,
|
||||
ULONG BufferLength,
|
||||
PULONG ReturnedLength)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
|
||||
return STATUS_NOT_SUPPORTED;
|
||||
}
|
||||
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
CmBattQueryStatus(PVOID Context,
|
||||
ULONG BatteryTag,
|
||||
PBATTERY_STATUS BatteryStatus)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
|
||||
return STATUS_NOT_SUPPORTED;
|
||||
}
|
||||
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
CmBattSetInformation(PVOID Context,
|
||||
ULONG BatteryTag,
|
||||
BATTERY_SET_INFORMATION_LEVEL Level,
|
||||
OPTIONAL PVOID Buffer)
|
||||
{
|
||||
UNIMPLEMENTED
|
||||
|
||||
return STATUS_NOT_SUPPORTED;
|
||||
}
|
|
@ -4,7 +4,4 @@
|
|||
<directory name="battc">
|
||||
<xi:include href="battc/battc.rbuild" />
|
||||
</directory>
|
||||
<directory name="cmbatt">
|
||||
<xi:include href="cmbatt/cmbatt.rbuild" />
|
||||
</directory>
|
||||
</group>
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<?xml version="1.0"?>
|
||||
<!DOCTYPE module SYSTEM "../../../tools/rbuild/project.dtd">
|
||||
<module name="cmbattx" type="kernelmodedriver" installbase="system32/drivers" installname="cmbattx.sys">
|
||||
<module name="cmbatt" type="kernelmodedriver" installbase="system32/drivers" installname="cmbatt.sys">
|
||||
<library>ntoskrnl</library>
|
||||
<library>hal</library>
|
||||
<library>battc</library>
|
||||
|
|
|
@ -10,4 +10,7 @@
|
|||
<directory name="pci">
|
||||
<xi:include href="pci/pci.rbuild" />
|
||||
</directory>
|
||||
<directory name="pcix">
|
||||
<xi:include href="pcix/pcix.rbuild" />
|
||||
</directory>
|
||||
</group>
|
||||
|
|
|
@ -775,7 +775,7 @@ PdoQueryResources(
|
|||
Descriptor->ShareDisposition = CmResourceShareShared;
|
||||
Descriptor->Flags = CM_RESOURCE_INTERRUPT_LEVEL_SENSITIVE;
|
||||
Descriptor->u.Interrupt.Level = PciConfig.u.type0.InterruptLine;
|
||||
Descriptor->u.Interrupt.Vector = 0;
|
||||
Descriptor->u.Interrupt.Vector = PciConfig.u.type0.InterruptLine;
|
||||
Descriptor->u.Interrupt.Affinity = 0xFFFFFFFF;
|
||||
}
|
||||
}
|
||||
|
@ -1186,6 +1186,49 @@ PdoQueryInterface(
|
|||
return Status;
|
||||
}
|
||||
|
||||
static NTSTATUS
|
||||
PdoStartDevice(
|
||||
IN PDEVICE_OBJECT DeviceObject,
|
||||
IN PIRP Irp,
|
||||
PIO_STACK_LOCATION IrpSp)
|
||||
{
|
||||
PCM_RESOURCE_LIST RawResList = IrpSp->Parameters.StartDevice.AllocatedResources;
|
||||
PCM_FULL_RESOURCE_DESCRIPTOR RawFullDesc;
|
||||
PCM_PARTIAL_RESOURCE_DESCRIPTOR RawPartialDesc;
|
||||
ULONG i, ii;
|
||||
PPDO_DEVICE_EXTENSION DeviceExtension = DeviceObject->DeviceExtension;
|
||||
UCHAR Irq;
|
||||
|
||||
/* TODO: Assign the other resources we get to the card */
|
||||
|
||||
for (i = 0; i < RawResList->Count; i++)
|
||||
{
|
||||
RawFullDesc = &RawResList->List[i];
|
||||
|
||||
for (ii = 0; ii < RawFullDesc->PartialResourceList.Count; ii++)
|
||||
{
|
||||
RawPartialDesc = &RawFullDesc->PartialResourceList.PartialDescriptors[ii];
|
||||
|
||||
if (RawPartialDesc->Type == CmResourceTypeInterrupt)
|
||||
{
|
||||
DPRINT1("Assigning IRQ %x to PCI device (%x, %x)\n",
|
||||
RawPartialDesc->u.Interrupt.Vector,
|
||||
DeviceExtension->PciDevice->SlotNumber.u.AsULONG,
|
||||
DeviceExtension->PciDevice->BusNumber);
|
||||
|
||||
Irq = (UCHAR)RawPartialDesc->u.Interrupt.Vector;
|
||||
HalSetBusDataByOffset(PCIConfiguration,
|
||||
DeviceExtension->PciDevice->BusNumber,
|
||||
DeviceExtension->PciDevice->SlotNumber.u.AsULONG,
|
||||
&Irq,
|
||||
0x3c /* PCI_INTERRUPT_LINE */,
|
||||
sizeof(UCHAR));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
static NTSTATUS
|
||||
PdoReadConfig(
|
||||
|
@ -1247,6 +1290,33 @@ PdoWriteConfig(
|
|||
return STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
static NTSTATUS
|
||||
PdoQueryDeviceRelations(
|
||||
IN PDEVICE_OBJECT DeviceObject,
|
||||
IN PIRP Irp,
|
||||
PIO_STACK_LOCATION IrpSp)
|
||||
{
|
||||
PDEVICE_RELATIONS DeviceRelations;
|
||||
|
||||
/* We only support TargetDeviceRelation for child PDOs */
|
||||
if (IrpSp->Parameters.QueryDeviceRelations.Type != TargetDeviceRelation)
|
||||
return Irp->IoStatus.Status;
|
||||
|
||||
/* We can do this because we only return 1 PDO for TargetDeviceRelation */
|
||||
DeviceRelations = ExAllocatePool(PagedPool, sizeof(*DeviceRelations));
|
||||
if (!DeviceRelations)
|
||||
return STATUS_INSUFFICIENT_RESOURCES;
|
||||
|
||||
DeviceRelations->Count = 1;
|
||||
DeviceRelations->Objects[0] = DeviceObject;
|
||||
|
||||
/* The PnP manager will remove this when it is done with the PDO */
|
||||
ObReferenceObject(DeviceObject);
|
||||
|
||||
Irp->IoStatus.Information = (ULONG_PTR)DeviceRelations;
|
||||
|
||||
return STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
static NTSTATUS
|
||||
PdoSetPower(
|
||||
|
@ -1319,8 +1389,7 @@ PdoPnpControl(
|
|||
break;
|
||||
|
||||
case IRP_MN_QUERY_DEVICE_RELATIONS:
|
||||
/* FIXME: Possibly handle for RemovalRelations */
|
||||
DPRINT("Unimplemented IRP_MN_QUERY_DEVICE_RELATIONS received\n");
|
||||
Status = PdoQueryDeviceRelations(DeviceObject, Irp, IrpSp);
|
||||
break;
|
||||
|
||||
case IRP_MN_QUERY_DEVICE_TEXT:
|
||||
|
@ -1352,6 +1421,9 @@ PdoPnpControl(
|
|||
break;
|
||||
|
||||
case IRP_MN_START_DEVICE:
|
||||
Status = PdoStartDevice(DeviceObject, Irp, IrpSp);
|
||||
break;
|
||||
|
||||
case IRP_MN_QUERY_STOP_DEVICE:
|
||||
case IRP_MN_CANCEL_STOP_DEVICE:
|
||||
case IRP_MN_STOP_DEVICE:
|
||||
|
|
19
drivers/bus/pcix/arb/ar_busno.c
Normal file
19
drivers/bus/pcix/arb/ar_busno.c
Normal file
|
@ -0,0 +1,19 @@
|
|||
/*
|
||||
* PROJECT: ReactOS PCI Bus Driver
|
||||
* LICENSE: BSD - See COPYING.ARM in the top level directory
|
||||
* FILE: drivers/bus/pci/arb/ar_busno.c
|
||||
* PURPOSE: Bus Number Arbitration
|
||||
* PROGRAMMERS: ReactOS Portable Systems Group
|
||||
*/
|
||||
|
||||
/* INCLUDES *******************************************************************/
|
||||
|
||||
#include <pci.h>
|
||||
#define NDEBUG
|
||||
#include <debug.h>
|
||||
|
||||
/* GLOBALS ********************************************************************/
|
||||
|
||||
/* FUNCTIONS ******************************************************************/
|
||||
|
||||
/* EOF */
|
19
drivers/bus/pcix/arb/ar_memio.c
Normal file
19
drivers/bus/pcix/arb/ar_memio.c
Normal file
|
@ -0,0 +1,19 @@
|
|||
/*
|
||||
* PROJECT: ReactOS PCI Bus Driver
|
||||
* LICENSE: BSD - See COPYING.ARM in the top level directory
|
||||
* FILE: drivers/bus/pci/arb/ar_memiono.c
|
||||
* PURPOSE: Memory and I/O Port Resource Arbitration
|
||||
* PROGRAMMERS: ReactOS Portable Systems Group
|
||||
*/
|
||||
|
||||
/* INCLUDES *******************************************************************/
|
||||
|
||||
#include <pci.h>
|
||||
#define NDEBUG
|
||||
#include <debug.h>
|
||||
|
||||
/* GLOBALS ********************************************************************/
|
||||
|
||||
/* FUNCTIONS ******************************************************************/
|
||||
|
||||
/* EOF */
|
19
drivers/bus/pcix/arb/arb_comn.c
Normal file
19
drivers/bus/pcix/arb/arb_comn.c
Normal file
|
@ -0,0 +1,19 @@
|
|||
/*
|
||||
* PROJECT: ReactOS PCI Bus Driver
|
||||
* LICENSE: BSD - See COPYING.ARM in the top level directory
|
||||
* FILE: drivers/bus/pci/arb/arb_comn.c
|
||||
* PURPOSE: Common Arbitration Code
|
||||
* PROGRAMMERS: ReactOS Portable Systems Group
|
||||
*/
|
||||
|
||||
/* INCLUDES *******************************************************************/
|
||||
|
||||
#include <pci.h>
|
||||
#define NDEBUG
|
||||
#include <debug.h>
|
||||
|
||||
/* GLOBALS ********************************************************************/
|
||||
|
||||
/* FUNCTIONS ******************************************************************/
|
||||
|
||||
/* EOF */
|
19
drivers/bus/pcix/arb/tr_irq.c
Normal file
19
drivers/bus/pcix/arb/tr_irq.c
Normal file
|
@ -0,0 +1,19 @@
|
|||
/*
|
||||
* PROJECT: ReactOS PCI Bus Driver
|
||||
* LICENSE: BSD - See COPYING.ARM in the top level directory
|
||||
* FILE: drivers/bus/pci/arb/tr_irq.c
|
||||
* PURPOSE: IRQ Resource Translation
|
||||
* PROGRAMMERS: ReactOS Portable Systems Group
|
||||
*/
|
||||
|
||||
/* INCLUDES *******************************************************************/
|
||||
|
||||
#include <pci.h>
|
||||
#define NDEBUG
|
||||
#include <debug.h>
|
||||
|
||||
/* GLOBALS ********************************************************************/
|
||||
|
||||
/* FUNCTIONS ******************************************************************/
|
||||
|
||||
/* EOF */
|
19
drivers/bus/pcix/debug.c
Normal file
19
drivers/bus/pcix/debug.c
Normal file
|
@ -0,0 +1,19 @@
|
|||
/*
|
||||
* PROJECT: ReactOS PCI Bus Driver
|
||||
* LICENSE: BSD - See COPYING.ARM in the top level directory
|
||||
* FILE: drivers/bus/pci/debug.c
|
||||
* PURPOSE: Debug Helpers
|
||||
* PROGRAMMERS: ReactOS Portable Systems Group
|
||||
*/
|
||||
|
||||
/* INCLUDES *******************************************************************/
|
||||
|
||||
#include <pci.h>
|
||||
#define NDEBUG
|
||||
#include <debug.h>
|
||||
|
||||
/* GLOBALS ********************************************************************/
|
||||
|
||||
/* FUNCTIONS ******************************************************************/
|
||||
|
||||
/* EOF */
|
19
drivers/bus/pcix/device.c
Normal file
19
drivers/bus/pcix/device.c
Normal file
|
@ -0,0 +1,19 @@
|
|||
/*
|
||||
* PROJECT: ReactOS PCI Bus Driver
|
||||
* LICENSE: BSD - See COPYING.ARM in the top level directory
|
||||
* FILE: drivers/bus/pci/device.c
|
||||
* PURPOSE: Device Management
|
||||
* PROGRAMMERS: ReactOS Portable Systems Group
|
||||
*/
|
||||
|
||||
/* INCLUDES *******************************************************************/
|
||||
|
||||
#include <pci.h>
|
||||
#define NDEBUG
|
||||
#include <debug.h>
|
||||
|
||||
/* GLOBALS ********************************************************************/
|
||||
|
||||
/* FUNCTIONS ******************************************************************/
|
||||
|
||||
/* EOF */
|
19
drivers/bus/pcix/dispatch.c
Normal file
19
drivers/bus/pcix/dispatch.c
Normal file
|
@ -0,0 +1,19 @@
|
|||
/*
|
||||
* PROJECT: ReactOS PCI Bus Driver
|
||||
* LICENSE: BSD - See COPYING.ARM in the top level directory
|
||||
* FILE: drivers/bus/pci/dispatch.c
|
||||
* PURPOSE: WDM Dispatch Routines
|
||||
* PROGRAMMERS: ReactOS Portable Systems Group
|
||||
*/
|
||||
|
||||
/* INCLUDES *******************************************************************/
|
||||
|
||||
#include <pci.h>
|
||||
#define NDEBUG
|
||||
#include <debug.h>
|
||||
|
||||
/* GLOBALS ********************************************************************/
|
||||
|
||||
/* FUNCTIONS ******************************************************************/
|
||||
|
||||
/* EOF */
|
19
drivers/bus/pcix/enum.c
Normal file
19
drivers/bus/pcix/enum.c
Normal file
|
@ -0,0 +1,19 @@
|
|||
/*
|
||||
* PROJECT: ReactOS PCI Bus Driver
|
||||
* LICENSE: BSD - See COPYING.ARM in the top level directory
|
||||
* FILE: drivers/bus/pci/enum.c
|
||||
* PURPOSE: PCI Bus/Device Enumeration
|
||||
* PROGRAMMERS: ReactOS Portable Systems Group
|
||||
*/
|
||||
|
||||
/* INCLUDES *******************************************************************/
|
||||
|
||||
#include <pci.h>
|
||||
#define NDEBUG
|
||||
#include <debug.h>
|
||||
|
||||
/* GLOBALS ********************************************************************/
|
||||
|
||||
/* FUNCTIONS ******************************************************************/
|
||||
|
||||
/* EOF */
|
19
drivers/bus/pcix/fdo.c
Normal file
19
drivers/bus/pcix/fdo.c
Normal file
|
@ -0,0 +1,19 @@
|
|||
/*
|
||||
* PROJECT: ReactOS PCI Bus Driver
|
||||
* LICENSE: BSD - See COPYING.ARM in the top level directory
|
||||
* FILE: drivers/bus/pci/fdo.c
|
||||
* PURPOSE: FDO Device Management
|
||||
* PROGRAMMERS: ReactOS Portable Systems Group
|
||||
*/
|
||||
|
||||
/* INCLUDES *******************************************************************/
|
||||
|
||||
#include <pci.h>
|
||||
#define NDEBUG
|
||||
#include <debug.h>
|
||||
|
||||
/* GLOBALS ********************************************************************/
|
||||
|
||||
/* FUNCTIONS ******************************************************************/
|
||||
|
||||
/* EOF */
|
19
drivers/bus/pcix/guid.c
Normal file
19
drivers/bus/pcix/guid.c
Normal file
|
@ -0,0 +1,19 @@
|
|||
/*
|
||||
* PROJECT: ReactOS PCI Bus Driver
|
||||
* LICENSE: BSD - See COPYING.ARM in the top level directory
|
||||
* FILE: drivers/bus/pci/guid.c
|
||||
* PURPOSE: GUID Data
|
||||
* PROGRAMMERS: ReactOS Portable Systems Group
|
||||
*/
|
||||
|
||||
/* INCLUDES *******************************************************************/
|
||||
|
||||
#include <pci.h>
|
||||
#define NDEBUG
|
||||
#include <debug.h>
|
||||
|
||||
/* GLOBALS ********************************************************************/
|
||||
|
||||
/* FUNCTIONS ******************************************************************/
|
||||
|
||||
/* EOF */
|
19
drivers/bus/pcix/hookhal.c
Normal file
19
drivers/bus/pcix/hookhal.c
Normal file
|
@ -0,0 +1,19 @@
|
|||
/*
|
||||
* PROJECT: ReactOS PCI Bus Driver
|
||||
* LICENSE: BSD - See COPYING.ARM in the top level directory
|
||||
* FILE: drivers/bus/pci/hookhal.c
|
||||
* PURPOSE: HAL Bus Handler Dispatch Routine Support
|
||||
* PROGRAMMERS: ReactOS Portable Systems Group
|
||||
*/
|
||||
|
||||
/* INCLUDES *******************************************************************/
|
||||
|
||||
#include <pci.h>
|
||||
#define NDEBUG
|
||||
#include <debug.h>
|
||||
|
||||
/* GLOBALS ********************************************************************/
|
||||
|
||||
/* FUNCTIONS ******************************************************************/
|
||||
|
||||
/* EOF */
|
30
drivers/bus/pcix/init.c
Normal file
30
drivers/bus/pcix/init.c
Normal file
|
@ -0,0 +1,30 @@
|
|||
/*
|
||||
* PROJECT: ReactOS PCI Bus Driver
|
||||
* LICENSE: BSD - See COPYING.ARM in the top level directory
|
||||
* FILE: drivers/bus/pci/init.c
|
||||
* PURPOSE: Driver Initialization
|
||||
* PROGRAMMERS: ReactOS Portable Systems Group
|
||||
*/
|
||||
|
||||
/* INCLUDES *******************************************************************/
|
||||
|
||||
#include <pci.h>
|
||||
#define NDEBUG
|
||||
#include <debug.h>
|
||||
|
||||
/* GLOBALS ********************************************************************/
|
||||
|
||||
/* FUNCTIONS ******************************************************************/
|
||||
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
DriverEntry(IN PDRIVER_OBJECT DriverObject,
|
||||
IN PUNICODE_STRING RegistryPath)
|
||||
{
|
||||
DPRINT1("PCI: DriverEntry!\n");
|
||||
|
||||
/* FIXME: TODO */
|
||||
return STATUS_NOT_SUPPORTED;
|
||||
}
|
||||
|
||||
/* EOF */
|
19
drivers/bus/pcix/intrface/agpintrf.c
Normal file
19
drivers/bus/pcix/intrface/agpintrf.c
Normal file
|
@ -0,0 +1,19 @@
|
|||
/*
|
||||
* PROJECT: ReactOS PCI Bus Driver
|
||||
* LICENSE: BSD - See COPYING.ARM in the top level directory
|
||||
* FILE: drivers/bus/pci/intrface/agpintrf.c
|
||||
* PURPOSE: AGP Interface
|
||||
* PROGRAMMERS: ReactOS Portable Systems Group
|
||||
*/
|
||||
|
||||
/* INCLUDES *******************************************************************/
|
||||
|
||||
#include <pci.h>
|
||||
#define NDEBUG
|
||||
#include <debug.h>
|
||||
|
||||
/* GLOBALS ********************************************************************/
|
||||
|
||||
/* FUNCTIONS ******************************************************************/
|
||||
|
||||
/* EOF */
|
19
drivers/bus/pcix/intrface/busintrf.c
Normal file
19
drivers/bus/pcix/intrface/busintrf.c
Normal file
|
@ -0,0 +1,19 @@
|
|||
/*
|
||||
* PROJECT: ReactOS PCI Bus Driver
|
||||
* LICENSE: BSD - See COPYING.ARM in the top level directory
|
||||
* FILE: drivers/bus/pci/intrface/busintrf.c
|
||||
* PURPOSE: Bus Interface
|
||||
* PROGRAMMERS: ReactOS Portable Systems Group
|
||||
*/
|
||||
|
||||
/* INCLUDES *******************************************************************/
|
||||
|
||||
#include <pci.h>
|
||||
#define NDEBUG
|
||||
#include <debug.h>
|
||||
|
||||
/* GLOBALS ********************************************************************/
|
||||
|
||||
/* FUNCTIONS ******************************************************************/
|
||||
|
||||
/* EOF */
|
19
drivers/bus/pcix/intrface/cardbus.c
Normal file
19
drivers/bus/pcix/intrface/cardbus.c
Normal file
|
@ -0,0 +1,19 @@
|
|||
/*
|
||||
* PROJECT: ReactOS PCI Bus Driver
|
||||
* LICENSE: BSD - See COPYING.ARM in the top level directory
|
||||
* FILE: drivers/bus/pci/intrface/cardbus.c
|
||||
* PURPOSE: CardBus Interface
|
||||
* PROGRAMMERS: ReactOS Portable Systems Group
|
||||
*/
|
||||
|
||||
/* INCLUDES *******************************************************************/
|
||||
|
||||
#include <pci.h>
|
||||
#define NDEBUG
|
||||
#include <debug.h>
|
||||
|
||||
/* GLOBALS ********************************************************************/
|
||||
|
||||
/* FUNCTIONS ******************************************************************/
|
||||
|
||||
/* EOF */
|
19
drivers/bus/pcix/intrface/ideintrf.c
Normal file
19
drivers/bus/pcix/intrface/ideintrf.c
Normal file
|
@ -0,0 +1,19 @@
|
|||
/*
|
||||
* PROJECT: ReactOS PCI Bus Driver
|
||||
* LICENSE: BSD - See COPYING.ARM in the top level directory
|
||||
* FILE: drivers/bus/pci/intrface/ideintrf.c
|
||||
* PURPOSE: IDE Interface
|
||||
* PROGRAMMERS: ReactOS Portable Systems Group
|
||||
*/
|
||||
|
||||
/* INCLUDES *******************************************************************/
|
||||
|
||||
#include <pci.h>
|
||||
#define NDEBUG
|
||||
#include <debug.h>
|
||||
|
||||
/* GLOBALS ********************************************************************/
|
||||
|
||||
/* FUNCTIONS ******************************************************************/
|
||||
|
||||
/* EOF */
|
19
drivers/bus/pcix/intrface/intrface.c
Normal file
19
drivers/bus/pcix/intrface/intrface.c
Normal file
|
@ -0,0 +1,19 @@
|
|||
/*
|
||||
* PROJECT: ReactOS PCI Bus Driver
|
||||
* LICENSE: BSD - See COPYING.ARM in the top level directory
|
||||
* FILE: drivers/bus/pci/intrface/intrface.c
|
||||
* PURPOSE: Common Interface Support Routines
|
||||
* PROGRAMMERS: ReactOS Portable Systems Group
|
||||
*/
|
||||
|
||||
/* INCLUDES *******************************************************************/
|
||||
|
||||
#include <pci.h>
|
||||
#define NDEBUG
|
||||
#include <debug.h>
|
||||
|
||||
/* GLOBALS ********************************************************************/
|
||||
|
||||
/* FUNCTIONS ******************************************************************/
|
||||
|
||||
/* EOF */
|
19
drivers/bus/pcix/intrface/lddintrf.c
Normal file
19
drivers/bus/pcix/intrface/lddintrf.c
Normal file
|
@ -0,0 +1,19 @@
|
|||
/*
|
||||
* PROJECT: ReactOS PCI Bus Driver
|
||||
* LICENSE: BSD - See COPYING.ARM in the top level directory
|
||||
* FILE: drivers/bus/pci/intrface/lddintrf.c
|
||||
* PURPOSE: Legacy Device Detection Interface
|
||||
* PROGRAMMERS: ReactOS Portable Systems Group
|
||||
*/
|
||||
|
||||
/* INCLUDES *******************************************************************/
|
||||
|
||||
#include <pci.h>
|
||||
#define NDEBUG
|
||||
#include <debug.h>
|
||||
|
||||
/* GLOBALS ********************************************************************/
|
||||
|
||||
/* FUNCTIONS ******************************************************************/
|
||||
|
||||
/* EOF */
|
19
drivers/bus/pcix/intrface/locintrf.c
Normal file
19
drivers/bus/pcix/intrface/locintrf.c
Normal file
|
@ -0,0 +1,19 @@
|
|||
/*
|
||||
* PROJECT: ReactOS PCI Bus Driver
|
||||
* LICENSE: BSD - See COPYING.ARM in the top level directory
|
||||
* FILE: drivers/bus/pci/intrface/locintrf.c
|
||||
* PURPOSE: Location Interface
|
||||
* PROGRAMMERS: ReactOS Portable Systems Group
|
||||
*/
|
||||
|
||||
/* INCLUDES *******************************************************************/
|
||||
|
||||
#include <pci.h>
|
||||
#define NDEBUG
|
||||
#include <debug.h>
|
||||
|
||||
/* GLOBALS ********************************************************************/
|
||||
|
||||
/* FUNCTIONS ******************************************************************/
|
||||
|
||||
/* EOF */
|
19
drivers/bus/pcix/intrface/pmeintf.c
Normal file
19
drivers/bus/pcix/intrface/pmeintf.c
Normal file
|
@ -0,0 +1,19 @@
|
|||
/*
|
||||
* PROJECT: ReactOS PCI Bus Driver
|
||||
* LICENSE: BSD - See COPYING.ARM in the top level directory
|
||||
* FILE: drivers/bus/pci/intrface/pmeintf.c
|
||||
* PURPOSE: Power Management Event# Signal Interface
|
||||
* PROGRAMMERS: ReactOS Portable Systems Group
|
||||
*/
|
||||
|
||||
/* INCLUDES *******************************************************************/
|
||||
|
||||
#include <pci.h>
|
||||
#define NDEBUG
|
||||
#include <debug.h>
|
||||
|
||||
/* GLOBALS ********************************************************************/
|
||||
|
||||
/* FUNCTIONS ******************************************************************/
|
||||
|
||||
/* EOF */
|
19
drivers/bus/pcix/intrface/routintf.c
Normal file
19
drivers/bus/pcix/intrface/routintf.c
Normal file
|
@ -0,0 +1,19 @@
|
|||
/*
|
||||
* PROJECT: ReactOS PCI Bus Driver
|
||||
* LICENSE: BSD - See COPYING.ARM in the top level directory
|
||||
* FILE: drivers/bus/pci/intrface/routinf.c
|
||||
* PURPOSE: Routing Interface
|
||||
* PROGRAMMERS: ReactOS Portable Systems Group
|
||||
*/
|
||||
|
||||
/* INCLUDES *******************************************************************/
|
||||
|
||||
#include <pci.h>
|
||||
#define NDEBUG
|
||||
#include <debug.h>
|
||||
|
||||
/* GLOBALS ********************************************************************/
|
||||
|
||||
/* FUNCTIONS ******************************************************************/
|
||||
|
||||
/* EOF */
|
11
drivers/bus/pcix/pci.h
Normal file
11
drivers/bus/pcix/pci.h
Normal file
|
@ -0,0 +1,11 @@
|
|||
/*
|
||||
* PROJECT: ReactOS PCI Bus Driver
|
||||
* LICENSE: BSD - See COPYING.ARM in the top level directory
|
||||
* FILE: drivers/bus/pci/pci.h
|
||||
* PURPOSE: Main Header File
|
||||
* PROGRAMMERS: ReactOS Portable Systems Group
|
||||
*/
|
||||
|
||||
#include <ntddk.h>
|
||||
|
||||
/* EOF */
|
5
drivers/bus/pcix/pci.rc
Normal file
5
drivers/bus/pcix/pci.rc
Normal file
|
@ -0,0 +1,5 @@
|
|||
#define REACTOS_VERSION_DLL
|
||||
#define REACTOS_STR_FILE_DESCRIPTION "PCI Bus Driver\0"
|
||||
#define REACTOS_STR_INTERNAL_NAME "pci\0"
|
||||
#define REACTOS_STR_ORIGINAL_FILENAME "pci.sys\0"
|
||||
#include <reactos/version.rc>
|
19
drivers/bus/pcix/pci/busno.c
Normal file
19
drivers/bus/pcix/pci/busno.c
Normal file
|
@ -0,0 +1,19 @@
|
|||
/*
|
||||
* PROJECT: ReactOS PCI Bus Driver
|
||||
* LICENSE: BSD - See COPYING.ARM in the top level directory
|
||||
* FILE: drivers/bus/pci/pci/busno.c
|
||||
* PURPOSE: Bus Number Management
|
||||
* PROGRAMMERS: ReactOS Portable Systems Group
|
||||
*/
|
||||
|
||||
/* INCLUDES *******************************************************************/
|
||||
|
||||
#include <pci.h>
|
||||
#define NDEBUG
|
||||
#include <debug.h>
|
||||
|
||||
/* GLOBALS ********************************************************************/
|
||||
|
||||
/* FUNCTIONS ******************************************************************/
|
||||
|
||||
/* EOF */
|
19
drivers/bus/pcix/pci/config.c
Normal file
19
drivers/bus/pcix/pci/config.c
Normal file
|
@ -0,0 +1,19 @@
|
|||
/*
|
||||
* PROJECT: ReactOS PCI Bus Driver
|
||||
* LICENSE: BSD - See COPYING.ARM in the top level directory
|
||||
* FILE: drivers/bus/pci/pci/config.c
|
||||
* PURPOSE: PCI Configuration Space Routines
|
||||
* PROGRAMMERS: ReactOS Portable Systems Group
|
||||
*/
|
||||
|
||||
/* INCLUDES *******************************************************************/
|
||||
|
||||
#include <pci.h>
|
||||
#define NDEBUG
|
||||
#include <debug.h>
|
||||
|
||||
/* GLOBALS ********************************************************************/
|
||||
|
||||
/* FUNCTIONS ******************************************************************/
|
||||
|
||||
/* EOF */
|
19
drivers/bus/pcix/pci/devhere.c
Normal file
19
drivers/bus/pcix/pci/devhere.c
Normal file
|
@ -0,0 +1,19 @@
|
|||
/*
|
||||
* PROJECT: ReactOS PCI Bus Driver
|
||||
* LICENSE: BSD - See COPYING.ARM in the top level directory
|
||||
* FILE: drivers/bus/pci/pci/devhere.c
|
||||
* PURPOSE: PCI Device Detection and Location
|
||||
* PROGRAMMERS: ReactOS Portable Systems Group
|
||||
*/
|
||||
|
||||
/* INCLUDES *******************************************************************/
|
||||
|
||||
#include <pci.h>
|
||||
#define NDEBUG
|
||||
#include <debug.h>
|
||||
|
||||
/* GLOBALS ********************************************************************/
|
||||
|
||||
/* FUNCTIONS ******************************************************************/
|
||||
|
||||
/* EOF */
|
19
drivers/bus/pcix/pci/id.c
Normal file
19
drivers/bus/pcix/pci/id.c
Normal file
|
@ -0,0 +1,19 @@
|
|||
/*
|
||||
* PROJECT: ReactOS PCI Bus Driver
|
||||
* LICENSE: BSD - See COPYING.ARM in the top level directory
|
||||
* FILE: drivers/bus/pci/pci/id.c
|
||||
* PURPOSE: PCI Device Identification
|
||||
* PROGRAMMERS: ReactOS Portable Systems Group
|
||||
*/
|
||||
|
||||
/* INCLUDES *******************************************************************/
|
||||
|
||||
#include <pci.h>
|
||||
#define NDEBUG
|
||||
#include <debug.h>
|
||||
|
||||
/* GLOBALS ********************************************************************/
|
||||
|
||||
/* FUNCTIONS ******************************************************************/
|
||||
|
||||
/* EOF */
|
19
drivers/bus/pcix/pci/ppbridge.c
Normal file
19
drivers/bus/pcix/pci/ppbridge.c
Normal file
|
@ -0,0 +1,19 @@
|
|||
/*
|
||||
* PROJECT: ReactOS PCI Bus Driver
|
||||
* LICENSE: BSD - See COPYING.ARM in the top level directory
|
||||
* FILE: drivers/bus/pci/pci/ppbridge.c
|
||||
* PURPOSE: PCI-to-PCI Bridge Support
|
||||
* PROGRAMMERS: ReactOS Portable Systems Group
|
||||
*/
|
||||
|
||||
/* INCLUDES *******************************************************************/
|
||||
|
||||
#include <pci.h>
|
||||
#define NDEBUG
|
||||
#include <debug.h>
|
||||
|
||||
/* GLOBALS ********************************************************************/
|
||||
|
||||
/* FUNCTIONS ******************************************************************/
|
||||
|
||||
/* EOF */
|
19
drivers/bus/pcix/pci/romimage.c
Normal file
19
drivers/bus/pcix/pci/romimage.c
Normal file
|
@ -0,0 +1,19 @@
|
|||
/*
|
||||
* PROJECT: ReactOS PCI Bus Driver
|
||||
* LICENSE: BSD - See COPYING.ARM in the top level directory
|
||||
* FILE: drivers/bus/pci/pci/romimage.c
|
||||
* PURPOSE: PCI ROM Image Support
|
||||
* PROGRAMMERS: ReactOS Portable Systems Group
|
||||
*/
|
||||
|
||||
/* INCLUDES *******************************************************************/
|
||||
|
||||
#include <pci.h>
|
||||
#define NDEBUG
|
||||
#include <debug.h>
|
||||
|
||||
/* GLOBALS ********************************************************************/
|
||||
|
||||
/* FUNCTIONS ******************************************************************/
|
||||
|
||||
/* EOF */
|
19
drivers/bus/pcix/pci/state.c
Normal file
19
drivers/bus/pcix/pci/state.c
Normal file
|
@ -0,0 +1,19 @@
|
|||
/*
|
||||
* PROJECT: ReactOS PCI Bus Driver
|
||||
* LICENSE: BSD - See COPYING.ARM in the top level directory
|
||||
* FILE: drivers/bus/pci/pci/state.c
|
||||
* PURPOSE: Bus/Device State Support
|
||||
* PROGRAMMERS: ReactOS Portable Systems Group
|
||||
*/
|
||||
|
||||
/* INCLUDES *******************************************************************/
|
||||
|
||||
#include <pci.h>
|
||||
#define NDEBUG
|
||||
#include <debug.h>
|
||||
|
||||
/* GLOBALS ********************************************************************/
|
||||
|
||||
/* FUNCTIONS ******************************************************************/
|
||||
|
||||
/* EOF */
|
19
drivers/bus/pcix/pcivrify.c
Normal file
19
drivers/bus/pcix/pcivrify.c
Normal file
|
@ -0,0 +1,19 @@
|
|||
/*
|
||||
* PROJECT: ReactOS PCI Bus Driver
|
||||
* LICENSE: BSD - See COPYING.ARM in the top level directory
|
||||
* FILE: drivers/bus/pci/pcivrify.c
|
||||
* PURPOSE: PCI Driver Verifier Support
|
||||
* PROGRAMMERS: ReactOS Portable Systems Group
|
||||
*/
|
||||
|
||||
/* INCLUDES *******************************************************************/
|
||||
|
||||
#include <pci.h>
|
||||
#define NDEBUG
|
||||
#include <debug.h>
|
||||
|
||||
/* GLOBALS ********************************************************************/
|
||||
|
||||
/* FUNCTIONS ******************************************************************/
|
||||
|
||||
/* EOF */
|
49
drivers/bus/pcix/pcix.rbuild
Normal file
49
drivers/bus/pcix/pcix.rbuild
Normal file
|
@ -0,0 +1,49 @@
|
|||
<?xml version="1.0"?>
|
||||
<!DOCTYPE module SYSTEM "../../../tools/rbuild/project.dtd">
|
||||
<module name="pcix" type="kernelmodedriver" installbase="system32/drivers" installname="pcix.sys">
|
||||
<bootstrap installbase="$(CDOUTPUT)" />
|
||||
<include base="pcix">.</include>
|
||||
<library>ntoskrnl</library>
|
||||
<library>hal</library>
|
||||
<directory name="arb">
|
||||
<file>ar_busno.c</file>
|
||||
<file>ar_memio.c</file>
|
||||
<file>arb_comn.c</file>
|
||||
<file>tr_irq.c</file>
|
||||
</directory>
|
||||
<directory name="intrface">
|
||||
<file>agpintrf.c</file>
|
||||
<file>busintrf.c</file>
|
||||
<file>cardbus.c</file>
|
||||
<file>ideintrf.c</file>
|
||||
<file>intrface.c</file>
|
||||
<file>lddintrf.c</file>
|
||||
<file>locintrf.c</file>
|
||||
<file>pmeintf.c</file>
|
||||
<file>routintf.c</file>
|
||||
</directory>
|
||||
<directory name="pci">
|
||||
<file>busno.c</file>
|
||||
<file>config.c</file>
|
||||
<file>devhere.c</file>
|
||||
<file>id.c</file>
|
||||
<file>ppbridge.c</file>
|
||||
<file>romimage.c</file>
|
||||
<file>state.c</file>
|
||||
</directory>
|
||||
<file>debug.c</file>
|
||||
<file>device.c</file>
|
||||
<file>dispatch.c</file>
|
||||
<file>enum.c</file>
|
||||
<file>fdo.c</file>
|
||||
<file>guid.c</file>
|
||||
<file>hookhal.c</file>
|
||||
<file>init.c</file>
|
||||
<file>pcivrify.c</file>
|
||||
<file>pdo.c</file>
|
||||
<file>power.c</file>
|
||||
<file>usage.c</file>
|
||||
<file>utils.c</file>
|
||||
<file>pci.rc</file>
|
||||
<pch>pci.h</pch>
|
||||
</module>
|
19
drivers/bus/pcix/pdo.c
Normal file
19
drivers/bus/pcix/pdo.c
Normal file
|
@ -0,0 +1,19 @@
|
|||
/*
|
||||
* PROJECT: ReactOS PCI Bus Driver
|
||||
* LICENSE: BSD - See COPYING.ARM in the top level directory
|
||||
* FILE: drivers/bus/pci/pdo.c
|
||||
* PURPOSE: PDO Device Management
|
||||
* PROGRAMMERS: ReactOS Portable Systems Group
|
||||
*/
|
||||
|
||||
/* INCLUDES *******************************************************************/
|
||||
|
||||
#include <pci.h>
|
||||
#define NDEBUG
|
||||
#include <debug.h>
|
||||
|
||||
/* GLOBALS ********************************************************************/
|
||||
|
||||
/* FUNCTIONS ******************************************************************/
|
||||
|
||||
/* EOF */
|
19
drivers/bus/pcix/power.c
Normal file
19
drivers/bus/pcix/power.c
Normal file
|
@ -0,0 +1,19 @@
|
|||
/*
|
||||
* PROJECT: ReactOS PCI Bus Driver
|
||||
* LICENSE: BSD - See COPYING.ARM in the top level directory
|
||||
* FILE: drivers/bus/pci/power.c
|
||||
* PURPOSE: Bus/Device Power Management
|
||||
* PROGRAMMERS: ReactOS Portable Systems Group
|
||||
*/
|
||||
|
||||
/* INCLUDES *******************************************************************/
|
||||
|
||||
#include <pci.h>
|
||||
#define NDEBUG
|
||||
#include <debug.h>
|
||||
|
||||
/* GLOBALS ********************************************************************/
|
||||
|
||||
/* FUNCTIONS ******************************************************************/
|
||||
|
||||
/* EOF */
|
19
drivers/bus/pcix/usage.c
Normal file
19
drivers/bus/pcix/usage.c
Normal file
|
@ -0,0 +1,19 @@
|
|||
/*
|
||||
* PROJECT: ReactOS PCI Bus Driver
|
||||
* LICENSE: BSD - See COPYING.ARM in the top level directory
|
||||
* FILE: drivers/bus/pci/usage.c
|
||||
* PURPOSE: Bus/Device Usage Reporting
|
||||
* PROGRAMMERS: ReactOS Portable Systems Group
|
||||
*/
|
||||
|
||||
/* INCLUDES *******************************************************************/
|
||||
|
||||
#include <pci.h>
|
||||
#define NDEBUG
|
||||
#include <debug.h>
|
||||
|
||||
/* GLOBALS ********************************************************************/
|
||||
|
||||
/* FUNCTIONS ******************************************************************/
|
||||
|
||||
/* EOF */
|
19
drivers/bus/pcix/utils.c
Normal file
19
drivers/bus/pcix/utils.c
Normal file
|
@ -0,0 +1,19 @@
|
|||
/*
|
||||
* PROJECT: ReactOS PCI Bus Driver
|
||||
* LICENSE: BSD - See COPYING.ARM in the top level directory
|
||||
* FILE: drivers/bus/pci/utils.c
|
||||
* PURPOSE: Utility/Helper Support Code
|
||||
* PROGRAMMERS: ReactOS Portable Systems Group
|
||||
*/
|
||||
|
||||
/* INCLUDES *******************************************************************/
|
||||
|
||||
#include <pci.h>
|
||||
#define NDEBUG
|
||||
#include <debug.h>
|
||||
|
||||
/* GLOBALS ********************************************************************/
|
||||
|
||||
/* FUNCTIONS ******************************************************************/
|
||||
|
||||
/* EOF */
|
|
@ -94,6 +94,8 @@ KsReleaseDeviceSecurityLock(
|
|||
{
|
||||
PKSIDEVICE_HEADER Header = (PKSIDEVICE_HEADER)DevHeader;
|
||||
|
||||
DPRINT("KsReleaseDevice\n");
|
||||
|
||||
ExReleaseResourceLite(&Header->SecurityLock);
|
||||
KeLeaveCriticalRegion();
|
||||
}
|
||||
|
@ -1589,7 +1591,7 @@ KsAcquireControl(
|
|||
/* sanity check */
|
||||
ASSERT(BasicHeader->Type == KsObjectTypeFilter || BasicHeader->Type == KsObjectTypePin);
|
||||
|
||||
KeWaitForSingleObject(&BasicHeader->ControlMutex, Executive, KernelMode, FALSE, NULL);
|
||||
KeWaitForSingleObject(BasicHeader->ControlMutex, Executive, KernelMode, FALSE, NULL);
|
||||
|
||||
}
|
||||
|
||||
|
@ -1606,7 +1608,7 @@ KsReleaseControl(
|
|||
/* sanity check */
|
||||
ASSERT(BasicHeader->Type == KsObjectTypeFilter || BasicHeader->Type == KsObjectTypePin);
|
||||
|
||||
KeReleaseMutex(&BasicHeader->ControlMutex, FALSE);
|
||||
KeReleaseMutex(BasicHeader->ControlMutex, FALSE);
|
||||
}
|
||||
|
||||
|
||||
|
@ -1621,7 +1623,10 @@ KsAcquireDevice(
|
|||
IN PKSDEVICE Device)
|
||||
{
|
||||
IKsDevice *KsDevice;
|
||||
PKSIDEVICE_HEADER DeviceHeader = (PKSIDEVICE_HEADER)CONTAINING_RECORD(Device, KSIDEVICE_HEADER, KsDevice);
|
||||
PKSIDEVICE_HEADER DeviceHeader;
|
||||
|
||||
DPRINT("KsAcquireDevice\n");
|
||||
DeviceHeader = (PKSIDEVICE_HEADER)CONTAINING_RECORD(Device, KSIDEVICE_HEADER, KsDevice);
|
||||
|
||||
/* get device interface*/
|
||||
KsDevice = (IKsDevice*)&DeviceHeader->lpVtblIKsDevice;
|
||||
|
|
|
@ -89,6 +89,8 @@ KsAddItemToObjectBag(
|
|||
PKSIOBJECT_BAG Bag;
|
||||
PKSIOBJECT_BAG_ENTRY BagEntry;
|
||||
|
||||
DPRINT("KsAddItemToObjectBag\n");
|
||||
|
||||
/* get real object bag */
|
||||
Bag = (PKSIOBJECT_BAG)ObjectBag;
|
||||
|
||||
|
@ -363,6 +365,8 @@ _KsEdit(
|
|||
PVOID Item;
|
||||
NTSTATUS Status;
|
||||
|
||||
DPRINT("_KsEdit\n");
|
||||
|
||||
/* get real object bag */
|
||||
Bag = (PKSIOBJECT_BAG)ObjectBag;
|
||||
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue