<!--
{
  "availability" : [
    "DriverKit: 27.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "VideoDriverKit",
  "identifier" : "/documentation/VideoDriverKit/IOUserVideoBuffer/SetControlMemoryDescriptor",
  "metadataVersion" : "0.1.0",
  "role" : "Instance Method",
  "symbol" : {
    "kind" : "Instance Method",
    "modules" : [
      "VideoDriverKit"
    ],
    "preciseIdentifier" : "c:@S@IOUserVideoBuffer@F@SetControlMemoryDescriptor#*$@S@IOMemoryDescriptor#"
  },
  "title" : "SetControlMemoryDescriptor"
}
-->

# SetControlMemoryDescriptor

Sets a new IOMemoryDescriptor to use for video IO on the IOUserVideoStream.

```
kern_return_t SetControlMemoryDescriptor(IOMemoryDescriptor *in_control_memory_descriptor);
```

## Parameters

`in_control_memory_descriptor`

A pointer to a IOMemoryDescriptor whose buffer will be mapped to the
Host for doing video IO

## Discussion

Setting this value should only be done during the PerformDeviceConfigurationChange() call.
If the value needs to be changed, RequestDeviceConfigChange() should be called to allow
IO to stop and the config change to be performed.

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)