- Check if irp was allocated
- Unimplement KsPinGetConnectedPinFileObject

svn path=/trunk/; revision=42649
This commit is contained in:
Johannes Anderwald 2009-08-13 09:54:51 +00:00
parent 3f99bec9f5
commit d8fa27fec7
2 changed files with 15 additions and 6 deletions

View file

@ -1148,6 +1148,13 @@ KsSynchronousIoControlDevice(
/* create the irp */
Irp = IoBuildDeviceIoControlRequest(IoControl, DeviceObject, InBuffer, InSize, OutBuffer, OutSize, FALSE, &Event, &IoStatusBlock);
if (!Irp)
{
/* no memory to allocate the irp */
return STATUS_INSUFFICIENT_RESOURCES;
}
/* HACK */
IoStack = IoGetNextIrpStackLocation(Irp);
IoStack->FileObject = FileObject;

View file

@ -384,16 +384,14 @@ KsPinGetConnectedPinDeviceObject(
}
/*
@implemented
@unimplemented
*/
PFILE_OBJECT
NTAPI
KsPinGetConnectedPinFileObject(
IN PKSPIN Pin)
{
IKsPinImpl * This = (IKsPinImpl*)CONTAINING_RECORD(Pin, IKsPinImpl, Pin);
return This->FileObject;
return NULL;
}
/*
@ -1188,8 +1186,12 @@ KspCreatePin(
This->ObjectHeader->Unknown = (PUNKNOWN)&This->lpVtbl;
This->ObjectHeader->ObjectType = (PVOID)&This->Pin;
/* now inform the driver to create a new pin */
Status = Descriptor->Dispatch->Create(&This->Pin, Irp);
/* does the driver have a pin dispatch */
if (Descriptor->Dispatch && Descriptor->Dispatch->Create)
{
/* now inform the driver to create a new pin */
Status = Descriptor->Dispatch->Create(&This->Pin, Irp);
}
if (!NT_SUCCESS(Status) && Status != STATUS_PENDING)
{