共用方式為


PVIDEO_HW_QUERY_INTERFACE video.h) (回呼函式

HwVidQueryInterface 會傳回迷你埠驅動程序實作的功能介面,子裝置可以呼叫。

語法

PVIDEO_HW_QUERY_INTERFACE PvideoHwQueryInterface;

VP_STATUS PvideoHwQueryInterface(
  PVOID HwDeviceExtension,
  PQUERY_INTERFACE QueryInterface
)
{...}

參數

HwDeviceExtension

迷你埠驅動程式每個適配卡儲存區域的指標。 如需詳細資訊,請參閱 裝置延伸模組

QueryInterface

迷你埠驅動程序應該傳回其支援的介面相關信息 的QUERY_INTERFACE 結構指標。

傳回值

HwVidQueryInterface 應該會在成功時傳回NO_ERROR;否則應該傳回適當的錯誤碼。 例如,如果迷你埠驅動程序無法配置記憶體來完成作業,則應該傳回ERROR_OUTOFMEMORY。

備註

HwVidQueryInterface 會公開視訊迷你埠驅動程式與子裝置驅動程式之間的通訊機制。 公開這類機制的迷你埠驅動程序應該實作此函式。

當影片埠收到IRP_MN_QUERY_INTERFACE要求時,會呼叫 HwVidQueryInterface 。 如果迷你埠驅動程式呼叫失敗,視訊埠驅動程式會將要求傳遞至迷你埠驅動程式裝置的父代。

HwVidQueryInterface 應該填入 QueryInterface-Interface> 指向的 INTERFACE 結構成員,如下所示:

  • Size 設定為 INTERFACE 結構中的位元元組數目。 此值不得超過 QueryInterface->Size 所指定的位元元組數目。
  • Version 設定為迷你埠驅動程式所傳回的介面版本。 迷你埠驅動程序應該最符合 QueryInterface-> 版本中子驅動程式所要求的版本
  • [內容 ] 設定為指向介面的迷你埠驅動程式定義內容。 一般而言,迷你埠驅動程式會將 Context 設定為指向 HwDeviceExtension所識別的裝置延伸模組。
  • 初始化 InterfaceReferenceInterfaceDereference ,以指向這個介面的迷你埠驅動程式實作參考和取值例程。
  • 初始化所有其他介面特定成員,以指向所公開介面的適當例程。
傳回介面的迷你埠驅動程序負責呼叫 QueryInterface->Interface.InterfaceReference 來參考介面。 要求介面的子驅動程式負責在驅動程式不再需要介面時,藉由呼叫 QueryInterface->Interface.InterfaceDereference 來取消參考該介面。 如果子驅動程式將介面傳遞至另一個元件,則子系會負責取出另一個參考,而另一個元件則負責在不再需要存取介面時移除其他參考。 參考可讓父系判斷子裝置仍然需要介面的時機,因此當父代可以釋放任何介面相關聯的資源時。

子裝置的驅動程式可以隨時透過 HwVidQueryInterface 公開的函式呼叫迷你埠驅動程式,而不需要視訊埠驅動程序的知識。 因此,迷你埠驅動程序必須藉由取得並釋放 HwVidQueryInterface 所公開之所有函式中的視訊埠驅動程式維護裝置鎖定,來同步處理本身的存取。

HwVidGetVideoChildDescriptor 會列舉子裝置。

HwVidQueryInterface 應該設為可分頁。

規格需求

需求
目標平台 桌面
標頭 video.h (包含 Video.h)

另請參閱

HwVidGetVideoChildDescriptor

QUERY_INTERFACE

VideoPortAcquireDeviceLock

VideoPortReleaseDeviceLock