Pointer Validation Macros

[The feature associated with this page, DirectShow, is a legacy feature. It has been superseded by MediaPlayer, IMFMediaEngine, and Audio/Video Capture in Media Foundation. Those features have been optimized for Windows 10 and Windows 11. Microsoft strongly recommends that new code use MediaPlayer, IMFMediaEngine and Audio/Video Capture in Media Foundation instead of DirectShow, when possible. Microsoft suggests that existing code that uses the legacy APIs be rewritten to use the new APIs if possible.]

Microsoft DirectShow provides several macros for validating pointers.

Macro Description
CheckPointer Checks whether a pointer is NULL.
ValidateReadPtr Verifies that the calling process has read access to a memory block.
ValidateReadWritePtr Verifies that the calling process has read/write access to a memory block.
ValidateStringPtr Verifies that the calling process has read access to a string.
ValidateStringPtrA Verifies that the calling process has read access to an ANSI string.
ValidateStringPtrW Verifies that the calling process has read access to a wide-character string.
ValidateWritePtr Verifies that the calling process has write access to a memory block.