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。 此搜尋控制碼可用於 後續對 FilterInstanceFindNextFilterInstanceFindClose的呼叫。

傳回值

如果成功,FilterInstanceFindFirst會傳回S_OK。 否則,它會傳回 HRESULT 錯誤值,例如下列其中一項:

傳回碼 描述
HRESULT_FROM_WIN32(ERROR_INSUFFICIENT_BUFFER)
lpBuffer指向的緩衝區不夠大,無法包含要求的資訊。 傳回此值時, lpBytesReturned 會包含指定 dwInformationClass 結構所需的緩衝區大小,以位元組為單位。
HRESULT_FROM_WIN32 (ERROR_INVALID_PARAMETER)
dwInformationClass 參數指定了不正確值。 例如,如果針對 Windows Vista 之前的作業系統指定 InstanceAggregateStandardInformation ,此函式會傳回此 HRESULT 值。
HRESULT_FROM_WIN32 (ERROR_NO_MORE_ITEMS)
lpFilterName參數指定的迷你篩選沒有檔案系統堆疊上的實例。

備註

FilterInstanceFindFirst函式會開啟搜尋控制碼,並傳回由 lpFilterName命名之迷你篩選實例的相關資訊。 建立搜尋控制碼之後,請呼叫 FilterInstanceFindNext 來搜尋相同迷你篩選的其他實例。 不再需要搜尋控制碼時,請呼叫 FilterInstanceFindClose將其關閉。

需求

   
目標平台 Universal
標頭 fltuser.h (包含 FltUser.h)
程式庫 FltLib.lib
Dll FltLib.dll

另請參閱

FilterInstanceFindClose

FilterInstanceFindNext

INSTANCE_AGGREGATE_STANDARD_INFORMATION

INSTANCE_BASIC_INFORMATION

INSTANCE_FULL_INFORMATION

INSTANCE_PARTIAL_INFORMATION