FsRtlRemoveExtraCreateParameter 函式 (ntifs.h)

FsRtlRemoveExtraCreateParameter 例程會搜尋 ECP 內容結構的 ECP 清單,如果找到,則會將其與 ECP 清單中斷連結。

語法

NTSTATUS FsRtlRemoveExtraCreateParameter(
  [in, out]       PECP_LIST EcpList,
  [in]            LPCGUID   EcpType,
  [out]           PVOID     *EcpContext,
  [out, optional] ULONG     *EcpContextSize
);

參數

[in, out] EcpList

額外 create 參數的指標 (ECP) 清單,其中包含要從指定清單卸離的 ECP 內容結構。

[in] EcpType

GUID 的指標,可唯一識別要從清單中卸離的 ECP 內容結構。

[out] EcpContext

卸離 ECP 內容結構的指標。 如果 ECP 內容結構已成功從指定的清單中斷連結,此參數會設定為指向已中斷連結的 ECP 內容結構。 如果在指定的 ECP 清單中找不到 ECP 內容結構,此參數會設定為 NULL

[out, optional] EcpContextSize

選擇性參數,可接收卸離 ECP 內容結構的大小。 如果呼叫例程時存在此參數,參數將會收到卸離 ECP 內容結構的大小,以位元組為單位。 如果在指定的 ECP 清單中找不到指定的 ECP 內容結構,則此參數未定義。

傳回值

FsRtlRemoveExtraCreateParameter 會傳回 NTSTATUS 程序代碼,例如下列其中一項:

傳回碼 Description
STATUS_SUCCESS 指定的 ECP 內容結構已成功從指定的 ECP 清單中斷連結。
STATUS_NOT_FOUND 在指定的 ECP 清單中找不到指定的 ECP 內容結構。

備註

FsRtlRemoveExtraCreateParameter 例程會搜尋 EcpList 參數所提供的 ECP 清單,以取得 EcpType 參數所指定的 ECP 內容結構。 如果 ECP 內容結構存在於清單中, FsRtlRemoveExtraCreateParameter 會中斷連結清單的結構、將 EcpContext 參數設定為指向結構,並傳回STATUS_SUCCESS。 如果 ECP 內容結構不存在於清單中, FsRtlRemoveExtraCreateParameter 會將 EcpContext 參數設定為 NULL ,並傳回STATUS_NOT_FOUND。

注意

FsRtlRemoveExtraCreateParameter 不會釋放 ECP 內容結構的記憶體集區。 若要釋放 ECP 內容結構的記憶體集區,請先呼叫 FsRtlRemoveExtraCreateParameter 從清單中中斷連結,然後呼叫 FltFreeExtraCreateParameter 例程以釋放 ECP 內容結構的記憶體集區。

規格需求

需求
最低支援的用戶端 FsRtlRemoveExtraCreateParameter 例程可從 Windows Vista 開始提供。
目標平台 Universal
標頭 ntifs.h (包含 Ntifs.h)
程式庫 NtosKrnl.lib
Dll NtosKrnl.exe
IRQL <= APC_LEVEL

另請參閱

ECP_LIST

FsRtlAllocateExtraCreateParameter

FsRtlAllocateExtraCreateParameterFromLookasideList

FltCreateFileEx2

FltFreeExtraCreateParameter

FltGetEcpListFromCallbackData

FltInsertExtraCreateParameter

FltRemoveExtraCreateParameter

FltSetEcpListIntoCallbackData

IoCreateFileEx