DXGKETW_PAGINGOPERATION structure

Describes parameters for building a paging buffer that is used in a memory-transfer operation.

Syntax

typedef struct _DXGKETW_PAGINGOPERATION {
  EVENT_TRACE_HEADER wmiTraceHeader;
  ULONGLONG          pDxgAdapter;
  ULONGLONG          hDmaBuffer;
  BOOL               ContinueNextBuffer;
  union {
    struct {
      ULONGLONG             hAllocationGlobalHandle;
      ULONG                 TransferOffset;
      ULONGLONG             TransferSize;
      struct {
        ULONG     SegmentId;
        ULONGLONG SegmentOffset;
      } Source;
      struct {
        ULONG     SegmentId;
        ULONGLONG SegmentOffset;
      } Destination;
      DXGKETW_TRANSFERFLAGS Flags;
    } Transfer;
  };
  struct {
    ULONGLONG hAllocationGlobalHandle;
    ULONGLONG FillSize;
    ULONG     FillPattern;
    struct {
      ULONG     SegmentId;
      ULONGLONG SegmentOffset;
    } Destination;
  } Fill;
  struct {
    ULONGLONG                   hAllocationGlobalHandle;
    DXGKETW_DISCARDCONTENTFLAGS Flags;
    ULONG                       SegmentId;
    ULONGLONG                   SegmentOffset;
  } DiscardContent;
  struct {
    ULONG     SegmentId;
    ULONGLONG SegmentOffset;
  } ReadPhysical;
  struct {
    ULONG     SegmentId;
    ULONGLONG SegmentOffset;
  } WritePhysical;
  struct {
    ULONGLONG                hAllocationGlobalHandle;
    ULONG                    SegmentId;
    ULONGLONG                OffsetInPages;
    ULONGLONG                NumberOfPages;
    DXGKETW_MAPAPERTUREFLAGS Flags;
  } MapApertureSegment;
  struct {
    ULONGLONG                hAllocationGlobalHandle;
    ULONG                    SegmentId;
    ULONGLONG                OffsetInPages;
    ULONGLONG                NumberOfPages;
    DXGKETW_MAPAPERTUREFLAGS Flags;
  } UnmapApertureSegment;
  struct {
    ULONGLONG             hAllocationGlobalHandle;
    ULONG                 TransferOffset;
    ULONGLONG             TransferSize;
    struct {
      ULONG     SegmentId;
      ULONGLONG SegmentOffset;
    } Source;
    struct {
      ULONG     SegmentId;
      ULONGLONG SegmentOffset;
    } Destination;
    DXGKETW_TRANSFERFLAGS Flags;
    ULONG                 SwizzlingRangeId;
    ULONG                 SwizzlingRangeData;
  } SpecialLockTransfer;
} DXGKETW_PAGINGOPERATION;

