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:
Weisen Sie eine DXGK_AGP_INTERFACE Struktur zu.
Legen Sie das Size Member auf sizeof(DXGK_AGP_INTERFACE) fest.
Legen Sie das Version Mitglied fest. Versionskonstanten werden in Dispmprt.h definiert (z. B. DXGK_AGP_INTERFACE_VERSION_1).
Rufen Sie DxgkCbQueryServicesauf; legen Sie ServicesType- auf DxgkServicesAgpfest, und legen Sie Interface auf die Adresse fest (PINTERFACE) der DXGK_AGP_INTERFACE Struktur.
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:
Weisen Sie eine DXGK_DEBUG_REPORT_INTERFACE Struktur zu.
Legen Sie das Size Member auf sizeof(DXGK_DEBUG_REPORT_INTERFACE) fest.
Legen Sie das Version Mitglied fest. Versionskonstanten werden in Dispmprt.h definiert (z. B. DXGK_DEBUG_REPORT_INTERFACE_VERSION_1).
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.
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:
Weisen Sie eine DXGK_TIMED_OPERATION_INTERFACE Struktur zu.
Legen Sie das Size Member auf sizeof(DXGK_TIMED_OPERATION_INTERFACE) fest.
Legen Sie das Version Mitglied fest. Versionskonstanten werden in Dispmprt.h definiert (z. B. DXGK_TIMED_OPERATION_INTERFACE_VERSION_1).
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.
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 |