KsAcquireCachedMdl function (ks.h)
This function is used to acquire the MDL cached by the KS port driver. The function is used by a kernel mode driver to acquire the MDL for a pipeline-supplied sample generated by an Avstream driver.
Syntax
KSDDKAPI NTSTATUS KsAcquireCachedMdl(
PIRP Irp,
REFGUID Guid,
PFNKSCANCELPINNEDMDL CancelRoutine,
PVOID CancelContext,
PMDL *MdlAddr,
PVOID *ReleaseContext
);
Parameters
Irp
The IRP passed from the user mode containing the user-mode sample buffer.
Guid
The GUID extracted from the MFSampleExtension_MDLCacheCookie attribute item of the IMFSample passed by the pipeline.
CancelRoutine
Cancel routine, a callback function supplied by the Avstream miniport driver. This function is called when the state of the pin generating the sample is going to STOP state. The signature of the cancel routine is as follows:
_IRQL_requires_max_(DISPATCH_LEVEL)
typedef
VOID
(*PFNKSCANCELPINNEDMDL)(
_In_ GUID,
_In_ PVOID,
_In_ PVOID
);
GUID
GUID passed in the KsAcquireCachedMdl function by the Avstream miniport driver.
PVOID
Cancel context supplied by the Avstream miniport driver in the KsAcquireCachedMdl function call.
PVOID
Release context. This is the output of the KsAcquireCachedMdl function.
CancelContext
The context passed to the Avstream driver in the cancel routine. This context is used by the Avstream driver to get into the driver context.
MdlAddr
Return value: The resultant MDL if KS finds the MDL stored for the sample buffer.
ReleaseContext
Return value: The context to be stored by Avstream driver. This context should be passed to KS when releasing the MDL acquired by the KsAcquireCachedMdl call.
Return value
Returns STATUS_SUCCESS for success conditions.
Requirements
Requirement | Value |
---|---|
Target Platform | Universal |
Header | ks.h (include Ks.h) |
Library | Ks.lib |