Members

  • wmiTraceHeader
    A value of type EVENT_TRACE_HEADER that is used to report events to the WMI event logger.

  • pDxgAdapter
    [in] A pointer to a block of memory for the graphics adapter that the device context is created on. This pointer identifies the adapter for kernel-mode creation.

  • hDmaBuffer
    [in/out] A handle to the paging buffer.

  • ContinueNextBuffer
    [in] If TRUE, the memory-transfer operation extends to the next buffer.

  • Transfer
    [in] A structure that describes the transfer operation.

    • hAllocationGlobalHandle
      [in] A handle to the allocation that the display miniport driver's DxgkDdiCreateAllocation function previously returned in the hAllocation member of a DXGK_ALLOCATIONINFO structure, which is part of the DXGKARG_CREATEALLOCATION structure's pAllocationInfo member. The allocation handle points to a buffer that contains private driver data for the transfer.

    • TransferOffset
      [in] The offset, in bytes, of the first page within the allocation that is transferred. This offset is applied only to a location that a segment location describes. This offset does not apply to an MDL description of a memory range. If the driver requires more than one paging buffer to complete the transfer (that is, the driver returns STATUS_GRAPHICS_INSUFFICIENT_DMA_BUFFER from its DxgkDdiBuildPagingBuffer function), TransferOffset is the same for each call to DxgkDdiBuildPagingBuffer for this transfer.

    • TransferSize
      [in] The size, in bytes, of the memory information to transfer.

    • Source
      [in] A structure that describes the source allocation.

      • SegmentId
        [in] The identifier of a segment within the source allocation.

      • SegmentOffset
        [in] The offset, in bytes, of the source allocation from the base address of the segment.

    • Destination
      [in] A structure that describes the destination allocation.

      • SegmentId
        [in] The identifier of a segment within the source allocation.

      • SegmentOffset
        [in] The offset, in bytes, of the destination allocation from the base address of the segment.

    • Flags
      [in] A DXGKETW_TRANSFERFLAGS structure that identifies, in bit-field flags, the type of special-lock-transfer operation to perform.

  • Fill
    [in] A structure that describes the fill operation.

    • hAllocationGlobalHandle
      [in] A handle to the allocation that contains content to fill.

    • FillSize
      [in] The size, in bytes, of the memory information to fill.

    • FillPattern
      [in] The pattern to fill the destination with. The video memory manager uses this information to initialize video memory to a specific pattern when an allocation without content is first paged in. In this case, no source exists for the fill request—only a destination exists.

    • Destination
      [in] A structure that describes the destination allocation for the fill operation.

      • SegmentId
        [in] The identifier of a segment within the destination allocation.

      • SegmentOffset
        [in] The offset, in bytes, of the destination allocation from the base address of the segment.

  • DiscardContent
    [in] A structure that describes the discard-content operation.

    • hAllocationGlobalHandle
      [in] A handle to the allocation that contains content to discard.

    • Flags
      [in] A DXGKETW_DISCARDCONTENTFLAGS structure that identifies, in bit-field flags, the type of discard-content operation to perform.

    • SegmentId
      [in] The identifier of a segment within the allocation to discard content from.

    • SegmentOffset
      [in] The offset, in bytes, of the allocation specified by SegmentId from the base address of the segment.

  • ReadPhysical
    [in] A structure that describes the read-physical operation.

    • SegmentId
      [in] The identifier of a segment that data is read from.

    • SegmentOffset
      [in] The offset, in bytes, of the allocation specified by SegmentId from the base address of the segment.

  • WritePhysical
    [in] A structure that describes the write-physical operation.

    • SegmentId
      [in] The identifier of a segment to which data is written.

    • SegmentOffset
      [in] The offset, in bytes, of the allocation specified by SegmentId from the base address of the segment.

  • MapApertureSegment
    [in] A structure that describes the map-aperture-segment operation.

    • hAllocationGlobalHandle
      [in] A handle to the allocation that is mapped into the aperture segment that SegmentId specifies.

      hAllocationGlobalHandle is NULL when a DMA buffer is mapped into the aperture segment because DMA buffers are not explicitly created by the driver.

    • SegmentId
      [in] The identifier of an aperture segment to configure.

    • OffsetInPages
      [in] The offset, in pages, from the beginning of the segment to the first pages to map.

    • NumberOfPages
      [in] The number of pages to map.

    • Flags
      [in] A DXGKETW_MAPAPERTUREFLAGS structure that identifies, in bit-field flags, the type of map-aperture-segment operation to perform.

  • UnmapApertureSegment
    [in] A structure that describes the unmap-aperture-segment operation.

    • hAllocationGlobalHandle
      [in] A handle to the allocation that is unmapped from the aperture segment that SegmentId specifies.

      hAllocationGlobalHandle is NULL when a DMA buffer is unmapped from the aperture segment because DMA buffers are not explicitly created by the driver.

    • SegmentId
      [in] The identifier of an aperture segment to configure.

    • OffsetInPages
      [in] The offset, in pages, from the beginning of the segment to the first pages to unmap.

    • NumberOfPages
      [in] The number of pages to unmap.

    • Flags
      [in] A DXGKETW_MAPAPERTUREFLAGS structure that identifies, in bit-field flags, the type of unmap-aperture-segment operation to perform.

  • SpecialLockTransfer
    [in] A structure that describes the special-lock-transfer operation.

    • hAllocationGlobalHandle
      [in] A handle to the allocation that the driver's DxgkDdiCreateAllocation function previously returned in the hAllocation member of a DXGK_ALLOCATIONINFO structure, which is part of the DXGKARG_CREATEALLOCATION structure's pAllocationInfo member. The allocation handle points to a buffer that contains private driver data for the special-lock transfer.

    • TransferOffset
      [in] The offset, in bytes, of the first page within the allocation that is transferred. This offset is applied only to a location that a segment location describes. This offset does not apply to an MDL description of a memory range. If the driver requires more than one paging buffer to complete the transfer (that is, the driver returns STATUS_GRAPHICS_INSUFFICIENT_DMA_BUFFER from its DxgkDdiBuildPagingBuffer function), TransferOffset is the same for each call to DxgkDdiBuildPagingBuffer for this transfer.

    • TransferSize
      [in] The size, in bytes, of the memory information to transfer.

    • Source
      [in] A structure that describes the source allocation.

      • SegmentId
        [in] The identifier of a segment within the source allocation.

      • SegmentOffset
        [in] The offset, in bytes, of the source allocation from the base address of the segment.

    • Destination
      [in] A structure that describes the destination allocation.

      • SegmentId
        [in] The identifier of a segment within the destination allocation.

      • SegmentOffset
        [in] The offset, in bytes, of the destination allocation from the base address of the segment.

    • Flags
      [in] A DXGKETW_TRANSFERFLAGS structure that identifies, in bit-field flags, the type of special-lock-transfer operation to perform.

    • SwizzlingRangeId
      [in] The identifier of a swizzling range.

    • SwizzlingRangeData
      [in] Specifies swizzling range data.

Requirements

Minimum supported client

Windows 8 Release Preview

Minimum supported server

Windows Server 2012

Header

Dxetwevt.h (include Dxetwevt.h)

See also

DxgkDdiBuildPagingBuffer

DXGK_ALLOCATIONINFO

DXGKARG_CREATEALLOCATION

DXGKETW_DISCARDCONTENTFLAGS

DXGKETW_TRANSFERFLAGS

 

 

Send comments about this topic to Microsoft

Build date: 7/11/2012