Skip to content

New SDCAVAD sample#1340

Merged
5an7y-Microsoft merged 1 commit intomicrosoft:mainfrom
darugeri:master
Feb 12, 2026
Merged

New SDCAVAD sample#1340
5an7y-Microsoft merged 1 commit intomicrosoft:mainfrom
darugeri:master

Conversation

@darugeri
Copy link
Contributor

No description provided.

@darugeri darugeri requested a review from a team as a code owner November 25, 2025 19:01
DECLARE_CONST_UNICODE_STRING(circuitUri, EXT_CAPTURE_CIRCUIT_URI);

#pragma prefast(suppress:__WARNING_ALIASED_MEMORY_LEAK, "memory is freed by scope_exit")
PSDCAXU_ACX_CIRCUIT_CONFIG exCircuitConfig = (PSDCAXU_ACX_CIRCUIT_CONFIG)ExAllocatePool2(

Check warning

Code scanning / CodeQL

Possible information leakage from uninitialized padding bytes. Warning

Memory allocation of
_SDCAXU_ACX_CIRCUIT_CONFIG
includes uninitialized padding bytes.
DECLARE_CONST_UNICODE_STRING(circuitUri, EXT_RENDER_CIRCUIT_URI);

#pragma prefast(suppress:__WARNING_ALIASED_MEMORY_LEAK, "memory is freed by scope_exit")
PSDCAXU_ACX_CIRCUIT_CONFIG exCircuitConfig = (PSDCAXU_ACX_CIRCUIT_CONFIG)ExAllocatePool2(

Check warning

Code scanning / CodeQL

Possible information leakage from uninitialized padding bytes. Warning

Memory allocation of
_SDCAXU_ACX_CIRCUIT_CONFIG
includes uninitialized padding bytes.
RETURN_NTSTATUS_IF_TRUE(pinConnection != nullptr, status);

pinConnectionSize = (ULONG)info;
pinConnection = (PKSPIN_PHYSICALCONNECTION)ExAllocatePool2(POOL_FLAG_NON_PAGED, pinConnectionSize, DRIVER_TAG);

Check warning

Code scanning / CodeQL

Possible information leakage from uninitialized padding bytes. Warning

Memory allocation of
KSPIN_PHYSICALCONNECTION
includes uninitialized padding bytes.
}
}

KeReleaseSpinLock(&m_BufferingStateSpinLock, irql);

Check warning

Code scanning / CodeQL

IRQL too low (C28120) Warning

CKeywordDetector::UpdateBufferingState
: IRQL potentially too low at call to
KeReleaseSpinLock
. Minimum IRQL for this call: 2, IRQL at preceding node: 15
}
}

KeReleaseSpinLock(&m_BufferingStateSpinLock, irql);

Check warning

Code scanning / CodeQL

IRQL too low (C28120) Warning

CKeywordDetector::NotifyDetection
: IRQL potentially too low at call to
KeReleaseSpinLock
. Minimum IRQL for this call: 2, IRQL at preceding node: 15
m_PartialFrameBytes = m_FrameSize - (DWORD)length;

Done:
KeRestoreFloatingPointState(&saveData);

Check warning

Code scanning / CodeQL

Irql Float State Mismatch Warning

The irql level where the floating-point state was saved (0) does not match the irql level for the restore operation (1).
The irql level where the floating-point state was saved (0) does not match the irql level for the restore operation (2).
The irql level where the floating-point state was saved (0) does not match the irql level for the restore operation (3).
The irql level where the floating-point state was saved (0) does not match the irql level for the restore operation (4).
The irql level where the floating-point state was saved (0) does not match the irql level for the restore operation (5).
The irql level where the floating-point state was saved (0) does not match the irql level for the restore operation (6).
The irql level where the floating-point state was saved (0) does not match the irql level for the restore operation (7).
The irql level where the floating-point state was saved (0) does not match the irql level for the restore operation (8).
The irql level where the floating-point state was saved (0) does not match the irql level for the restore operation (9).
The irql level where the floating-point state was saved (0) does not match the irql level for the restore operation (10).
The irql level where the floating-point state was saved (0) does not match the irql level for the restore operation (11).
The irql level where the floating-point state was saved (0) does not match the irql level for the restore operation (12).
The irql level where the floating-point state was saved (0) does not match the irql level for the restore operation (13).
The irql level where the floating-point state was saved (0) does not match the irql level for the restore operation (14).
The irql level where the floating-point state was saved (0) does not match the irql level for the restore operation (15).
The irql level where the floating-point state was saved (1) does not match the irql level for the restore operation (0).
The irql level where the floating-point state was saved (1) does not match the irql level for the restore operation (2).
The irql level where the floating-point state was saved (1) does not match the irql level for the restore operation (3).
The irql level where the floating-point state was saved (1) does not match the irql level for the restore operation (4).
The irql level where the floating-point state was saved (1) does not match the irql level for the restore operation (5).
The irql level where the floating-point state was saved (1) does not match the irql level for the restore operation (6).
The irql level where the floating-point state was saved (1) does not match the irql level for the restore operation (7).
The irql level where the floating-point state was saved (1) does not match the irql level for the restore operation (8).
The irql level where the floating-point state was saved (1) does not match the irql level for the restore operation (9).
The irql level where the floating-point state was saved (1) does not match the irql level for the restore operation (10).
The irql level where the floating-point state was saved (1) does not match the irql level for the restore operation (11).
The irql level where the floating-point state was saved (1) does not match the irql level for the restore operation (12).
The irql level where the floating-point state was saved (1) does not match the irql level for the restore operation (13).
The irql level where the floating-point state was saved (1) does not match the irql level for the restore operation (14).
The irql level where the floating-point state was saved (1) does not match the irql level for the restore operation (15).
The irql level where the floating-point state was saved (2) does not match the irql level for the restore operation (0).
The irql level where the floating-point state was saved (2) does not match the irql level for the restore operation (1).
The irql level where the floating-point state was saved (2) does not match the irql level for the restore operation (3).
The irql level where the floating-point state was saved (2) does not match the irql level f
//
// Restore floating state.
//
KeRestoreFloatingPointState(&saveData);

