EVT_WDF_WMI_INSTANCE_QUERY_INSTANCE回呼函式 (wdfwmi.h)
[僅適用於 KMDF]
驅動程式的 EvtWmiInstanceQueryInstance 回 呼函式會將 WMI 提供者的實例數據複製到緩衝區,以傳遞至 WMI 用戶端。
語法
EVT_WDF_WMI_INSTANCE_QUERY_INSTANCE EvtWdfWmiInstanceQueryInstance;
NTSTATUS EvtWdfWmiInstanceQueryInstance(
[in] WDFWMIINSTANCE WmiInstance,
[in] ULONG OutBufferSize,
[in] PVOID OutBuffer,
[out] PULONG BufferUsed
)
{...}
參數
[in] WmiInstance
WMI 實例物件的句柄。
[in] OutBufferSize
OutBuffer 指向的輸出緩衝區大小,以位元組為單位。
[in] OutBuffer
輸出緩衝區的指標。
[out] BufferUsed
位置的指標,接收驅動程式在輸出緩衝區中放置的位元元組數目。 如果 OutBufferSize 參數指定的輸出緩衝區大小太小,驅動程式會將這個位置設定為所需的緩衝區大小。
傳回值
如果 OutBufferSize 參數的值指出輸出緩衝區太小而無法接收數據,EvtWmiInstanceQueryInstance 回呼函式必須傳回STATUS_BUFFER_TOO_SMALL。 否則,回呼函式必須將數據複製到緩衝區,並傳回STATUS_SUCCESS。
備註
若要註冊 EvtWmiInstanceQueryInstance 回呼函式,您的驅動程式必須在呼叫 WdfWmiInstanceCreate 之前,將函式的位址放在WDF_WMI_INSTANCE_CONFIG結構中。
在架構將驅動程式提供的實例數據傳送至 WMI 用戶端之前,它會將所有必要的 WMI 標頭資訊新增至數據。
如果您的驅動程式將 WMI 實例物件之 WDF_WMI_INSTANCE_CONFIG 結構的 UseContextForQuery 成員設定為只讀數據區塊的 TRUE,驅動程式不會提供 EvtWmiInstanceQueryInstance 回呼函式。
如果您的驅動程式必須將字串數據提供給WMI用戶端,驅動程式應該呼叫 WDF_WMI_BUFFER_APPEND_STRING 函式來格式化字串。
如需 EvtWmiInstanceQueryInstance 回呼函式的詳細資訊,請參閱 支援讀取/寫入 WMI 數據區塊 和支援 Read-Only WMI 數據區塊。
架構不會同步處理驅動程式 WMI 事件回呼函式的呼叫彼此,或與任何驅動程式的其他事件回呼函式同步處理。 如果 EvtWmiInstanceQueryInstance 回呼函式的數據是動態的,並與其他回呼函式共用,則驅動程式可以使用架構的 等候鎖定或微調鎖定 來同步存取數據。
如需 WMI 的詳細資訊,請參閱 在 Framework-Based 驅動程式中支援 WMI。
規格需求
需求 | 值 |
---|---|
目標平台 | Universal |
最低 KMDF 版本 | 1.0 |
標頭 | wdfwmi.h (包含 Wdf.h) |
IRQL | PASSIVE_LEVEL |