RxFinishFcbInitialization 函式 (fcb.h)
RxFinishFcbInitialization 是用來在網路迷你重新導向器成功完成建立作業之後完成FCB初始化。
語法
void RxFinishFcbInitialization(
IN OUT PMRX_FCB Fcb,
IN RX_FILE_TYPE FileType,
IN PFCB_INIT_PACKET InitPacket
);
參數
Fcb
要初始化之MRX_FCB結構的指標。
FileType
值,表示FCB所參考實體的儲存類型。 此參數的可能選項包括:
值 | 意義 |
---|---|
RDBSS_NTC_MAILSLOT | 郵件位置。 |
RDBSS_NTC_SPOOLFILE | 印表機多任務緩衝處理檔案。 |
RDBSS_NTC_STORAGE_TYPE_DIRECTORY | 目錄。 |
RDBSS_NTC_STORAGE_TYPE_UNKNOWN | 記憶體類型未知。 |
RDBSS_NTC_STORAGE_TYPE_FILE | 檔案。 |
InitPacket
根據所初始化FCB的儲存類型而定,初始化所需的額外數據指標。 如果未提供額外的數據,此參數可能是 NULL 指標。
傳回值
無
備註
當因為IRP_MJ_CREATE而呼叫時,會先呼叫 RxCreateNetFCB 來建立 FCB。 如果要建立之NET_ROOT的 Type 成員不是NET_ROOT_MAILSLOT,則會呼叫 RxFinishFcbInitialization 來完成 FCB 結構的初始化。
如果 MrxFcb 指向之MRX_FCB結構的 FcbState 成員沒有FCB_STATE_TIME_AND_SIZE_ALREADY_SET,則如果 InitPacket 不是 NULL,則會從 InitPacket 參數更新下列 FCB 成員:Attributes、NumberOfLinks、CreationTime、LastAccessTime、LastWriteTime、LastChangeTime、ActualAllocationLength、Header.AllocationSize、Header.FileSize 和 Header.ValidDataLength。 然後,在 FCB結構的FcbState 成員中設定FCB_STATE_TIME_AND_SIZE_ALREADY_SET選項。
如果儲存類型是RDBSS_NTC_MAILSLOT,而且 FCB 的 FcbState 成員已設定FCB_STATE_TIME_AND_SIZE_ALREADY_SET選項,則郵件位置的 FCB 結構下列成員將會初始化為 0: Attributes、 NumberOfLinks、 CreationTime.QuadPart、 LastAccessTime.QuadPart、LastWriteTime.QuadPart、 LastWriteTime.QuadPart、 LastChangeTime。QuadPart、 ActualAllocationLength、 Header.AllocationSize.QuadPart、 Header.FileSize.QuadPart 和 Header.ValidDataLength.QuadPart
規格需求
需求 | 值 |
---|---|
目標平台 | 桌面 |
標頭 | fcb.h (包括 Mrxfcb.h、Nodetype.h、Fcb.h) |
IRQL | <= APC_LEVEL |