Check warning

Code scanning / CodeQL

Irql Float State Mismatch Warning

The irql level where the floating-point state was saved (0) does not match the irql level for the restore operation (1).
The irql level where the floating-point state was saved (0) does not match the irql level for the restore operation (2).
The irql level where the floating-point state was saved (0) does not match the irql level for the restore operation (3).
The irql level where the floating-point state was saved (0) does not match the irql level for the restore operation (4).
The irql level where the floating-point state was saved (0) does not match the irql level for the restore operation (5).
The irql level where the floating-point state was saved (0) does not match the irql level for the restore operation (6).
The irql level where the floating-point state was saved (0) does not match the irql level for the restore operation (7).
The irql level where the floating-point state was saved (0) does not match the irql level for the restore operation (8).
The irql level where the floating-point state was saved (0) does not match the irql level for the restore operation (9).
The irql level where the floating-point state was saved (0) does not match the irql level for the restore operation (10).
The irql level where the floating-point state was saved (0) does not match the irql level for the restore operation (11).
The irql level where the floating-point state was saved (0) does not match the irql level for the restore operation (12).
The irql level where the floating-point state was saved (0) does not match the irql level for the restore operation (13).
The irql level where the floating-point state was saved (0) does not match the irql level for the restore operation (14).
The irql level where the floating-point state was saved (0) does not match the irql level for the restore operation (15).
The irql level where the floating-point state was saved (1) does not match the irql level for the restore operation (0).
The irql level where the floating-point state was saved (1) does not match the irql level for the restore operation (2).
The irql level where the floating-point state was saved (1) does not match the irql level for the restore operation (3).
The irql level where the floating-point state was saved (1) does not match the irql level for the restore operation (4).
The irql level where the floating-point state was saved (1) does not match the irql level for the restore operation (5).
The irql level where the floating-point state was saved (1) does not match the irql level for the restore operation (6).
The irql level where the floating-point state was saved (1) does not match the irql level for the restore operation (7).
The irql level where the floating-point state was saved (1) does not match the irql level for the restore operation (8).
The irql level where the floating-point state was saved (1) does not match the irql level for the restore operation (9).
The irql level where the floating-point state was saved (1) does not match the irql level for the restore operation (10).
The irql level where the floating-point state was saved (1) does not match the irql level for the restore operation (11).
The irql level where the floating-point state was saved (1) does not match the irql level for the restore operation (12).
The irql level where the floating-point state was saved (1) does not match the irql level for the restore operation (13).
The irql level where the floating-point state was saved (1) does not match the irql level for the restore operation (14).
The irql level where the floating-point state was saved (1) does not match the irql level for the restore operation (15).
The irql level where the floating-point state was saved (2) does not match the irql level for the restore operation (0).
The irql level where the floating-point state was saved (2) does not match the irql level for the restore operation (1).
The irql level where the floating-point state was saved (2) does not match the irql level for the restore operation (3).
The irql level where the floating-point state was saved (2) does not match the irql level f
//
// Restore floating state.
//
KeRestoreFloatingPointState(&saveData);

Check warning

Code scanning / CodeQL

Irql Float State Mismatch Warning

