mirror of
https://github.com/reactos/reactos.git
synced 2025-08-05 19:22:58 +00:00
- Implement KsReferenceBusObject, KsReferenceSoftwareBusObject, KsDereferenceSoftwareBusObject, KsDereferenceBusObject
svn path=/trunk/; revision=42256
This commit is contained in:
parent
b3ea37e803
commit
dd0ab576f9
2 changed files with 89 additions and 40 deletions
|
@ -624,12 +624,19 @@ KsInitializeDevice(
|
||||||
IN PDEVICE_OBJECT NextDeviceObject,
|
IN PDEVICE_OBJECT NextDeviceObject,
|
||||||
IN const KSDEVICE_DESCRIPTOR* Descriptor OPTIONAL)
|
IN const KSDEVICE_DESCRIPTOR* Descriptor OPTIONAL)
|
||||||
{
|
{
|
||||||
|
PDEVICE_EXTENSION DeviceExtension;
|
||||||
PKSIDEVICE_HEADER Header;
|
PKSIDEVICE_HEADER Header;
|
||||||
ULONG Index;
|
ULONG Index;
|
||||||
NTSTATUS Status = STATUS_SUCCESS;
|
NTSTATUS Status = STATUS_SUCCESS;
|
||||||
|
|
||||||
|
/* get device extension */
|
||||||
|
DeviceExtension = (PDEVICE_EXTENSION)FunctionalDeviceObject->DeviceExtension;
|
||||||
|
|
||||||
/* first allocate device header */
|
/* first allocate device header */
|
||||||
Status = KsAllocateDeviceHeader((KSDEVICE_HEADER*)&Header, 0, NULL);
|
Status = KsAllocateDeviceHeader((KSDEVICE_HEADER*)&DeviceExtension->DeviceHeader, 0, NULL);
|
||||||
|
|
||||||
|
/* point to allocated header */
|
||||||
|
Header = DeviceExtension->DeviceHeader;
|
||||||
|
|
||||||
/* check for success */
|
/* check for success */
|
||||||
if (!NT_SUCCESS(Status))
|
if (!NT_SUCCESS(Status))
|
||||||
|
@ -689,6 +696,85 @@ NTAPI
|
||||||
KsReferenceSoftwareBusObject(
|
KsReferenceSoftwareBusObject(
|
||||||
IN KSDEVICE_HEADER Header)
|
IN KSDEVICE_HEADER Header)
|
||||||
{
|
{
|
||||||
UNIMPLEMENTED
|
IKsDevice * Device;
|
||||||
return STATUS_NOT_IMPLEMENTED;
|
PKSIDEVICE_HEADER DeviceHeader = (PKSIDEVICE_HEADER)Header;
|
||||||
|
|
||||||
|
/* get device interface */
|
||||||
|
Device = (IKsDevice*)&DeviceHeader->lpVtblIKsDevice;
|
||||||
|
|
||||||
|
if (Device)
|
||||||
|
{
|
||||||
|
/* reference device interface */
|
||||||
|
Device->lpVtbl->AddRef(Device);
|
||||||
|
}
|
||||||
|
|
||||||
|
return STATUS_SUCCESS;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
@unimplemented
|
||||||
|
*/
|
||||||
|
KSDDKAPI
|
||||||
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
|
KsReferenceBusObject(
|
||||||
|
IN KSDEVICE_HEADER Header)
|
||||||
|
{
|
||||||
|
IKsDevice * Device;
|
||||||
|
PKSIDEVICE_HEADER DeviceHeader = (PKSIDEVICE_HEADER)Header;
|
||||||
|
|
||||||
|
/* get device interface */
|
||||||
|
Device = (IKsDevice*)&DeviceHeader->lpVtblIKsDevice;
|
||||||
|
|
||||||
|
if (Device)
|
||||||
|
{
|
||||||
|
/* reference device interface */
|
||||||
|
Device->lpVtbl->AddRef(Device);
|
||||||
|
}
|
||||||
|
|
||||||
|
return STATUS_SUCCESS;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
@unimplemented
|
||||||
|
*/
|
||||||
|
KSDDKAPI
|
||||||
|
VOID
|
||||||
|
NTAPI
|
||||||
|
KsDereferenceBusObject(
|
||||||
|
IN KSDEVICE_HEADER Header)
|
||||||
|
{
|
||||||
|
IKsDevice * Device;
|
||||||
|
PKSIDEVICE_HEADER DeviceHeader = (PKSIDEVICE_HEADER)Header;
|
||||||
|
|
||||||
|
/* get device interface */
|
||||||
|
Device = (IKsDevice*)&DeviceHeader->lpVtblIKsDevice;
|
||||||
|
|
||||||
|
if (Device)
|
||||||
|
{
|
||||||
|
/* release device interface */
|
||||||
|
Device->lpVtbl->Release(Device);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
@unimplemented
|
||||||
|
*/
|
||||||
|
KSDDKAPI
|
||||||
|
VOID
|
||||||
|
NTAPI
|
||||||
|
KsDereferenceSoftwareBusObject(
|
||||||
|
IN KSDEVICE_HEADER Header)
|
||||||
|
{ IKsDevice * Device;
|
||||||
|
PKSIDEVICE_HEADER DeviceHeader = (PKSIDEVICE_HEADER)Header;
|
||||||
|
|
||||||
|
/* get device interface */
|
||||||
|
Device = (IKsDevice*)&DeviceHeader->lpVtblIKsDevice;
|
||||||
|
|
||||||
|
if (Device)
|
||||||
|
{
|
||||||
|
/* release device interface */
|
||||||
|
Device->lpVtbl->Release(Device);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -9,43 +9,6 @@
|
||||||
|
|
||||||
#include "priv.h"
|
#include "priv.h"
|
||||||
|
|
||||||
/*
|
|
||||||
@unimplemented
|
|
||||||
*/
|
|
||||||
KSDDKAPI
|
|
||||||
NTSTATUS
|
|
||||||
NTAPI
|
|
||||||
KsReferenceBusObject(
|
|
||||||
IN KSDEVICE_HEADER Header)
|
|
||||||
{
|
|
||||||
UNIMPLEMENTED;
|
|
||||||
return STATUS_UNSUCCESSFUL;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
@unimplemented
|
|
||||||
*/
|
|
||||||
KSDDKAPI
|
|
||||||
VOID
|
|
||||||
NTAPI
|
|
||||||
KsDereferenceBusObject(
|
|
||||||
IN KSDEVICE_HEADER Header)
|
|
||||||
{
|
|
||||||
UNIMPLEMENTED;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
@unimplemented
|
|
||||||
*/
|
|
||||||
KSDDKAPI
|
|
||||||
VOID
|
|
||||||
NTAPI
|
|
||||||
KsDereferenceSoftwareBusObject(
|
|
||||||
IN KSDEVICE_HEADER Header)
|
|
||||||
{
|
|
||||||
UNIMPLEMENTED;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@implemented
|
@implemented
|
||||||
*/
|
*/
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue