Skip to content

Commit

Permalink
Adding missing topics
Browse files Browse the repository at this point in the history
  • Loading branch information
DOMARS committed Nov 1, 2018
1 parent 5b1569f commit 8ced598
Show file tree
Hide file tree
Showing 36 changed files with 566 additions and 306 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@
UID: NF:portcls.IAdapterPnpManagement.GetSupportedRebalanceType
title: IAdapterPnpManagement::GetSupportedRebalanceType
author: windows-driver-content
description: TBD
tech.root:
description: The GetSupportedRebalanceType method returns the type of rebalancing supported.
tech.root: audio
ms.assetid: 7feb6a3f-cb3f-4aaa-8386-d7c803201a6c
ms.author: windowsdriverdev
ms.date:
ms.date: 10/31/2018
ms.topic: method
ms.keywords: IAdapterPnpManagement::GetSupportedRebalanceType, GetSupportedRebalanceType, IAdapterPnpManagement.GetSupportedRebalanceType, IAdapterPnpManagement::GetSupportedRebalanceType, IAdapterPnpManagement.GetSupportedRebalanceType
req.header: portcls.h
Expand All @@ -18,7 +18,7 @@ req.kmdf-ver:
req.umdf-ver:
req.lib:
req.dll:
req.irql:
req.irql: PASSIVE_LEVEL
req.ddi-compliance:
req.unicode-ansi:
req.idl:
Expand All @@ -45,13 +45,24 @@ targetos: Windows

## -description

TBD
The GetSupportedRebalanceType method returns the type of rebalancing supported. Rebalancing is used in certain Thunderbolt USB scenario, where, when additional devices are added to the USB chain, the use of memory resources needs to be rearranged and consolidated.

## -parameters

None

## -returns
This method returns PC_REBALANCE_TYPE.
The GetSupportedRebalanceType method returns the type of rebalancing supported (RebalanceNotSupported or RebalanceRemoveSubdevices) as defined in the enum PC_REBALANCE_TYPE.


## -remarks
GetSupportedRebalanceType is called by Portcls while processing the QueryStop. Miniport returns the supported rebalance type.

Note Portcls acquires the device global lock before making this call, thus the miniport must execute this call as fast as possible.

For more information, see [Implement PnP Rebalance for PortCls Audio Drivers](https://docs.microsoft.com/windows-hardware/drivers/audio/implement-pnp-rebalance-for-portcls-audio-drivers).


## -see-also

## -see-also
[IAdapterPnpManagement](nn-portcls-iadapterpnpmanagement.md)
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@
UID: NF:portcls.IAdapterPnpManagement.PnpCancelStop
title: IAdapterPnpManagement::PnpCancelStop
author: windows-driver-content
description: TBD
tech.root:
description: The PnpCancelStop method provides a notification while processing the CancelStop IRP.
tech.root: audio
ms.assetid: 882d841c-1e16-4bb6-a9e2-df8fbe5728c9
ms.author: windowsdriverdev
ms.date:
ms.date: 10/31/2018
ms.topic: method
ms.keywords: IAdapterPnpManagement::PnpCancelStop, PnpCancelStop, IAdapterPnpManagement.PnpCancelStop, IAdapterPnpManagement::PnpCancelStop, IAdapterPnpManagement.PnpCancelStop
req.header: portcls.h
Expand All @@ -18,7 +18,7 @@ req.kmdf-ver:
req.umdf-ver:
req.lib:
req.dll:
req.irql:
req.irql: PASSIVE_LEVEL
req.ddi-compliance:
req.unicode-ansi:
req.idl:
Expand All @@ -45,13 +45,22 @@ targetos: Windows

## -description

TBD
The PnpCancelStop method provides a notification while processing the CancelStop IRP.

## -parameters

None

## -returns
This method returns void.

## -remarks
PnpCancelStop is invoked by portcls while processing the CancelStop IRP. This is just a notification. It is possible for the Miniport to receive PnpCancelStop even without previously receiving a PnpQueryStop notification. The miniport should be written to accommodate this behavior. For example this is the case when the QueryStop logic fails the IRP before Portcls has an opportunity to forward this notification to the Miniport. In this scenario PnP manager still invokes a PnP Cancel Stop.

Note: Portcls acquires the device global lock before making this call, thus the miniport must execute this call as fast as possible. Portcls restarts any pended create requests.

For more information, see [Implement PnP Rebalance for PortCls Audio Drivers](https://docs.microsoft.com/windows-hardware/drivers/audio/implement-pnp-rebalance-for-portcls-audio-drivers).


## -see-also

## -see-also
[IAdapterPnpManagement](nn-portcls-iadapterpnpmanagement.md)
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@
UID: NF:portcls.IAdapterPnpManagement.PnpQueryStop
title: IAdapterPnpManagement::PnpQueryStop
author: windows-driver-content
description: TBD
tech.root:
description: PnpQueryStop provides a notification when PnpQueryStop is invoked by portcls just before succeeding the QueryStop IRP.
tech.root: audio
ms.assetid: ddc729dd-71fe-4341-ba7e-ee05e9f91291
ms.author: windowsdriverdev
ms.date:
ms.date: 10/31/2018
ms.topic: method
ms.keywords: IAdapterPnpManagement::PnpQueryStop, PnpQueryStop, IAdapterPnpManagement.PnpQueryStop, IAdapterPnpManagement::PnpQueryStop, IAdapterPnpManagement.PnpQueryStop
req.header: portcls.h
Expand All @@ -18,7 +18,7 @@ req.kmdf-ver:
req.umdf-ver:
req.lib:
req.dll:
req.irql:
req.irql: PASSIVE_LEVEL
req.ddi-compliance:
req.unicode-ansi:
req.idl:
Expand All @@ -45,13 +45,22 @@ targetos: Windows

## -description

TBD
PnpQueryStop provides a notification when PnpQueryStop is invoked by portcls just before succeeding the QueryStop IRP.

## -parameters


## -returns
This method returns void.

## -remarks

## -see-also
PnpQueryStop is invoked by portcls just before succeeding the QueryStop IRP. This is just a notification and the call doesn’t return a value.

Note Portcls acquires the device global lock before making this call, thus the miniport must execute this call as fast as possible. While a Stop is pending, Portcls will block (hold) any new create requests.


For more information, see [Implement PnP Rebalance for PortCls Audio Drivers](https://docs.microsoft.com/windows-hardware/drivers/audio/implement-pnp-rebalance-for-portcls-audio-drivers).
## -see-also

[IAdapterPnpManagement](nn-portcls-iadapterpnpmanagement.md)
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@
UID: NF:portcls.IAdapterPnpManagement.PnpStop
title: IAdapterPnpManagement::PnpStop
author: windows-driver-content
description: TBD
tech.root:
description: The PnpStop method provides a notification after stopping all Ioctl operations.
tech.root: audio
ms.assetid: 7ad59aef-fc02-4102-a5b8-5349209bd65d
ms.author: windowsdriverdev
ms.date:
ms.date: 10/31/2018
ms.topic: method
ms.keywords: IAdapterPnpManagement::PnpStop, PnpStop, IAdapterPnpManagement.PnpStop, IAdapterPnpManagement::PnpStop, IAdapterPnpManagement.PnpStop
req.header: portcls.h
Expand All @@ -18,7 +18,7 @@ req.kmdf-ver:
req.umdf-ver:
req.lib:
req.dll:
req.irql:
req.irql: PASSIVE_LEVEL
req.ddi-compliance:
req.unicode-ansi:
req.idl:
Expand All @@ -45,13 +45,30 @@ targetos: Windows

## -description

TBD
The PnpStop method provides a notification after stopping all Ioctl operations and moving active streams from run|pause|acquire state to stop state.

## -parameters


## -returns
This method returns void.

## -remarks

## -see-also
PnpStop is invoked by Portcls after stopping all Ioctl operations and moving active streams from run|pause|acquire state to stop state. This call is not made while holding the device global lock. Thus the miniport driver has an opportunity to wait for its async operations (work-items, dpc, async threads) and unregister its audio subdevices. Before returning from this call the miniport must ensure that all the hardware resources have been released.

The miniport must not wait for the current miniport/stream objects to be deleted since it is unclear when existing audio clients will release the current handles. The PnpStop thread cannot block forever without crashing the system, i.e., this is a PnP/Power thread.

IAdapterPnpManagement::Pnpstop is called after:

- All miniport audio subdevices have been notified.
- All the streams belonging to the audio subdevices have been stopped.
- All the Pnp interfaces have been turned off.
- All pending I/O has been cancelled.

For more information, see [Implement PnP Rebalance for PortCls Audio Drivers](https://docs.microsoft.com/windows-hardware/drivers/audio/implement-pnp-rebalance-for-portcls-audio-drivers).

## -see-also

[IAdapterPnpManagement](nn-portcls-iadapterpnpmanagement.md)

Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@
UID: NF:portcls.IAdapterPowerManagement3.PowerChangeState3
title: IAdapterPowerManagement3::PowerChangeState3
author: windows-driver-content
description: TBD
tech.root:
description: PortCls calls the PowerChangeState3 method to request a change to the new power state. This request is passed on to the adapter driver.
tech.root: audio
ms.assetid: e3bab2a6-34ac-490d-bcc3-95cb16ad7155
ms.author: windowsdriverdev
ms.date:
ms.date: 10/31/2018
ms.topic: method
ms.keywords: IAdapterPowerManagement3::PowerChangeState3, PowerChangeState3, IAdapterPowerManagement3.PowerChangeState3, IAdapterPowerManagement3::PowerChangeState3, IAdapterPowerManagement3.PowerChangeState3
req.header: portcls.h
Expand Down Expand Up @@ -45,25 +45,28 @@ targetos: Windows

## -description

TBD
PortCls calls the PowerChangeState3 method to request a change to the new power state. This request is passed on to the adapter driver.

## -parameters

### -param NewDeviceState


The new power state that Portcls has requested for the device. This parameter is an enumeration of type DEVICE_POWER_STATE.

### -param NewSystemState


The new power state that Portcls has requested for the system. This parameter is an enumeration of type SYSTEM_POWER_STATE.

### -param D3ExitLatency


The acceptable exit latency for the state into which the device is put when the device comes out of PowerDeviceD3. This parameter is an enumeration of type PC_EXIT_LATENCY.


## -returns
This method returns void.

## -remarks
If the device is not going into its new state from PowerDeviceD3, then D3ExitLatency is set to PcExitLatencyInstant. For more information about the possible values for D3ExitLatency, see [D3ExitLatencyChanged](nf-portcls-iadapterpowermanagement3-d3exitlatencychanged.md).

## -see-also

## -see-also
[IAdapterPowerManagement3](nn-portcls-iadapterpowermanagement3.md)
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@
UID: NF:portcls.IDmaChannel.AllocateBuffer
title: IDmaChannel::AllocateBuffer
author: windows-driver-content
description: TBD
tech.root:
description: The AllocateBuffer method allocates a common buffer that can be accessed by the port driver and DMA hardware.
tech.root: audio
ms.assetid: 5a1752fd-35e1-4ce1-9322-e4202705cb29
ms.author: windowsdriverdev
ms.date:
ms.date: 10/31/2018
ms.topic: method
ms.keywords: IDmaChannel::AllocateBuffer, AllocateBuffer, IDmaChannel.AllocateBuffer, IDmaChannel::AllocateBuffer, IDmaChannel.AllocateBuffer
req.header: portcls.h
Expand All @@ -18,7 +18,7 @@ req.kmdf-ver:
req.umdf-ver:
req.lib:
req.dll:
req.irql:
req.irql: PASSIVE_LEVEL
req.ddi-compliance:
req.unicode-ansi:
req.idl:
Expand All @@ -45,21 +45,24 @@ targetos: Windows

## -description

TBD
The AllocateBuffer method allocates a common buffer that can be accessed by the port driver and DMA hardware.

## -parameters

### -param BufferSize


Specifies the size in bytes of the buffer to be allocated.

### -param PhysicalAddressConstraint


Specifies an optional constraint to place on the physical address of the buffer. If this parameter is non-NULL, only the bits that are set in the constraint address will vary from the beginning to the end of the buffer. For example, to request a buffer that does not cross a 64-kilobyte boundary, specify the physical address constraint 0x000000000000FFFF.


## -returns
This method returns NTSTATUS.
This method returns NTSTATUS. AllocateBuffer returns STATUS_SUCCESS if the call was successful. Otherwise, the method returns an appropriate error code.

## -remarks

## -see-also
This method must be called only once following the creation of the DMA-channel object unless the previously allocated buffer is first freed by calling FreeBuffer.

## -see-also

[IDmaChannel](nn-portcls-idmachannel.md)
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@
UID: NF:portcls.IDmaChannel.AllocatedBufferSize
title: IDmaChannel::AllocatedBufferSize
author: windows-driver-content
description: TBD
tech.root:
description: The AllocatedBufferSize method returns the size of the allocated buffer.
tech.root: audio
ms.assetid: 81a39c45-7ff4-488a-87f9-ed6b3120df35
ms.author: windowsdriverdev
ms.date:
ms.date: 10/31/2018
ms.topic: method
ms.keywords: IDmaChannel::AllocatedBufferSize, AllocatedBufferSize, IDmaChannel.AllocatedBufferSize, IDmaChannel::AllocatedBufferSize, IDmaChannel.AllocatedBufferSize
req.header: portcls.h
Expand All @@ -18,7 +18,7 @@ req.kmdf-ver:
req.umdf-ver:
req.lib:
req.dll:
req.irql:
req.irql: Any level
req.ddi-compliance:
req.unicode-ansi:
req.idl:
Expand All @@ -45,13 +45,16 @@ targetos: Windows

## -description

TBD
The AllocatedBufferSize method returns the size of the allocated buffer.

## -parameters


## -returns
This method returns ULONG.
This method returns ULONG which is the size in bytes of the allocated buffer.

## -remarks

## -see-also
## -see-also

[IDmaChannel](nn-portcls-idmachannel.md)
Loading

0 comments on commit 8ced598

Please sign in to comment.