The irql level where the floating-point state was saved (0) does not match the irql level for the restore operation (1).
The irql level where the floating-point state was saved (0) does not match the irql level for the restore operation (2).
The irql level where the floating-point state was saved (0) does not match the irql level for the restore operation (3).
The irql level where the floating-point state was saved (0) does not match the irql level for the restore operation (4).
The irql level where the floating-point state was saved (0) does not match the irql level for the restore operation (5).
The irql level where the floating-point state was saved (0) does not match the irql level for the restore operation (6).
The irql level where the floating-point state was saved (0) does not match the irql level for the restore operation (7).
The irql level where the floating-point state was saved (0) does not match the irql level for the restore operation (8).
The irql level where the floating-point state was saved (0) does not match the irql level for the restore operation (9).
The irql level where the floating-point state was saved (0) does not match the irql level for the restore operation (10).
The irql level where the floating-point state was saved (0) does not match the irql level for the restore operation (11).
The irql level where the floating-point state was saved (0) does not match the irql level for the restore operation (12).
The irql level where the floating-point state was saved (0) does not match the irql level for the restore operation (13).
The irql level where the floating-point state was saved (0) does not match the irql level for the restore operation (14).
The irql level where the floating-point state was saved (0) does not match the irql level for the restore operation (15).
The irql level where the floating-point state was saved (1) does not match the irql level for the restore operation (0).
The irql level where the floating-point state was saved (1) does not match the irql level for the restore operation (2).
The irql level where the floating-point state was saved (1) does not match the irql level for the restore operation (3).
The irql level where the floating-point state was saved (1) does not match the irql level for the restore operation (4).
The irql level where the floating-point state was saved (1) does not match the irql level for the restore operation (5).
The irql level where the floating-point state was saved (1) does not match the irql level for the restore operation (6).
The irql level where the floating-point state was saved (1) does not match the irql level for the restore operation (7).
The irql level where the floating-point state was saved (1) does not match the irql level for the restore operation (8).
The irql level where the floating-point state was saved (1) does not match the irql level for the restore operation (9).
The irql level where the floating-point state was saved (1) does not match the irql level for the restore operation (10).
The irql level where the floating-point state was saved (1) does not match the irql level for the restore operation (11).
The irql level where the floating-point state was saved (1) does not match the irql level for the restore operation (12).
The irql level where the floating-point state was saved (1) does not match the irql level for the restore operation (13).
The irql level where the floating-point state was saved (1) does not match the irql level for the restore operation (14).
The irql level where the floating-point state was saved (1) does not match the irql level for the restore operation (15).
The irql level where the floating-point state was saved (2) does not match the irql level for the restore operation (0).
The irql level where the floating-point state was saved (2) does not match the irql level for the restore operation (1).
The irql level where the floating-point state was saved (2) does not match the irql level for the restore operation (3).
The irql level where the floating-point state was saved (2) does not match the irql level f
ntStatus = ReadHeaderAndFillBuffer();

Done:
(void)KeRestoreFloatingPointState(&saveData);

Check warning

Code scanning / CodeQL

Irql Float State Mismatch Warning

The irql level where the floating-point state was saved (0) does not match the irql level for the restore operation (1).
The irql level where the floating-point state was saved (0) does not match the irql level for the restore operation (2).
The irql level where the floating-point state was saved (0) does not match the irql level for the restore operation (3).
The irql level where the floating-point state was saved (0) does not match the irql level for the restore operation (4).
The irql level where the floating-point state was saved (0) does not match the irql level for the restore operation (5).
The irql level where the floating-point state was saved (0) does not match the irql level for the restore operation (6).
The irql level where the floating-point state was saved (0) does not match the irql level for the restore operation (7).
The irql level where the floating-point state was saved (0) does not match the irql level for the restore operation (8).
The irql level where the floating-point state was saved (0) does not match the irql level for the restore operation (9).
The irql level where the floating-point state was saved (0) does not match the irql level for the restore operation (10).
The irql level where the floating-point state was saved (0) does not match the irql level for the restore operation (11).
The irql level where the floating-point state was saved (0) does not match the irql level for the restore operation (12).
The irql level where the floating-point state was saved (0) does not match the irql level for the restore operation (13).
The irql level where the floating-point state was saved (0) does not match the irql level for the restore operation (14).
The irql level where the floating-point state was saved (0) does not match the irql level for the restore operation (15).
The irql level where the floating-point state was saved (1) does not match the irql level for the restore operation (0).
The irql level where the floating-point state was saved (1) does not match the irql level for the restore operation (2).
The irql level where the floating-point state was saved (1) does not match the irql level for the restore operation (3).
The irql level where the floating-point state was saved (1) does not match the irql level for the restore operation (4).
The irql level where the floating-point state was saved (1) does not match the irql level for the restore operation (5).
The irql level where the floating-point state was saved (1) does not match the irql level for the restore operation (6).
The irql level where the floating-point state was saved (1) does not match the irql level for the restore operation (7).
The irql level where the floating-point state was saved (1) does not match the irql level for the restore operation (8).
The irql level where the floating-point state was saved (1) does not match the irql level for the restore operation (9).
The irql level where the floating-point state was saved (1) does not match the irql level for the restore operation (10).
The irql level where the floating-point state was saved (1) does not match the irql level for the restore operation (11).
The irql level where the floating-point state was saved (1) does not match the irql level for the restore operation (12).
The irql level where the floating-point state was saved (1) does not match the irql level for the restore operation (13).
The irql level where the floating-point state was saved (1) does not match the irql level for the restore operation (14).
The irql level where the floating-point state was saved (1) does not match the irql level for the restore operation (15).
The irql level where the floating-point state was saved (2) does not match the irql level for the restore operation (0).
The irql level where the floating-point state was saved (2) does not match the irql level for the restore operation (1).
The irql level where the floating-point state was saved (2) does not match the irql level for the restore operation (3).
The irql level where the floating-point state was saved (2) does not match the irql level f
ntStatus = ReadHeaderAndFillBuffer();

