ZwClose(Context->hMixerPin);
}
- ExFreePool(Context);
+ FreeItem(Context);
Irp->IoStatus.Status = STATUS_SUCCESS;
Irp->IoStatus.Information = 0;
/* the audio irp pin didnt accept the input format
* let's compute a compatible format
*/
- MixerPinConnect = ExAllocatePool(NonPagedPool, sizeof(KSPIN_CONNECT) + sizeof(KSDATAFORMAT_WAVEFORMATEX));
+ MixerPinConnect = AllocateItem(NonPagedPool, sizeof(KSPIN_CONNECT) + sizeof(KSDATAFORMAT_WAVEFORMATEX));
if (!MixerPinConnect)
{
/* not enough memory */
if (!NT_SUCCESS(Status))
{
DPRINT1("ComputeCompatibleFormat failed with %x\n", Status);
- ExFreePool(MixerPinConnect);
+ FreeItem(MixerPinConnect);
return Status;
}
DPRINT1(" InputFormat: SampleRate %u Bits %u Channels %u\n", InputFormat->WaveFormatEx.nSamplesPerSec, InputFormat->WaveFormatEx.wBitsPerSample, InputFormat->WaveFormatEx.nChannels);
DPRINT1("OutputFormat: SampleRate %u Bits %u Channels %u\n", OutputFormat->WaveFormatEx.nSamplesPerSec, OutputFormat->WaveFormatEx.wBitsPerSample, OutputFormat->WaveFormatEx.nChannels);
- ExFreePool(MixerPinConnect);
+ FreeItem(MixerPinConnect);
return Status;
}
}
if (!NT_SUCCESS(Status))
{
DPRINT1("Failed to create Mixer Pin with %x\n", Status);
- ExFreePool(MixerPinConnect);
+ FreeItem(MixerPinConnect);
}
}
/* done */
IoStack = IoGetCurrentIrpStackLocation(Irp);
/* get object class length */
- ObjectLength = (wcslen(KSSTRING_Pin) + 2) * sizeof(WCHAR);
+ ObjectLength = (wcslen(KSSTRING_Pin) + 1) * sizeof(WCHAR);
/* check for minium length requirement */
if (ObjectLength + sizeof(KSPIN_CONNECT) > IoStack->FileObject->FileName.MaximumLength)
ParametersLength = IoStack->FileObject->FileName.MaximumLength - ObjectLength;
/* allocate buffer */
- Buffer = ExAllocatePool(NonPagedPool, ParametersLength);
+ Buffer = AllocateItem(NonPagedPool, ParametersLength);
if (!Buffer)
return STATUS_INSUFFICIENT_RESOURCES;
/* allocate dispatch context */
- DispatchContext = ExAllocatePool(NonPagedPool, sizeof(DISPATCH_CONTEXT));
+ DispatchContext = AllocateItem(NonPagedPool, sizeof(DISPATCH_CONTEXT));
if (!DispatchContext)
{
/* failed */
if (!NT_SUCCESS(Status))
{
/* failed */
- ExFreePool(DispatchContext);
+ FreeItem(DispatchContext);
Irp->IoStatus.Status = Status;
IoCompleteRequest(Irp, IO_NO_INCREMENT);
return Status;
{
/* failed */
KsFreeObjectHeader(DispatchContext->ObjectHeader);
- ExFreePool(DispatchContext);
+ FreeItem(DispatchContext);
}
else
{