PINT10_ALLOCATE_BUFFER callback function (video.h)

The Int10AllocateBuffer function can be used to allocate a single 4 KB block of memory in the context of another thread. After the block of memory has been allocated, it must be freed before another block of memory can be allocated.

Syntax

PINT10_ALLOCATE_BUFFER Pint10AllocateBuffer;

VP_STATUS Pint10AllocateBuffer(
  [in]      IN PVOID Context,
  [out]     OUT PUSHORT Seg,
  [out]     OUT PUSHORT Off,
  [in, out] IN OUT PULONG Length
)
{...}

Parameters

[in] Context

Pointer to a video port driver-defined context for the interface. This should be the same as the value in the Context member of the VIDEO_PORT_INT10_INTERFACE structure after VideoPortQueryServices returns.

[out] Seg

Pointer to a memory location that will receive the segment address of the allocated memory buffer.

[out] Off

Pointer to a memory location that will receive the offset within the segment specified by *Seg, of the allocated memory buffer.

[in, out] Length

Pointer to a memory location that contains the length, in bytes, of the requested memory buffer, which can be as large as 4096. When the function returns, this memory location will contain the value 4096, whether the memory was actually allocated.

Return value

The Int10AllocateBuffer function returns NO_ERROR upon success. It returns STATUS_INSUFFICIENT_RESOURCES if the buffer has been allocated previously or if a buffer size larger than 4096 bytes is requested.

Remarks

The video port implements this function, which can be accessed through a pointer in the VIDEO_PORT_INT10_INTERFACE structure.

Requirements

Requirement Value
Minimum supported client Available in Windows 2000 and later versions of the Windows operating systems.
Target Platform Desktop
Header video.h (include Video.h)
IRQL PASSIVE_LEVEL

See also

VIDEO_PORT_INT10_INTERFACE