Done:
(void)KeRestoreFloatingPointState(&saveData);

Check warning

Code scanning / CodeQL

Irql Float State Mismatch Warning

The irql level where the floating-point state was saved (0) does not match the irql level for the restore operation (1).
The irql level where the floating-point state was saved (0) does not match the irql level for the restore operation (2).
The irql level where the floating-point state was saved (0) does not match the irql level for the restore operation (3).
The irql level where the floating-point state was saved (0) does not match the irql level for the restore operation (4).
The irql level where the floating-point state was saved (0) does not match the irql level for the restore operation (5).
The irql level where the floating-point state was saved (0) does not match the irql level for the restore operation (6).
The irql level where the floating-point state was saved (0) does not match the irql level for the restore operation (7).
The irql level where the floating-point state was saved (0) does not match the irql level for the restore operation (8).
The irql level where the floating-point state was saved (0) does not match the irql level for the restore operation (9).
The irql level where the floating-point state was saved (0) does not match the irql level for the restore operation (10).
The irql level where the floating-point state was saved (0) does not match the irql level for the restore operation (11).
The irql level where the floating-point state was saved (0) does not match the irql level for the restore operation (12).
The irql level where the floating-point state was saved (0) does not match the irql level for the restore operation (13).
The irql level where the floating-point state was saved (0) does not match the irql level for the restore operation (14).
The irql level where the floating-point state was saved (0) does not match the irql level for the restore operation (15).
The irql level where the floating-point state was saved (1) does not match the irql level for the restore operation (0).
The irql level where the floating-point state was saved (1) does not match the irql level for the restore operation (2).
The irql level where the floating-point state was saved (1) does not match the irql level for the restore operation (3).
The irql level where the floating-point state was saved (1) does not match the irql level for the restore operation (4).
The irql level where the floating-point state was saved (1) does not match the irql level for the restore operation (5).
The irql level where the floating-point state was saved (1) does not match the irql level for the restore operation (6).
The irql level where the floating-point state was saved (1) does not match the irql level for the restore operation (7).
The irql level where the floating-point state was saved (1) does not match the irql level for the restore operation (8).
The irql level where the floating-point state was saved (1) does not match the irql level for the restore operation (9).
The irql level where the floating-point state was saved (1) does not match the irql level for the restore operation (10).
The irql level where the floating-point state was saved (1) does not match the irql level for the restore operation (11).
The irql level where the floating-point state was saved (1) does not match the irql level for the restore operation (12).
The irql level where the floating-point state was saved (1) does not match the irql level for the restore operation (13).
The irql level where the floating-point state was saved (1) does not match the irql level for the restore operation (14).
The irql level where the floating-point state was saved (1) does not match the irql level for the restore operation (15).
The irql level where the floating-point state was saved (2) does not match the irql level for the restore operation (0).
The irql level where the floating-point state was saved (2) does not match the irql level for the restore operation (1).
The irql level where the floating-point state was saved (2) does not match the irql level for the restore operation (3).
The irql level where the floating-point state was saved (2) does not match the irql level f
@darugeri darugeri requested a review from saurinshah9 December 15, 2025 23:05
@5an7y-Microsoft 5an7y-Microsoft self-assigned this Feb 12, 2026
@5an7y-Microsoft
Copy link
Contributor

All tests are green. Everything else LGTM.

@5an7y-Microsoft 5an7y-Microsoft merged commit 2977346 into microsoft:main Feb 12, 2026
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants