前置詞資料表管理
RDBSS 會定義資料結構,以便使用前置詞資料表來目錄SRV_CALL、NET_ROOT和V_NET_ROOT名稱。
RDBSS 中名稱管理的目前實作會使用具有下列元件的資料表:
插入名稱的佇列
版本戳記
控制資料表存取的資料表鎖定資源
值,指出名稱相符專案是否不區分大小寫
此前置詞資料表的雜湊值專案貯體
資料表鎖定資源會以一般方式使用:共用查閱作業,專屬於變更作業。
版本戳記會隨著每個變更而變更。 佇列的原因是前置詞資料表封裝允許一次列舉多個呼叫端。 插入名稱和版本戳記的佇列可同時列舉多個呼叫端。 佇列可作為檔案名的更快速查閱,但前置詞資料表絕對是NET_ROOT結構的正確方法。
RDBSS 會在內部使用這些前置詞資料表管理常式,以回應 MUP 的呼叫來宣告名稱或形成NET_ROOT結構的建立路徑。 只要在存取資料表之前取得適當的鎖定,而且在工作完成時釋放鎖定,這些 RDBSS 前置詞資料表管理常式也可以由網路迷你重新導向器使用。 驅動程式的一般用法如下所示:
呼叫 RxAcquirePrefixTableLockShared來取得共用鎖定。
呼叫 RxPrefixTableLookupName來查閱名稱。
呼叫 RxReleasePrefixTableLock以釋放共用鎖定。
請注意,某些常式只會在 Windows XP 和舊版 Windows 上實作。 RxPrefixTableLookupName 是所有 Windows 版本上實作的唯一前置詞資料表管理常式
RDBSS 前置詞資料表管理常式包括下列各項:
常式傳回的值 | 描述 |
---|---|
此常式會取得前置詞資料表的獨佔鎖定,用來編錄SRV_CALL和NET_ROOT名稱。 此常式僅適用于 Windows XP 和 Windows 2000。 此常式是由 RDBSS 內部使用,不應由網路迷你重新導向器使用。 |
|
此常式會在前置詞資料表上取得共用鎖定,以用於目錄SRV_CALL和NET_ROOT名稱。 此常式僅適用于 Windows XP 和 Windows 2000。 此常式是由 RDBSS 內部使用,不應由網路迷你重新導向器使用。 |
|
常式會在前置詞資料表中查閱名稱,以用於目錄SRV_CALL和NET_ROOT名稱,並從基礎指標轉換成包含結構。 |
|
此常式會在前置詞資料表上釋放鎖定,以用於目錄SRV_CALL和NET_ROOT名稱。 此常式僅適用于 Windows XP 和 Windows 2000。 此常式是由 RDBSS 內部使用,不應由網路迷你重新導向器使用。 |
從 Windows Server 2003 開始,上表中提及的常式除了 RxPrefixTableLookupName以外,會由宏取代。下列宏的定義是呼叫具有較少參數的前置詞資料表常式。
巨集 | 描述 |
---|---|
RxAcquirePrefixTableLockExclusive (TABLE, WAIT) |
此宏會以獨佔模式取得變更作業的前置詞資料表鎖定。 |
RxAcquirePrefixTableLockShared (TABLE, WAIT) |
此宏會在共用模式中取得查閱作業的前置詞資料表鎖定。 |
RxIsPrefixTableLockAcquired (TABLE) |
此宏指出是否以獨佔或共用模式取得前置詞資料表鎖定。 |
RxIsPrefixTableLockExclusive (TABLE) |
這個宏會指出前置詞資料表鎖定是否以獨佔模式取得。 |
RxReleasePrefixTableLock (TABLE) |
此宏會釋放前置詞資料表鎖定。 |