Eşitleme İşlevleri
Eşitlemede aşağıdaki işlevler kullanılır.
- Zaman Uyumsuz işlevler
- Koşul değişkeni ve SRW kilit işlevleri
- Kritik bölüm işlevleri
- Olay işlevleri
- Tek seferlik başlatma işlevleri
- Kilitlenmiş İşlevler
- Mutex işlevleri
- Özel ad alanı işlevleri
- semafor işlevlerini
- Tek bağlantılı liste işlevleri
- Eşitleme engeli işlevleri
- Zamanlayıcı kuyruğu zamanlayıcı işlevlerini
- Bekleme işlevleri
- Waitable-timer işlevleri
Zaman uyumsuz işlevler
Zaman uyumsuz işlev | Açıklama |
---|---|
APCProc | QueueUserAPC işleviyle kullanılan uygulama tanımlı geri çağırma işlevi. |
GetOverlappedResult | Çakışan işlemin sonuçlarını alır. |
GetOverlappedResultEx | Belirtilen zaman aşımı aralığında çakışan işlemin sonuçlarını alır. |
QueueUserAPC | Belirtilen iş parçacığının APC kuyruğuna kullanıcı modu zaman uyumsuz yordam çağrısı (APC) nesnesi ekler. |
Koşul değişkeni ve SRW kilit işlevleri
Koşul değişkeni ve SRW lock işlevi | Açıklama |
---|---|
AcquireSRWLockExclusive | Özel modda ince bir okuyucu/yazıcı (SRW) kilidi alır. |
AcquireSRWLockShared | Paylaşılan modda ince bir okuyucu/yazıcı (SRW) kilidi alır. |
InitializeConditionVariable | Bir koşul değişkeni başlatır. |
InitializeSRWLock | İnce bir okuyucu/yazıcı (SRW) kilidi başlatın. |
ReleaseSRWLockExclusive | Özel kullanım modunda alınan ince bir okuyucu/yazıcı (SRW) kilidi serbest bırakır. |
ReleaseSRWLockShared | Paylaşılan modda alınan ince bir okuyucu/yazıcı (SRW) kilidi serbest bırakır. |
SleepConditionVariableCS | Belirtilen koşul değişkeninde uyku moduna alır ve belirtilen kritik bölümü atomik işlem olarak serbest bırakır. |
SleepConditionVariableSRW | Belirtilen koşul değişkeninde uyku moduna alır ve belirtilen kilidi atomik işlem olarak serbest bırakır. |
tryAcquireSRWLockExclusive | Özel kullanım modunda ince bir okuyucu/yazıcı (SRW) kilidi almaya çalışır. Çağrı başarılı olursa, çağıran iş parçacığı kilidin sahipliğini alır. |
tryAcquireSRWLockShared | Paylaşılan modda ince bir okuyucu/yazıcı (SRW) kilidi almaya çalışır. Çağrı başarılı olursa, çağıran iş parçacığı kilidin sahipliğini alır. |
WakeAllConditionVariable | Belirtilen koşul değişkenini bekleyen tüm iş parçacıklarını uyandırın. |
WakeConditionVariable | Belirtilen koşul değişkenini beklerken tek bir iş parçacığını uyandırma. |
Kritik bölüm işlevleri
Kritik bölüm işlevi | Açıklama |
---|---|
DeleteCriticalSection | Tanınmayan bir kritik bölüm nesnesi tarafından kullanılan tüm kaynakları serbest bırakır. |
EnterCriticalSection | Belirtilen kritik bölüm nesnesinin sahipliğini bekler. |
InitializeCriticalSection | Kritik bir bölüm nesnesi başlatır. |
InitializeCriticalSectionAndSpinCount | Kritik bölüm nesnesini başlatır ve kritik bölüm için döndürme sayısını ayarlar. |
InitializeCriticalSectionEx | Döndürme sayısı ve isteğe bağlı bayraklarla kritik bir bölüm nesnesi başlatır. |
LeaveCriticalSection | Belirtilen kritik bölüm nesnesinin sahipliğini serbest bırakır. |
SetCriticalSectionSpinCount | Belirtilen kritik bölüm için döndürme sayısını ayarlar. |
TryEnterCriticalSection | Engelleme olmadan kritik bir bölüm girmeye çalışır. |
Olay işlevleri
Event işlevi | Açıklama |
---|---|
CreateEvent | Adlandırılmış veya adlandırılmamış bir olay nesnesi oluşturur veya açar. |
CreateEventEx | Adlandırılmış veya adlandırılmamış bir olay nesnesi oluşturur veya açar ve nesneye bir tanıtıcı döndürür. |
OpenEvent | Var olan bir adlandırılmış olay nesnesini açar. |
PulseEvent | Belirtilen olay nesnesini sinyalli duruma ayarlar ve uygun sayıda bekleyen iş parçacığını serbest bıraktıktan sonra işaretsiz duruma sıfırlar. |
ResetEvent | Belirtilen olay nesnesini imzasız duruma ayarlar. |
SetEvent | Belirtilen olay nesnesini sinyalli duruma ayarlar. |
Tek seferlik başlatma işlevleri
Tek seferlik başlatma işlevi | Açıklama |
---|---|
InitOnceBeginInitialize | Bir kerelik başlatmayı başlatır. |
InitOnceComplete | Tek seferlik başlatmayı tamamlar. |
InitOnceExecuteOnce | Belirtilen işlevi bir kez başarıyla yürütür. Aynı tek seferlik başlatma yapısını belirten başka hiçbir iş parçacığı, geçerli iş parçacığı tarafından yürütülürken bu işlevi yürütemez. |
initOnceInitialize | Tek seferlik bir başlatma yapısı başlatır. |
Birbirine Kenetlenmiş İşlevler
Kilitlenmiş işlev | Açıklama |
---|---|
InterlockedAdd | Belirtilen LONG değerlerinde atomik toplama işlemi gerçekleştirir. |
InterlockedAddAcquire | Belirtilen LONG değerlerinde atomik toplama işlemi gerçekleştirir. İşlem, alma bellek sıralama semantiği ile gerçekleştirilir. |
InterlockedAddRelease | Belirtilen LONG değerlerinde atomik toplama işlemi gerçekleştirir. İşlem, yayın belleği sıralama semantiği ile gerçekleştirilir. |
InterlockedAddNoFence | Belirtilen LONG değerlerinde atomik toplama işlemi gerçekleştirir. İşlem atomik olarak gerçekleştirilir ancak bellek engelleri kullanılmadan gerçekleştirilir |
InterlockedAdd64 | Belirtilen LONGLONG değerlerinde atomik toplama işlemi gerçekleştirir. |
InterlockedAddAcquire64 | Belirtilen LONGLONG değerlerinde atomik toplama işlemi gerçekleştirir. İşlem, alma bellek sıralama semantiği ile gerçekleştirilir. |
InterlockedAddRelease64 | Belirtilen LONGLONG değerlerinde atomik toplama işlemi gerçekleştirir. İşlem, yayın belleği sıralama semantiği ile gerçekleştirilir. |
InterlockedAddNoFence64 | Belirtilen LONGLONG değerlerinde atomik toplama işlemi gerçekleştirir. İşlem atomik olarak gerçekleştirilir ancak bellek engelleri kullanılmadan gerçekleştirilir |
KilitlenmişVe | Belirtilen LONG değerlerinde atomik AND işlemi gerçekleştirir. |
InterlockedAndAcquire | Belirtilen LONG değerlerinde atomik AND işlemi gerçekleştirir. İşlem, alma bellek sıralama semantiği ile gerçekleştirilir. |
InterlockedAndRelease | Belirtilen LONG değerlerinde atomik AND işlemi gerçekleştirir. İşlem, yayın belleği sıralama semantiği ile gerçekleştirilir. |
InterlockedAndNoFence | Belirtilen LONG değerlerinde atomik AND işlemi gerçekleştirir. İşlem atomik olarak gerçekleştirilir ancak bellek engelleri kullanılmadan gerçekleştirilir |
InterlockedAnd8 | Belirtilen char değerleri üzerinde atomik AND işlemi gerçekleştirir. |
InterlockedAnd8Acquire | Belirtilen char değerleri üzerinde atomik AND işlemi gerçekleştirir. İşlem, alma bellek sıralama semantiği ile gerçekleştirilir. |
InterlockedAnd8Release | Belirtilen char değerleri üzerinde atomik AND işlemi gerçekleştirir. İşlem, yayın belleği sıralama semantiği ile gerçekleştirilir. |
InterlockedAnd8NoFence | Belirtilen char değerleri üzerinde atomik AND işlemi gerçekleştirir. İşlem atomik olarak gerçekleştirilir ancak bellek engelleri kullanılmadan gerçekleştirilir |
InterlockedAnd16 | Belirtilen SHORT değerlerinde atomik AND işlemi gerçekleştirir. |
InterlockedAnd16Acquire | Belirtilen SHORT değerlerinde atomik AND işlemi gerçekleştirir. İşlem, alma bellek sıralama semantiği ile gerçekleştirilir. |
InterlockedAnd16Release | Belirtilen SHORT değerlerinde atomik AND işlemi gerçekleştirir. İşlem, yayın belleği sıralama semantiği ile gerçekleştirilir. |
InterlockedAnd16NoFence | Belirtilen SHORT değerlerinde atomik AND işlemi gerçekleştirir. İşlem atomik olarak gerçekleştirilir ancak bellek engelleri kullanılmadan gerçekleştirilir |
InterlockedAnd64 | Belirtilen LONGLONG değerlerinde atomik AND işlemi gerçekleştirir. |
InterlockedAnd64Acquire | Belirtilen LONGLONG değerlerinde atomik AND işlemi gerçekleştirir. İşlem, alma bellek sıralama semantiği ile gerçekleştirilir. |
InterlockedAnd64Release | Belirtilen LONGLONG değerlerinde atomik AND işlemi gerçekleştirir. İşlem, yayın belleği sıralama semantiği ile gerçekleştirilir. |
InterlockedAnd64NoFence | Belirtilen LONGLONG değerlerinde atomik AND işlemi gerçekleştirir. İşlem atomik olarak gerçekleştirilir ancak bellek engelleri kullanılmadan gerçekleştirilir |
InterlockedBitTestAndComplement | Belirtilen LONG değerinin belirtilen bitini test eder ve tamamlar. |
InterlockedBitTestAndComplement64 | Belirtilen LONG64 değerinin belirtilen bitini test eder ve tamamlar. İşlem atomiktir |
InterlockedBitTestAndResetAcquire | Belirtilen LONG değerinin belirtilen bitini test eder ve 0 olarak ayarlar. İşlem atomiktir ve alma bellek sıralama semantiği ile gerçekleştirilir |
InterlockedBitTestAndResetRelease | Belirtilen LONG değerinin belirtilen bitini test eder ve 0 olarak ayarlar. İşlem atomiktir ve bellek yayın semantiği kullanılarak gerçekleştirilir |
InterlockedBitTestAndSetAcquire | Belirtilen LONG değerinin belirtilen bitini test eder ve 1 olarak ayarlar. İşlem atomiktir ve alma bellek sıralama semantiği ile gerçekleştirilir |
InterlockedBitTestAndSetRelease | Belirtilen LONG değerinin belirtilen bitini test eder ve 1 olarak ayarlar. İşlem atomiktir ve yayın belleği sıralama semantiği ile gerçekleştirilir |
InterlockedBitTestAndReset | Belirtilen LONG değerinin belirtilen bitini test eder ve 0 olarak ayarlar. |
InterlockedBitTestAndReset64 | Belirtilen LONG64 değerinin belirtilen bitini test eder ve 0 olarak ayarlar. |
InterlockedBitTestAndSet | Belirtilen LONG değerinin belirtilen bitini test eder ve 1 olarak ayarlar. |
InterlockedBitTestAndSet64 | Belirtilen LONG64 değerinin belirtilen bitini test eder ve 1 olarak ayarlar. |
InterlockedCompare64Exchange128 | Belirtilen değerler üzerinde atomik karşılaştırma ve değiştirme işlemi gerçekleştirir. İşlev, belirtilen 64 bit değerleri ve değişimleri, karşılaştırmanın sonucuna göre belirtilen 128 bit değerle karşılaştırır. |
InterlockedCompare64ExchangeAcquire128 | Belirtilen değerler üzerinde atomik karşılaştırma ve değiştirme işlemi gerçekleştirir. İşlev, belirtilen 64 bit değerleri ve değişimleri, karşılaştırmanın sonucuna göre belirtilen 128 bit değerle karşılaştırır. İşlem, alma bellek sıralama semantiği ile gerçekleştirilir. |
InterlockedCompare64ExchangeRelease128 | Belirtilen değerler üzerinde atomik karşılaştırma ve değiştirme işlemi gerçekleştirir. İşlev, belirtilen 64 bit değerleri ve değişimleri, karşılaştırmanın sonucuna göre belirtilen 128 bit değerle karşılaştırır. İşlem, yayın belleği sıralama semantiği ile gerçekleştirilir. |
InterlockedCompareExchange | Belirtilen değerler üzerinde atomik karşılaştırma ve değiştirme işlemi gerçekleştirir. İşlev, belirtilen iki 32 bit değeri ve değişimi karşılaştırmanın sonucuna göre başka bir 32 bit değerle karşılaştırır. |
InterlockedCompareExchangeAcquire | Belirtilen değerler üzerinde atomik karşılaştırma ve değiştirme işlemi gerçekleştirir. İşlev, belirtilen iki 32 bit değeri ve değişimi karşılaştırmanın sonucuna göre başka bir 32 bit değerle karşılaştırır. İşlem, alma bellek sıralama semantiği ile gerçekleştirilir. |
InterlockedCompareExchangeRelease | Belirtilen değerler üzerinde atomik karşılaştırma ve değiştirme işlemi gerçekleştirir. İşlev, belirtilen iki 32 bit değeri ve değişimi karşılaştırmanın sonucuna göre başka bir 32 bit değerle karşılaştırır. Değişim, yayın belleği sıralama semantiği ile gerçekleştirilir. |
InterlockedCompareExchangeNoFence | Belirtilen değerler üzerinde atomik karşılaştırma ve değiştirme işlemi gerçekleştirir. İşlev, belirtilen iki 32 bit değeri ve değişimi karşılaştırmanın sonucuna göre başka bir 32 bit değerle karşılaştırır. İşlem atomik olarak gerçekleştirilir ancak bellek engelleri kullanılmadan gerçekleştirilir |
InterlockedCompareExchange64 | Belirtilen değerler üzerinde atomik karşılaştırma ve değiştirme işlemi gerçekleştirir. İşlev, belirtilen iki 64 bit değeri ve değişimi karşılaştırmanın sonucuna göre başka bir 64 bit değerle karşılaştırır. |
InterlockedCompareExchangeAcquire64 | Belirtilen değerler üzerinde atomik karşılaştırma ve değiştirme işlemi gerçekleştirir. İşlev, belirtilen iki 64 bit değeri ve değişimi karşılaştırmanın sonucuna göre başka bir 64 bit değerle karşılaştırır. Değişim alma bellek sıralama semantiği ile gerçekleştirilir. |
InterlockedCompareExchangeRelease64 | Belirtilen değerler üzerinde atomik karşılaştırma ve değiştirme işlemi gerçekleştirir. İşlev, belirtilen iki 64 bit değeri ve değişimi karşılaştırmanın sonucuna göre başka bir 64 bit değerle karşılaştırır. Değişim, yayın belleği sıralama semantiği ile gerçekleştirilir. |
InterlockedCompareExchangeNoFence64 | Belirtilen değerler üzerinde atomik karşılaştırma ve değiştirme işlemi gerçekleştirir. İşlev, belirtilen iki 64 bit değeri ve değişimi karşılaştırmanın sonucuna göre başka bir 64 bit değerle karşılaştırır. İşlem atomik olarak gerçekleştirilir ancak bellek engelleri kullanılmadan gerçekleştirilir |
InterlockedCompareExchange16 | Belirtilen değerler üzerinde atomik karşılaştırma ve değiştirme işlemi gerçekleştirir. İşlev, belirtilen iki 16 bit değeri ve değişimi karşılaştırma sonucuna göre başka bir 16 bit değerle karşılaştırır |
InterlockedCompareExchange16Acquire | Belirtilen değerler üzerinde atomik karşılaştırma ve değiştirme işlemi gerçekleştirir. İşlev, belirtilen iki 16 bit değeri ve değişimi karşılaştırmanın sonucuna göre başka bir 16 bit değerle karşılaştırır. İşlem, alma belleği sıralama semantiği ile gerçekleştirilir |
InterlockedCompareExchange16Release | Belirtilen değerler üzerinde atomik karşılaştırma ve değiştirme işlemi gerçekleştirir. İşlev, belirtilen iki 16 bit değeri ve değişimi karşılaştırmanın sonucuna göre başka bir 16 bit değerle karşılaştırır. Değişim, yayın belleği sıralama semantiği ile gerçekleştirilir |
InterlockedCompareExchange16NoFence | Belirtilen değerler üzerinde atomik karşılaştırma ve değiştirme işlemi gerçekleştirir. İşlev, belirtilen iki 16 bit değeri ve değişimi karşılaştırmanın sonucuna göre başka bir 16 bit değerle karşılaştırır. İşlem atomik olarak gerçekleştirilir ancak bellek engelleri kullanılmadan gerçekleştirilir |
InterlockedCompareExchange128 | Belirtilen değerler üzerinde atomik karşılaştırma ve değiştirme işlemi gerçekleştirir. İşlev, belirtilen iki 128 bit değeri ve değişimi karşılaştırmanın sonucuna göre başka bir 128 bit değerle karşılaştırır |
interlockedCompareExchangePointer | Belirtilen işaretçi değerlerinde atomik karşılaştırma ve değiştirme işlemi gerçekleştirir. İşlev, belirtilen iki işaretçi değerini karşılaştırır ve karşılaştırmanın sonucuna göre başka bir işaretçi değeriyle değiştirir. |
InterlockedCompareExchangePointerAcquire | Belirtilen işaretçi değerlerinde atomik karşılaştırma ve değiştirme işlemi gerçekleştirir. İşlev, belirtilen iki işaretçi değerini karşılaştırır ve karşılaştırmanın sonucuna göre başka bir işaretçi değeriyle değiştirir. İşlem, alma bellek sıralama semantiği ile gerçekleştirilir. |
InterlockedCompareExchangePointerRelease | Belirtilen işaretçi değerlerinde atomik karşılaştırma ve değiştirme işlemi gerçekleştirir. İşlev, belirtilen iki işaretçi değerini karşılaştırır ve karşılaştırmanın sonucuna göre başka bir işaretçi değeriyle değiştirir. İşlem, yayın belleği sıralama semantiği ile gerçekleştirilir. |
InterlockedCompareExchangePointerNoFence | Belirtilen değerler üzerinde atomik karşılaştırma ve değiştirme işlemi gerçekleştirir. İşlev, belirtilen iki işaretçi değerini karşılaştırır ve karşılaştırmanın sonucuna göre başka bir işaretçi değeriyle değiştirir. İşlem atomik olarak gerçekleştirilir ancak bellek engelleri kullanılmadan gerçekleştirilir |
InterlockedDecrement | Belirtilen 32 bit değişkenin değerini atomik işlem olarak azaltır (bir azaltır). |
InterlockedDecrementAcquire | Belirtilen 32 bit değişkenin değerini atomik işlem olarak azaltır (bir azaltır). İşlem, alma bellek sıralama semantiği ile gerçekleştirilir. |
InterlockedDecrementRelease | Belirtilen 32 bit değişkenin değerini atomik işlem olarak azaltır (bir azaltır). İşlem, yayın belleği sıralama semantiği ile gerçekleştirilir. |
InterlockedDecrementNoFence | Belirtilen 32 bit değişkenin değerini atomik işlem olarak azaltır (bir azaltır). İşlem atomik olarak gerçekleştirilir ancak bellek engelleri kullanılmadan gerçekleştirilir |
InterlockedDecrement16 | Belirtilen 16 bit değişkenin değerini atomik işlem olarak azaltır (bir azaltır) |
InterlockedDecrement16Acquire | Belirtilen 16 bit değişkenin değerini atomik işlem olarak azaltır (bir azaltır). İşlem, alma belleği sıralama semantiği ile gerçekleştirilir |
InterlockedDecrement16Release | Belirtilen 16 bit değişkenin değerini atomik işlem olarak azaltır (bir azaltır). İşlem, yayın belleği sıralama semantiği ile gerçekleştirilir |
InterlockedDecrement16NoFence | Belirtilen 16 bit değişkenin değerini atomik işlem olarak azaltır (bir azaltır). İşlem atomik olarak gerçekleştirilir ancak bellek engelleri kullanılmadan gerçekleştirilir |
InterlockedDecrement64 | Belirtilen 64 bit değişkenin değerini atomik işlem olarak azaltır (bir azaltır). |
InterlockedDecrementAcquire64 | Belirtilen 64 bit değişkenin değerini atomik işlem olarak azaltır (bir azaltır). İşlem, alma bellek sıralama semantiği ile gerçekleştirilir. |
InterlockedDecrementRelease64 | Belirtilen 64 bit değişkenin değerini atomik işlem olarak azaltır (bir azaltır). İşlem, yayın belleği sıralama semantiği ile gerçekleştirilir. |
InterlockedDecrementNoFence64 | Belirtilen 64 bit değişkenin değerini atomik işlem olarak azaltır (bir azaltır). İşlem atomik olarak gerçekleştirilir ancak bellek engelleri kullanılmadan gerçekleştirilir |
InterlockedExchange | 32 bitlik bir değişkeni, atomik işlem olarak belirtilen değere ayarlar. |
InterlockedExchangeAcquire | 32 bitlik bir değişkeni, atomik işlem olarak belirtilen değere ayarlar. İşlem, alma bellek sıralama semantiği ile gerçekleştirilir. |
InterlockedExchangeNoFence | 64 bitlik bir değişkeni, atomik işlem olarak belirtilen değere ayarlar. İşlem atomik olarak gerçekleştirilir ancak bellek engelleri kullanılmadan gerçekleştirilir |
InterlockedExchange8 | 8 bitlik bir değişkeni atomik işlem olarak belirtilen değere ayarlar |
InterlockedExchange16 | 16 bitlik bir değişkeni, atomik işlem olarak belirtilen değere ayarlar. |
InterlockedExchange16Acquire | 16 bitlik bir değişkeni, atomik işlem olarak belirtilen değere ayarlar. İşlem, alma belleği sıralama semantiği kullanılarak gerçekleştirilir |
InterlockedExchange16NoFence | 16 bitlik bir değişkeni, atomik işlem olarak belirtilen değere ayarlar. İşlem atomik olarak gerçekleştirilir ancak bellek engelleri kullanılmadan gerçekleştirilir |
InterlockedExchange64 | 64 bitlik bir değişkeni, atomik işlem olarak belirtilen değere ayarlar. |
InterlockedExchangeAcquire64 | 32 bitlik bir değişkeni, atomik işlem olarak belirtilen değere ayarlar. İşlem, alma bellek sıralama semantiği ile gerçekleştirilir. |
InterlockedExchangeNoFence64 | 64 bitlik bir değişkeni, atomik işlem olarak belirtilen değere ayarlar. İşlem atomik olarak gerçekleştirilir ancak bellek engelleri kullanılmadan gerçekleştirilir |
InterlockedExchangePointer | Atomik olarak bir çift işaretçi değeri değiştirir. |
InterlockedExchangePointerAcquire | Atomik olarak bir çift işaretçi değeri değiştirir. İşlem, alma bellek sıralama semantiği ile gerçekleştirilir. |
InterlockedExchangePointerNoFence | Atomik olarak bir adres çiftini değiştirir. İşlem atomik olarak gerçekleştirilir ancak bellek engelleri kullanılmadan gerçekleştirilir |
InterlockedExchangeSubtract | İki değerin atomik çıkarma işlemini gerçekleştirir. |
InterlockedExchangeAdd | İki 32 bit değerin atomik olarak eklenmesini gerçekleştirir. |
InterlockedExchangeAddAcquire | İki 32 bit değerin atomik olarak eklenmesini gerçekleştirir. İşlem, alma bellek sıralama semantiği ile gerçekleştirilir. |
InterlockedExchangeAddRelease | İki 32 bit değerin atomik olarak eklenmesini gerçekleştirir. İşlem, yayın belleği sıralama semantiği ile gerçekleştirilir. |
InterlockedExchangeAddNoFence | İki 32 bit değerin atomik olarak eklenmesini gerçekleştirir. İşlem atomik olarak gerçekleştirilir ancak bellek engelleri kullanılmadan gerçekleştirilir |
InterlockedExchangeAdd64 | İki 64 bit değerin atomik olarak eklenmesini gerçekleştirir. |
InterlockedExchangeAddAcquire64 | İki 64 bit değerin atomik olarak eklenmesini gerçekleştirir. İşlem, alma bellek sıralama semantiği ile gerçekleştirilir. |
InterlockedExchangeAddRelease64 | İki 64 bit değerin atomik olarak eklenmesini gerçekleştirir. İşlem, yayın belleği sıralama semantiği ile gerçekleştirilir. |
InterlockedExchangeAddNoFence64 | İki 64 bit değerin atomik olarak eklenmesini gerçekleştirir. İşlem atomik olarak gerçekleştirilir ancak bellek engelleri kullanılmadan gerçekleştirilir |
interlockedIncrement | Belirtilen 32 bit değişkenin değerini atomik işlem olarak artırır (bir artar). |
InterlockedIncrementAcquire | Belirtilen 32 bit değişkenin değerini atomik işlem olarak artırır (bir artar). İşlem, alma bellek sıralama semantiği kullanılarak gerçekleştirilir. |
InterlockedIncrementRelease | Belirtilen 32 bit değişkenin değerini atomik işlem olarak artırır (bir artar). İşlem, yayın belleği sıralama semantiği kullanılarak gerçekleştirilir. |
InterlockedIncrementNoFence | Belirtilen 32 bit değişkenin değerini atomik işlem olarak artırır (bir artar). İşlem atomik olarak gerçekleştirilir ancak bellek engelleri kullanılmadan gerçekleştirilir |
InterlockedIncrement16 | Belirtilen 16 bit değişkenin değerini atomik işlem olarak artırır (bir artar) |
InterlockedIncrement16Acquire | Belirtilen 16 bit değişkenin değerini atomik işlem olarak artırır (bir artar). İşlem, alma belleği sıralama semantiği kullanılarak gerçekleştirilir |
InterlockedIncrement16Release | Belirtilen 16 bit değişkenin değerini atomik işlem olarak artırır (bir artar). İşlem, yayın belleği sıralama semantiği kullanılarak gerçekleştirilir |
InterlockedIncrement16NoFence | Belirtilen 16 bit değişkenin değerini atomik işlem olarak artırır (bir artar). İşlem atomik olarak gerçekleştirilir ancak bellek engelleri kullanılmadan gerçekleştirilir |
InterlockedIncrement64 | Belirtilen 64 bit değişkenin değerini atomik işlem olarak artırır (bir artar). |
InterlockedIncrementAcquire64 | Belirtilen 64 bit değişkenin değerini atomik işlem olarak artırır (bir artar). İşlem, alma bellek sıralama semantiği kullanılarak gerçekleştirilir. |
InterlockedIncrementRelease64 | Belirtilen 64 bit değişkenin değerini atomik işlem olarak artırır (bir artar). İşlem, yayın belleği sıralama semantiği kullanılarak gerçekleştirilir. |
InterlockedIncrementNoFence64 | Belirtilen 64 bit değişkenin değerini atomik işlem olarak artırır (bir artar). İşlem atomik olarak gerçekleştirilir ancak bellek engelleri kullanılmadan gerçekleştirilir |
InterlockedOr | Belirtilen LONG değerlerinde atomik VEYA işlemi gerçekleştirir. |
InterlockedOrAcquire | Belirtilen LONG değerlerinde atomik VEYA işlemi gerçekleştirir. İşlem, alma bellek sıralama semantiği ile gerçekleştirilir. |
InterlockedOrRelease | Belirtilen LONG değerlerinde atomik VEYA işlemi gerçekleştirir. İşlem, yayın belleği sıralama semantiği ile gerçekleştirilir. |
InterlockedOrNoFence | Belirtilen LONG değerlerinde atomik VEYA işlemi gerçekleştirir. İşlem atomik olarak gerçekleştirilir ancak bellek engelleri kullanılmadan gerçekleştirilir |
InterlockedOr8 | Belirtilen karakter değerlerinde atomik OR işlemi gerçekleştirir. |
InterlockedOr8Acquire | Belirtilen karakter değerlerinde atomik OR işlemi gerçekleştirir. İşlem, alma bellek sıralama semantiği ile gerçekleştirilir. |
InterlockedOr8Release | Belirtilen karakter değerlerinde atomik OR işlemi gerçekleştirir. İşlem, yayın belleği sıralama semantiği ile gerçekleştirilir. |
InterlockedOr8NoFence | Belirtilen karakter değerlerinde atomik OR işlemi gerçekleştirir. İşlem atomik olarak gerçekleştirilir ancak bellek engelleri kullanılmadan gerçekleştirilir |
InterlockedOr16 | Belirtilen SHORT değerleri üzerinde atomik OR işlemi gerçekleştirir. |
InterlockedOr16Acquire | Belirtilen SHORT değerleri üzerinde atomik OR işlemi gerçekleştirir. İşlem, alma bellek sıralama semantiği ile gerçekleştirilir. |
InterlockedOr16Release | Belirtilen SHORT değerleri üzerinde atomik OR işlemi gerçekleştirir. İşlem, yayın belleği sıralama semantiği ile gerçekleştirilir. |
InterlockedOr16NoFence | Belirtilen SHORT değerleri üzerinde atomik OR işlemi gerçekleştirir. İşlem atomik olarak gerçekleştirilir ancak bellek engelleri kullanılmadan gerçekleştirilir |
InterlockedOr64 | Belirtilen LONGLONG değerlerinde atomik VEYA işlemi gerçekleştirir. |
InterlockedOr64Acquire | Belirtilen LONGLONG değerlerinde atomik VEYA işlemi gerçekleştirir. İşlem, alma bellek sıralama semantiği ile gerçekleştirilir. |
InterlockedOr64Release | Belirtilen LONGLONG değerlerinde atomik VEYA işlemi gerçekleştirir. İşlem, yayın belleği sıralama semantiği ile gerçekleştirilir. |
InterlockedOr64NoFence | Belirtilen LONGLONG değerlerinde atomik VEYA işlemi gerçekleştirir. İşlem atomik olarak gerçekleştirilir ancak bellek engelleri kullanılmadan gerçekleştirilir |
InterlockedXor | Belirtilen LONG değerlerinde atomik XOR işlemi gerçekleştirir. |
InterlockedXorAcquire | Belirtilen LONG değerlerinde atomik XOR işlemi gerçekleştirir. İşlem, alma bellek sıralama semantiği ile gerçekleştirilir. |
InterlockedXorRelease | Belirtilen LONG değerlerinde atomik XOR işlemi gerçekleştirir. İşlem, yayın belleği sıralama semantiği ile gerçekleştirilir. |
InterlockedXorNoFence | Belirtilen LONG değerlerinde atomik XOR işlemi gerçekleştirir. İşlem atomik olarak gerçekleştirilir ancak bellek engelleri kullanılmadan gerçekleştirilir |
InterlockedXor8 | Belirtilen karakter değerleri üzerinde atomik XOR işlemi gerçekleştirir. |
InterlockedXor8Acquire | Belirtilen karakter değerleri üzerinde atomik XOR işlemi gerçekleştirir. İşlem, alma bellek sıralama semantiği ile gerçekleştirilir. |
InterlockedXor8Release | Belirtilen karakter değerleri üzerinde atomik XOR işlemi gerçekleştirir. İşlem, yayın belleği sıralama semantiği ile gerçekleştirilir. |
InterlockedXor8NoFence | Belirtilen karakter değerleri üzerinde atomik XOR işlemi gerçekleştirir. İşlem atomik olarak gerçekleştirilir ancak bellek engelleri kullanılmadan gerçekleştirilir |
InterlockedXor16 | Belirtilen SHORT değerlerinde atomik XOR işlemi gerçekleştirir. |
InterlockedXor16Acquire | Belirtilen SHORT değerlerinde atomik XOR işlemi gerçekleştirir. İşlem, alma bellek sıralama semantiği ile gerçekleştirilir. |
InterlockedXor16Release | Belirtilen SHORT değerlerinde atomik XOR işlemi gerçekleştirir. İşlem, yayın belleği sıralama semantiği ile gerçekleştirilir. |
InterlockedXor16NoFence | Belirtilen SHORT değerlerinde atomik XOR işlemi gerçekleştirir. İşlem atomik olarak gerçekleştirilir ancak bellek engelleri kullanılmadan gerçekleştirilir |
InterlockedXor64 | Belirtilen LONGLONG değerleri üzerinde atomik XOR işlemi gerçekleştirir. |
InterlockedXor64Acquire | Belirtilen LONGLONG değerleri üzerinde atomik XOR işlemi gerçekleştirir. İşlem, alma bellek sıralama semantiği ile gerçekleştirilir. |
InterlockedXor64Release | Belirtilen LONGLONG değerleri üzerinde atomik XOR işlemi gerçekleştirir. İşlem, yayın belleği sıralama semantiği ile gerçekleştirilir. |
InterlockedXor64NoFence | Belirtilen LONGLONG değerleri üzerinde atomik XOR işlemi gerçekleştirir. İşlem atomik olarak gerçekleştirilir ancak bellek engelleri kullanılmadan gerçekleştirilir |
Mutex işlevleri
Özel ad alanı işlevleri
Semafor işlevleri
Semafor işlevi | Açıklama |
---|---|
CreateSemaphore | Adlandırılmış veya adlandırılmamış bir semafor nesnesi oluşturur veya açar. |
CreateSemaphoreEx | Adlandırılmış veya adlandırılmamış bir semafor nesnesi oluşturur veya açar ve nesneye bir tanıtıcı döndürür. |
OpenSemaphore | Mevcut adlandırılmış semafor nesnesini açar. |
ReleaseSemaphore | Belirtilen semafor nesnesinin sayısını belirtilen bir miktar artırır. |
Tek bağlantılı liste işlevleri
Tek bağlantılı liste işlevi | Açıklama |
---|---|
InitializeSListHead | Tek bağlantılı listenin başını başlatır. |
InterlockedFlushSList | Tek bağlantılı bir listedeki öğelerin listesinin tamamını temizler. |
InterlockedPopEntrySList | Tek bağlantılı listenin önünden bir öğeyi kaldırır. |
InterlockedPushEntrySList | Tek bağlantılı listenin önüne öğe ekler. |
InterlockedPushListSList | Başka bir tek bağlantılı listenin önüne tek bağlantılı bir liste ekler. |
InterlockedPushListSListEx | Başka bir tek bağlantılı listenin önüne tek bağlantılı bir liste ekler. Listelere erişim, çok işlemcili bir sistemde eşitlenir. Yöntemin bu sürümü __fastcall çağırma kuralını kullanmıyor |
QueryDepthSList | Belirtilen tek tek bağlı listedeki girdi sayısını alır. |
RtlFirstEntrySList | Tek bağlantılı listedeki ilk girdiyi alır. |
RtlInitializeSListHead | Tek bağlantılı listenin başını başlatır. Uygulamalar bunun yerine InitializeSListHead çağırmalıdır. |
RtlInterlockedFlushSList | Tek bağlantılı bir listedeki öğelerin listesinin tamamını temizler. Uygulamalar bunun yerine InterlockedFlushSList çağırmalıdır. |
RtlInterlockedPopEntrySList | Tek bağlantılı listenin önünden bir öğeyi kaldırır. Uygulamalar bunun yerine InterlockedPopEntrySList çağırmalıdır. |
RtlInterlockedPushEntrySList | Tek bağlantılı listenin önüne öğe ekler. Uygulamalar bunun yerine InterlockedPushEntrySList çağırmalıdır. |
RtlQueryDepthSList | Belirtilen tek tek bağlı listedeki girdi sayısını alır. Uygulamalar bunun yerine QueryDepthSList çağırmalıdır. |
Eşitleme engeli işlevleri
Zamanlayıcı kuyruğu zamanlayıcı işlevleri
Bekleme işlevleri
Wait işlevi | Açıklama |
---|---|
msgWaitForMultipleObjects | Belirtilen nesnelerin biri veya tümü sinyalli duruma gelene veya zaman aşımı aralığı geçene kadar bekler. Nesneler giriş olayı nesnelerini içerebilir. |
msgWaitForMultipleObjectsEx | Belirtilen nesnelerden biri veya tümü sinyalli duruma gelene, bir G/Ç tamamlama yordamı veya zaman uyumsuz yordam çağrısı (APC) iş parçacığına kuyruğa alınana veya zaman aşımı aralığı geçene kadar bekler. Nesne dizisi giriş olayı nesnelerini içerebilir. |
RegisterWaitForSingleObject | İş parçacığı havuzundaki bir bekleme iş parçacığını nesne üzerinde beklemeye yönlendirir. |
SignalObjectAndWait | Bir nesneye sinyal gönderir ve tek bir işlem olarak başka bir nesne üzerinde bekler. |
SilmeWait | Kayıtlı bekleme işlemini iptal eder. |
UnregisterWaitEx | Kayıtlı bekleme işlemini iptal eder. |
WaitForMultipleObjects | Belirtilen nesnelerin biri veya tümü sinyalli duruma gelene veya zaman aşımı aralığı geçene kadar bekler. |
WaitForMultipleObjectsEx | Belirtilen nesnelerden biri veya tümü sinyalli duruma gelene, bir G/Ç tamamlama yordamı veya zaman uyumsuz yordam çağrısı (APC) iş parçacığına kuyruğa alınana veya zaman aşımı aralığı geçene kadar bekler. |
WaitForSingleObject | Belirtilen nesne sinyalli duruma gelene veya zaman aşımı aralığı geçene kadar bekler. |
WaitForSingleObjectEx | Belirtilen nesne sinyalli duruma gelene, iş parçacığına bir G/Ç tamamlama yordamı veya zaman uyumsuz yordam çağrısı (APC) kuyruğa alınana veya zaman aşımı aralığı geçene kadar bekler. |
WaitOnAddress | Belirtilen adreste değerin değişmesini bekler. |
WaitOrTimerCallback | Zamanlayıcı geri çağırması veya kayıtlı bekleme geri çağırması için başlangıç adresi işlevi gören uygulama tanımlı bir işlev. |
WakeByAddressAll | Bir adresin değerinin değişmesini bekleyen tüm iş parçacıklarını uyandırır. |
WakeByAddressSingle | Adresin değerinin değişmesini bekleyen bir iş parçacığını uyandırır. |
Waitable-timer işlevleri
Waitable-timer işlevi | Açıklama |
---|---|
CancelWaitableTimer | Belirtilen beklenebilir zamanlayıcıyı etkin olmayan duruma ayarlar. |
CreateWaitableTimer | Beklenebilir bir zamanlayıcı nesnesi oluşturur veya açar. |
CreateWaitableTimerEx | Beklenebilir bir zamanlayıcı nesnesi oluşturur veya açar ve nesneye bir tanıtıcı döndürür. |
OpenWaitableTimer | Mevcut adlandırılmış bir beklenebilir zamanlayıcı nesnesini açar. |
SetWaitableTimer | Belirtilen beklenebilir zamanlayıcıyı etkinleştirir. |
SetWaitableTimerEx | Belirtilen beklenebilir zamanlayıcıyı etkinleştirir ve zamanlayıcı için bağlam bilgileri sağlar. . |
TimerAPCProc | SetWaitableTimer işleviyle kullanılan uygulama tanımlı zamanlayıcı tamamlama yordamı. |