FilterInstanceFindFirst 函式 (fltuser.h)
FilterInstanceFindFirst函式會傳回迷你篩選驅動程式實例的相關資訊,並做為掃描迷你篩選實例的起點。
語法
HRESULT FilterInstanceFindFirst(
[in] LPCWSTR lpFilterName,
[in] INSTANCE_INFORMATION_CLASS dwInformationClass,
[out] LPVOID lpBuffer,
[in] DWORD dwBufferSize,
[out] LPDWORD lpBytesReturned,
[out] LPHANDLE lpFilterInstanceFind
);
參數
[in] lpFilterName
Null 終止寬字元字串的指標,其中包含擁有 實例的迷你篩選驅動程式名稱。
[in] dwInformationClass
傳回的實例資訊結構類型。 此參數必須是下列其中一個值。
值 | 意義 |
---|---|
InstanceBasicInformation | 傳回 實例 的INSTANCE_BASIC_INFORMATION 結構。 |
InstanceFullInformation | 傳回 實例 的INSTANCE_FULL_INFORMATION 結構。 |
InstancePartialInformation | 傳回 實例 的INSTANCE_PARTIAL_INFORMATION 結構。 |
InstanceAggregateStandardInformation | 傳回 實例 的INSTANCE_AGGREGATE_STANDARD_INFORMATION 結構。 未使用結構的 LegacyFilter 部分。 從 Windows Vista 開始,即可使用此結構。 |
[out] lpBuffer
接收所要求資訊的呼叫端配置緩衝區指標。 緩衝區中傳回的資訊類型是由 dwInformationClass 參數所定義。
[in] dwBufferSize
lpBuffer參數所指向緩衝區的大小,以位元組為單位。 呼叫端應該根據指定的 dwInformationClass來設定此參數。
[out] lpBytesReturned
如果呼叫 FilterInstanceFindFirst的呼叫成功,呼叫端配置的變數會接收lpBuffer指向之緩衝區中傳回的位元組數目的指標。 這個參數是必要的,而且不能是 Null。
[out] lpFilterInstanceFind
呼叫端配置的變數指標,如果 FilterInstanceFindFirst 呼叫成功,則會接收迷你篩選的搜尋控制碼;否則,它會收到INVALID_HANDLE_VALUE。 此搜尋控制碼可用於 後續對 FilterInstanceFindNext 和 FilterInstanceFindClose的呼叫。
傳回值
如果成功,FilterInstanceFindFirst會傳回S_OK。 否則,它會傳回 HRESULT 錯誤值,例如下列其中一項:
傳回碼 | 描述 |
---|---|
|
lpBuffer指向的緩衝區不夠大,無法包含要求的資訊。 傳回此值時, lpBytesReturned 會包含指定 dwInformationClass 結構所需的緩衝區大小,以位元組為單位。 |
|
為 dwInformationClass 參數指定了不正確值。 例如,如果針對 Windows Vista 之前的作業系統指定 InstanceAggregateStandardInformation ,此函式會傳回此 HRESULT 值。 |
|
lpFilterName參數指定的迷你篩選沒有檔案系統堆疊上的實例。 |
備註
FilterInstanceFindFirst函式會開啟搜尋控制碼,並傳回由 lpFilterName命名之迷你篩選實例的相關資訊。 建立搜尋控制碼之後,請呼叫 FilterInstanceFindNext 來搜尋相同迷你篩選的其他實例。 不再需要搜尋控制碼時,請呼叫 FilterInstanceFindClose將其關閉。
需求
目標平台 | Universal |
標頭 | fltuser.h (包含 FltUser.h) |
程式庫 | FltLib.lib |
Dll | FltLib.dll |