Share via


IMFExtendedCameraControl-Schnittstelle (mfidl.h)

Diese Schnittstelle wird verwendet, um die erweiterten Eigenschaften eines Erfassungsgeräts zu konfigurieren. Unterstützte Eigenschaften und Funktionen werden in der in ksmedia.h definierten Headerdatei als Konstanten mit der Namenskonvention KSCAMERA_EXTENDEDPROP_ definiert.

Vererbung

Die IMFExtendedCameraControl-Schnittstelle erbt von der IUnknown-Schnittstelle.

Methoden

Die IMFExtendedCameraControl-Schnittstelle verfügt über diese Methoden.

 
IMFExtendedCameraControl::CommitSettings

Committent die konfigurierten Steuerelementeinstellungen an den Kameratreiber.
IMFExtendedCameraControl::GetCapabilities

Abfragen von Eigenschaftenfunktionen, die vom Erfassungsgerät unterstützt werden.
IMFExtendedCameraControl::GetFlags

Abfragen von Eigenschaftenflags auf dem Erfassungsgerät.
IMFExtendedCameraControl::LockPayload

Sperrt den internen Nutzlastpuffer, der im Erfassungsgerätesteuerelement enthalten ist, um das Abfragen oder Ändern der Nutzlast zu ermöglichen.
IMFExtendedCameraControl::SetFlags

Legt die Flags für eine Eigenschaft auf dem Aufnahmegerät fest.
IMFExtendedCameraControl::UnlockPayload

Entsperrt die rohe Nutzlast, die in der Erfassungsgerätesteuerung enthalten ist.

Bemerkungen

Rufen Sie eine Instanz dieser Schnittstelle ab, indem Sie IMFExtendedCameraController::GetExtendedCameraControl aufrufen.

Nicht unterstützte Eigenschaften

Beachten Sie, dass einige KSCAMERA_EXTENDEDPROP_ Eigenschaften für diese API nicht unterstützt werden. Auf ihre Funktionalität kann nur von Client-Apps über die WinRT-Medienerfassungs-APIs zugegriffen werden.

KSPROPERTY_CAMERACONTROL_EXTENDED_WARMSTART

Das Verhalten dieser Eigenschaft wird über die folgenden WinRT-APIs verfügbar gemacht:

Diese APIs führen dazu, dass die Erfassungspipeline mit dem ausgewählten Medientyp konfiguriert wird und die Treibernadel in einen angehaltenen Zustand versetzt wird, wodurch der Treiber informiert wird, die für den Vorgang zugeordneten/konfigurierten Hardwareressourcen abzurufen. Dies trägt dazu bei, die Latenz zu minimieren, indem die Vorbereitung von Ressourcen vorab geladen wird.

Beachten Sie, dass die Warmstartfunktion ein optionales Steuerelement für Erfassungsgeräte ist. Wenn das Steuerelement also nicht verfügbar ist, bieten die oben genannten APIs nicht das Warmstartverhalten. Diese APIs konfigurieren weiterhin die Senkenseite der Erfassung, sodass ihre Verwendung einige Vorteile hat.

KSPROPERTY_CAMERACONTROL_EXTENDED_PHOTOMODE

Das Verhalten dieser Eigenschaft wird über die folgenden WinRT-APIs verfügbar gemacht:

Diese APIs konfigurieren sowohl die Erfassungs- als auch die Senkenseite der Pipeline und versetzen die Treibernadel in den ausgeführten Zustand, erfassen Frames, aber noch nicht an die Pipeline. Die Frames beginnen, die Pipeline zu durchlaufen, wenn der Erfassungsvorgang gestartet wird.

Beachten Sie, dass diese Funktionalität ein optionales Steuerelement für Erfassungsgeräte ist. Wenn das Steuerelement also nicht verfügbar ist, geben die obigen APIs einen Fehler zurück.

Beispiele

Im folgenden Beispiel wird das Festlegen des KSCAMERA_EXTENDEDPROP_VIDEOTORCH_ON-Flags und das Committen der Einstellung veranschaulicht.

if (FAILED(m_cameraController->GetExtendedCameraControl(MF_CAPTURE_ENGINE_MEDIASOURCE,
    KSPROPERTY_CAMERACONTROL_EXTENDED_TORCHMODE,
    cameraControl.put())))
{
    // Return false to indicate that the Torch Mode control is not available.
    return false;
}

ULONGLONG capabilities = cameraControl->GetCapabilities();

// Check if the torch can be turned on.
if (capabilities & KSCAMERA_EXTENDEDPROP_VIDEOTORCH_ON)
{
    // Check if the torch is off.
    if ((cameraControl->GetFlags() & KSCAMERA_EXTENDEDPROP_VIDEOTORCH_ON) == 0)
    {
        // Torch is off. Tell the camera to turn it on.
        check_hresult(cameraControl->SetFlags(KSCAMERA_EXTENDEDPROP_VIDEOTORCH_ON));
        // Write the changed settings to the driver.
        check_hresult(cameraControl->CommitSettings());
    }
}

Anforderungen

   
Unterstützte Mindestversion (Client) Windows 10 Build 20348
Unterstützte Mindestversion (Server) Windows 10 Build 20348
Kopfzeile mfidl.h