Macro definite da RDBSS
Alcune macro utili sono definite nei file di intestazione WDK (Window Driver Kit) che chiamano queste routine RDBSS o altre routine del kernel. Alcune di queste macro vengono normalmente usate anziché chiamare direttamente le routine RDBSS. Alcune di queste macro vengono usate come routine di praticità.
Le macro seguenti sono definite da RDBSS.
Macro | Descrizione |
---|---|
RxAcquirePrefixTableLockExclusive (TABLE, WAIT) |
Questa macro acquisisce il blocco tabella prefisso in modalità esclusiva per le operazioni di modifica. |
RxAcquirePrefixTableLockShared (TABLE, WAIT) |
Questa macro acquisisce il blocco tabella prefisso in modalità condivisa per le operazioni di ricerca. |
RxAllocatePoolWithTag (tipo, dimensioni, tag) |
Nelle build controllate, questa macro alloca la memoria da un pool con un tag a quattro byte all'inizio del blocco che può essere usato per rilevare le istanze del cestino della memoria. Nelle build di vendita al dettaglio questa macro diventa una chiamata diretta a ExAllocatePoolWithTag. |
RxCheckMemoryBlock (ptr) |
Nelle compilazioni controllate, questa macro controlla un blocco di memoria per una firma di intestazione RX_POOL_HEADER speciale. Nelle build di vendita al dettaglio, questa macro non fa nulla. |
RxDereferenceAndFinalizeNetFcb (Fcb ,RxContext, RecursiveFinalize, ForceFinalize) |
Questa macro viene usata per tenere traccia delle operazioni di dereferenza nelle strutture FCB. Si noti che questa macro modifica il conteggio dei riferimenti e restituisce anche lo stato della chiamata di dereferenza finale. |
RxDereferenceNetFcb (Fcb) |
Questa macro viene usata per tenere traccia delle operazioni di dereferenza nelle strutture FCB. Si noti che questa macro modifica il conteggio dei riferimenti e restituisce anche lo stato della chiamata di dereferenza finale. |
RxDereferenceNetFobx (Fobx,LockHoldingState) |
Questa macro viene usata per tenere traccia delle operazioni di dereferenza nelle strutture FOBX. |
RxDereferenceNetRoot (NetRoot, LockHoldingState) |
Questa macro viene usata per tenere traccia delle operazioni di dereferenza sulle strutture NET_ROOT. |
RxDereferenceSrvCall (SrvCall, LockHoldingState) |
Questa macro viene usata per tenere traccia delle operazioni di dereferenza sulle strutture SRV_CALL. |
RxDereferenceSrvOpen ( SrvOpen, LockHoldingState) |
Questa macro viene usata per tenere traccia delle operazioni di dereferenza sulle strutture SRV_OPEN. |
RxDereferenceVNetRoot ( VNetRoot, LockHoldingState) |
Questa macro viene usata per tenere traccia delle operazioni di dereferenza sulle strutture V_NET_ROOT. |
RxFcbAcquiredShared (RXCONTEXT, FCB) |
Questa macro controlla se il thread corrente ha accesso alla risorsa regolare in modalità condivisa. Questa macro chiama la routine ExIsResourceAcquiredSharedLite . |
RxFillAndInstallFastIoDispatch(__devobj, __fastiodisp) |
Questa macro chiama __RxFillAndInstallFastIoDispatch per compilare un vettore di invio di I/O rapido in modo che sia identico al normale vettore di I/O di invio e lo installa nell'oggetto driver associato all'oggetto dispositivo passato. |
RxFreePool (ptr) |
Nelle build controllate, questa macro libera un pool di memoria. Nelle build di vendita al dettaglio questa macro diventa una chiamata diretta a ExFreePool. |
RxIsFcbAcquiredShared (FCB) |
Questa macro controlla se il thread corrente ha accesso alla risorsa regolare in modalità condivisa. Questa macro chiama la routine ExIsResourceAcquiredSharedLite . |
RxIsFcbAcquiredExclusive (FCB) |
Questa macro verifica se il thread corrente ha accesso alla risorsa regolare in modalità esclusiva. Questa macro chiama la routine ExIsResourceAcquiredExclusiveLite . |
RxIsFcbAcquired (FCB) |
Questa macro verifica se il thread corrente ha accesso alla risorsa regolare in modalità condivisa o esclusiva. Questa macro chiama le routine ExIsResourceAcquiredSharedLite e ExIsResourceAcquiredExclusiveLite . |
RxIsPrefixTableLockAcquired (TABLE) |
Questa macro indica se il blocco tabella prefisso è stato acquisito in modalità esclusiva o condivisa. |
RxIsPrefixTableLockExclusive (TABLE) |
Questa macro indica se il blocco tabella prefisso è stato acquisito in modalità esclusiva. |
RxLog(Args) |
Nelle compilazioni controllate, questa macro chiama la routine _RxLog . Nelle build di vendita al dettaglio, questa macro non fa nulla. Si noti che gli argomenti di RxLog devono essere racchiusi con una coppia aggiuntiva di parentesi per abilitare la traduzione in una chiamata Null quando la registrazione deve essere disattivata. |
RxLogEvent (_DeviceObject, _OriginatorId, _EventId, _Status) |
Questa macro chiama la routine RxLogEventDirect . |
RxLogFailure (_DeviceObject, _OriginatorId, _EventId, _Status) |
Questa macro chiama la routine RxLogEventDirect . |
RxLogFailureWithBuffer (_DeviceObject, _OriginatorId, _EventId, _Status, _Buffer, _Length) |
Questa macro chiama la routine RxLogEventWithBufferDirect . |
RxLogRetail(Args) |
Nelle compilazioni controllate, questa macro chiama la routine _RxLog . Nelle build di vendita al dettaglio, questa macro non fa nulla. Si noti che gli argomenti di RxLogRetail devono essere racchiusi con una coppia aggiuntiva di parentesi per abilitare la conversione in una chiamata Null quando la registrazione deve essere disattivata. |
RxReferenceNetFcb (Fcb) |
Questa macro viene usata per tenere traccia delle operazioni di riferimento sulle strutture FCB. |
RxReferenceNetFobx (Fobx) |
Questa macro viene usata per tenere traccia delle operazioni di riferimento sulle strutture FOBX. È possibile accedere a un log di queste operazioni di riferimento tramite il sistema di registrazione e WMI. |
RxReferenceNetRoot (NetRoot) |
Questa macro viene usata per tenere traccia delle operazioni di riferimento sulle strutture di NET_ROOT. È possibile accedere a un log di queste operazioni di riferimento tramite il sistema di registrazione e La strumentazione gestione Windows (WMI). |
RxReferenceSrvCall (SrvCall) |
Questa macro viene usata per tenere traccia delle operazioni di riferimento sulle strutture SRV_CALL che non sono a livello DPC (Deferred Procedure Call). |
RxReferenceSrvCallAtDpc (SrvCall) |
Questa macro viene usata per tenere traccia delle operazioni di riferimento sulle strutture SRV_CALL a livello DPC. |
RxReferenceSrvOpen (SrvOpen) |
Questa macro viene usata per tenere traccia delle operazioni di riferimento sulle strutture SRV_OPEN. |
RxReferenceVNetRoot (VNetRoot) |
Questa macro viene usata per tenere traccia delle operazioni di riferimento sulle strutture V_NET_ROOT. |
RxReleasePrefixTableLock (TABLE) |
Questa macro libera il blocco tabella prefisso. |
RxSynchronizeBlockingOperations(RXCONTEXT,FCB,IOQUEUE) |
Questa macro sincronizza il blocco delle richieste di I/O nella stessa coda di lavoro. In Windows Server 2003 questa macro chiama la routine __RxSynchronizeBlockingOperations con il parametro DropFcbLock impostato su FALSE. In Windows XP e Windows 2000 questa macro chiama la routine __RxSynchronizeBlockingOperationsMaybeDroppingFcbLock con il parametro DropFcbLock impostato su FALSE. |
RxSynchronizeBlockingOperations(RXCONTEXT,FCB,IOQUEUE) |
Questa macro sincronizza il blocco delle richieste di I/O nella stessa coda di lavoro. In Windows Server 2003 questa macro chiama la routine __RxSynchronizeBlockingOperations con il parametro DropFcbLock impostato su TRUE. In Windows XP e Windows 2000 questa macro chiama la routine __RxSynchronizeBlockingOperationsMaybeDroppingFcbLock con il parametro DropFcbLock impostato su TRUE. |