Freigeben über


DXGKCB_QUERY_SERVICES Rückruffunktion (dispmprt.h)

Die DxgkCbQueryServices--Funktion gibt eine Schnittstelle zurück, die vom Anzeigeporttreiber implementiert wird.

Syntax

DXGKCB_QUERY_SERVICES DxgkcbQueryServices;

NTSTATUS DxgkcbQueryServices(
  [in]      HANDLE DeviceHandle,
  [in]      DXGK_SERVICES ServicesType,
  [in, out] PINTERFACE Interface
)
{...}

Parameter

[in] DeviceHandle

Ein Handle, das einen Anzeigeadapter darstellt. Der Display-Miniporttreiber hat diesen Handle zuvor im DeviceHandle Member der DXGKRNL_INTERFACE-Struktur abgerufen, die an DxgkDdiStartDeviceübergeben wurde.

[in] ServicesType

Eine Konstante aus der DXGK_SERVICES-Aufzählung, die angibt, welche Schnittstelle angefordert wird.

[in, out] Interface

Ein Zeiger auf eine INTERFACE Struktur, die die angeforderte Schnittstelle empfängt.

Rückgabewert

DxgkCbQueryServices gibt STATUS_SUCCESS zurück, wenn dies erfolgreich ist. Andernfalls wird eine der fehlercodes zurückgegeben, die in ntstatus.hdefiniert sind.

Bemerkungen

Eine Schnittstelle ist in diesem Kontext eine Reihe von Funktionen, die vom Anzeigeporttreiber implementiert werden. Der Anzeigeporttreiber stellt die Funktionen einer Schnittstelle anderen Treibern zur Verfügung, indem Funktionszeiger als Reaktion auf DxgkCbQueryServicesbereitgestellt werden.

Abrufen der AGP-Schnittstelle

Gehen Sie wie folgt vor, um eine Beschleunigte Grafikportschnittstelle (AGP) abzurufen:

  1. Weisen Sie eine DXGK_AGP_INTERFACE Struktur zu.

  2. Legen Sie das Size Member auf sizeof(DXGK_AGP_INTERFACE) fest.

  3. Legen Sie das Version Mitglied fest. Versionskonstanten werden in Dispmprt.h definiert (z. B. DXGK_AGP_INTERFACE_VERSION_1).

  4. Rufen Sie DxgkCbQueryServicesauf; legen Sie ServicesType- auf DxgkServicesAgpfest, und legen Sie Interface auf die Adresse fest (PINTERFACE) der DXGK_AGP_INTERFACE Struktur.

  5. Wenn Sie von DxgkCbQueryServiceszurückkehren, enthält Ihre DXGK_AGP_INTERFACE Struktur Zeiger auf die AGP-Schnittstellenfunktionen; beispiel: AgpAllocatePool.

Abrufen der Debugbericht-Schnittstelle

Gehen Sie wie folgt vor, um eine Debugbericht-Schnittstelle abzurufen:

  1. Weisen Sie eine DXGK_DEBUG_REPORT_INTERFACE Struktur zu.

  2. Legen Sie das Size Member auf sizeof(DXGK_DEBUG_REPORT_INTERFACE) fest.

  3. Legen Sie das Version Mitglied fest. Versionskonstanten werden in Dispmprt.h definiert (z. B. DXGK_DEBUG_REPORT_INTERFACE_VERSION_1).

  4. Rufen Sie DxgkCbQueryServicesauf; legen Sie ServicesType- auf DxgkServicesDebugReport-fest, und legen Sie Interface auf die Adresse (umwandeln als PINTERFACE) Ihrer DXGK_DEBUG_REPORT_INTERFACE-Struktur fest.

  5. Wenn Sie von DxgkCbQueryServiceszurückkehren, enthält ihre DXGK_DEBUG_REPORT_INTERFACE Struktur Zeiger auf die Funktionen der Debugbericht-Schnittstelle; beispiel: DbgReportCreate.

Abrufen der Timed Operation-Schnittstelle

Gehen Sie wie folgt vor, um eine Timed Operation-Schnittstelle zu erhalten:

  1. Weisen Sie eine DXGK_TIMED_OPERATION_INTERFACE Struktur zu.

  2. Legen Sie das Size Member auf sizeof(DXGK_TIMED_OPERATION_INTERFACE) fest.

  3. Legen Sie das Version Mitglied fest. Versionskonstanten werden in Dispmprt.h definiert (z. B. DXGK_TIMED_OPERATION_INTERFACE_VERSION_1).

  4. Rufen Sie DxgkCbQueryServicesauf; legen Sie ServicesType auf DxgkServicesTimedOperationfest, und legen Sie Interface auf die Adresse (umwandeln als PINTERFACE) Ihrer DXGK_TIMED_OPERATION_INTERFACE Struktur fest.

  5. Wenn Sie von DxgkCbQueryServiceszurückkehren, enthält Ihre DXGK_TIMED_OPERATION_INTERFACE-Struktur Zeiger auf die Funktionen der Timed Operation-Schnittstelle; beispiel: TimedOperationStart.

Abrufen der SPB- und Systemfirmwaretabellenschnittstellen

Die Simple Peripheral Bus (SPB) und System Firmware Table Schnittstellen können auf ähnliche Weise abgerufen werden, indem sie die entsprechenden ServicesType- und -Struktur verwenden.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Windows Vista
Zielplattform- Desktop
Header- dispmprt.h (include Dispmprt.h)
IRQL- PASSIVE_LEVEL

Siehe auch

DXGK_AGP_INTERFACE

DxgkDdiStartDevice

DXGK_DEBUG_REPORT_INTERFACE

DXGK_FIRMWARE_TABLE_INTERFACE

DXGK_SERVICES

DXGK_SPB_INTERFACE

DXGK_TIMED_OPERATION_INTERFACE

DXGKRNL_INTERFACE

INTERFACE-