KSPIN_DISPATCH 結構 (ks.h)
KSPIN_DISPATCH 結構描述用戶端可以註冊的回呼,以接收針腳事件的通知。
語法
typedef struct _KSPIN_DISPATCH {
PFNKSPINIRP Create;
PFNKSPINIRP Close;
PFNKSPIN Process;
PFNKSPINVOID Reset;
PFNKSPINSETDATAFORMAT SetDataFormat;
PFNKSPINSETDEVICESTATE SetDeviceState;
PFNKSPIN Connect;
PFNKSPINVOID Disconnect;
const KSCLOCK_DISPATCH *Clock;
const KSALLOCATOR_DISPATCH *Allocator;
} KSPIN_DISPATCH, *PKSPIN_DISPATCH;
成員
Create
minidriver 提供的 AVStrMiniPinCreate 回呼例程的指標。 選擇性。 可以是 NULL。
Close
minidriver 提供的 AVStrMiniPinClose 回呼例程的指標。 選擇性。 可以是 NULL。
Process
minidriver 提供的 AVStrMiniPinProcess 回呼例程的指標。 選擇性。 可以是 NULL。
Reset
minidriver 提供的 AVStrMiniPinReset 回呼例程的指標。 選擇性。 可以是 NULL。
SetDataFormat
minidriver 提供的 AVStrMiniPinSetDataFormat 回呼例程的指標。 選擇性。 可以是 NULL。
SetDeviceState
minidriver 提供的 AVStrMiniPinSetDeviceState 回呼例程的指標。 選擇性。 可以是 NULL。
Connect
minidriver 提供的 AVStrMiniPinConnect 回呼例程的指標。 選擇性。 可以是 NULL。
Disconnect
minidriver 提供的 AVStrMiniPinDisconnect 回呼例程的指標。 選擇性。 可以是 NULL。
Clock
KSCLOCK_DISPATCH 結構的指標。 針對公開時鐘的針腳指定這個成員。 選擇性。 可以是 NULL。
Allocator
KSALLOCATOR_DISPATCH 結構的指標。 針對能夠執行核心層級配置的針腳指定這個成員。 選擇性。 可以是 NULL。
備註
任何回呼指標可以是 NULL,表示迷你驅動程式不需要接收這個特定分派的通知。
如果 minidriver 需要判斷是否已發出訊號以移至特定狀態 (,例如KSSTATE_RUN) ,比較 KSPIN的 DeviceState 成員值與KSSTATE_RUN不是執行此動作的可靠方法。 DeviceState 是指針腳已發出信號的狀態,而不是管道。 若要可靠地執行上述內容,請改為在此結構的 SetDeviceState 回呼中建立變數,然後檢查此變數以做出判斷。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | 可在 Microsoft Windows XP 和更新版本的作業系統和 Microsoft DirectX 8.0 和更新版本中取得。 |
標頭 | ks.h (包含 Ks.h) |